From: Evert Timberg Date: Sat, 18 Apr 2015 13:48:21 +0000 (-0400) Subject: Create a getBarAtEvent function that returns the single bar that was clicked on X-Git-Tag: v2.0-alpha~31^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=refs%2Fpull%2F1073%2Fhead;p=thirdparty%2FChart.js.git Create a getBarAtEvent function that returns the single bar that was clicked on --- diff --git a/src/Chart.Bar.js b/src/Chart.Bar.js index 87fb26ddc..fb3aa494e 100644 --- a/src/Chart.Bar.js +++ b/src/Chart.Bar.js @@ -175,6 +175,27 @@ return barsArray; }, + // Get the single bar that was clicked on + // @return : An object containing the dataset index and bar index of the matching bar. Also contains the rectangle that was drawn + getBarAtEvent : function(e) { + var bar; + var eventPosition = helpers.getRelativePosition(e); + + for (var datasetIndex = 0; datasetIndex < this.datasets.length; ++datasetIndex) { + for (var barIndex = 0; barIndex < this.datasets[datasetIndex].bars.length; ++barIndex) { + if (this.datasets[datasetIndex].bars[barIndex].inRange(eventPosition.x, eventPosition.y)) { + bar = { + rectangle : this.datasets[datasetIndex].bars[barIndex], + datasetIndex : datasetIndex, + barIndex : barIndex, + }; + return bar; + } + } + } + + return bar; + }, buildScale : function(labels){ var self = this;