]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Create a getBarAtEvent function that returns the single bar that was clicked on 1073/head 1114/head
authorEvert Timberg <evert.timberg@gmail.com>
Sat, 18 Apr 2015 13:48:21 +0000 (09:48 -0400)
committerEvert Timberg <evert.timberg@gmail.com>
Sat, 18 Apr 2015 13:56:40 +0000 (09:56 -0400)
src/Chart.Bar.js

index 87fb26ddc405267419abcaa749b76435ee3340cc..fb3aa494e55a804539d8b934d1e8626af9109d10 100644 (file)
 
                        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;