mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-06 04:09:08 +02:00
Make sure context indices are up to date (#9101)
This commit is contained in:
parent
0ba5c70618
commit
fbff165942
@ -722,10 +722,12 @@ export default class DatasetController {
|
||||
(element.$context = createDataContext(me.getContext(), index, element));
|
||||
context.parsed = me.getParsed(index);
|
||||
context.raw = dataset.data[index];
|
||||
context.index = context.dataIndex = index;
|
||||
} else {
|
||||
context = me.$context ||
|
||||
(me.$context = createDatasetContext(me.chart.getContext(), me.index));
|
||||
context.dataset = dataset;
|
||||
context.index = context.datasetIndex = me.index;
|
||||
}
|
||||
|
||||
context.active = !!active;
|
||||
|
@ -976,6 +976,59 @@ describe('Chart.DatasetController', function() {
|
||||
raw: {x: 1, y: 1},
|
||||
mode: 'datatest2'
|
||||
}));
|
||||
|
||||
chart.data.datasets[0].data.unshift({x: -1, y: -1});
|
||||
chart.update();
|
||||
expect(meta.controller.getContext(0, true, 'unshift')).toEqual(jasmine.objectContaining({
|
||||
active: true,
|
||||
datasetIndex: 0,
|
||||
dataset: chart.data.datasets[0],
|
||||
dataIndex: 0,
|
||||
element: meta.data[0],
|
||||
index: 0,
|
||||
parsed: {x: -1, y: -1},
|
||||
raw: {x: -1, y: -1},
|
||||
mode: 'unshift'
|
||||
}));
|
||||
expect(meta.controller.getContext(2, true, 'unshift2')).toEqual(jasmine.objectContaining({
|
||||
active: true,
|
||||
datasetIndex: 0,
|
||||
dataset: chart.data.datasets[0],
|
||||
dataIndex: 2,
|
||||
element: meta.data[2],
|
||||
index: 2,
|
||||
parsed: {x: 1, y: 1},
|
||||
raw: {x: 1, y: 1},
|
||||
mode: 'unshift2'
|
||||
}));
|
||||
|
||||
chart.data.datasets.unshift({data: [{x: 10, y: 20}]});
|
||||
chart.update();
|
||||
meta = chart.getDatasetMeta(0);
|
||||
expect(meta.controller.getContext(0, true, 'unshift3')).toEqual(jasmine.objectContaining({
|
||||
active: true,
|
||||
datasetIndex: 0,
|
||||
dataset: chart.data.datasets[0],
|
||||
dataIndex: 0,
|
||||
element: meta.data[0],
|
||||
index: 0,
|
||||
parsed: {x: 10, y: 20},
|
||||
raw: {x: 10, y: 20},
|
||||
mode: 'unshift3'
|
||||
}));
|
||||
|
||||
meta = chart.getDatasetMeta(1);
|
||||
expect(meta.controller.getContext(2, true, 'unshift4')).toEqual(jasmine.objectContaining({
|
||||
active: true,
|
||||
datasetIndex: 1,
|
||||
dataset: chart.data.datasets[1],
|
||||
dataIndex: 2,
|
||||
element: meta.data[2],
|
||||
index: 2,
|
||||
parsed: {x: 1, y: 1},
|
||||
raw: {x: 1, y: 1},
|
||||
mode: 'unshift4'
|
||||
}));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user