From: Tanner Linsley Date: Mon, 2 Nov 2015 05:44:31 +0000 (-0700) Subject: ElementsAtLabel now returns all datasets' elements at the found index X-Git-Tag: 2.0.0-beta1~33^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28bc80e439b8bd9b5945ad89e14501b283200b31;p=thirdparty%2FChart.js.git ElementsAtLabel now returns all datasets' elements at the found index --- diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 91592779a..7ec01bad4 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -294,14 +294,24 @@ var eventPosition = helpers.getRelativePosition(e, this.chart); var elementsArray = []; - helpers.each(this.data.datasets, function(dataset, datasetIndex) { - if (helpers.isDatasetVisible(dataset)) { - helpers.each(dataset.metaData, function(element, index) { - if (element.inLabelRange(eventPosition.x, eventPosition.y)) { - elementsArray.push(element); + var found = (function(){ + for (var i = 0; i < this.data.datasets.length; i++) { + if (helpers.isDatasetVisible(this.data.datasets[i])) { + for (var j = 0; j < this.data.datasets[i].metaData.length; j++) { + if (this.data.datasets[i].metaData[j].inRange(eventPosition.x, eventPosition.y)) { + return this.data.datasets[i].metaData[j]; + } } - }, this); + } } + }).call(this); + + if(!found){ + return elementsArray; + } + + helpers.each(this.data.datasets, function(dataset, dsIndex){ + elementsArray.push(dataset.metaData[found._index]); }, this); return elementsArray;