mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-07 04:39:06 +02:00
adds x-axis hover option for charts and tooltips, highlights all dots on x-axis upon x-axis hover
This commit is contained in:
parent
9082507c1c
commit
103957c4e0
@ -421,6 +421,40 @@ module.exports = function(Chart) {
|
|||||||
return elementsArray;
|
return elementsArray;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getElementsAtXAxis: function(e){
|
||||||
|
var me = this;
|
||||||
|
var eventPosition = helpers.getRelativePosition(e, me.chart);
|
||||||
|
var elementsArray = [];
|
||||||
|
|
||||||
|
var found = (function() {
|
||||||
|
if (me.data.datasets) {
|
||||||
|
for (var i = 0; i < me.data.datasets.length; i++) {
|
||||||
|
var meta = me.getDatasetMeta(i);
|
||||||
|
if (me.isDatasetVisible(i)) {
|
||||||
|
for (var j = 0; j < meta.data.length; j++) {
|
||||||
|
if (meta.data[j].inLabelRange(eventPosition.x, eventPosition.y)) {
|
||||||
|
return meta.data[j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).call(me);
|
||||||
|
|
||||||
|
if (!found) {
|
||||||
|
return elementsArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
helpers.each(me.data.datasets, function(dataset, datasetIndex) {
|
||||||
|
if (me.isDatasetVisible(datasetIndex)) {
|
||||||
|
var meta = me.getDatasetMeta(datasetIndex);
|
||||||
|
elementsArray.push(meta.data[found._index]);
|
||||||
|
}
|
||||||
|
}, me);
|
||||||
|
|
||||||
|
return elementsArray;
|
||||||
|
},
|
||||||
|
|
||||||
getElementsAtEventForMode: function(e, mode) {
|
getElementsAtEventForMode: function(e, mode) {
|
||||||
var me = this;
|
var me = this;
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
@ -430,6 +464,8 @@ module.exports = function(Chart) {
|
|||||||
return me.getElementsAtEvent(e);
|
return me.getElementsAtEvent(e);
|
||||||
case 'dataset':
|
case 'dataset':
|
||||||
return me.getDatasetAtEvent(e);
|
return me.getDatasetAtEvent(e);
|
||||||
|
case 'x-axis':
|
||||||
|
return me.getElementsAtXAxis(e);
|
||||||
default:
|
default:
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
@ -547,6 +583,7 @@ module.exports = function(Chart) {
|
|||||||
break;
|
break;
|
||||||
case 'label':
|
case 'label':
|
||||||
case 'dataset':
|
case 'dataset':
|
||||||
|
case 'x-axis':
|
||||||
// elements = elements;
|
// elements = elements;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user