diff --git a/src/core/core.controller.js b/src/core/core.controller.js index aa60acc0b..36edf9e7a 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -388,6 +388,20 @@ module.exports = function(Chart) { return elementsArray; }, + getElementsAtEventForMode: function(e, mode) { + var me = this; + switch (mode) { + case 'single': + return me.getElementAtEvent(e); + case 'label': + return me.getElementsAtEvent(e); + case 'dataset': + return me.getDatasetAtEvent(e); + default: + return e; + } + }, + getDatasetAtEvent: function(e) { var elementsArray = this.getElementAtEvent(e); @@ -484,140 +498,106 @@ module.exports = function(Chart) { this.eventHandler(evt); }); }, + + updateHoverStyle: function(elements, mode, enabled) { + var method = enabled? 'setHoverStyle' : 'removeHoverStyle'; + var element, i, ilen; + + switch (mode) { + case 'single': + elements = [ elements[0] ]; + break; + case 'label': + case 'dataset': + // elements = elements; + break; + default: + // unsupported mode + return; + } + + for (i=0, ilen=elements.length; i