From e67d198e699694c3bde763ac7e3d23fdf98aba0f Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Sat, 18 Apr 2015 09:48:21 -0400 Subject: [PATCH] Create a getBarAtEvent function that returns the single bar that was clicked on --- src/Chart.Bar.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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; -- 2.47.3