From 93e6122e9931cc6c539cc006673b4ad406f80339 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 28 Feb 2022 13:02:14 +0100 Subject: [PATCH 1/3] Change enabled to display option in all nodes of annotations --- docs/guide/types/box.md | 2 +- docs/guide/types/label.md | 4 +- docs/guide/types/line.md | 4 +- docs/samples/box/canvas.md | 4 +- docs/samples/box/disclosure.md | 2 +- docs/samples/box/image.md | 2 +- docs/samples/box/quarters.md | 8 ++-- docs/samples/charts/bar.md | 4 +- docs/samples/charts/line.md | 4 +- docs/samples/intro.md | 2 +- docs/samples/label/callout.md | 2 +- docs/samples/label/image.md | 2 +- docs/samples/label/innerChart.md | 2 +- docs/samples/line/animation.md | 2 +- docs/samples/line/average.md | 2 +- docs/samples/line/canvas.md | 2 +- docs/samples/line/datasetBars.md | 8 ++-- docs/samples/line/image.md | 2 +- docs/samples/line/labelVisibility.md | 10 ++--- docs/samples/line/limited.md | 6 +-- docs/samples/line/lowerUpper.md | 4 +- docs/samples/line/standardDeviation.md | 6 +-- docs/samples/line/visibility.md | 2 +- docs/samples/point/combined.md | 4 +- src/annotation.js | 2 +- src/types/box.js | 2 +- src/types/label.js | 4 +- src/types/line.js | 12 +++--- test/fixtures/box/label-dynamic.js | 4 +- test/fixtures/box/label.js | 8 ++-- test/fixtures/box/labelCanvas.js | 8 ++-- test/fixtures/box/labelDecoration.js | 6 +-- test/fixtures/box/labelMultiline.js | 8 ++-- test/fixtures/box/labelPadding.js | 8 ++-- test/fixtures/box/labelPosition.js | 8 ++-- test/fixtures/box/labelRotation.js | 16 +++---- test/fixtures/box/rotation.js | 14 +++--- test/fixtures/box/shadow.js | 8 ++-- test/fixtures/box/shadowColors.js | 8 ++-- test/fixtures/label/calloutBasic.js | 8 ++-- test/fixtures/label/calloutCanvas.js | 2 +- .../label/calloutHorizontalPosition.js | 12 +++--- test/fixtures/label/calloutRotation.js | 8 ++-- .../label/calloutScriptableOptions.js | 2 +- test/fixtures/label/calloutSizing.js | 14 +++--- .../fixtures/label/calloutVerticalPosition.js | 12 +++--- test/fixtures/label/contentMultiline.js | 4 +- test/fixtures/label/noCalloutIfAdjusted.js | 4 +- test/fixtures/line/arrowHeads.js | 40 +++++++++--------- .../line/arrowHeadsDeleteAtRuntime.js | 18 ++++---- test/fixtures/line/arrowHeadsFallback.js | 18 ++++---- test/fixtures/line/arrowHeadsFallback.png | Bin 30507 -> 31180 bytes test/fixtures/line/arrowHeadsFill.js | 40 +++++++++--------- .../line/arrowHeadsFillScriptableOptions.js | 14 +++--- test/fixtures/line/label-border.js | 2 +- test/fixtures/line/label-dynamic-hide.js | 6 +-- test/fixtures/line/label-dynamic-show.js | 4 +- test/fixtures/line/labelCanvas.js | 2 +- test/fixtures/line/labelDecoration.js | 6 +-- test/fixtures/line/labelShadow.js | 8 ++-- test/fixtures/line/labelShadowColors.js | 8 ++-- test/fixtures/line/label_drawTime.js | 10 ++--- test/fixtures/line/labelsScriptableOptions.js | 12 +++--- test/fixtures/line/out-of-range-value0.js | 2 +- test/fixtures/line/out-of-range.js | 2 +- test/fixtures/line/padding.js | 6 +-- test/fixtures/line/paddingXY.js | 6 +-- test/fixtures/line/position.js | 12 +++--- test/fixtures/line/positionPercent.js | 22 +++++----- test/fixtures/line/rotation.js | 12 +++--- test/fixtures/line/scriptableOptions.js | 12 +++--- test/fixtures/line/shadowArrowHeads.js | 12 +++--- test/fixtures/line/shadowArrowHeadsFill.js | 12 +++--- test/specs/line.spec.js | 2 +- types/label.d.ts | 8 ++-- types/options.d.ts | 4 +- 76 files changed, 286 insertions(+), 286 deletions(-) diff --git a/docs/guide/types/box.md b/docs/guide/types/box.md index 8d7bb7bc5..70fa679be 100644 --- a/docs/guide/types/box.md +++ b/docs/guide/types/box.md @@ -125,8 +125,8 @@ All of these options can be [Scriptable](../options#scriptable-options) | ---- | ---- | :----: | ---- | `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 -| `enabled` | `boolean` | `false` | Whether or not the label is shown. | `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. diff --git a/docs/guide/types/label.md b/docs/guide/types/label.md index 450740892..bf5bb1f38 100644 --- a/docs/guide/types/label.md +++ b/docs/guide/types/label.md @@ -182,7 +182,7 @@ const options = { size: 18 }, callout: { - enabled: true, + display: true, side: 10 } } @@ -224,7 +224,7 @@ All of these options can be [Scriptable](../options#scriptable-options). | `borderDashOffset` | `number` | `0` | Offset for line dashes of callout. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset). | `borderJoinStyle` | `string` | `'miter'` | Border line join style of the callout. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin). | `borderWidth` | `number` | `1` | Stroke width of the pointer of the callout. -| `enabled` | `boolean` | `false` | If true, the callout is drawn. +| `display` | `boolean` | `false` | If true, the callout is drawn. | `margin` | `number` | `5` | Amount of pixels between the label and the callout separator. | `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. diff --git a/docs/guide/types/line.md b/docs/guide/types/line.md index cad3507f4..388b05294 100644 --- a/docs/guide/types/line.md +++ b/docs/guide/types/line.md @@ -141,8 +141,8 @@ All of these options can be [Scriptable](../options#scriptable-options) | `borderWidth` | `number` | `0` | The border line width (in pixels). | `color` | [`Color`](../options#color) | `'#fff'` | 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 line annotation draw time if unset. -| `enabled` | `boolean` | `false` | Whether or not the label is shown. | `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. @@ -192,7 +192,7 @@ All of these options can be [Scriptable](../options#scriptable-options) | `borderDashOffset` | `number` | `lineAnnotation.borderDashOffset` | Offset for border arrow head dashes. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset). | `borderShadowColor` | [`Color`](../options#color) | `lineAnnotation.borderShadowColor` | The color of border shadow of the arrow head. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowColor). | `borderWidth` | `number` | `lineAnnotation.borderWidth` | The border line width (in pixels). -| `enabled` | `boolean` | `false` | Whether or not the arrow head is shown. +| `display` | `boolean` | `false` | Whether or not the arrow head is shown. | `fill` | `boolean` | `false` | Whether or not the arrow head is filled. | `length` | `number` | `12` | The length of the arrow head in pixels. | `shadowBlur` | `number` | `lineAnnotation.shadowBlur` | The amount of blur applied to shadow of the arrow head. See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/shadowBlur). diff --git a/docs/samples/box/canvas.md b/docs/samples/box/canvas.md index 59b8c0a71..326288965 100644 --- a/docs/samples/box/canvas.md +++ b/docs/samples/box/canvas.md @@ -24,7 +24,7 @@ const annotation1 = { xMax: 2, xMin: 5, label: { - enabled: true, + display: true, content: Utils.getSpiral(), position: { x: 'center', @@ -42,7 +42,7 @@ const annotation2 = { xMax: 6, xMin: 10, label: { - enabled: true, + display: true, content: Utils.getHouse(), position: { x: 'center', diff --git a/docs/samples/box/disclosure.md b/docs/samples/box/disclosure.md index d9d659278..da6254183 100644 --- a/docs/samples/box/disclosure.md +++ b/docs/samples/box/disclosure.md @@ -23,7 +23,7 @@ const annotation = { borderWidth: 0, label: { drawTime: 'afterDatasetsDraw', - enabled: true, + display: true, color: 'rgba(208, 208, 208, 0.2)', content: 'Draft', font: { diff --git a/docs/samples/box/image.md b/docs/samples/box/image.md index 99fe0f3bc..a67124bbd 100644 --- a/docs/samples/box/image.md +++ b/docs/samples/box/image.md @@ -27,7 +27,7 @@ const annotation = { xMax: 2, xMin: 5, label: { - enabled: true, + display: true, content: Utils.getImage(), width: 150, height: 150, diff --git a/docs/samples/box/quarters.md b/docs/samples/box/quarters.md index 2cf9e8eb7..563f82121 100644 --- a/docs/samples/box/quarters.md +++ b/docs/samples/box/quarters.md @@ -25,7 +25,7 @@ const annotation1 = { xMin: -0.5, label: { drawTime: 'afterDraw', - enabled: true, + display: true, content: 'First quarter', position: { x: 'center', @@ -44,7 +44,7 @@ const annotation2 = { xMin: 2.5, label: { drawTime: 'afterDraw', - enabled: true, + display: true, content: 'Second quarter', position: { x: 'center', @@ -63,7 +63,7 @@ const annotation3 = { xMin: 5.5, label: { drawTime: 'afterDraw', - enabled: true, + display: true, content: 'Third quarter', position: { x: 'center', @@ -81,7 +81,7 @@ const annotation4 = { xMin: 8.5, label: { drawTime: 'afterDraw', - enabled: true, + display: true, content: 'Fourth quarter', position: { x: 'center', diff --git a/docs/samples/charts/bar.md b/docs/samples/charts/bar.md index 07fe60523..4e5924b83 100644 --- a/docs/samples/charts/bar.md +++ b/docs/samples/charts/bar.md @@ -36,7 +36,7 @@ const annotation1 = { value: 0.5, label: { content: 'Line annotation at x=0.5', - enabled: true + display: true }, }; // @@ -53,7 +53,7 @@ const annotation2 = { position: 'start', backgroundColor: 'black', content: 'Line at x=Label 5', - enabled: true + display: true } }; // diff --git a/docs/samples/charts/line.md b/docs/samples/charts/line.md index 050b4660c..431e7c3d0 100644 --- a/docs/samples/charts/line.md +++ b/docs/samples/charts/line.md @@ -32,7 +32,7 @@ const annotation1 = { label: { rotation: 'auto', content: 'Line at x=5', - enabled: true + display: true }, }; // @@ -49,7 +49,7 @@ const annotation2 = { position: 'start', backgroundColor: 'black', content: 'Line at x=90', - enabled: true + display: true } }; // diff --git a/docs/samples/intro.md b/docs/samples/intro.md index 4ffee719f..20d75caa8 100644 --- a/docs/samples/intro.md +++ b/docs/samples/intro.md @@ -40,7 +40,7 @@ const annotation1 = { label: { backgroundColor: 'red', content: 'Test Label', - enabled: true + display: true }, scaleID: 'y', value: Utils.rand(-100, 100) diff --git a/docs/samples/label/callout.md b/docs/samples/label/callout.md index b6c81bf3f..99312c999 100644 --- a/docs/samples/label/callout.md +++ b/docs/samples/label/callout.md @@ -21,7 +21,7 @@ const annotation = { type: 'label', backgroundColor: 'rgba(245, 245, 245)', callout: { - enabled: true, + display: true, borderColor: (ctx) => ctx.chart.data.datasets[0].borderColor }, content: (ctx) => 'Maximum value is ' + maxValue(ctx).toFixed(2), diff --git a/docs/samples/label/image.md b/docs/samples/label/image.md index 3994ee4d2..2e2ef5411 100644 --- a/docs/samples/label/image.md +++ b/docs/samples/label/image.md @@ -30,7 +30,7 @@ const annotation1 = { borderWidth: 1, borderDash: [6, 6], callout: { - enabled: true, + display: true, position: 'left' } }; diff --git a/docs/samples/label/innerChart.md b/docs/samples/label/innerChart.md index 2e9c26e36..95e4505cf 100644 --- a/docs/samples/label/innerChart.md +++ b/docs/samples/label/innerChart.md @@ -49,7 +49,7 @@ const annotation2 = { content: (ctx) => [innerChart.data.labels[getVisibleDatasetIndex(ctx)], 'items trend'], callout: { - enabled: true, + display: true, position: 'bottom', margin: 0 }, diff --git a/docs/samples/line/animation.md b/docs/samples/line/animation.md index 66e37d39f..35699fb58 100644 --- a/docs/samples/line/animation.md +++ b/docs/samples/line/animation.md @@ -30,7 +30,7 @@ const line = { borderColor: 'red', borderWidth: 3, label: { - enabled: true, + display: true, content: 'Limit', rotation: 90 }, diff --git a/docs/samples/line/average.md b/docs/samples/line/average.md index dbbd777da..327bb52ab 100644 --- a/docs/samples/line/average.md +++ b/docs/samples/line/average.md @@ -31,7 +31,7 @@ const annotation = { borderDashOffset: 0, borderWidth: 3, label: { - enabled: true, + display: true, content: (ctx) => 'Average: ' + average(ctx).toFixed(2), position: 'end' }, diff --git a/docs/samples/line/canvas.md b/docs/samples/line/canvas.md index 56041b28d..39037f8c5 100644 --- a/docs/samples/line/canvas.md +++ b/docs/samples/line/canvas.md @@ -31,7 +31,7 @@ const annotation = { scaleID: 'y', value: 50, label: { - enabled: true, + display: true, content: Utils.getHouse(), backgroundColor: 'white', borderWidth: 3, diff --git a/docs/samples/line/datasetBars.md b/docs/samples/line/datasetBars.md index 5a9401fbb..01017f15d 100644 --- a/docs/samples/line/datasetBars.md +++ b/docs/samples/line/datasetBars.md @@ -24,7 +24,7 @@ const annotation1 = { borderColor: 'green', borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'green', borderRadius: 0, color: 'white', @@ -45,7 +45,7 @@ const annotation2 = { borderColor: 'green', borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'green', borderRadius: 0, color: 'white', @@ -66,7 +66,7 @@ const annotation3 = { borderColor: 'green', borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'green', borderRadius: 0, color: 'white', @@ -87,7 +87,7 @@ const annotation4 = { borderColor: 'green', borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'green', borderRadius: 0, color: 'white', diff --git a/docs/samples/line/image.md b/docs/samples/line/image.md index 787f8e3cd..11381c81c 100644 --- a/docs/samples/line/image.md +++ b/docs/samples/line/image.md @@ -31,7 +31,7 @@ const annotation = { scaleID: 'y', value: 50, label: { - enabled: true, + display: true, content: Utils.getImage(), backgroundColor: 'white', borderWidth: 3, diff --git a/docs/samples/line/labelVisibility.md b/docs/samples/line/labelVisibility.md index a2ed727fb..247192fc6 100644 --- a/docs/samples/line/labelVisibility.md +++ b/docs/samples/line/labelVisibility.md @@ -29,7 +29,7 @@ const annotation1 = { borderColor: 'lightGreen', borderWidth: 10, label: { - enabled: false, + display: false, backgroundColor: 'green', drawTime: 'afterDatasetsDraw', content: (ctx) => ['Average of dataset', 'is: ' + average(ctx).toFixed(3)] @@ -39,11 +39,11 @@ const annotation1 = { // For simple property changes, you can directly modify the annotation // element's properties then call chart.draw(). This is faster. enter({chart, element}, event) { - element.options.label.enabled = true; + element.options.label.display = true; chart.draw(); }, leave({chart, element}, event) { - element.options.label.enabled = false; + element.options.label.display = false; chart.draw(); } }; @@ -55,7 +55,7 @@ const annotation2 = { borderColor: 'lightBlue', borderWidth: 10, label: { - enabled: (ctx) => ctx.hovered, + display: (ctx) => ctx.hovered, backgroundColor: 'blue', drawTime: 'afterDatasetsDraw', content: (ctx) => ['Min of dataset', 'is: ' + min(ctx).toFixed(3)], @@ -85,7 +85,7 @@ const config = { options: { plugins: { tooltip: { - enabled: false, + display: false, }, annotation: { drawTime: 'beforeDatasetsDraw', diff --git a/docs/samples/line/limited.md b/docs/samples/line/limited.md index ae1f176a7..cad8c0df9 100644 --- a/docs/samples/line/limited.md +++ b/docs/samples/line/limited.md @@ -26,7 +26,7 @@ const annotation1 = { borderColor: 'green', borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'lightGreen', borderRadius: 0, color: 'green', @@ -34,11 +34,11 @@ const annotation1 = { }, arrowHeads: { start: { - enabled: true, + display: true, borderColor: 'green' }, end: { - enabled: true, + display: true, borderColor: 'green' } }, diff --git a/docs/samples/line/lowerUpper.md b/docs/samples/line/lowerUpper.md index e78b8f4cb..26389c785 100644 --- a/docs/samples/line/lowerUpper.md +++ b/docs/samples/line/lowerUpper.md @@ -33,7 +33,7 @@ const annotation1 = { borderColor: 'black', borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'black', borderColor: 'black', borderRadius: 10, @@ -52,7 +52,7 @@ const annotation2 = { borderWidth: 3, borderColor: 'black', label: { - enabled: true, + display: true, backgroundColor: 'black', borderColor: 'black', borderRadius: 10, diff --git a/docs/samples/line/standardDeviation.md b/docs/samples/line/standardDeviation.md index d24c6fbf0..cac766f16 100644 --- a/docs/samples/line/standardDeviation.md +++ b/docs/samples/line/standardDeviation.md @@ -31,7 +31,7 @@ const annotation1 = { borderDashOffset: 0, borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'rgb(100, 149, 237)', content: (ctx) => 'Average: ' + average(ctx).toFixed(2) }, @@ -48,7 +48,7 @@ const annotation2 = { borderDashOffset: 0, borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'rgba(102, 102, 102, 0.5)', color: 'black', content: (ctx) => (average(ctx) + standardDeviation(ctx)).toFixed(2), @@ -69,7 +69,7 @@ const annotation3 = { borderDashOffset: 0, borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'rgba(102, 102, 102, 0.5)', color: 'black', content: (ctx) => (average(ctx) - standardDeviation(ctx)).toFixed(2), diff --git a/docs/samples/line/visibility.md b/docs/samples/line/visibility.md index 81c54b4ad..4d1c0a15d 100644 --- a/docs/samples/line/visibility.md +++ b/docs/samples/line/visibility.md @@ -33,7 +33,7 @@ const annotation = { borderWidth: 1, display: (ctx) => ctx.chart.isDatasetVisible(1), label: { - enabled: true, + display: true, content: 'Now', position: 'start' }, diff --git a/docs/samples/point/combined.md b/docs/samples/point/combined.md index 9c786643c..7f95b91a7 100644 --- a/docs/samples/point/combined.md +++ b/docs/samples/point/combined.md @@ -27,7 +27,7 @@ const annotation1 = { borderDash: [6, 6], borderWidth: 3, label: { - enabled: true, + display: true, backgroundColor: 'lightGreen', borderRadius: 0, color: 'green', @@ -35,7 +35,7 @@ const annotation1 = { }, arrowHeads: { end: { - enabled: true, + display: true, fill: true, borderColor: 'green' } diff --git a/src/annotation.js b/src/annotation.js index 08d585f38..bb7e1ff70 100644 --- a/src/annotation.js +++ b/src/annotation.js @@ -158,7 +158,7 @@ function draw(chart, caller, clip) { return; } const label = el.options.label; - if (label && label.enabled && label.content && (label.drawTime || el.options.drawTime) === caller) { + if (label && label.display && label.content && (label.drawTime || el.options.drawTime) === caller) { el.drawLabel(ctx, chartArea); } }); diff --git a/src/types/box.js b/src/types/box.js index a8649f570..fdadd4607 100644 --- a/src/types/box.js +++ b/src/types/box.js @@ -67,8 +67,8 @@ BoxAnnotation.defaults = { borderWidth: undefined, color: 'black', content: null, + display: false, drawTime: undefined, - enabled: false, font: { family: undefined, lineHeight: undefined, diff --git a/src/types/label.js b/src/types/label.js index ca01766c8..a452e81ea 100644 --- a/src/types/label.js +++ b/src/types/label.js @@ -42,7 +42,7 @@ export default class LabelAnnotation extends Element { labelWidth: labelSize.width, labelHeight: labelSize.height }; - properties.calloutPosition = options.callout.enabled && resolveCalloutPosition(properties, options.callout, options.rotation); + properties.calloutPosition = options.callout.display && resolveCalloutPosition(properties, options.callout, options.rotation); return properties; } } @@ -67,7 +67,7 @@ LabelAnnotation.defaults = { borderDashOffset: 0, borderJoinStyle: 'miter', borderWidth: 1, - enabled: false, + display: false, margin: 5, position: 'auto', side: 5, diff --git a/src/types/line.js b/src/types/line.js index 9759cbc08..c3f7647e8 100644 --- a/src/types/line.js +++ b/src/types/line.js @@ -75,7 +75,7 @@ export default class LineAnnotation extends Element { */ labelIsVisible(useFinalPosition, chartArea) { const labelOpts = this.options.label; - if (!labelOpts || !labelOpts.enabled) { + if (!labelOpts || !labelOpts.display) { return false; } return !chartArea || isLineInArea(this.getProps(['x', 'y', 'x2', 'y2'], useFinalPosition), chartArea); @@ -212,7 +212,7 @@ const arrowHeadsDefaults = { borderDashOffset: undefined, borderShadowColor: undefined, borderWidth: undefined, - enabled: undefined, + display: undefined, fill: undefined, length: undefined, shadowBlur: undefined, @@ -224,7 +224,7 @@ const arrowHeadsDefaults = { LineAnnotation.defaults = { adjustScaleRange: true, arrowHeads: { - enabled: false, + display: false, end: Object.assign({}, arrowHeadsDefaults), fill: false, length: 12, @@ -251,8 +251,8 @@ LineAnnotation.defaults = { color: '#fff', content: null, cornerRadius: undefined, // TODO: v2 remove support for cornerRadius + display: false, drawTime: undefined, - enabled: false, font: { family: undefined, lineHeight: undefined, @@ -434,7 +434,7 @@ function getArrowHeads(line) { } function getLineAdjust(line, arrowOpts) { - if (!arrowOpts || !arrowOpts.enabled) { + if (!arrowOpts || !arrowOpts.display) { return 0; } const {length, width} = arrowOpts; @@ -445,7 +445,7 @@ function getLineAdjust(line, arrowOpts) { } function drawArrowHead(ctx, offset, adjust, arrowOpts) { - if (!arrowOpts || !arrowOpts.enabled) { + if (!arrowOpts || !arrowOpts.display) { return; } const {length, width, fill, backgroundColor, borderColor} = arrowOpts; diff --git a/test/fixtures/box/label-dynamic.js b/test/fixtures/box/label-dynamic.js index 0d21a3270..dc64702f3 100644 --- a/test/fixtures/box/label-dynamic.js +++ b/test/fixtures/box/label-dynamic.js @@ -27,11 +27,11 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 5, label: { - enabled: false, + display: false, content: 'This is dynamic!', }, enter({chart, element}) { - element.options.label.enabled = true; + element.options.label.display = true; chart.draw(); } }, diff --git a/test/fixtures/box/label.js b/test/fixtures/box/label.js index 612d2d1a2..662a0f3f2 100644 --- a/test/fixtures/box/label.js +++ b/test/fixtures/box/label.js @@ -27,7 +27,7 @@ module.exports = { borderDash: [6, 6], borderWidth: 5, label: { - enabled: true, + display: true, content: 'This is a label', } }, @@ -41,7 +41,7 @@ module.exports = { borderColor: 'black', borderWidth: 15, label: { - enabled: true, + display: true, borderColor: 'green', content: 'This label tests clipping', position: 'start' @@ -58,7 +58,7 @@ module.exports = { borderDash: [6, 6], borderWidth: 5, label: { - enabled: true, + display: true, content: 'This is a label with different length', position: 'end' } @@ -74,7 +74,7 @@ module.exports = { borderDash: [6, 6], borderWidth: 5, label: { - enabled: true, + display: true, content: 'This is the label', color: 'red', position: { diff --git a/test/fixtures/box/labelCanvas.js b/test/fixtures/box/labelCanvas.js index a4eb8de98..84d61749c 100644 --- a/test/fixtures/box/labelCanvas.js +++ b/test/fixtures/box/labelCanvas.js @@ -29,7 +29,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 2, label: { - enabled: true, + display: true, position: 'start', content: window.createCanvas, width: '25%', @@ -46,7 +46,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 2, label: { - enabled: true, + display: true, position: 'end', content: window.createCanvas, width: '25%', @@ -63,7 +63,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 2, label: { - enabled: true, + display: true, position: { x: 'start', y: 'center' @@ -83,7 +83,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 2, label: { - enabled: true, + display: true, position: { x: 'center', y: 'end' diff --git a/test/fixtures/box/labelDecoration.js b/test/fixtures/box/labelDecoration.js index 87eabd697..6603baffa 100644 --- a/test/fixtures/box/labelDecoration.js +++ b/test/fixtures/box/labelDecoration.js @@ -28,7 +28,7 @@ module.exports = { borderColor: 'black', borderWidth: 1, label: { - enabled: true, + display: true, content: ['text stroke width 5', 'text stroke color red'], textStrokeWidth: 5, textStrokeColor: 'red', @@ -47,7 +47,7 @@ module.exports = { borderColor: 'black', borderWidth: 1, label: { - enabled: true, + display: true, textStrokeWidth: 3, color: 'white', content: 'text stroke width 3', @@ -66,7 +66,7 @@ module.exports = { borderColor: 'black', borderWidth: 1, label: { - enabled: true, + display: true, color: '#40E0D0', content: ['text stroke width 10', 'text stroke color turq'], textStrokeWidth: 10, diff --git a/test/fixtures/box/labelMultiline.js b/test/fixtures/box/labelMultiline.js index ef112c088..c7f6fa967 100644 --- a/test/fixtures/box/labelMultiline.js +++ b/test/fixtures/box/labelMultiline.js @@ -25,7 +25,7 @@ module.exports = { borderColor: 'red', borderWidth: 5, label: { - enabled: true, + display: true, content: ['This is a label', 'but this is multiline'], } }, @@ -39,7 +39,7 @@ module.exports = { borderColor: 'red', borderWidth: 5, label: { - enabled: true, + display: true, content: ['This is a label', 'but this is multiline'], position: 'start' } @@ -54,7 +54,7 @@ module.exports = { borderColor: 'red', borderWidth: 5, label: { - enabled: true, + display: true, content: ['This is a label', 'but this is multiline'], position: 'end' } @@ -69,7 +69,7 @@ module.exports = { borderColor: 'red', borderWidth: 5, label: { - enabled: true, + display: true, content: (ctx) => ['This is a label', 'type:' + ctx.type], color: 'red', position: { diff --git a/test/fixtures/box/labelPadding.js b/test/fixtures/box/labelPadding.js index 393f1280a..075dea589 100644 --- a/test/fixtures/box/labelPadding.js +++ b/test/fixtures/box/labelPadding.js @@ -25,7 +25,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 5, label: { - enabled: true, + display: true, content: 'box1: This is a label', position: 'start', padding: 15 @@ -41,7 +41,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 5, label: { - enabled: true, + display: true, content: 'box2: This is a label', position: 'start', padding: {x: 20} @@ -57,7 +57,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 5, label: { - enabled: true, + display: true, content: 'box3: This is a label with different length', position: 'end', padding: {y: 10} @@ -73,7 +73,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', borderWidth: 5, label: { - enabled: true, + display: true, content: 'box4: This is the label', color: 'red', position: { diff --git a/test/fixtures/box/labelPosition.js b/test/fixtures/box/labelPosition.js index a6284394e..c0cba068e 100644 --- a/test/fixtures/box/labelPosition.js +++ b/test/fixtures/box/labelPosition.js @@ -29,7 +29,7 @@ module.exports = { borderColor: 'red', borderWidth: 2, label: { - enabled: true, + display: true, content: 'p: 0%,100%', position: { x: '0%', @@ -47,7 +47,7 @@ module.exports = { borderColor: 'red', borderWidth: 2, label: { - enabled: true, + display: true, content: 'p: 25%,75%', position: { x: '25%', @@ -65,7 +65,7 @@ module.exports = { borderColor: 'red', borderWidth: 2, label: { - enabled: true, + display: true, content: 'p: 50%,50%', position: { x: '50%', @@ -83,7 +83,7 @@ module.exports = { borderColor: 'red', borderWidth: 2, label: { - enabled: true, + display: true, content: 'p: 100%,0%', position: { x: '100%', diff --git a/test/fixtures/box/labelRotation.js b/test/fixtures/box/labelRotation.js index aedfb4fac..f3c9a21aa 100644 --- a/test/fixtures/box/labelRotation.js +++ b/test/fixtures/box/labelRotation.js @@ -26,7 +26,7 @@ module.exports = { backgroundColor: 'rgba(255, 99, 132, 0.5)', borderColor: 'rgba(255, 99, 132)', label: { - enabled: true, + display: true, rotation: 45, content: 'rotation: 45', } @@ -40,7 +40,7 @@ module.exports = { backgroundColor: 'rgba(255, 99, 132, 0.5)', borderColor: 'rgba(255, 99, 132)', label: { - enabled: true, + display: true, rotation: 90, content: 'rotation: 90', } @@ -54,7 +54,7 @@ module.exports = { backgroundColor: 'rgba(255, 99, 132, 0.5)', borderColor: 'rgba(255, 99, 132)', label: { - enabled: true, + display: true, rotation: 135, content: 'rotation: 135', } @@ -68,7 +68,7 @@ module.exports = { backgroundColor: 'rgba(255, 99, 132, 0.5)', borderColor: 'rgba(255, 99, 132)', label: { - enabled: true, + display: true, rotation: 180, content: 'rotation: 180', } @@ -82,7 +82,7 @@ module.exports = { backgroundColor: 'rgba(255, 99, 132, 0.5)', borderColor: 'rgba(255, 99, 132)', label: { - enabled: true, + display: true, rotation: 225, content: 'rotation: 225', } @@ -96,7 +96,7 @@ module.exports = { backgroundColor: 'rgba(255, 99, 132, 0.5)', borderColor: 'rgba(255, 99, 132)', label: { - enabled: true, + display: true, rotation: 270, content: 'rotation: 270', } @@ -110,7 +110,7 @@ module.exports = { backgroundColor: 'rgba(255, 99, 132, 0.5)', borderColor: 'rgba(255, 99, 132)', label: { - enabled: true, + display: true, rotation: 315, content: 'rotation: 315', } @@ -125,7 +125,7 @@ module.exports = { borderColor: 'rgba(255, 99, 132)', rotation: 45, label: { - enabled: true, + display: true, rotation: 0, content: ['box rot: 45', 'label rot: 0'] } diff --git a/test/fixtures/box/rotation.js b/test/fixtures/box/rotation.js index 024dfc5df..e5e271c33 100644 --- a/test/fixtures/box/rotation.js +++ b/test/fixtures/box/rotation.js @@ -29,7 +29,7 @@ module.exports = { borderWidth: 1, rotation: 45, label: { - enabled: true, + display: true, content: 'rot: 45' } }, @@ -44,7 +44,7 @@ module.exports = { borderWidth: 1, rotation: 90, label: { - enabled: true, + display: true, content: 'rot: 90' } }, @@ -59,7 +59,7 @@ module.exports = { borderWidth: 1, rotation: 135, label: { - enabled: true, + display: true, content: 'rot: 135' } }, @@ -74,7 +74,7 @@ module.exports = { borderWidth: 1, rotation: 180, label: { - enabled: true, + display: true, content: 'rot: 180' } }, @@ -89,7 +89,7 @@ module.exports = { borderWidth: 1, rotation: 225, label: { - enabled: true, + display: true, content: 'rot: 225' } }, @@ -104,7 +104,7 @@ module.exports = { borderWidth: 1, rotation: 270, label: { - enabled: true, + display: true, content: 'rot: 270' } }, @@ -119,7 +119,7 @@ module.exports = { borderWidth: 1, rotation: 315, label: { - enabled: true, + display: true, content: 'rot: 315' } } diff --git a/test/fixtures/box/shadow.js b/test/fixtures/box/shadow.js index 65489659a..26b321cb4 100644 --- a/test/fixtures/box/shadow.js +++ b/test/fixtures/box/shadow.js @@ -28,7 +28,7 @@ module.exports = { backgroundShadowColor: 'black', shadowBlur: 3, label: { - enabled: true, + display: true, content: 'no offset' } }, @@ -45,7 +45,7 @@ module.exports = { shadowBlur: 3, shadowOffsetX: 10, label: { - enabled: true, + display: true, content: 'offset x:10' } }, @@ -62,7 +62,7 @@ module.exports = { shadowBlur: 3, shadowOffsetY: 10, label: { - enabled: true, + display: true, content: 'offset y:10' } }, @@ -80,7 +80,7 @@ module.exports = { shadowOffsetX: 10, shadowOffsetY: 10, label: { - enabled: true, + display: true, content: ['offset', 'x:10', 'y:10'] } } diff --git a/test/fixtures/box/shadowColors.js b/test/fixtures/box/shadowColors.js index 3428e5dc1..5e64979cd 100644 --- a/test/fixtures/box/shadowColors.js +++ b/test/fixtures/box/shadowColors.js @@ -29,7 +29,7 @@ module.exports = { borderShadowColor: 'green', shadowBlur: 3, label: { - enabled: true, + display: true, content: 'no offset' } }, @@ -47,7 +47,7 @@ module.exports = { shadowBlur: 3, shadowOffsetX: 10, label: { - enabled: true, + display: true, content: 'offset x:10' } }, @@ -65,7 +65,7 @@ module.exports = { shadowBlur: 3, shadowOffsetY: 10, label: { - enabled: true, + display: true, content: 'offset y:10' } }, @@ -84,7 +84,7 @@ module.exports = { shadowOffsetX: 10, shadowOffsetY: 10, label: { - enabled: true, + display: true, content: ['offset', 'x:10', 'y:10'] } } diff --git a/test/fixtures/label/calloutBasic.js b/test/fixtures/label/calloutBasic.js index 528114e13..0ce0cecf0 100644 --- a/test/fixtures/label/calloutBasic.js +++ b/test/fixtures/label/calloutBasic.js @@ -27,7 +27,7 @@ module.exports = { xAdjust: 150, yAdjust: -70, callout: { - enabled: true, + display: true, } }, overlap: { @@ -41,7 +41,7 @@ module.exports = { xAdjust: 1, yAdjust: 1, callout: { - enabled: true, + display: true, } }, crossLabel: { @@ -55,7 +55,7 @@ module.exports = { xAdjust: 100, yAdjust: -50, callout: { - enabled: true, + display: true, position: 'right', side: 10 } @@ -71,7 +71,7 @@ module.exports = { xAdjust: 150, yAdjust: -100, callout: { - enabled: true, + display: true, side: 10, borderColor: 'red', borderWidth: 2, diff --git a/test/fixtures/label/calloutCanvas.js b/test/fixtures/label/calloutCanvas.js index 44ddc99fb..64829a36b 100644 --- a/test/fixtures/label/calloutCanvas.js +++ b/test/fixtures/label/calloutCanvas.js @@ -31,7 +31,7 @@ module.exports = { xAdjust: -150, yAdjust: -230, callout: { - enabled: true, + display: true, position: 'bottom' } } diff --git a/test/fixtures/label/calloutHorizontalPosition.js b/test/fixtures/label/calloutHorizontalPosition.js index c6f15e02e..0014f723d 100644 --- a/test/fixtures/label/calloutHorizontalPosition.js +++ b/test/fixtures/label/calloutHorizontalPosition.js @@ -30,7 +30,7 @@ module.exports = { xAdjust: -50, yAdjust: -50, callout: { - enabled: true, + display: true, position: 'right' } }, @@ -54,7 +54,7 @@ module.exports = { xAdjust: 50, yAdjust: 50, callout: { - enabled: true, + display: true, position: 'left', }, }, @@ -77,7 +77,7 @@ module.exports = { }, xAdjust: -50, callout: { - enabled: true, + display: true, position: 'auto', }, }, @@ -100,7 +100,7 @@ module.exports = { }, xAdjust: 50, callout: { - enabled: true, + display: true, position: 'auto', }, }, @@ -123,7 +123,7 @@ module.exports = { }, xAdjust: 50, callout: { - enabled: true, + display: true, position: 'left', borderWidth: 0 }, @@ -147,7 +147,7 @@ module.exports = { }, xAdjust: 50, callout: { - enabled: true, + display: true, position: 'wrong' }, }, diff --git a/test/fixtures/label/calloutRotation.js b/test/fixtures/label/calloutRotation.js index 23d835626..db2b6de1d 100644 --- a/test/fixtures/label/calloutRotation.js +++ b/test/fixtures/label/calloutRotation.js @@ -28,7 +28,7 @@ module.exports = { yAdjust: -70, rotation: 101, callout: { - enabled: true, + display: true, } }, overlap: { @@ -43,7 +43,7 @@ module.exports = { yAdjust: 1, rotation: 199, callout: { - enabled: true, + display: true, } }, crossLabel: { @@ -58,7 +58,7 @@ module.exports = { yAdjust: -50, rotation: 32, callout: { - enabled: true, + display: true, position: 'right', side: 10 } @@ -75,7 +75,7 @@ module.exports = { yAdjust: -100, rotation: 310, callout: { - enabled: true, + display: true, side: 10, borderColor: 'red', borderWidth: 2, diff --git a/test/fixtures/label/calloutScriptableOptions.js b/test/fixtures/label/calloutScriptableOptions.js index 66e23d200..a10952e5d 100644 --- a/test/fixtures/label/calloutScriptableOptions.js +++ b/test/fixtures/label/calloutScriptableOptions.js @@ -31,7 +31,7 @@ module.exports = { xAdjust: 150, yAdjust: -100, callout: { - enabled: true, + display: true, margin: () => 10, side: () => 10, start: () => '80%', diff --git a/test/fixtures/label/calloutSizing.js b/test/fixtures/label/calloutSizing.js index 684d5086c..b86bb38b4 100644 --- a/test/fixtures/label/calloutSizing.js +++ b/test/fixtures/label/calloutSizing.js @@ -31,7 +31,7 @@ module.exports = { xAdjust: -50, yAdjust: -50, callout: { - enabled: true, + display: true, margin: 10, position: 'right', } @@ -57,7 +57,7 @@ module.exports = { xAdjust: 50, yAdjust: 50, callout: { - enabled: true, + display: true, margin: 0, position: 'left', } @@ -83,7 +83,7 @@ module.exports = { xAdjust: -50, yAdjust: -50, callout: { - enabled: true, + display: true, start: '10%', side: 20, position: 'bottom', @@ -110,7 +110,7 @@ module.exports = { xAdjust: 50, yAdjust: 50, callout: { - enabled: true, + display: true, start: 80, side: 20, position: 'top', @@ -137,7 +137,7 @@ module.exports = { xAdjust: -20, yAdjust: -40, callout: { - enabled: true, + display: true, start: '10%', position: 'bottom' } @@ -163,7 +163,7 @@ module.exports = { xAdjust: 20, yAdjust: 50, callout: { - enabled: true, + display: true, start: 40, position: 'top' } @@ -186,7 +186,7 @@ module.exports = { xAdjust: -70, yAdjust: 70, callout: { - enabled: true, + display: true, start: 'invalid' } }, diff --git a/test/fixtures/label/calloutVerticalPosition.js b/test/fixtures/label/calloutVerticalPosition.js index fc53c52a7..970bf57c5 100644 --- a/test/fixtures/label/calloutVerticalPosition.js +++ b/test/fixtures/label/calloutVerticalPosition.js @@ -30,7 +30,7 @@ module.exports = { xAdjust: -50, yAdjust: -50, callout: { - enabled: true, + display: true, position: 'bottom', } }, @@ -55,7 +55,7 @@ module.exports = { xAdjust: 50, yAdjust: 50, callout: { - enabled: true, + display: true, position: 'top', } }, @@ -76,7 +76,7 @@ module.exports = { position: 'center', yAdjust: 50, callout: { - enabled: true, + display: true, position: 'auto', } }, @@ -97,7 +97,7 @@ module.exports = { position: 'center', yAdjust: -50, callout: { - enabled: true, + display: true, position: 'auto', } }, @@ -118,7 +118,7 @@ module.exports = { position: 'center', yAdjust: -50, callout: { - enabled: true, + display: true, position: 'auto', borderWidth: 0 } @@ -140,7 +140,7 @@ module.exports = { position: 'center', yAdjust: 50, callout: { - enabled: true, + display: true, position: 'wrong' } }, diff --git a/test/fixtures/label/contentMultiline.js b/test/fixtures/label/contentMultiline.js index 855a6473d..005145e2b 100644 --- a/test/fixtures/label/contentMultiline.js +++ b/test/fixtures/label/contentMultiline.js @@ -52,7 +52,7 @@ module.exports = { xValue: 'March', yValue: 5, callout: { - enabled: true + display: true } }, emptyContent: { @@ -67,7 +67,7 @@ module.exports = { yValue: 5, content: '', callout: { - enabled: true + display: true } } } diff --git a/test/fixtures/label/noCalloutIfAdjusted.js b/test/fixtures/label/noCalloutIfAdjusted.js index bfdc33c38..31721f9da 100644 --- a/test/fixtures/label/noCalloutIfAdjusted.js +++ b/test/fixtures/label/noCalloutIfAdjusted.js @@ -27,7 +27,7 @@ module.exports = { xAdjust: 50, yAdjust: -100 }, - enabled: { + display: { type: 'label', xValue: 'May', yValue: 12.5, @@ -38,7 +38,7 @@ module.exports = { xAdjust: 50, yAdjust: -100, callout: { - enabled: true + display: true } } } diff --git a/test/fixtures/line/arrowHeads.js b/test/fixtures/line/arrowHeads.js index 3788e13f8..2e9402dde 100644 --- a/test/fixtures/line/arrowHeads.js +++ b/test/fixtures/line/arrowHeads.js @@ -27,16 +27,16 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'start: true, end: true', - enabled: true + display: true }, arrowHeads: { start: { - enabled: true, + display: true, length: 30, width: 15 }, end: { - enabled: true, + display: true, length: 30, width: 15 } @@ -53,11 +53,11 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'start: true', - enabled: true + display: true }, arrowHeads: { start: { - enabled: true, + display: true, length: 30, width: 15 }, @@ -74,11 +74,11 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'end: true', - enabled: true + display: true }, arrowHeads: { end: { - enabled: true, + display: true, length: 30, width: 15 }, @@ -95,11 +95,11 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'start: dash', - enabled: true + display: true }, arrowHeads: { start: { - enabled: true, + display: true, borderDash: [3, 6], borderDashOffset: 0, length: 30, @@ -119,11 +119,11 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'end: width 30', - enabled: true + display: true }, arrowHeads: { end: { - enabled: true, + display: true, length: 40, width: 30 }, @@ -140,16 +140,16 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'borderWidth 0', - enabled: true + display: true }, arrowHeads: { start: { - enabled: true, + display: true, length: 15, width: 5 }, end: { - enabled: true, + display: true, length: 15, width: 5 } @@ -166,16 +166,16 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'horizontal', - enabled: true + display: true }, arrowHeads: { start: { - enabled: true, + display: true, length: 15, width: 5 }, end: { - enabled: true, + display: true, length: 15, width: 5 } @@ -192,16 +192,16 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'vertical', - enabled: true + display: true }, arrowHeads: { start: { - enabled: true, + display: true, length: 15, width: 5 }, end: { - enabled: true, + display: true, length: 15, width: 5 } diff --git a/test/fixtures/line/arrowHeadsDeleteAtRuntime.js b/test/fixtures/line/arrowHeadsDeleteAtRuntime.js index 3475e3b9b..10bf9f99f 100644 --- a/test/fixtures/line/arrowHeadsDeleteAtRuntime.js +++ b/test/fixtures/line/arrowHeadsDeleteAtRuntime.js @@ -26,7 +26,7 @@ module.exports = { borderColor: 'blue', borderWidth: 4, label: { - enabled: true, + display: true, backgroundColor: 'white', content: 'remove start' }, @@ -34,10 +34,10 @@ module.exports = { length: 30, width: 15, start: { - enabled: true, + display: true, }, end: { - enabled: true, + display: true, } }, click({chart, element}) { @@ -54,7 +54,7 @@ module.exports = { borderColor: 'purple', borderWidth: 4, label: { - enabled: true, + display: true, backgroundColor: 'white', content: 'remove end' }, @@ -62,10 +62,10 @@ module.exports = { length: 30, width: 15, start: { - enabled: true, + display: true, }, end: { - enabled: true, + display: true, } }, click({chart, element}) { @@ -82,7 +82,7 @@ module.exports = { borderColor: 'red', borderWidth: 4, label: { - enabled: true, + display: true, backgroundColor: 'white', content: 'remove start and end' }, @@ -90,10 +90,10 @@ module.exports = { length: 30, width: 15, start: { - enabled: true, + display: true, }, end: { - enabled: true, + display: true, } }, click({chart, element}) { diff --git a/test/fixtures/line/arrowHeadsFallback.js b/test/fixtures/line/arrowHeadsFallback.js index 853787b90..9fa0998cb 100644 --- a/test/fixtures/line/arrowHeadsFallback.js +++ b/test/fixtures/line/arrowHeadsFallback.js @@ -17,11 +17,11 @@ module.exports = { borderColor: 'blue', borderWidth: 4, label: { - enabled: true, - content: ['start and end are enabled', 'without options'] + display: true, + content: ['start and end are displayed', 'without options'] }, arrowHeads: { - enabled: true, + display: true, fill: true, borderColor: 'blue', length: 30, @@ -35,8 +35,8 @@ module.exports = { borderColor: 'purple', borderWidth: 4, label: { - enabled: true, - content: ['only start has options', 'and is enabled'] + display: true, + content: ['only start has options', 'and is displayed'] }, arrowHeads: { fill: true, @@ -44,7 +44,7 @@ module.exports = { length: 30, width: 15, start: { - enabled: true, + display: true, } } }, @@ -55,17 +55,17 @@ module.exports = { borderColor: 'red', borderWidth: 4, label: { - enabled: true, + display: true, content: ['only start has options', 'and is not filled'] }, arrowHeads: { - enabled: true, + display: true, fill: true, borderColor: 'red', length: 30, width: 15, start: { - enabled: true, + display: true, fill: false } } diff --git a/test/fixtures/line/arrowHeadsFallback.png b/test/fixtures/line/arrowHeadsFallback.png index 8dd003737bb4a8baec1d64cfa75ba70d98e4855f..425a6b6eb4e8db2938af3c22dca8fcf89c2b5338 100644 GIT binary patch literal 31180 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 H^38t$)dA7K literal 30507 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 Rz true, + display: () => true, fill: () => true, length: () => 30, width: () => 15 }, end: { - enabled: () => true, + display: () => true, fill: () => true, length: () => 30, width: () => 15 @@ -55,12 +55,12 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'start: true', - enabled: true + display: true }, arrowHeads: { start() { return { - enabled: true, + display: true, fill: true, backgroundColor: 'orange', length: 30, @@ -81,12 +81,12 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'end: true', - enabled: true + display: true }, arrowHeads: { end() { return { - enabled: true, + display: true, fill: true, backgroundColor: 'orange', borderColor: 'orange', diff --git a/test/fixtures/line/label-border.js b/test/fixtures/line/label-border.js index a80621b03..ce5c4817f 100644 --- a/test/fixtures/line/label-border.js +++ b/test/fixtures/line/label-border.js @@ -32,7 +32,7 @@ module.exports = { borderWidth: 3, borderDash: [6, 6], content: 'dashed 3px black border', - enabled: true + display: true }, }, } diff --git a/test/fixtures/line/label-dynamic-hide.js b/test/fixtures/line/label-dynamic-hide.js index 3e45a98fc..e59816636 100644 --- a/test/fixtures/line/label-dynamic-hide.js +++ b/test/fixtures/line/label-dynamic-hide.js @@ -33,14 +33,14 @@ module.exports = { borderWidth: 3, borderDash: [6, 6], content: 'dynamic label', - enabled: false + display: false }, enter({chart, element}) { - element.options.label.enabled = true; + element.options.label.display = true; chart.draw(); }, leave({chart, element}) { - element.options.label.enabled = false; + element.options.label.display = false; chart.draw(); } }, diff --git a/test/fixtures/line/label-dynamic-show.js b/test/fixtures/line/label-dynamic-show.js index 4f26c6742..e5723db73 100644 --- a/test/fixtures/line/label-dynamic-show.js +++ b/test/fixtures/line/label-dynamic-show.js @@ -33,10 +33,10 @@ module.exports = { borderWidth: 3, borderDash: [6, 6], content: 'dynamic label', - enabled: false + display: false }, enter({chart, element}) { - element.options.label.enabled = true; + element.options.label.display = true; chart.draw(); } }, diff --git a/test/fixtures/line/labelCanvas.js b/test/fixtures/line/labelCanvas.js index 23252b0ba..36b412f0f 100644 --- a/test/fixtures/line/labelCanvas.js +++ b/test/fixtures/line/labelCanvas.js @@ -34,7 +34,7 @@ module.exports = { content: window.createCanvas, width: '25%', height: '25%', - enabled: true + display: true }, }, } diff --git a/test/fixtures/line/labelDecoration.js b/test/fixtures/line/labelDecoration.js index c49061df3..19bb908b8 100644 --- a/test/fixtures/line/labelDecoration.js +++ b/test/fixtures/line/labelDecoration.js @@ -25,7 +25,7 @@ module.exports = { borderColor: 'black', borderWidth: 5, label: { - enabled: true, + display: true, backgroundColor: '#f5f5f5', borderColor: 'black', borderWidth: 1, @@ -45,7 +45,7 @@ module.exports = { borderColor: 'black', borderWidth: 5, label: { - enabled: true, + display: true, backgroundColor: '#f5f5f5', borderColor: 'black', borderWidth: 1, @@ -64,7 +64,7 @@ module.exports = { borderColor: 'black', borderWidth: 5, label: { - enabled: true, + display: true, backgroundColor: '#f5f5f5', borderColor: 'black', borderWidth: 1, diff --git a/test/fixtures/line/labelShadow.js b/test/fixtures/line/labelShadow.js index 1641e9afe..964820dae 100644 --- a/test/fixtures/line/labelShadow.js +++ b/test/fixtures/line/labelShadow.js @@ -27,7 +27,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'no offset', - enabled: true, + display: true, backgroundShadowColor: 'black', shadowBlur: 12 }, @@ -42,7 +42,7 @@ module.exports = { position: 'center', backgroundColor: 'red', content: 'offset x: 10', - enabled: true, + display: true, backgroundShadowColor: 'black', shadowBlur: 3, shadowOffsetX: 10 @@ -58,7 +58,7 @@ module.exports = { position: 'end', backgroundColor: 'black', content: 'offset y: 10', - enabled: true, + display: true, backgroundShadowColor: 'black', shadowBlur: 3, shadowOffsetY: 10 @@ -74,7 +74,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'offset x: 10, y:10', - enabled: true, + display: true, backgroundShadowColor: 'black', shadowBlur: 3, shadowOffsetX: 10, diff --git a/test/fixtures/line/labelShadowColors.js b/test/fixtures/line/labelShadowColors.js index 574ccf05f..ed06cf1fb 100644 --- a/test/fixtures/line/labelShadowColors.js +++ b/test/fixtures/line/labelShadowColors.js @@ -29,7 +29,7 @@ module.exports = { borderColor: 'rgb(101, 33, 171)', borderWidth: 2, content: 'no offset', - enabled: true, + display: true, backgroundShadowColor: 'black', borderShadowColor: 'orange', shadowBlur: 12 @@ -47,7 +47,7 @@ module.exports = { borderColor: 'rgb(101, 33, 171)', borderWidth: 2, content: 'offset x: 10', - enabled: true, + display: true, backgroundShadowColor: 'black', borderShadowColor: 'orange', shadowBlur: 3, @@ -66,7 +66,7 @@ module.exports = { borderColor: 'rgb(101, 33, 171)', borderWidth: 2, content: 'offset y: 10', - enabled: true, + display: true, backgroundShadowColor: 'black', borderShadowColor: 'orange', shadowBlur: 3, @@ -85,7 +85,7 @@ module.exports = { borderColor: 'rgb(101, 33, 171)', borderWidth: 2, content: 'offset x: 10, y:10', - enabled: true, + display: true, backgroundShadowColor: 'black', borderShadowColor: 'orange', shadowBlur: 3, diff --git a/test/fixtures/line/label_drawTime.js b/test/fixtures/line/label_drawTime.js index 19a630a31..ca57021bb 100644 --- a/test/fixtures/line/label_drawTime.js +++ b/test/fixtures/line/label_drawTime.js @@ -29,7 +29,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'afterDraw/undefined', - enabled: true + display: true }, }, hCenter: { @@ -43,7 +43,7 @@ module.exports = { position: 'center', backgroundColor: 'red', content: 'beforeDraw/afterDraw', - enabled: true + display: true }, }, right: { @@ -58,7 +58,7 @@ module.exports = { position: 'end', backgroundColor: 'black', content: 'afterDraw/beforeDraw', - enabled: true + display: true }, }, top: { @@ -71,7 +71,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'fallback/fallback', - enabled: true + display: true } }, bottomRight: { @@ -83,7 +83,7 @@ module.exports = { position: 'end', backgroundColor: 'green', content: 'fallback = beforeDraw', - enabled: true + display: true } } } diff --git a/test/fixtures/line/labelsScriptableOptions.js b/test/fixtures/line/labelsScriptableOptions.js index 5e6a31b7b..e7e671f60 100644 --- a/test/fixtures/line/labelsScriptableOptions.js +++ b/test/fixtures/line/labelsScriptableOptions.js @@ -50,7 +50,7 @@ module.exports = { content() { return 'auto rotation'; }, - enabled() { + display() { return true; }, }, @@ -91,7 +91,7 @@ module.exports = { content() { return 'auto rotation'; }, - enabled() { + display() { return true; }, }, @@ -132,7 +132,7 @@ module.exports = { content() { return 'auto rotation'; }, - enabled() { + display() { return true; }, }, @@ -173,7 +173,7 @@ module.exports = { content() { return 'auto rotation'; }, - enabled() { + display() { return true; }, }, @@ -214,7 +214,7 @@ module.exports = { content() { return 'rotated 90'; }, - enabled() { + display() { return true; }, }, @@ -255,7 +255,7 @@ module.exports = { content() { return 'rotated -80'; }, - enabled() { + display() { return true; }, }, diff --git a/test/fixtures/line/out-of-range-value0.js b/test/fixtures/line/out-of-range-value0.js index 833a19bc1..4bdb9d307 100644 --- a/test/fixtures/line/out-of-range-value0.js +++ b/test/fixtures/line/out-of-range-value0.js @@ -21,7 +21,7 @@ module.exports = { label: { backgroundColor: 'red', content: 'should be drawn', - enabled: true + display: true } } } diff --git a/test/fixtures/line/out-of-range.js b/test/fixtures/line/out-of-range.js index 89dcc80dc..660b7de48 100644 --- a/test/fixtures/line/out-of-range.js +++ b/test/fixtures/line/out-of-range.js @@ -26,7 +26,7 @@ module.exports = { label: { backgroundColor: 'red', content: 'shold not be drawn', - enabled: true + display: true } } } diff --git a/test/fixtures/line/padding.js b/test/fixtures/line/padding.js index 8d50e07e4..b4b12da47 100644 --- a/test/fixtures/line/padding.js +++ b/test/fixtures/line/padding.js @@ -29,7 +29,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'padding: 10', - enabled: true, + display: true, padding: 10 }, }, @@ -45,7 +45,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'padding: {x: 10, y: 15}', - enabled: true, + display: true, padding: {x: 10, y: 15} }, }, @@ -61,7 +61,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'padding: {left: 10, top: 15, right: 3, bottom: 2}', - enabled: true, + display: true, padding() { return {left: 10, top: 15, right: 3, bottom: 2}; } diff --git a/test/fixtures/line/paddingXY.js b/test/fixtures/line/paddingXY.js index 46e7b2b5a..88ba2a6dc 100644 --- a/test/fixtures/line/paddingXY.js +++ b/test/fixtures/line/paddingXY.js @@ -29,7 +29,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'xPadding: 20', - enabled: true, + display: true, xPadding: 20 }, }, @@ -45,7 +45,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'xPadding: 20, yPadding: 15', - enabled: true, + display: true, xPadding: 20, yPadding: 15 }, @@ -62,7 +62,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'yPadding: 15', - enabled: true, + display: true, yPadding() { return 15; }, diff --git a/test/fixtures/line/position.js b/test/fixtures/line/position.js index c64f1bc28..e39ed98f0 100644 --- a/test/fixtures/line/position.js +++ b/test/fixtures/line/position.js @@ -27,7 +27,7 @@ module.exports = { position: 'start', backgroundColor: 'black', content: 'start', - enabled: true + display: true }, }, hCenter: { @@ -40,7 +40,7 @@ module.exports = { position: 'center', backgroundColor: 'black', content: 'center', - enabled: true + display: true }, }, right: { @@ -53,7 +53,7 @@ module.exports = { position: 'end', backgroundColor: 'black', content: 'end', - enabled: true + display: true }, }, top: { @@ -66,7 +66,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'start', - enabled: true + display: true } }, vCenter: { @@ -79,7 +79,7 @@ module.exports = { position: 'center', backgroundColor: 'red', content: 'center', - enabled: true + display: true } }, bottom: { @@ -92,7 +92,7 @@ module.exports = { position: 'end', backgroundColor: 'red', content: 'end', - enabled: true + display: true } } } diff --git a/test/fixtures/line/positionPercent.js b/test/fixtures/line/positionPercent.js index 91220893e..2f64e8731 100644 --- a/test/fixtures/line/positionPercent.js +++ b/test/fixtures/line/positionPercent.js @@ -27,7 +27,7 @@ module.exports = { position: '0%', backgroundColor: 'black', content: '0%', - enabled: true + display: true } }, l1: { @@ -40,7 +40,7 @@ module.exports = { position: '10%', backgroundColor: 'black', content: '10%', - enabled: true + display: true } }, l2: { @@ -53,7 +53,7 @@ module.exports = { position: '20%', backgroundColor: 'black', content: '20%', - enabled: true + display: true } }, l3: { @@ -66,7 +66,7 @@ module.exports = { position: '30%', backgroundColor: 'black', content: '30%', - enabled: true + display: true } }, l4: { @@ -79,7 +79,7 @@ module.exports = { position: '40%', backgroundColor: 'black', content: '40%', - enabled: true + display: true } }, l5: { @@ -92,7 +92,7 @@ module.exports = { position: '50%', backgroundColor: 'black', content: '50%', - enabled: true + display: true } }, l6: { @@ -105,7 +105,7 @@ module.exports = { position: '60%', backgroundColor: 'black', content: '60%', - enabled: true + display: true } }, l7: { @@ -118,7 +118,7 @@ module.exports = { position: '70%', backgroundColor: 'black', content: '70%', - enabled: true + display: true } }, l8: { @@ -131,7 +131,7 @@ module.exports = { position: '80%', backgroundColor: 'black', content: '80%', - enabled: true + display: true } }, l9: { @@ -144,7 +144,7 @@ module.exports = { position: '90%', backgroundColor: 'black', content: '90%', - enabled: true + display: true } }, l10: { @@ -157,7 +157,7 @@ module.exports = { position: '100%', backgroundColor: 'black', content: '100%', - enabled: true + display: true } }, } diff --git a/test/fixtures/line/rotation.js b/test/fixtures/line/rotation.js index 31168f584..9ba6cf150 100644 --- a/test/fixtures/line/rotation.js +++ b/test/fixtures/line/rotation.js @@ -29,7 +29,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, auto2: { @@ -44,7 +44,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, auto3: { @@ -59,7 +59,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, auto4: { @@ -74,7 +74,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, man1: { @@ -89,7 +89,7 @@ module.exports = { rotation: 90, backgroundColor: 'red', content: 'rotated 90', - enabled: true + display: true }, }, man2: { @@ -104,7 +104,7 @@ module.exports = { rotation: -80, backgroundColor: 'red', content: 'rotated -80', - enabled: true + display: true }, } } diff --git a/test/fixtures/line/scriptableOptions.js b/test/fixtures/line/scriptableOptions.js index 5bbba1c79..48405a8d8 100644 --- a/test/fixtures/line/scriptableOptions.js +++ b/test/fixtures/line/scriptableOptions.js @@ -42,7 +42,7 @@ module.exports = { position: 'start', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, auto2: { @@ -75,7 +75,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, auto3: { @@ -108,7 +108,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, auto4: { @@ -141,7 +141,7 @@ module.exports = { rotation: 'auto', backgroundColor: 'red', content: 'auto rotation', - enabled: true + display: true }, }, man1: { @@ -174,7 +174,7 @@ module.exports = { rotation: 90, backgroundColor: 'red', content: 'rotated 90', - enabled: true + display: true }, }, man2: { @@ -207,7 +207,7 @@ module.exports = { rotation: -80, backgroundColor: 'red', content: 'rotated -80', - enabled: true + display: true }, } } diff --git a/test/fixtures/line/shadowArrowHeads.js b/test/fixtures/line/shadowArrowHeads.js index 4627b6ced..59d8dd01a 100644 --- a/test/fixtures/line/shadowArrowHeads.js +++ b/test/fixtures/line/shadowArrowHeads.js @@ -22,7 +22,7 @@ module.exports = { shadowBlur: 12, arrowHeads: { start: { - enabled: true, + display: true, borderColor: 'blue', borderShadowColor: 'black', shadowBlur: 12, @@ -30,7 +30,7 @@ module.exports = { width: 15 }, end: { - enabled: true, + display: true, borderColor: 'blue', borderShadowColor: 'black', shadowBlur: 12, @@ -52,7 +52,7 @@ module.exports = { shadowOffsetX: 10, arrowHeads: { start: { - enabled: true, + display: true, borderColor: 'purple', borderShadowColor: 'black', shadowBlur: 12, @@ -61,7 +61,7 @@ module.exports = { width: 15 }, end: { - enabled: true, + display: true, borderColor: 'purple', borderShadowColor: 'black', shadowBlur: 12, @@ -85,7 +85,7 @@ module.exports = { shadowOffsetY: 10, arrowHeads: { start: { - enabled: true, + display: true, borderColor: 'red', borderShadowColor: 'black', shadowBlur: 12, @@ -95,7 +95,7 @@ module.exports = { width: 15 }, end: { - enabled: true, + display: true, borderColor: 'red', borderShadowColor: 'black', shadowBlur: 12, diff --git a/test/fixtures/line/shadowArrowHeadsFill.js b/test/fixtures/line/shadowArrowHeadsFill.js index ee31967ae..6151d7621 100644 --- a/test/fixtures/line/shadowArrowHeadsFill.js +++ b/test/fixtures/line/shadowArrowHeadsFill.js @@ -22,7 +22,7 @@ module.exports = { shadowBlur: 12, arrowHeads: { start: { - enabled: true, + display: true, fill: true, borderColor: 'blue', backgroundShadowColor: 'black', @@ -31,7 +31,7 @@ module.exports = { width: 15 }, end: { - enabled: true, + display: true, fill: true, borderColor: 'blue', backgroundShadowColor: 'black', @@ -54,7 +54,7 @@ module.exports = { shadowOffsetX: 10, arrowHeads: { start: { - enabled: true, + display: true, fill: true, borderColor: 'purple', backgroundShadowColor: 'black', @@ -64,7 +64,7 @@ module.exports = { width: 15 }, end: { - enabled: true, + display: true, fill: true, borderColor: 'purple', backgroundShadowColor: 'black', @@ -89,7 +89,7 @@ module.exports = { shadowOffsetY: 10, arrowHeads: { start: { - enabled: true, + display: true, fill: true, borderColor: 'red', backgroundShadowColor: 'black', @@ -100,7 +100,7 @@ module.exports = { width: 15 }, end: { - enabled: true, + display: true, fill: true, borderColor: 'red', backgroundShadowColor: 'black', diff --git a/test/specs/line.spec.js b/test/specs/line.spec.js index 841f4f04c..c449a3d63 100644 --- a/test/specs/line.spec.js +++ b/test/specs/line.spec.js @@ -61,7 +61,7 @@ describe('Line annotation', function() { scaleID: 'y', value: 5, label: { - enabled: true, + display: true, content: 'Label of the element', rotation } diff --git a/types/label.d.ts b/types/label.d.ts index 67fa5669e..8e91e4c83 100644 --- a/types/label.d.ts +++ b/types/label.d.ts @@ -87,10 +87,10 @@ export interface ContainedLabelOptions extends CoreLabelOptions { export interface LabelOptions extends ContainedLabelOptions, ShadowOptions { position?: Scriptable, /** - * Whether the label is enabled and should be displayed + * Whether the label should be displayed * @default true */ - enabled?: Scriptable, + display?: Scriptable, /** * Rotation of label, in degrees, or 'auto' to use the degrees of the line, default is 0 * @default 90 @@ -113,10 +113,10 @@ export interface LabelOptions extends ContainedLabelOptions, ShadowOptions { export interface BoxLabelOptions extends CoreLabelOptions { position?: Scriptable, /** - * Whether the label is enabled and should be displayed + * Whether the label should be displayed * @default true */ - enabled?: Scriptable, + display?: Scriptable, rotation?: Scriptable } diff --git a/types/options.d.ts b/types/options.d.ts index b0d8d49e2..8a14aa1c1 100644 --- a/types/options.d.ts +++ b/types/options.d.ts @@ -63,7 +63,7 @@ export interface ArrowHeadOptions extends ShadowOptions { borderDash?: Scriptable, borderDashOffset?: Scriptable, borderWidth?: Scriptable, - enabled?: Scriptable, + display?: Scriptable, fill?: Scriptable, length?: Scriptable, width?: Scriptable, @@ -134,7 +134,7 @@ export interface CalloutOptions { borderDashOffset?: Scriptable, borderJoinStyle?: Scriptable, borderWidth?: Scriptable, - enabled?: Scriptable, + display?: Scriptable, margin?: Scriptable, position?: Scriptable, side?: Scriptable, From e7046d30d2b1f3b393e773e8dcc53ecd83a9f192 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 28 Feb 2022 13:18:51 +0100 Subject: [PATCH 2/3] adds tolerance to fixture use case --- test/fixtures/line/arrowHeadsFallback.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/fixtures/line/arrowHeadsFallback.js b/test/fixtures/line/arrowHeadsFallback.js index 9fa0998cb..51dbf0383 100644 --- a/test/fixtures/line/arrowHeadsFallback.js +++ b/test/fixtures/line/arrowHeadsFallback.js @@ -1,4 +1,5 @@ module.exports = { + tolerance: 0.0020, config: { type: 'line', options: { From 84c73f784db348a96de0124472b5b19889914acd Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 4 Apr 2022 23:48:58 +0200 Subject: [PATCH 3/3] add note about breaking change in migration guide --- docs/guide/migrationV2.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/guide/migrationV2.md b/docs/guide/migrationV2.md index 53e0d30e7..3ecb25a2c 100644 --- a/docs/guide/migrationV2.md +++ b/docs/guide/migrationV2.md @@ -11,6 +11,7 @@ A number of changes were made to the configuration options passed to the plugin * When [stacked scales](https://www.chartjs.org/docs/latest/axes/cartesian/#common-options-to-all-cartesian-axes) are used, instead of the whole chart area, the designated scale area is used as fallback for `xMin`, `xMax`, `yMin`, `yMax`, `xValue` or `yValue` options. * `cornerRadius` option was replaced by `borderRadius` in the box annotation configuration and in the label configuration of line annotation to align with Chart.js options. * `xPadding` and `yPadding` options were merged into a single `padding` object in the label configuration of line annotation to align with Chart.js options. + * `enabled` option was replaced by `display` in the callout configuration of label annotation, in the label configuration of line and box annotations and in the arrow heads configuration of line annotation to have the same option on all elements. ## Events