From: Jacco van den Berg Date: Mon, 26 Aug 2024 15:13:12 +0000 (+0200) Subject: Fix initial dataset stacks (#11882) X-Git-Tag: v4.4.5~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=680cd227d42ea1b9e7acb9d1b5e81900104f257b;p=thirdparty%2FChart.js.git Fix initial dataset stacks (#11882) * Update cahced _stacked value after updating stacks * Add test --------- Co-authored-by: Jacco van den Berg --- diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 976a3a5f6..8753cab65 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -420,6 +420,7 @@ export default class DatasetController { // if stack changed, update stack values for the whole dataset if (stackChanged || oldStacked !== meta._stacked) { updateStacks(this, meta._parsed); + meta._stacked = isStacked(meta.vScale, meta); } } diff --git a/test/fixtures/core.datasetController/stacked-initial-render.js b/test/fixtures/core.datasetController/stacked-initial-render.js new file mode 100644 index 000000000..96c7fb977 --- /dev/null +++ b/test/fixtures/core.datasetController/stacked-initial-render.js @@ -0,0 +1,49 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3, 4, 5, 6], + datasets: [ + { + // option in dataset + data: [9, 13, 15, 25, 22, 15, 21], + stack: 'construction_stack', + borderWidth: 10, + borderColor: 'rgb(54, 162, 235)' + }, + { + data: [9, 13, 15, 25, 22, 15, 21], + stack: 'construction_stack', + borderWidth: 10, + borderColor: 'rgb(255, 99, 132)' + } + ] + }, + options: { + scales: { + x: { + ticks: { + display: false + } + }, + y: { + ticks: { + display: false + } + } + }, + plugins: { + legend: false, + title: false, + tooltip: false, + filler: false + } + } + }, + options: { + canvas: { + height: 512, + width: 512 + } + } +}; diff --git a/test/fixtures/core.datasetController/stacked-initial-render.png b/test/fixtures/core.datasetController/stacked-initial-render.png new file mode 100644 index 000000000..8f55664df Binary files /dev/null and b/test/fixtures/core.datasetController/stacked-initial-render.png differ diff --git a/test/specs/core.datasetController.tests.js b/test/specs/core.datasetController.tests.js index e10c33d11..18011efcb 100644 --- a/test/specs/core.datasetController.tests.js +++ b/test/specs/core.datasetController.tests.js @@ -1,4 +1,6 @@ describe('Chart.DatasetController', function() { + describe('auto', jasmine.fixture.specs('core.datasetController')); + it('should listen for dataset data insertions or removals', function() { var data = [0, 1, 2, 3, 4, 5]; var chart = acquireChart({