From 79f1a0a9e878b166c1e6c01a1bf5d718fe1e1bc7 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 7 Aug 2023 20:16:20 +0200 Subject: [PATCH] Add clip option to scale configuration to allow unclipped scales (#11404) * Add clip option to scale configuration to allow unclipped scales * add images * fix cc * change name of function --- docs/axes/cartesian/_common.md | 1 + src/core/core.controller.js | 17 ++- src/core/core.scale.defaults.js | 2 + src/types/index.d.ts | 5 + .../stacked-boxes-max-index-without-clip.js | 115 ++++++++++++++++++ .../stacked-boxes-max-index-without-clip.png | Bin 0 -> 18361 bytes .../stacked-boxes-max-without-clip.js | 115 ++++++++++++++++++ .../stacked-boxes-max-without-clip.png | Bin 0 -> 26998 bytes 8 files changed, 249 insertions(+), 6 deletions(-) create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-without-clip.js create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-without-clip.png diff --git a/docs/axes/cartesian/_common.md b/docs/axes/cartesian/_common.md index 1050a85a2a6..b6b5a8e12f4 100644 --- a/docs/axes/cartesian/_common.md +++ b/docs/axes/cartesian/_common.md @@ -5,6 +5,7 @@ Namespace: `options.scales[scaleId]` | Name | Type | Default | Description | ---- | ---- | ------- | ----------- | `bounds` | `string` | `'ticks'` | Determines the scale bounds. [more...](./index.md#scale-bounds) +| `clip` | `boolean` | `true` | If true, clip the dataset drawing against the size of the scale instead of chart area | `position` | `string` \| `object` | | Position of the axis. [more...](./index.md#axis-position) | `stack` | `string` | | Stack group. Axes at the same `position` with same `stack` are stacked. | `stackWeight` | `number` | 1 | Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group. diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 2ba26c9f3ee..a54c5a03283 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -101,16 +101,21 @@ function determineLastEvent(e, lastEvent, inChartArea, isClick) { return e; } -function getDatasetArea(meta) { +function getSizeForArea(scale, chartArea, field) { + return scale.options.clip ? scale[field] : chartArea[field]; +} + +function getDatasetArea(meta, chartArea) { const {xScale, yScale} = meta; if (xScale && yScale) { return { - left: xScale.left, - right: xScale.right, - top: yScale.top, - bottom: yScale.bottom + left: getSizeForArea(xScale, chartArea, 'left'), + right: getSizeForArea(xScale, chartArea, 'right'), + top: getSizeForArea(yScale, chartArea, 'top'), + bottom: getSizeForArea(yScale, chartArea, 'bottom') }; } + return chartArea; } class Chart { @@ -796,7 +801,7 @@ class Chart { const ctx = this.ctx; const clip = meta._clip; const useClip = !clip.disabled; - const area = getDatasetArea(meta) || this.chartArea; + const area = getDatasetArea(meta, this.chartArea); const args = { meta, index: meta.index, diff --git a/src/core/core.scale.defaults.js b/src/core/core.scale.defaults.js index 85f9764ec0a..b6798e094b6 100644 --- a/src/core/core.scale.defaults.js +++ b/src/core/core.scale.defaults.js @@ -16,6 +16,8 @@ export function applyScaleDefaults(defaults) { */ bounds: 'ticks', + clip: true, + /** * Addition grace added to max and reduced from min data value. * @since 3.0.0 diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 5cf2d0cc902..eeee5fa08e5 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1171,6 +1171,11 @@ export interface CoreScaleOptions { * @default false */ reverse: boolean; + /** + * Clip the dataset drawing against the size of the scale instead of chart area. + * @default true + */ + clip: boolean; /** * The weight used to sort the axis. Higher weights are further away from the chart area. * @default true diff --git a/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js new file mode 100644 index 00000000000..8e2df9cd2a4 --- /dev/null +++ b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js @@ -0,0 +1,115 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [ + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], borderColor: 'red'}, + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], yAxisID: 'y1', xAxisID: 'x1', borderColor: 'green'}, + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], yAxisID: 'y2', xAxisID: 'x2', borderColor: 'blue'}, + ], + labels: ['tick1', 'tick2', 'tick3'] + }, + options: { + plugins: false, + scales: { + x: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'red' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + x1: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'green' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + x2: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'blue' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + y: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'red' + }, + ticks: { + precision: 0 + } + }, + y1: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'green' + }, + ticks: { + precision: 0 + } + }, + y2: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'blue', + }, + ticks: { + precision: 0 + } + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 384, + width: 384 + } + } +}; diff --git a/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7d3290f5201929bb8e0993e79686671ab184c2 GIT binary patch literal 18361 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 literal 0 HcmV?d00001