From 17c22d9a587a006e8b9a8f3e8f52d6dc1652265d Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 23 Dec 2021 01:25:28 +0100 Subject: [PATCH 1/7] Resolve animation if indexAngle is NaN --- src/controllers/controller.polarArea.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index 84a9568a4c1..311acee5e54 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -56,7 +56,13 @@ export default class PolarAreaController extends DatasetController { const scale = this._cachedMeta.rScale; const centerX = scale.xCenter; const centerY = scale.yCenter; - const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; + + if (!isNaN(scale.getIndexAngle(0))) { + this.lastIndexAngle = scale.getIndexAngle(0); + } + + const datasetStartAngle = this.lastIndexAngle - 0.5 * PI; + let angle = datasetStartAngle; let i; From 07fc9008f2b229435752e04b710266419ca3c6c7 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 23 Dec 2021 01:28:27 +0100 Subject: [PATCH 2/7] make it private --- src/controllers/controller.polarArea.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index 311acee5e54..d67ddf95ecc 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -58,11 +58,10 @@ export default class PolarAreaController extends DatasetController { const centerY = scale.yCenter; if (!isNaN(scale.getIndexAngle(0))) { - this.lastIndexAngle = scale.getIndexAngle(0); + this._lastIndexAngle = scale.getIndexAngle(0); } - const datasetStartAngle = this.lastIndexAngle - 0.5 * PI; - + const datasetStartAngle = this._lastIndexAngle - 0.5 * PI; let angle = datasetStartAngle; let i; From 2373346168909b4bbee0a0e5f071f00e7efa2b22 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 23 Dec 2021 01:47:32 +0100 Subject: [PATCH 3/7] add test --- .../last-slice-animate.js | 70 ++++++++++++++++++ .../last-slice-animate.png | Bin 0 -> 49785 bytes 2 files changed, 70 insertions(+) create mode 100644 test/fixtures/controller.polarArea/last-slice-animate.js create mode 100644 test/fixtures/controller.polarArea/last-slice-animate.png diff --git a/test/fixtures/controller.polarArea/last-slice-animate.js b/test/fixtures/controller.polarArea/last-slice-animate.js new file mode 100644 index 00000000000..43e3e866591 --- /dev/null +++ b/test/fixtures/controller.polarArea/last-slice-animate.js @@ -0,0 +1,70 @@ +const canvas = document.createElement('canvas'); +canvas.width = 512; +canvas.height = 512; +const ctx = canvas.getContext('2d'); + +module.exports = { + config: { + type: 'polarArea', + data: { + labels: ['A'], + datasets: [{ + data: [20], + backgroundColor: 'red', + }] + }, + options: { + animation: { + duration: 0, + easing: 'linear' + }, + responsive: false, + plugins: { + legend: false, + title: false, + tooltip: false, + filler: false + }, + scales: { + r: { + ticks: { + display: false, + } + } + } + }, + }, + options: { + canvas: { + height: 512, + width: 512 + }, + run: function(chart) { + chart.options.animation.duration = 8000; + chart.toggleDataVisibility(0); + chart.update(); + const animator = Chart.animator; + // disable animator + const backup = animator._refresh; + animator._refresh = function() { }; + + return new Promise((resolve) => { + window.requestAnimationFrame(() => { + const anims = animator._getAnims(chart); + const start = anims.items[0]._start; + for (let i = 0; i < 16; i++) { + animator._update(start + i * 500); + let x = i % 4 * 128; + let y = Math.floor(i / 4) * 128; + ctx.drawImage(chart.canvas, x, y, 128, 128); + } + Chart.helpers.clearCanvas(chart.canvas); + chart.ctx.drawImage(canvas, 0, 0); + + animator._refresh = backup; + resolve(); + }); + }); + } + } +}; diff --git a/test/fixtures/controller.polarArea/last-slice-animate.png b/test/fixtures/controller.polarArea/last-slice-animate.png new file mode 100644 index 0000000000000000000000000000000000000000..f6557037fb659f8bcc13ed162a8f724e33787bf4 GIT binary patch literal 49785 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
N5+8#;!7`rkMzYFOuqV;;p{dn@|?psjA}g^ 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 literal 0 HcmV?d00001 From eba28c7535ad59260016312df8e1ec37b738be37 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 23 Dec 2021 01:53:55 +0100 Subject: [PATCH 4/7] use chart.js helper instead of own logic --- src/controllers/controller.polarArea.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index d67ddf95ecc..5b5c258ac58 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -1,6 +1,7 @@ import DatasetController from '../core/core.datasetController'; import {toRadians, PI} from '../helpers/index'; import {formatNumber} from '../helpers/helpers.intl'; +import {isNumber} from '../helpers/helpers.math'; export default class PolarAreaController extends DatasetController { @@ -57,7 +58,7 @@ export default class PolarAreaController extends DatasetController { const centerX = scale.xCenter; const centerY = scale.yCenter; - if (!isNaN(scale.getIndexAngle(0))) { + if (isNumber(scale.getIndexAngle(0))) { this._lastIndexAngle = scale.getIndexAngle(0); } From 04a24e4c78388261344178a09e39f94a4aaae43a Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 23 Dec 2021 02:19:21 +0100 Subject: [PATCH 5/7] implement feedback --- src/controllers/controller.polarArea.js | 7 +------ src/scales/scale.radialLinear.js | 4 +++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index 5b5c258ac58..6b750e681a1 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -1,7 +1,6 @@ import DatasetController from '../core/core.datasetController'; import {toRadians, PI} from '../helpers/index'; import {formatNumber} from '../helpers/helpers.intl'; -import {isNumber} from '../helpers/helpers.math'; export default class PolarAreaController extends DatasetController { @@ -58,11 +57,7 @@ export default class PolarAreaController extends DatasetController { const centerX = scale.xCenter; const centerY = scale.yCenter; - if (isNumber(scale.getIndexAngle(0))) { - this._lastIndexAngle = scale.getIndexAngle(0); - } - - const datasetStartAngle = this._lastIndexAngle - 0.5 * PI; + const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; let angle = datasetStartAngle; let i; diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 2c3763bc1eb..b3f79c70e0e 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -373,7 +373,9 @@ export default class RadialLinearScale extends LinearScaleBase { getIndexAngle(index) { const angleMultiplier = TAU / this._pointLabels.length; const startAngle = this.options.startAngle || 0; - return _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); + const indexAngle = _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); + + return this._pointLabels.length === 0 ? startAngle : indexAngle; } getDistanceFromCenterForValue(value) { From 9af380ad4d2aa5508b9ec712bfa321729092c591 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 23 Dec 2021 02:21:25 +0100 Subject: [PATCH 6/7] remove extra line --- src/controllers/controller.polarArea.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index 6b750e681a1..84a9568a4c1 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -56,7 +56,6 @@ export default class PolarAreaController extends DatasetController { const scale = this._cachedMeta.rScale; const centerX = scale.xCenter; const centerY = scale.yCenter; - const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; let angle = datasetStartAngle; let i; From 889cc806b2f2ccb1889bb8ec223a51c89538cd67 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 23 Dec 2021 02:35:32 +0100 Subject: [PATCH 7/7] my precious bits --- src/scales/scale.radialLinear.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index b3f79c70e0e..a453b59814f 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -371,11 +371,10 @@ export default class RadialLinearScale extends LinearScaleBase { } getIndexAngle(index) { - const angleMultiplier = TAU / this._pointLabels.length; + const angleMultiplier = TAU / (this._pointLabels.length || 1); const startAngle = this.options.startAngle || 0; - const indexAngle = _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); - return this._pointLabels.length === 0 ? startAngle : indexAngle; + return _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); } getDistanceFromCenterForValue(value) {