From 396cbcb979bc775e561fcc7049c78c1e24d92611 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 27 Mar 2021 00:20:05 +0200 Subject: [PATCH] Bubble: Fix maxOverflow before elements update (#8736) --- src/controllers/controller.bubble.js | 7 +++-- .../controller.bubble/padding-update.js | 24 ++++++++++++++++++ .../controller.bubble/padding-update.png | Bin 0 -> 9440 bytes test/fixtures/controller.bubble/padding.js | 21 +++++++++++++++ test/fixtures/controller.bubble/padding.png | Bin 0 -> 10146 bytes test/specs/controller.bubble.tests.js | 8 +++--- 6 files changed, 52 insertions(+), 8 deletions(-) create mode 100644 test/fixtures/controller.bubble/padding-update.js create mode 100644 test/fixtures/controller.bubble/padding-update.png create mode 100644 test/fixtures/controller.bubble/padding.js create mode 100644 test/fixtures/controller.bubble/padding.png diff --git a/src/controllers/controller.bubble.js b/src/controllers/controller.bubble.js index 08632e72b..8cad718b9 100644 --- a/src/controllers/controller.bubble.js +++ b/src/controllers/controller.bubble.js @@ -31,12 +31,11 @@ export default class BubbleController extends DatasetController { * @protected */ getMaxOverflow() { - const me = this; - const meta = me._cachedMeta; - const data = meta.data; + const {data, _parsed} = this._cachedMeta; + let max = 0; for (let i = data.length - 1; i >= 0; --i) { - max = Math.max(max, data[i].size()); + max = Math.max(max, data[i].size() / 2, _parsed[i]._custom); } return max > 0 && max; } diff --git a/test/fixtures/controller.bubble/padding-update.js b/test/fixtures/controller.bubble/padding-update.js new file mode 100644 index 000000000..0fd616c45 --- /dev/null +++ b/test/fixtures/controller.bubble/padding-update.js @@ -0,0 +1,24 @@ +module.exports = { + config: { + type: 'bubble', + data: { + datasets: [{ + backgroundColor: 'red', + data: [{x: 12, y: 54, r: 22.4}] + }, { + backgroundColor: 'blue', + data: [{x: 18, y: 38, r: 25}] + }] + } + }, + options: { + spriteText: true, + canvas: { + width: 256, + height: 256 + }, + run(chart) { + chart.update(); + } + } +}; diff --git a/test/fixtures/controller.bubble/padding-update.png b/test/fixtures/controller.bubble/padding-update.png new file mode 100644 index 0000000000000000000000000000000000000000..72a0d6b9c9d3a1d40ab809f21688ed848e2b0707 GIT binary patch literal 9440 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 CQ+$a4 literal 0 Hc-jL100001 diff --git a/test/fixtures/controller.bubble/padding.js b/test/fixtures/controller.bubble/padding.js new file mode 100644 index 000000000..4acb79201 --- /dev/null +++ b/test/fixtures/controller.bubble/padding.js @@ -0,0 +1,21 @@ +module.exports = { + config: { + type: 'bubble', + data: { + datasets: [{ + backgroundColor: 'red', + data: [{x: 12, y: 54, r: 22.4}] + }, { + backgroundColor: 'blue', + data: [{x: 18, y: 38, r: 25}] + }] + } + }, + options: { + spriteText: true, + canvas: { + width: 256, + height: 256 + } + } +}; diff --git a/test/fixtures/controller.bubble/padding.png b/test/fixtures/controller.bubble/padding.png new file mode 100644 index 0000000000000000000000000000000000000000..6a03d5c08dc1b71ded800d8aa3e1ae211f5be5a4 GIT binary patch literal 10146 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 literal 0 Hc-jL100001 diff --git a/test/specs/controller.bubble.tests.js b/test/specs/controller.bubble.tests.js index 57a124841..50589aa4c 100644 --- a/test/specs/controller.bubble.tests.js +++ b/test/specs/controller.bubble.tests.js @@ -135,10 +135,10 @@ describe('Chart.controllers.bubble', function() { var meta = chart.getDatasetMeta(0); [ - {r: 5, x: 0, y: 0}, - {r: 1, x: 171, y: 512}, - {r: 2, x: 341, y: 486}, - {r: 1, x: 512, y: 0} + {r: 5, x: 5, y: 5}, + {r: 1, x: 171, y: 507}, + {r: 2, x: 341, y: 482}, + {r: 1, x: 507, y: 5} ].forEach(function(expected, i) { expect(meta.data[i].x).toBeCloseToPixel(expected.x); expect(meta.data[i].y).toBeCloseToPixel(expected.y); -- 2.47.3