From f1810586f7288208c04c485cd14dbb6471988de2 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Wed, 31 Mar 2021 22:25:25 +0300 Subject: [PATCH] Pie: Fix last slice animation and NaN handling (#8760) * Pie: Fix last slice animation and NaN handling * Add tests * Fix polarArea --- src/controllers/controller.doughnut.js | 2 +- src/elements/element.arc.js | 2 + .../controller.doughnut/doughnut-NaN.js | 25 +++++++ .../controller.doughnut/doughnut-NaN.png | Bin 0 -> 40250 bytes .../doughnut-animation-hide-last.js | 65 ++++++++++++++++++ .../doughnut-animation-hide-last.png | Bin 0 -> 32418 bytes 6 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/controller.doughnut/doughnut-NaN.js create mode 100644 test/fixtures/controller.doughnut/doughnut-NaN.png create mode 100644 test/fixtures/controller.doughnut/doughnut-animation-hide-last.js create mode 100644 test/fixtures/controller.doughnut/doughnut-animation-hide-last.png diff --git a/src/controllers/controller.doughnut.js b/src/controllers/controller.doughnut.js index 713b035d4..47e28b57b 100644 --- a/src/controllers/controller.doughnut.js +++ b/src/controllers/controller.doughnut.js @@ -203,7 +203,7 @@ export default class DoughnutController extends DatasetController { for (i = 0; i < metaData.length; i++) { const value = meta._parsed[i]; - if (value !== null && this.chart.getDataVisibility(i)) { + if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i)) { total += Math.abs(value); } } diff --git a/src/elements/element.arc.js b/src/elements/element.arc.js index d2123c425..37d662525 100644 --- a/src/elements/element.arc.js +++ b/src/elements/element.arc.js @@ -40,6 +40,8 @@ function drawArc(ctx, element) { for (let i = 0; i < element.fullCircles; ++i) { ctx.fill(); } + } + if (!isNaN(element.curcumference)) { element.endAngle = element.startAngle + element.circumference % TAU; } diff --git a/test/fixtures/controller.doughnut/doughnut-NaN.js b/test/fixtures/controller.doughnut/doughnut-NaN.js new file mode 100644 index 000000000..47e8d09df --- /dev/null +++ b/test/fixtures/controller.doughnut/doughnut-NaN.js @@ -0,0 +1,25 @@ +module.exports = { + config: { + type: 'doughnut', + data: { + labels: ['A', 'B', 'C', 'D', 'E'], + datasets: [{ + data: [1, 5, NaN, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.8)', + 'rgba(54, 162, 235, 0.8)', + 'rgba(255, 206, 86, 0.8)', + 'rgba(75, 192, 192, 0.8)', + 'rgba(153, 102, 255, 0.8)' + ], + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(54, 162, 235)', + 'rgb(255, 206, 86)', + 'rgb(75, 192, 192)', + 'rgb(153, 102, 255)' + ] + }] + }, + } +}; diff --git a/test/fixtures/controller.doughnut/doughnut-NaN.png b/test/fixtures/controller.doughnut/doughnut-NaN.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0d8a3d5f93efcbee372e1eef8db92626d1e34b GIT binary patch literal 40250 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

0Sis%S5$7v*Xx4lB>Q1bG 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 KRjW`%p#KMae@68H literal 0 Hc-jL100001 diff --git a/test/fixtures/controller.doughnut/doughnut-animation-hide-last.js b/test/fixtures/controller.doughnut/doughnut-animation-hide-last.js new file mode 100644 index 000000000..56af1974b --- /dev/null +++ b/test/fixtures/controller.doughnut/doughnut-animation-hide-last.js @@ -0,0 +1,65 @@ +const canvas = document.createElement('canvas'); +canvas.width = 512; +canvas.height = 512; +const ctx = canvas.getContext('2d'); + +module.exports = { + config: { + type: 'doughnut', + data: { + labels: ['A', 'B', 'C', 'D', 'E'], + datasets: [{ + data: [1], + backgroundColor: 'rgba(255, 99, 132, 0.8)', + borderWidth: 4, + borderColor: 'rgb(255, 99, 132)', + }] + }, + options: { + animation: { + duration: 0, + easing: 'linear', + }, + responsive: false, + plugins: { + legend: false, + title: false, + tooltip: false, + filler: 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.doughnut/doughnut-animation-hide-last.png b/test/fixtures/controller.doughnut/doughnut-animation-hide-last.png new file mode 100644 index 0000000000000000000000000000000000000000..eff14b8f16b1fc5ad6b5af9393502491ee255298 GIT binary patch literal 32418 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 V-o51`2^G7&?hu3paYW1~JkUT~}(z|iXs8x!~E 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 x{}iH-oJ3ZXkN<7?e~JH>_NpZWj* literal 0 Hc-jL100001 -- 2.47.3