};
if (includeOptions) {
- properties.options = sharedOptions || me.resolveDataElementOptions(i, mode);
+ properties.options = sharedOptions || me.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);
}
me.updateElement(bars[i], i, properties, mode);
}
properties.skip = isNaN(iPixel) || isNaN(vPixel);
if (includeOptions) {
- properties.options = me.resolveDataElementOptions(i, mode);
+ properties.options = me.resolveDataElementOptions(i, point.active ? 'active' : mode);
if (reset) {
properties.options.radius = 0;
innerRadius
};
if (includeOptions) {
- properties.options = sharedOptions || me.resolveDataElementOptions(i, mode);
+ properties.options = sharedOptions || me.resolveDataElementOptions(i, arc.active ? 'active' : mode);
}
startAngle += circumference;
properties.parsed = parsed;
if (includeOptions) {
- properties.options = sharedOptions || me.resolveDataElementOptions(i, mode);
+ properties.options = sharedOptions || me.resolveDataElementOptions(i, point.active ? 'active' : mode);
}
if (!directUpdate) {
outerRadius,
startAngle,
endAngle,
- options: me.resolveDataElementOptions(i, mode)
+ options: me.resolveDataElementOptions(i, arc.active ? 'active' : mode)
};
me.updateElement(arc, i, properties, mode);
for (let i = start; i < start + count; i++) {
const point = points[i];
- const options = me.resolveDataElementOptions(i, mode);
+ const options = me.resolveDataElementOptions(i, point.active ? 'active' : mode);
const pointPosition = scale.getPointPositionForValue(i, dataset.data[i]);
const x = reset ? scale.xCenter : pointPosition.x;
--- /dev/null
+module.exports = {
+ description: 'https://github.com/chartjs/Chart.js/issues/9248',
+ config: {
+ type: 'doughnut',
+ data: {
+ datasets: [
+ {
+ data: [34, 33, 17, 16],
+ backgroundColor: ['#D92323', '#E45757', '#ED8D8D', '#F5C4C4']
+ }
+ ]
+ },
+ options: {
+ events: [], // for easier saving of the fixture only
+ borderWidth: 0,
+ hoverBorderWidth: 4,
+ hoverBorderColor: 'black',
+ cutout: '80%',
+ }
+ },
+ options: {
+ run(chart) {
+ chart.setActiveElements([{datasetIndex: 0, index: 1}]);
+ chart.update();
+ }
+ }
+};