From fa1d08549001585f0ce2615051042ae637c4d404 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 24 May 2022 13:07:00 +0200 Subject: [PATCH 01/10] Enable label on ellipse annotation --- src/helpers/helpers.chart.js | 73 ++++++++++++++++++++++++- src/types/box.js | 63 +-------------------- src/types/ellipse.js | 12 +++- test/fixtures/ellipse/label.js | 94 ++++++++++++++++++++++++++++++++ test/fixtures/ellipse/label.png | Bin 0 -> 41361 bytes 5 files changed, 177 insertions(+), 65 deletions(-) create mode 100644 test/fixtures/ellipse/label.js create mode 100644 test/fixtures/ellipse/label.png diff --git a/src/helpers/helpers.chart.js b/src/helpers/helpers.chart.js index f29086f08..87bc14ec0 100644 --- a/src/helpers/helpers.chart.js +++ b/src/helpers/helpers.chart.js @@ -1,5 +1,6 @@ -import {isFinite} from 'chart.js/helpers'; -import {isBoundToPoint} from './helpers.options'; +import {isFinite, toPadding} from 'chart.js/helpers'; +import {measureLabelSize} from './helpers.canvas'; +import {isBoundToPoint, getRelativePosition, toPosition} from './helpers.options'; /** * @typedef { import("chart.js").Chart } Chart @@ -144,6 +145,23 @@ export function resolvePointProperties(chart, options) { return getChartCircle(chart, options); } +/** + * @param {Chart} chart + * @param {CoreAnnotationOptions} options + * @returns {AnnotationBoxModel} + */ +export function resolveBoxAndLabelProperties(chart, options) { + const properties = resolveBoxProperties(chart, options); + const {x, y} = properties; + properties.elements = [{ + type: 'label', + optionScope: 'label', + properties: resolveLabelElementProperties(chart, properties, options) + }]; + properties.initProperties = {x, y}; + return properties; +} + function getChartCircle(chart, options) { const point = getChartPoint(chart, options); const size = options.radius * 2; @@ -166,3 +184,54 @@ function getChartDimensionByScale(scale, options) { end: Math.max(result.start, result.end) }; } + +function calculateX({properties, options}, labelSize, position, padding) { + const {x: start, x2: end, width: size} = properties; + return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { + position: position.x, + padding: {start: padding.left, end: padding.right}, + adjust: options.label.xAdjust, + size: labelSize.width + }); +} + +function calculateY({properties, options}, labelSize, position, padding) { + const {y: start, y2: end, height: size} = properties; + return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { + position: position.y, + padding: {start: padding.top, end: padding.bottom}, + adjust: options.label.yAdjust, + size: labelSize.height + }); +} + +function calculatePosition(boxOpts, labelOpts) { + const {start, end, borderWidth} = boxOpts; + const {position, padding: {start: padStart, end: padEnd}, adjust} = labelOpts; + const availableSize = end - borderWidth - start - padStart - padEnd - labelOpts.size; + return start + borderWidth / 2 + adjust + getRelativePosition(availableSize, position); +} + +function resolveLabelElementProperties(chart, properties, options) { + const label = options.label; + label.backgroundColor = 'transparent'; + label.callout.display = false; + const position = toPosition(label.position); + const padding = toPadding(label.padding); + const labelSize = measureLabelSize(chart.ctx, label); + const x = calculateX({properties, options}, labelSize, position, padding); + const y = calculateY({properties, options}, labelSize, position, padding); + const width = labelSize.width + padding.width; + const height = labelSize.height + padding.height; + return { + x, + y, + x2: x + width, + y2: y + height, + width, + height, + centerX: x + width / 2, + centerY: y + height / 2, + rotation: label.rotation + }; +} diff --git a/src/types/box.js b/src/types/box.js index 32a726e74..a8786a0b9 100644 --- a/src/types/box.js +++ b/src/types/box.js @@ -1,6 +1,6 @@ import {Element} from 'chart.js'; import {toPadding, toRadians} from 'chart.js/helpers'; -import {drawBox, getRelativePosition, measureLabelSize, resolveBoxProperties, toPosition, inBoxRange, rotated, translate, getElementCenterPoint} from '../helpers'; +import {drawBox, resolveBoxAndLabelProperties, inBoxRange, rotated, translate, getElementCenterPoint} from '../helpers'; export default class BoxAnnotation extends Element { @@ -39,15 +39,7 @@ export default class BoxAnnotation extends Element { } resolveElementProperties(chart, options) { - const properties = resolveBoxProperties(chart, options); - const {x, y} = properties; - properties.elements = [{ - type: 'label', - optionScope: 'label', - properties: resolveLabelElementProperties(chart, properties, options) - }]; - properties.initProperties = {x, y}; - return properties; + return resolveBoxAndLabelProperties(chart, options); } } @@ -116,54 +108,3 @@ BoxAnnotation.descriptors = { _fallback: true } }; - -function calculateX({properties, options}, labelSize, position, padding) { - const {x: start, x2: end, width: size} = properties; - return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { - position: position.x, - padding: {start: padding.left, end: padding.right}, - adjust: options.label.xAdjust, - size: labelSize.width - }); -} - -function calculateY({properties, options}, labelSize, position, padding) { - const {y: start, y2: end, height: size} = properties; - return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { - position: position.y, - padding: {start: padding.top, end: padding.bottom}, - adjust: options.label.yAdjust, - size: labelSize.height - }); -} - -function calculatePosition(boxOpts, labelOpts) { - const {start, end, borderWidth} = boxOpts; - const {position, padding: {start: padStart, end: padEnd}, adjust} = labelOpts; - const availableSize = end - borderWidth - start - padStart - padEnd - labelOpts.size; - return start + borderWidth / 2 + adjust + getRelativePosition(availableSize, position); -} - -function resolveLabelElementProperties(chart, properties, options) { - const label = options.label; - label.backgroundColor = 'transparent'; - label.callout.display = false; - const position = toPosition(label.position); - const padding = toPadding(label.padding); - const labelSize = measureLabelSize(chart.ctx, label); - const x = calculateX({properties, options}, labelSize, position, padding); - const y = calculateY({properties, options}, labelSize, position, padding); - const width = labelSize.width + padding.width; - const height = labelSize.height + padding.height; - return { - x, - y, - x2: x + width, - y2: y + height, - width, - height, - centerX: x + width / 2, - centerY: y + height / 2, - rotation: label.rotation - }; -} diff --git a/src/types/ellipse.js b/src/types/ellipse.js index e6a4783fb..6bec8c2d2 100644 --- a/src/types/ellipse.js +++ b/src/types/ellipse.js @@ -1,6 +1,7 @@ import {Element} from 'chart.js'; import {PI, toRadians} from 'chart.js/helpers'; -import {EPSILON, resolveBoxProperties, setBorderStyle, setShadowStyle, rotated, translate, getElementCenterPoint} from '../helpers'; +import {EPSILON, resolveBoxAndLabelProperties, setBorderStyle, setShadowStyle, rotated, translate, getElementCenterPoint} from '../helpers'; +import BoxAnnotation from './box'; export default class EllipseAnnotation extends Element { @@ -40,7 +41,7 @@ export default class EllipseAnnotation extends Element { } resolveElementProperties(chart, options) { - return resolveBoxProperties(chart, options); + return resolveBoxAndLabelProperties(chart, options); } } @@ -55,6 +56,7 @@ EllipseAnnotation.defaults = { borderShadowColor: 'transparent', borderWidth: 1, display: true, + label: Object.assign({}, BoxAnnotation.defaults.label), rotation: 0, shadowBlur: 0, shadowOffsetX: 0, @@ -73,6 +75,12 @@ EllipseAnnotation.defaultRoutes = { backgroundColor: 'color' }; +EllipseAnnotation.descriptors = { + label: { + _fallback: true + } +}; + function pointInEllipse(p, ellipse, rotation, borderWidth) { const {width, height, centerX, centerY} = ellipse; const xRadius = width / 2; diff --git a/test/fixtures/ellipse/label.js b/test/fixtures/ellipse/label.js new file mode 100644 index 000000000..32505a784 --- /dev/null +++ b/test/fixtures/ellipse/label.js @@ -0,0 +1,94 @@ +module.exports = { + tolerance: 0.0075, + config: { + type: 'bar', + options: { + scales: { + x: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + }, + y: { + display: false, + min: 0, + max: 25 + } + }, + plugins: { + annotation: { + annotations: { + ellipse1: { + type: 'ellipse', + xMin: 1.5, + xMax: 3.5, + yMin: 5, + yMax: 10, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderDash: [6, 6], + borderWidth: 5, + label: { + display: true, + content: 'This is a label', + } + }, + ellipse2: { + type: 'ellipse', + xMin: 'May', + xMax: 'July', + yMin: 11, + yMax: 15, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'black', + borderWidth: 15, + label: { + display: true, + borderColor: 'green', + content: ['This label is very long', 'and is beyond the box of', 'annotation'], + position: 'start' + } + }, + ellipse3: { + type: 'ellipse', + xMin: -0.5, + xMax: 'May', + yMin: 16, + yMax: 20, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderDash: [6, 6], + borderWidth: 5, + label: { + display: true, + content: 'This is a label with different length', + position: 'end' + } + }, + ellipse4: { + type: 'ellipse', + xMin: 'June', + xMax: 'July', + yMin: 5, + yMax: 9, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderDash: [6, 6], + borderWidth: 5, + label: { + display: true, + content: ['This is', 'a multiline', 'label'], + color: 'red', + position: { + x: 'center' + }, + textAlign: 'center' + } + } + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/ellipse/label.png b/test/fixtures/ellipse/label.png new file mode 100644 index 0000000000000000000000000000000000000000..7b11ea151330d12f4b9d06a57dff7de13c1d9e7f GIT binary patch literal 41361 zcmeFZbySpH_cwkGLnttSAgM5+}8I?;r14zyE*FTC>)f#mt=RoLy({&u1TkUMNbz&`Hn%0D#FzKUV<&B=9W~a1Rw6 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 Date: Tue, 24 May 2022 13:19:13 +0200 Subject: [PATCH 02/10] adds label reference in ellipse element --- src/types/ellipse.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/types/ellipse.js b/src/types/ellipse.js index 6bec8c2d2..d27ac1fa6 100644 --- a/src/types/ellipse.js +++ b/src/types/ellipse.js @@ -40,6 +40,10 @@ export default class EllipseAnnotation extends Element { ctx.restore(); } + get label() { + return this.elements && this.elements[0]; + } + resolveElementProperties(chart, options) { return resolveBoxAndLabelProperties(chart, options); } From 1f397d400893a9873a528d8519f33edcee7b0754 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 24 May 2022 13:43:32 +0200 Subject: [PATCH 03/10] adds test cases --- test/fixtures/ellipse/label-dynamic.js | 54 +++++++++ test/fixtures/ellipse/label-dynamic.png | Bin 0 -> 10623 bytes test/fixtures/ellipse/labelCanvas.js | 101 ++++++++++++++++ test/fixtures/ellipse/labelCanvas.png | Bin 0 -> 48757 bytes test/fixtures/ellipse/labelDecoration.js | 84 +++++++++++++ test/fixtures/ellipse/labelDecoration.png | Bin 0 -> 80871 bytes test/fixtures/ellipse/labelMultiline.js | 88 ++++++++++++++ test/fixtures/ellipse/labelMultiline.png | Bin 0 -> 41935 bytes test/fixtures/ellipse/labelPadding.js | 96 +++++++++++++++ test/fixtures/ellipse/labelPadding.png | Bin 0 -> 40430 bytes test/fixtures/ellipse/labelPosition.js | 102 ++++++++++++++++ test/fixtures/ellipse/labelPosition.png | Bin 0 -> 35272 bytes test/fixtures/ellipse/labelRotation.js | 141 ++++++++++++++++++++++ test/fixtures/ellipse/labelRotation.png | Bin 0 -> 49249 bytes test/fixtures/ellipse/zIndex.js | 120 ++++++++++++++++++ test/fixtures/ellipse/zIndex.png | Bin 0 -> 36748 bytes 16 files changed, 786 insertions(+) create mode 100644 test/fixtures/ellipse/label-dynamic.js create mode 100644 test/fixtures/ellipse/label-dynamic.png create mode 100644 test/fixtures/ellipse/labelCanvas.js create mode 100644 test/fixtures/ellipse/labelCanvas.png create mode 100644 test/fixtures/ellipse/labelDecoration.js create mode 100644 test/fixtures/ellipse/labelDecoration.png create mode 100644 test/fixtures/ellipse/labelMultiline.js create mode 100644 test/fixtures/ellipse/labelMultiline.png create mode 100644 test/fixtures/ellipse/labelPadding.js create mode 100644 test/fixtures/ellipse/labelPadding.png create mode 100644 test/fixtures/ellipse/labelPosition.js create mode 100644 test/fixtures/ellipse/labelPosition.png create mode 100644 test/fixtures/ellipse/labelRotation.js create mode 100644 test/fixtures/ellipse/labelRotation.png create mode 100644 test/fixtures/ellipse/zIndex.js create mode 100644 test/fixtures/ellipse/zIndex.png diff --git a/test/fixtures/ellipse/label-dynamic.js b/test/fixtures/ellipse/label-dynamic.js new file mode 100644 index 000000000..f685d806c --- /dev/null +++ b/test/fixtures/ellipse/label-dynamic.js @@ -0,0 +1,54 @@ +module.exports = { + config: { + type: 'scatter', + options: { + scales: { + x: { + display: false, + min: 0, + max: 10 + }, + y: { + display: false, + min: 0, + max: 10 + } + }, + plugins: { + annotation: { + annotations: { + ellipse: { + type: 'ellipse', + xMin: 1, + xMax: 9, + yMin: 1, + yMax: 9, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 5, + label: { + display: false, + content: 'This is dynamic!', + }, + enter({element}) { + element.label.options.display = true; + return true; + } + }, + } + } + } + } + }, + options: { + canvas: { + width: 256, + height: 256 + }, + spriteText: true, + async run(chart) { + const el = window.getAnnotationElements(chart)[0]; + await window.triggerMouseEvent(chart, 'mousemove', el.getCenterPoint()); + } + } +}; diff --git a/test/fixtures/ellipse/label-dynamic.png b/test/fixtures/ellipse/label-dynamic.png new file mode 100644 index 0000000000000000000000000000000000000000..f37c30a45728e3af45e0210a2553aadbf181c4ec GIT binary patch literal 10623 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 IA6SI{4{9l9DF6Tf literal 0 HcmV?d00001 diff --git a/test/fixtures/ellipse/labelCanvas.js b/test/fixtures/ellipse/labelCanvas.js new file mode 100644 index 000000000..d3a02c3fd --- /dev/null +++ b/test/fixtures/ellipse/labelCanvas.js @@ -0,0 +1,101 @@ +module.exports = { + tolerance: 0.0060, + config: { + type: 'scatter', + options: { + scales: { + x: { + display: true, + min: -10, + max: 10 + }, + y: { + display: true, + min: -10, + max: 10 + } + }, + plugins: { + legend: false, + annotation: { + annotations: { + canvas1: { + type: 'ellipse', + xMin: -9, + xMax: -1, + yMin: 9, + yMax: 1, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 2, + label: { + display: true, + position: 'start', + content: window.createCanvas, + width: '25%', + height: '25%' + } + }, + canvas2: { + type: 'ellipse', + xMin: 1, + xMax: 9, + yMin: 9, + yMax: 1, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 2, + label: { + display: true, + position: 'end', + content: window.createCanvas, + width: '25%', + height: '25%' + } + }, + canvas3: { + type: 'ellipse', + xMin: -9, + xMax: -1, + yMin: -1, + yMax: -9, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 2, + label: { + display: true, + position: { + x: 'start', + y: 'center' + }, + content: window.createCanvas, + width: '25%', + height: '25%' + } + }, + canvas4: { + type: 'ellipse', + xMin: 1, + xMax: 9, + yMin: -1, + yMax: -9, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 2, + label: { + display: true, + position: { + x: 'center', + y: 'end' + }, + content: window.createCanvas, + width: '25%', + height: '25%' + } + } + } + } + } + } + } +}; diff --git a/test/fixtures/ellipse/labelCanvas.png b/test/fixtures/ellipse/labelCanvas.png new file mode 100644 index 0000000000000000000000000000000000000000..c2688b4c69c8e687ca74cb533948796d9f49fbd9 GIT binary patch literal 48757 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

;^8oGUMg_~LeH17X+--1wc3wL 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

`SI1l7y%`<8%=14<6A)x{>S$9xqY|Hc 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/ellipse/labelDecoration.js b/test/fixtures/ellipse/labelDecoration.js new file mode 100644 index 000000000..19330834b --- /dev/null +++ b/test/fixtures/ellipse/labelDecoration.js @@ -0,0 +1,84 @@ +module.exports = { + tolerance: 0.0320, + config: { + type: 'scatter', + options: { + scales: { + x: { + display: false, + min: 0, + max: 10 + }, + y: { + display: false, + min: 0, + max: 10 + } + }, + plugins: { + annotation: { + annotations: { + ellipse1: { + type: 'ellipse', + xMin: 0.5, + xMax: 9.5, + yMin: 6.5, + yMax: 9.5, + backgroundColor: '#f5f5f5', + borderColor: 'black', + borderWidth: 1, + label: { + display: true, + content: ['text stroke width 5', 'text stroke color red'], + textStrokeWidth: 5, + textStrokeColor: 'red', + font: { + size: 40 + } + } + }, + ellipse2: { + type: 'ellipse', + xMin: 0.5, + xMax: 9.5, + yMin: 4, + yMax: 6, + backgroundColor: '#f5f5f5', + borderColor: 'black', + borderWidth: 1, + label: { + display: true, + textStrokeWidth: 3, + color: 'white', + content: 'text stroke width 3', + font: { + size: 30 + } + } + }, + ellipse3: { + type: 'ellipse', + xMin: 0.5, + xMax: 9.5, + yMin: 0.5, + yMax: 3.5, + backgroundColor: '#f5f5f5', + borderColor: 'black', + borderWidth: 1, + label: { + display: true, + color: '#40E0D0', + content: ['text stroke width 10', 'text stroke color turq'], + textStrokeWidth: 10, + textStrokeColor: 'black', + font: { + size: 40 + } + } + } + } + } + } + } + } +}; diff --git a/test/fixtures/ellipse/labelDecoration.png b/test/fixtures/ellipse/labelDecoration.png new file mode 100644 index 0000000000000000000000000000000000000000..e78c14c14a7ba806d9489c49ed57c4bea8ba51fd GIT binary patch literal 80871 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/ellipse/labelMultiline.js b/test/fixtures/ellipse/labelMultiline.js new file mode 100644 index 000000000..f9641fee3 --- /dev/null +++ b/test/fixtures/ellipse/labelMultiline.js @@ -0,0 +1,88 @@ +module.exports = { + config: { + type: 'bar', + options: { + scales: { + x: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + }, + y: { + display: false, + min: 0, + max: 25 + } + }, + plugins: { + annotation: { + annotations: { + ellipse1: { + type: 'ellipse', + xMin: 1.5, + xMax: 3.5, + yMin: 5, + yMax: 10, + backgroundColor: 'rgba(178, 255, 102, 0.5)', + borderColor: 'red', + borderWidth: 5, + label: { + display: true, + content: ['This is a label', 'but this is multiline'], + } + }, + ellipse2: { + type: 'ellipse', + xMin: 'May', + xMax: 'July', + yMin: 11, + yMax: 15, + backgroundColor: 'rgba(178, 255, 102, 0.5)', + borderColor: 'red', + borderWidth: 5, + label: { + display: true, + content: ['This is a label', 'but this is multiline'], + position: 'start' + } + }, + ellipse3: { + type: 'ellipse', + xMin: -0.5, + xMax: 'May', + yMin: 16, + yMax: 20, + backgroundColor: 'rgba(178, 255, 102, 0.5)', + borderColor: 'red', + borderWidth: 5, + label: { + display: true, + content: ['This is a label', 'but this is multiline'], + position: 'end' + } + }, + ellipse4: { + type: 'ellipse', + xMin: 'June', + xMax: 'July', + yMin: 5, + yMax: 9, + backgroundColor: 'rgba(178, 255, 102, 0.5)', + borderColor: 'red', + borderWidth: 5, + label: { + display: true, + content: (ctx) => ['This is a label', 'type:' + ctx.type], + color: 'red', + position: { + x: 'start' + } + } + } + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/ellipse/labelMultiline.png b/test/fixtures/ellipse/labelMultiline.png new file mode 100644 index 0000000000000000000000000000000000000000..7e7a84508a91178d12c5ea2a4213e7eb3f57114b GIT binary patch literal 41935 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 a6|CdJIes^9$O{60l$F#KOYWGz_`d*GyT8={ literal 0 HcmV?d00001 diff --git a/test/fixtures/ellipse/labelRotation.js b/test/fixtures/ellipse/labelRotation.js new file mode 100644 index 000000000..02750e1b6 --- /dev/null +++ b/test/fixtures/ellipse/labelRotation.js @@ -0,0 +1,141 @@ +module.exports = { + config: { + type: 'scatter', + options: { + scales: { + x: { + display: false, + min: 0, + max: 10 + }, + y: { + display: false, + min: 0, + max: 10 + } + }, + plugins: { + annotation: { + annotations: { + ellipse1: { + type: 'ellipse', + xMin: 1, + xMax: 4, + yMin: 9, + yMax: 7, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + label: { + display: true, + rotation: 45, + content: 'rotation: 45', + } + }, + ellipse2: { + type: 'ellipse', + xMin: 4, + xMax: 7, + yMin: 9, + yMax: 7, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + label: { + display: true, + rotation: 90, + content: 'rotation: 90', + } + }, + ellipse3: { + type: 'ellipse', + xMin: 7, + xMax: 10, + yMin: 9, + yMax: 7, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + label: { + display: true, + rotation: 135, + content: 'rotation: 135', + } + }, + ellipse4: { + type: 'ellipse', + xMin: 1, + xMax: 4, + yMin: 6, + yMax: 4, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + label: { + display: true, + rotation: 180, + content: 'rotation: 180', + } + }, + ellipse5: { + type: 'ellipse', + xMin: 4, + xMax: 7, + yMin: 6, + yMax: 4, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + label: { + display: true, + rotation: 225, + content: 'rotation: 225', + } + }, + ellipse6: { + type: 'ellipse', + xMin: 7, + xMax: 10, + yMin: 6, + yMax: 4, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + label: { + display: true, + rotation: 270, + content: 'rotation: 270', + } + }, + ellipse7: { + type: 'ellipse', + xMin: 1, + xMax: 4, + yMin: 3, + yMax: 1, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + label: { + display: true, + rotation: 315, + content: 'rotation: 315', + } + }, + ellipse8: { + type: 'ellipse', + xMin: 4, + xMax: 7, + yMin: 3, + yMax: 1, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + rotation: 45, + label: { + display: true, + rotation: 0, + content: ['ellipse rot: 45', 'label rot: 0'] + } + } + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/ellipse/labelRotation.png b/test/fixtures/ellipse/labelRotation.png new file mode 100644 index 0000000000000000000000000000000000000000..0527afece872a39d18a6539ba2bbe824f08410f1 GIT binary patch literal 49249 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 l4%CPJ|2yFS;|N%|fk;MN;XHi`CKu; literal 0 HcmV?d00001 diff --git a/test/fixtures/ellipse/zIndex.js b/test/fixtures/ellipse/zIndex.js new file mode 100644 index 000000000..dd9180292 --- /dev/null +++ b/test/fixtures/ellipse/zIndex.js @@ -0,0 +1,120 @@ +module.exports = { + config: { + type: 'scatter', + options: { + scales: { + x: { + display: false, + min: 0, + max: 10 + }, + y: { + display: false, + min: 0, + max: 25 + } + }, + plugins: { + annotation: { + annotations: { + ellipse1: { + type: 'ellipse', + xMin: 3, + xMax: 7, + yMin: 1, + yMax: 4, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgb(255, 99, 132)', + borderWidth: 1, + label: { + display: true, + content: 'ellipse1 z:+10/z: 0', + z: 0 + }, + z: 10 + }, + ellipse2: { + type: 'ellipse', + xMin: 1.5, + xMax: 5.5, + yMin: 15, + yMax: 23.5, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 1, + label: { + display: true, + content: 'ellipse2 fallback/z: +100', + z: 100 + } + }, + ellipse3: { + type: 'ellipse', + xMin: 2.5, + xMax: 7, + yMin: 16, + yMax: 21, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 1, + label: { + display: true, + content: 'ellipse3 fallback/z: -1', + z: -1 + } + }, + ellipse4: { + type: 'ellipse', + xMin: 3, + xMax: 7, + yMin: 5, + yMax: 9, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 1, + label: { + display: true, + content: 'ellipse4 fallback/fallback', + }, + }, + ellipse5: { + type: 'ellipse', + xMin: 1.5, + xMax: 5.5, + yMin: 10, + yMax: 14.5, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 1, + label: { + display: true, + content: 'ellipse5 z: +100/z: 0', + position: 'start', + z: 0 + }, + z: 100 + }, + ellipse6: { + type: 'ellipse', + xMin: 2.5, + xMax: 4.5, + yMin: 11, + yMax: 13.5, + backgroundColor: 'rgba(255, 99, 132, 0.5)', + borderColor: 'rgba(255, 99, 132)', + borderWidth: 1, + label: { + display: true, + content: 'ellipse6 z: 0/fallback', + }, + z: 0 + } + } + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/ellipse/zIndex.png b/test/fixtures/ellipse/zIndex.png new file mode 100644 index 0000000000000000000000000000000000000000..7303519dcabd3409454dfd7eeaf3934aa4c284cb GIT binary patch literal 36748 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 Date: Tue, 24 May 2022 13:49:04 +0200 Subject: [PATCH 04/10] adds types --- types/options.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/options.d.ts b/types/options.d.ts index fc55257d7..aae721283 100644 --- a/types/options.d.ts +++ b/types/options.d.ts @@ -108,6 +108,7 @@ export interface BoxAnnotationOptions extends CoreAnnotationOptions, AnnotationC export interface EllipseAnnotationOptions extends CoreAnnotationOptions, AnnotationCoordinates { backgroundColor?: Scriptable, + label?: BoxLabelOptions, rotation?: Scriptable } From e69fa578e4849d1bd6e30dd3435d0eb6f24fb4d7 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 24 May 2022 14:11:35 +0200 Subject: [PATCH 05/10] adds documentation --- docs/guide/types/_commonInnerLabel.md | 35 ++++++++++++++++++++++++++ docs/guide/types/box.md | 36 +-------------------------- docs/guide/types/ellipse.md | 3 +++ 3 files changed, 39 insertions(+), 35 deletions(-) create mode 100644 docs/guide/types/_commonInnerLabel.md diff --git a/docs/guide/types/_commonInnerLabel.md b/docs/guide/types/_commonInnerLabel.md new file mode 100644 index 000000000..c1943ef16 --- /dev/null +++ b/docs/guide/types/_commonInnerLabel.md @@ -0,0 +1,35 @@ +## Label + +Namespace: `options.annotations[annotationID].label`, it defines options for the the label of annotation. + +All of these options can be [Scriptable](../options#scriptable-options) + +| Name | Type | Default | Notes +| ---- | ---- | :----: | ---- +| `color` | [`Color`](../options#color) | `'black'` | Text color. +| `content` | `string`\|`string[]`\|[`Image`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image)\|[`HTMLCanvasElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement) | `null` | The content to show in the label. +| `display` | `boolean` | `false` | Whether or not the label is shown. +| `drawTime` | `string` | `options.drawTime` | See [drawTime](../options#draw-time). Defaults to the annotation draw time if unset +| `font` | [`Font`](../options#font) | `{ weight: 'bold' }` | Label font +| `height` | `number`\|`string` | `undefined` | Overrides the height of the image or canvas element. Could be set in pixel by a number, or in percentage of current height of image or canvas element by a string. If undefined, uses the height of the image or canvas element. It is used only when the content is an image or canvas element. +| `padding` | [`Padding`](../options#padding) | `6` | The padding to add around the text label. +| [`position`](#position) | `string`\|`{x: string, y: string}` | `'center'` | Anchor position of label in the annotation. +| `rotation` | `number` | `undefined` | Rotation of label, in degrees. If `undefined`, the annotation rotation is used. +| `textAlign` | `string` | `'start'` | Text alignment of label content when there's more than one line. Possible options are: `'left'`, `'start'`, `'center'`, `'end'`, `'right'`. +| `textStrokeColor` | [`Color`](../options#color) | `undefined` | The color of the stroke around the text. +| `textStrokeWidth` | `number` | `0` | Stroke width around the text. +| `width` | `number`\|`string` | `undefined` | Overrides the width of the image or canvas element. Could be set in pixel by a number, or in percentage of current width of image or canvas element by a string. If undefined, uses the width of the image or canvas element. It is used only when the content is an image or canvas element. +| `xAdjust` | `number` | `0` | Adjustment along x-axis (left-right) of label relative to computed position. Negative values move the label left, positive right. +| `yAdjust` | `number` | `0` | Adjustment along y-axis (top-bottom) of label relative to computed position. Negative values move the label up, positive down. +| `z` | `number` | `0` | It determines the drawing stack level of the label element, with same `drawTime`. + +### Position + +A position can be set in 2 different values types: + +1. `'start'`, `'center'`, `'end'` which are defining where the label will be located +2. a `string`, in percentage format `'number%'`, is representing the percentage on the size where the label will be located + +If this value is a string (possible options are `'start'`, `'center'`, `'end'` or a string in percentage format), it is applied to vertical and horizontal position in the annotation. + +If this value is an object, the `x` property defines the horizontal alignment in the annotation. Similarly, the `y` property defines the vertical alignment in the annotation. Possible options for both properties are `'start'`, `'center'`, `'end'`, a string in percentage format. Omitted property have value of the default, `'center'`. diff --git a/docs/guide/types/box.md b/docs/guide/types/box.md index 021f88ec2..fb60c6fba 100644 --- a/docs/guide/types/box.md +++ b/docs/guide/types/box.md @@ -103,38 +103,4 @@ If one of the axes does not match an axis in the chart, the box will take the en If this value is a number, it is applied to all corners of the rectangle (topLeft, topRight, bottomLeft, bottomRight). If this value is an object, the `topLeft` property defines the top-left corners border radius. Similarly, the `topRight`, `bottomLeft`, and `bottomRight` properties can also be specified. Omitted corners have radius of 0. -## Label - -Namespace: `options.annotations[annotationID].label`, it defines options for the box annotation label. - -All of these options can be [Scriptable](../options#scriptable-options) - -| Name | Type | Default | Notes -| ---- | ---- | :----: | ---- -| `color` | [`Color`](../options#color) | `'black'` | Text color. -| `content` | `string`\|`string[]`\|[`Image`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image)\|[`HTMLCanvasElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement) | `null` | The content to show in the label. -| `display` | `boolean` | `false` | Whether or not the label is shown. -| `drawTime` | `string` | `options.drawTime` | See [drawTime](../options#draw-time). Defaults to the box annotation draw time if unset -| `font` | [`Font`](../options#font) | `{ weight: 'bold' }` | Label font -| `height` | `number`\|`string` | `undefined` | Overrides the height of the image or canvas element. Could be set in pixel by a number, or in percentage of current height of image or canvas element by a string. If undefined, uses the height of the image or canvas element. It is used only when the content is an image or canvas element. -| `padding` | [`Padding`](../options#padding) | `6` | The padding to add around the text label. -| [`position`](#position) | `string`\|`{x: string, y: string}` | `'center'` | Anchor position of label in the box. -| `rotation` | `number` | `undefined` | Rotation of label, in degrees. If `undefined`, the box rotation is used. -| `textAlign` | `string` | `'start'` | Text alignment of label content when there's more than one line. Possible options are: `'left'`, `'start'`, `'center'`, `'end'`, `'right'`. -| `textStrokeColor` | [`Color`](../options#color) | `undefined` | The color of the stroke around the text. -| `textStrokeWidth` | `number` | `0` | Stroke width around the text. -| `width` | `number`\|`string` | `undefined` | Overrides the width of the image or canvas element. Could be set in pixel by a number, or in percentage of current width of image or canvas element by a string. If undefined, uses the width of the image or canvas element. It is used only when the content is an image or canvas element. -| `xAdjust` | `number` | `0` | Adjustment along x-axis (left-right) of label relative to computed position. Negative values move the label left, positive right. -| `yAdjust` | `number` | `0` | Adjustment along y-axis (top-bottom) of label relative to computed position. Negative values move the label up, positive down. -| `z` | `number` | `0` | It determines the drawing stack level of the label element, with same `drawTime`. - -### Position - -A position can be set in 2 different values types: - -1. `'start'`, `'center'`, `'end'` which are defining where the label will be located -2. a `string`, in percentage format `'number%'`, is representing the percentage on the size where the label will be located - -If this value is a string (possible options are `'start'`, `'center'`, `'end'` or a string in percentage format), it is applied to vertical and horizontal position in the box. - -If this value is an object, the `x` property defines the horizontal alignment in the box. Similarly, the `y` property defines the vertical alignment in the box. Possible options for both properties are `'start'`, `'center'`, `'end'`, a string in percentage format. Omitted property have value of the default, `'center'`. +!!!include(./guide/types/_commonInnerLabel.md)!!! diff --git a/docs/guide/types/ellipse.md b/docs/guide/types/ellipse.md index f78b081a1..ee7175edd 100644 --- a/docs/guide/types/ellipse.md +++ b/docs/guide/types/ellipse.md @@ -55,6 +55,7 @@ The following options are available for ellipse annotations. | ---- | ---- | :----: | ---- | [`backgroundShadowColor`](#styling) | [`Color`](../options#color) | Yes | `'transparent'` | [`borderWidth`](#styling) | `number`| Yes | `1` +| [`label`](#label) | `object` | Yes | | [`rotation`](#general) | `number`| Yes | `0` !!!include(./guide/types/_commonOptions.md)!!! @@ -91,3 +92,5 @@ If one of the axes does not match an axis in the chart, the ellipse will take th | `shadowBlur` | The amount of blur applied to shadow. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowBlur). | `shadowOffsetX` | The distance that shadow will be offset horizontally. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetX). | `shadowOffsetY` | The distance that shadow will be offset vertically. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetY). + +!!!include(./guide/types/_commonInnerLabel.md)!!! From 618af668f7d9b680c0458c3ca3ccc6a84e0fdce3 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 24 May 2022 14:34:46 +0200 Subject: [PATCH 06/10] adds samples --- docs/.vuepress/config.js | 2 + docs/samples/ellipse/image.md | 76 +++++++++++++++++++++++++++++++++++ docs/samples/ellipse/label.md | 72 +++++++++++++++++++++++++++++++++ 3 files changed, 150 insertions(+) create mode 100644 docs/samples/ellipse/image.md create mode 100644 docs/samples/ellipse/label.md diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index a8b4c6116..4c195fc00 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -124,6 +124,8 @@ module.exports = { children: [ 'ellipse/basic', 'ellipse/rotation', + 'ellipse/label', + 'ellipse/image', ] }, { diff --git a/docs/samples/ellipse/image.md b/docs/samples/ellipse/image.md new file mode 100644 index 000000000..495e2fea2 --- /dev/null +++ b/docs/samples/ellipse/image.md @@ -0,0 +1,76 @@ +# Using images as labels + +```js chart-editor +// +const DATA_COUNT = 12; +const MIN = 10; +const MAX = 100; + +const numberCfg = {count: DATA_COUNT, min: MIN, max: MAX}; + +const data = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + datasets: [{ + data: Utils.numbers(numberCfg) + }] +}; +// + +// +const annotation = { + type: 'ellipse', + backgroundColor: 'rgba(0, 0, 0, 0.2)', + borderWidth: 1, + borderColor: '#F27173', + yMin: 30, + yMax: 80, + xMax: 2, + xMin: 5, + label: { + display: true, + content: Utils.getImage(), + width: 150, + height: 150, + position: 'center' + } +}; +// + +/* */ +const config = { + type: 'line', + data, + options: { + scales: { + y: { + beginAtZero: true + } + }, + plugins: { + annotation: { + annotations: { + annotation + } + } + } + } +}; +/* */ + +const actions = [ + { + name: 'Randomize', + handler: function(chart) { + chart.data.datasets.forEach(function(dataset, i) { + dataset.data = dataset.data.map(() => Utils.rand(MIN, MAX)); + }); + chart.update(); + } + } +]; + +module.exports = { + actions: actions, + config: config +}; +``` \ No newline at end of file diff --git a/docs/samples/ellipse/label.md b/docs/samples/ellipse/label.md new file mode 100644 index 000000000..0bcedfe68 --- /dev/null +++ b/docs/samples/ellipse/label.md @@ -0,0 +1,72 @@ +# Labeling + +```js chart-editor +// +const DATA_COUNT = 12; +const MIN = 10; +const MAX = 100; + +const numberCfg = {count: DATA_COUNT, min: MIN, max: MAX}; + +const data = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + datasets: [{ + data: Utils.numbers(numberCfg) + }] +}; +// + +// +const annotation = { + type: 'ellipse', + backgroundColor: 'rgba(208, 208, 208, 0.2)', + borderWidth: 0, + label: { + drawTime: 'afterDatasetsDraw', + display: true, + color: 'rgba(208, 208, 208, 0.6)', + content: 'whole year', + font: { + size: (ctx) => ctx.chart.chartArea.height / 4 + }, + position: { + x: 'center', + y: 'end' + } + } +}; +// + +/* */ +const config = { + type: 'line', + data, + options: { + plugins: { + annotation: { + annotations: { + annotation + } + } + } + } +}; +/* */ + +const actions = [ + { + name: 'Randomize', + handler: function(chart) { + chart.data.datasets.forEach(function(dataset, i) { + dataset.data = dataset.data.map(() => Utils.rand(MIN, MAX)); + }); + chart.update(); + } + } +]; + +module.exports = { + actions: actions, + config: config, +}; +``` From 962ee4be6485b9964677f981d89a276f7aed0de7 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 6 Jun 2022 12:07:18 +0200 Subject: [PATCH 07/10] Add element diagrams to the annotation types guide --- docs/guide/types/box.md | 8 ++++++++ docs/guide/types/ellipse.md | 6 ++++++ docs/guide/types/label.md | 6 ++++++ docs/guide/types/line.md | 8 ++++++++ docs/guide/types/point.md | 6 ++++++ docs/guide/types/polygon.md | 6 ++++++ 6 files changed, 40 insertions(+) diff --git a/docs/guide/types/box.md b/docs/guide/types/box.md index 021f88ec2..9c6a16408 100644 --- a/docs/guide/types/box.md +++ b/docs/guide/types/box.md @@ -138,3 +138,11 @@ A position can be set in 2 different values types: If this value is a string (possible options are `'start'`, `'center'`, `'end'` or a string in percentage format), it is applied to vertical and horizontal position in the box. If this value is an object, the `x` property defines the horizontal alignment in the box. Similarly, the `y` property defines the vertical alignment in the box. Possible options for both properties are `'start'`, `'center'`, `'end'`, a string in percentage format. Omitted property have value of the default, `'center'`. + +## Element + +The following diagram is showing the element properties about a `'box'` annotation: + +![box](../../img/elementBoxProps.png) + +The label of a box annotation is described as a [label annotation](./label#element) and accessible by `element.label`. diff --git a/docs/guide/types/ellipse.md b/docs/guide/types/ellipse.md index f78b081a1..4ead77c7c 100644 --- a/docs/guide/types/ellipse.md +++ b/docs/guide/types/ellipse.md @@ -91,3 +91,9 @@ If one of the axes does not match an axis in the chart, the ellipse will take th | `shadowBlur` | The amount of blur applied to shadow. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowBlur). | `shadowOffsetX` | The distance that shadow will be offset horizontally. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetX). | `shadowOffsetY` | The distance that shadow will be offset vertically. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetY). + +## Element + +The following diagram is showing the element properties about a `'ellipse'` annotation: + +![ellipse](../../img/elementEllipseProps.png) diff --git a/docs/guide/types/label.md b/docs/guide/types/label.md index 8ab09f698..e02af9ebc 100644 --- a/docs/guide/types/label.md +++ b/docs/guide/types/label.md @@ -217,3 +217,9 @@ All of these options can be [Scriptable](../options#scriptable-options). | `position` | `string` | `'auto'` | The position of callout, with respect to the label. Could be `left`, `top`, `right`, `bottom` or `auto`. | `side` | `number` | `5` | Width of the starter line of callout pointer. | `start` | `number`\|`string` | `'50%'` | The percentage of the separator dimension to use as starting point for callout pointer. Could be set in pixel by a number, or in percentage of the separator dimension by a string. + +## Element + +The following diagram is showing the element properties about a `'label'` annotation: + +![label](../../img/elementLabelProps.png) diff --git a/docs/guide/types/line.md b/docs/guide/types/line.md index 6afb0479d..ea55e8534 100644 --- a/docs/guide/types/line.md +++ b/docs/guide/types/line.md @@ -184,3 +184,11 @@ All of these options can be [Scriptable](../options#scriptable-options) | `shadowOffsetX` | `number` | `lineAnnotation.shadowOffsetX` | The distance that shadow, of the arrow head, will be offset horizontally. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetX). | `shadowOffsetY` | `number` | `lineAnnotation.shadowOffsetY` | The distance that shadow, of the arrow head, will be offset vertically. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetY). | `width` | `number` | `6` | The width of the arrow head in pixels. + +## Element + +The following diagram is showing the element properties about a `'line'` annotation: + +![line](../../img/elementLineProps.png) + +The label of a box annotation is described as a [label annotation](./label#element) and accessible by `element.label`. diff --git a/docs/guide/types/point.md b/docs/guide/types/point.md index 84063d2de..9f29a42a0 100644 --- a/docs/guide/types/point.md +++ b/docs/guide/types/point.md @@ -103,3 +103,9 @@ The 4 coordinates, xMin, xMax, yMin, yMax are optional. If not specified, the bo | `shadowBlur` | The amount of blur applied to shadow. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowBlur). | `shadowOffsetX` | The distance that shadow will be offset horizontally. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetX). | `shadowOffsetY` | The distance that shadow will be offset vertically. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowOffsetY). + +## Element + +The following diagram is showing the element properties about a `'point'` annotation: + +![point](../../img/elementPointProps.png) diff --git a/docs/guide/types/polygon.md b/docs/guide/types/polygon.md index fd9afb368..6476ae141 100644 --- a/docs/guide/types/polygon.md +++ b/docs/guide/types/polygon.md @@ -165,3 +165,9 @@ module.exports = { config }; ``` + +## Element + +The following diagram is showing the element properties about a `'polygon'` annotation: + +![polygon](../../img/elementPolygonProps.png) From 89daeaff8f7cf9fd46edaefc4b6c5eeb11790d0f Mon Sep 17 00:00:00 2001 From: stockiNail Date: Thu, 4 Aug 2022 16:06:21 +0200 Subject: [PATCH 08/10] fixes lint --- src/types/box.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/box.js b/src/types/box.js index 60fffa1fc..1c6e494ea 100644 --- a/src/types/box.js +++ b/src/types/box.js @@ -1,5 +1,5 @@ import {Element} from 'chart.js'; -import {toPadding, toRadians} from 'chart.js/helpers'; +import {toRadians} from 'chart.js/helpers'; import {drawBox, resolveBoxAndLabelProperties, inBoxRange, rotated, translate, getElementCenterPoint} from '../helpers'; export default class BoxAnnotation extends Element { From db9ee771492f0f59e5f561f969d076fb52e36a48 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Thu, 4 Aug 2022 16:26:30 +0200 Subject: [PATCH 09/10] fixes CC similar code --- src/helpers/helpers.chart.js | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/src/helpers/helpers.chart.js b/src/helpers/helpers.chart.js index 87bc14ec0..3486af88f 100644 --- a/src/helpers/helpers.chart.js +++ b/src/helpers/helpers.chart.js @@ -185,26 +185,6 @@ function getChartDimensionByScale(scale, options) { }; } -function calculateX({properties, options}, labelSize, position, padding) { - const {x: start, x2: end, width: size} = properties; - return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { - position: position.x, - padding: {start: padding.left, end: padding.right}, - adjust: options.label.xAdjust, - size: labelSize.width - }); -} - -function calculateY({properties, options}, labelSize, position, padding) { - const {y: start, y2: end, height: size} = properties; - return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { - position: position.y, - padding: {start: padding.top, end: padding.bottom}, - adjust: options.label.yAdjust, - size: labelSize.height - }); -} - function calculatePosition(boxOpts, labelOpts) { const {start, end, borderWidth} = boxOpts; const {position, padding: {start: padStart, end: padEnd}, adjust} = labelOpts; @@ -219,8 +199,18 @@ function resolveLabelElementProperties(chart, properties, options) { const position = toPosition(label.position); const padding = toPadding(label.padding); const labelSize = measureLabelSize(chart.ctx, label); - const x = calculateX({properties, options}, labelSize, position, padding); - const y = calculateY({properties, options}, labelSize, position, padding); + const x = calculatePosition({start: properties.x, end: properties.x2, size: properties.width, borderWidth: options.borderWidth}, { + position: position.x, + padding: {start: padding.left, end: padding.right}, + adjust: options.label.xAdjust, + size: labelSize.width + }); + const y = calculatePosition({start: properties.y, end: properties.y2, size: properties.height, borderWidth: options.borderWidth}, { + position: position.y, + padding: {start: padding.top, end: padding.bottom}, + adjust: options.label.yAdjust, + size: labelSize.height + }); const width = labelSize.width + padding.width; const height = labelSize.height + padding.height; return { From b17e8ae61c2e387acc3cd61d667f1f3c51e54e2b Mon Sep 17 00:00:00 2001 From: stockiNail Date: Thu, 4 Aug 2022 16:29:51 +0200 Subject: [PATCH 10/10] back to similar code --- src/helpers/helpers.chart.js | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/helpers/helpers.chart.js b/src/helpers/helpers.chart.js index 3486af88f..87bc14ec0 100644 --- a/src/helpers/helpers.chart.js +++ b/src/helpers/helpers.chart.js @@ -185,6 +185,26 @@ function getChartDimensionByScale(scale, options) { }; } +function calculateX({properties, options}, labelSize, position, padding) { + const {x: start, x2: end, width: size} = properties; + return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { + position: position.x, + padding: {start: padding.left, end: padding.right}, + adjust: options.label.xAdjust, + size: labelSize.width + }); +} + +function calculateY({properties, options}, labelSize, position, padding) { + const {y: start, y2: end, height: size} = properties; + return calculatePosition({start, end, size, borderWidth: options.borderWidth}, { + position: position.y, + padding: {start: padding.top, end: padding.bottom}, + adjust: options.label.yAdjust, + size: labelSize.height + }); +} + function calculatePosition(boxOpts, labelOpts) { const {start, end, borderWidth} = boxOpts; const {position, padding: {start: padStart, end: padEnd}, adjust} = labelOpts; @@ -199,18 +219,8 @@ function resolveLabelElementProperties(chart, properties, options) { const position = toPosition(label.position); const padding = toPadding(label.padding); const labelSize = measureLabelSize(chart.ctx, label); - const x = calculatePosition({start: properties.x, end: properties.x2, size: properties.width, borderWidth: options.borderWidth}, { - position: position.x, - padding: {start: padding.left, end: padding.right}, - adjust: options.label.xAdjust, - size: labelSize.width - }); - const y = calculatePosition({start: properties.y, end: properties.y2, size: properties.height, borderWidth: options.borderWidth}, { - position: position.y, - padding: {start: padding.top, end: padding.bottom}, - adjust: options.label.yAdjust, - size: labelSize.height - }); + const x = calculateX({properties, options}, labelSize, position, padding); + const y = calculateY({properties, options}, labelSize, position, padding); const width = labelSize.width + padding.width; const height = labelSize.height + padding.height; return {