From 613fee64d97e0355bf5468081ff7e5d833d4d409 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 9 Nov 2023 23:54:44 +0100 Subject: [PATCH 1/5] fix for alignment inner --- src/core/core.scale.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 8b8bf347292..a099b80742f 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1,3 +1,5 @@ +/* eslint-disable max-statements */ +/* eslint-disable complexity */ import Element from './core.element.js'; import {_alignPixel, _measureText, renderText, clipArea, unclipArea} from '../helpers/helpers.canvas.js'; import {callback as call, each, finiteOrDefault, isArray, isFinite, isNullOrUndef, isObject, valueOrDefault} from '../helpers/helpers.core.js'; @@ -1288,6 +1290,13 @@ export default class Scale extends Element { case 'right': left -= width; break; + case 'inner': + if (i === ilen - 1) { + left -= width; + } else if (i > 0) { + left -= width / 2; + } + break; default: break; } From ca8a40a2c535f86b359c243e18b4b349d4e0cd47 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 10 Nov 2023 00:01:45 +0100 Subject: [PATCH 2/5] Add test --- .../tick-backdrop-alignment-inner.js | 40 ++++++++++++++++++ .../tick-backdrop-alignment-inner.png | Bin 0 -> 16232 bytes 2 files changed, 40 insertions(+) create mode 100644 test/fixtures/core.scale/tick-backdrop-alignment-inner.js create mode 100644 test/fixtures/core.scale/tick-backdrop-alignment-inner.png diff --git a/test/fixtures/core.scale/tick-backdrop-alignment-inner.js b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js new file mode 100644 index 00000000000..3c7fccb5191 --- /dev/null +++ b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js @@ -0,0 +1,40 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], + datasets: [ + { + label: '# of Votes', + data: [12, 19, 3, 5, 2, 3], + borderWidth: 1 + }, + { + label: '# of Points', + data: [7, 11, 5, 8, 3, 7], + borderWidth: 1 + } + ] + }, + options: { + events: [], + scales: { + x: { + position: 'top', + ticks: { + color: 'green', + backdropColor: 'red', + showLabelBackdrop: true, + align: 'inner', + }, + } + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/core.scale/tick-backdrop-alignment-inner.png b/test/fixtures/core.scale/tick-backdrop-alignment-inner.png new file mode 100644 index 0000000000000000000000000000000000000000..537bfac61a180f21b6507afcca828257470ff8d8 GIT binary patch literal 16232 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 literal 0 HcmV?d00001 From 5d06c09d9283801c890cfadf92e9e0621ea0df30 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 10 Nov 2023 00:03:31 +0100 Subject: [PATCH 3/5] Remove eslint ignores --- src/core/core.scale.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index a099b80742f..3265e103d1a 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1,5 +1,3 @@ -/* eslint-disable max-statements */ -/* eslint-disable complexity */ import Element from './core.element.js'; import {_alignPixel, _measureText, renderText, clipArea, unclipArea} from '../helpers/helpers.canvas.js'; import {callback as call, each, finiteOrDefault, isArray, isFinite, isNullOrUndef, isObject, valueOrDefault} from '../helpers/helpers.core.js'; From 2ee6021254ddee5db561ee4131367f8db1ecf410 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 10 Nov 2023 00:05:01 +0100 Subject: [PATCH 4/5] remove unecesarry config --- test/fixtures/core.scale/tick-backdrop-alignment-inner.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/fixtures/core.scale/tick-backdrop-alignment-inner.js b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js index 3c7fccb5191..21828b4090d 100644 --- a/test/fixtures/core.scale/tick-backdrop-alignment-inner.js +++ b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js @@ -7,17 +7,14 @@ module.exports = { { label: '# of Votes', data: [12, 19, 3, 5, 2, 3], - borderWidth: 1 }, { label: '# of Points', data: [7, 11, 5, 8, 3, 7], - borderWidth: 1 } ] }, options: { - events: [], scales: { x: { position: 'top', From 81fc6a48b77346f4589474f6dd013f5e9633a2bc Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Fri, 10 Nov 2023 00:12:04 +0100 Subject: [PATCH 5/5] Remove text from test --- .../tick-backdrop-alignment-inner.js | 13 ++++++++++++- .../tick-backdrop-alignment-inner.png | Bin 16232 -> 11202 bytes 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/test/fixtures/core.scale/tick-backdrop-alignment-inner.js b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js index 21828b4090d..f9fbaddc103 100644 --- a/test/fixtures/core.scale/tick-backdrop-alignment-inner.js +++ b/test/fixtures/core.scale/tick-backdrop-alignment-inner.js @@ -16,14 +16,25 @@ module.exports = { }, options: { scales: { + y: { + ticks: { + display: false, + }, + grid: { + lineWidth: 0 + } + }, x: { position: 'top', ticks: { - color: 'green', + color: 'transparent', backdropColor: 'red', showLabelBackdrop: true, align: 'inner', }, + grid: { + lineWidth: 0 + } } } } diff --git a/test/fixtures/core.scale/tick-backdrop-alignment-inner.png b/test/fixtures/core.scale/tick-backdrop-alignment-inner.png index 537bfac61a180f21b6507afcca828257470ff8d8..2cddb8dfdd76bbc60d8bc49f4f370c60342fff08 100644 GIT binary patch literal 11202 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