From 8e535c574c69807b35ce46b80a86ec6b148b9cf3 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 17 Apr 2021 14:28:33 +0300 Subject: [PATCH] Skip ticks by callback value as documented (#8914) --- src/core/core.scale.js | 8 ++++ .../core.scale/ticks/skip-by-callback.js | 44 ++++++++++++++++++ .../core.scale/ticks/skip-by-callback.png | Bin 0 -> 29489 bytes 3 files changed, 52 insertions(+) create mode 100644 test/fixtures/core.scale/ticks/skip-by-callback.js create mode 100644 test/fixtures/core.scale/ticks/skip-by-callback.png diff --git a/src/core/core.scale.js b/src/core/core.scale.js index cca092319..c5c6a98a7 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -550,6 +550,14 @@ export default class Scale extends Element { tick = ticks[i]; tick.label = call(tickOpts.callback, [tick.value, i, ticks], me); } + // Ticks should be skipped when callback returns null or undef, so lets remove those. + for (i = 0; i < ilen; i++) { + if (isNullOrUndef(ticks[i].label)) { + ticks.splice(i, 1); + ilen--; + i--; + } + } } afterTickToLabelConversion() { call(this.options.afterTickToLabelConversion, [this]); diff --git a/test/fixtures/core.scale/ticks/skip-by-callback.js b/test/fixtures/core.scale/ticks/skip-by-callback.js new file mode 100644 index 000000000..53232bffa --- /dev/null +++ b/test/fixtures/core.scale/ticks/skip-by-callback.js @@ -0,0 +1,44 @@ +module.exports = { + description: 'https://github.com/chartjs/Chart.js/issues/8892', + config: { + type: 'line', + data: { + labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], + datasets: [ + { + data: [12, 19, 3, 5, 2, 3], + }, + { + data: [7, 11, 5, 8, 3, 7], + } + ] + }, + options: { + scales: { + x: { + ticks: { + callback: function(val, index) { + if (index === 1) { + return undefined; + } + if (index === 3) { + return null; + } + return this.getLabelForValue(val); + } + } + }, + y: { + ticks: { + callback: function(val, index) { + return index % 2 === 0 ? '' + val : null; + } + } + } + }, + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/core.scale/ticks/skip-by-callback.png b/test/fixtures/core.scale/ticks/skip-by-callback.png new file mode 100644 index 0000000000000000000000000000000000000000..d6608d1b04a5975efeb7c2e17eafb92d2e8c68f4 GIT binary patch literal 29489 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 literal 0 Hc-jL100001 -- 2.47.3