From ec7be48470e42472a07572b7f1ca2abc91bfdad3 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Thu, 8 Jun 2023 14:53:50 +0200 Subject: [PATCH] Fix toggling showLine option on scatter controller (#11334) --- src/controllers/controller.scatter.js | 8 +++++ .../controller.scatter/showLine/changed.js | 34 ++++++++++++++++++ .../controller.scatter/showLine/changed.png | Bin 0 -> 3919 bytes 3 files changed, 42 insertions(+) create mode 100644 test/fixtures/controller.scatter/showLine/changed.js create mode 100644 test/fixtures/controller.scatter/showLine/changed.png diff --git a/src/controllers/controller.scatter.js b/src/controllers/controller.scatter.js index aae36ed60..15445ea8a 100644 --- a/src/controllers/controller.scatter.js +++ b/src/controllers/controller.scatter.js @@ -70,6 +70,10 @@ export default class ScatterController extends DatasetController { if (this.options.showLine) { + // https://github.com/chartjs/Chart.js/issues/11333 + if (!this.datasetElementType) { + this.addElements(); + } const {dataset: line, _dataset} = meta; // Update Line @@ -84,6 +88,10 @@ export default class ScatterController extends DatasetController { animated: !animationsDisabled, options }, mode); + } else if (this.datasetElementType) { + // https://github.com/chartjs/Chart.js/issues/11333 + delete meta.dataset; + this.datasetElementType = false; } // Update Points diff --git a/test/fixtures/controller.scatter/showLine/changed.js b/test/fixtures/controller.scatter/showLine/changed.js new file mode 100644 index 000000000..ac85be49f --- /dev/null +++ b/test/fixtures/controller.scatter/showLine/changed.js @@ -0,0 +1,34 @@ +module.exports = { + description: 'showLine option should draw a line if true', + config: { + type: 'scatter', + data: { + datasets: [{ + data: [{x: 10, y: 15}, {x: 15, y: 10}], + pointRadius: 10, + backgroundColor: 'red', + label: 'dataset1' + }], + }, + options: { + scales: { + x: { + display: false + }, + y: { + display: false + } + } + } + }, + options: { + canvas: { + width: 256, + height: 256 + }, + run(chart) { + chart.options.showLine = true; + chart.update(); + } + } +}; diff --git a/test/fixtures/controller.scatter/showLine/changed.png b/test/fixtures/controller.scatter/showLine/changed.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5eae7c4b9f4d2463f0782c21065b466361577a GIT binary patch literal 3919 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 To#mVZCS=IV!%v``7nb~gJW(gU literal 0 Hc-jL100001 -- 2.47.3