From b42f9d127ddd2dd4e7e29be99c883222256cf1d7 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 20 Jun 2023 18:16:37 +0200 Subject: [PATCH 01/10] Add events property to Plugin defined type (#11350) --- src/types/index.d.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 274ee56ff86..a3ef7bbd81c 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -816,6 +816,12 @@ export declare const layouts: { export interface Plugin extends ExtendedPlugin { id: string; + /** + * The events option defines the browser events that the plugin should listen. + * @default ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'] + */ + events?: (keyof HTMLElementEventMap)[] + /** * @desc Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false). * @param {Chart} chart - The chart instance. From 1c2dd6898ee65233ca04ff18a15f89f0ae8e67de Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 20 Jun 2023 18:16:50 +0200 Subject: [PATCH 02/10] Add `beforeDraw` to drawtime type (#11358) --- src/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index a3ef7bbd81c..9ce9c5e842f 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -2196,7 +2196,7 @@ export type DecimationOptions = LttbDecimationOptions | MinMaxDecimationOptions; export declare const Filler: Plugin; export interface FillerOptions { - drawTime: 'beforeDatasetDraw' | 'beforeDatasetsDraw'; + drawTime: 'beforeDraw' | 'beforeDatasetDraw' | 'beforeDatasetsDraw'; propagate: boolean; } From 57bbd8229daa0c2f607aae8967ac518a28ef83ae Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 20 Jun 2023 18:20:12 +0200 Subject: [PATCH 03/10] Fix mismatch between hit boxes and drawn items in legend plugin (#11352) * Fix mismatch between hit boxes and drawn items in legend plugin * fixes padding calculation --- src/plugins/plugin.legend.js | 4 ++-- ...oughnut-right-center-mulitiline-labels.png | Bin 19001 -> 17392 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/plugin.legend.js b/src/plugins/plugin.legend.js index 8d8264d637f..6ed99413536 100644 --- a/src/plugins/plugin.legend.js +++ b/src/plugins/plugin.legend.js @@ -428,7 +428,7 @@ export class Legend extends Element { cursor.x += width + padding; } else if (typeof legendItem.text !== 'string') { const fontLineHeight = labelFont.lineHeight; - cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight); + cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding; } else { cursor.y += lineHeight; } @@ -575,7 +575,7 @@ function calculateItemHeight(_itemHeight, legendItem, fontLineHeight) { } function calculateLegendItemHeight(legendItem, fontLineHeight) { - const labelHeight = legendItem.text ? legendItem.text.length + 0.5 : 0; + const labelHeight = legendItem.text ? legendItem.text.length : 0; return fontLineHeight * labelHeight; } diff --git a/test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline-labels.png b/test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline-labels.png index 6be697361c33d6dd05ea90f567448b0ac06d95de..1e92045fc0655ded2b44d3ec101e307989cd2496 100644 GIT binary patch literal 17392 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 z

l6vwADeH#S()*Zcg{3ZQ*YdV#9;EIhqmI*;LoxwwS|e!*u0))YezsvP`pcdpZ-{-q?h|Cf#__p`K^{acQ=%alp|0!7;Zdf6m?aQW-()$o-pB& z1H{o!K)G{I!si{6osAz9o|SxHxb9-`a|V93_1`_W><5k4YA{tQFJMu~e_`|P#SQJI z?YA8CZk$ejyGrj5#~RkUzQn*Ev4Q-c2<8Afn&Xhpl3Nc7cna(bvM%@pS9`S`;NWTY zGTX(s258Vk(Afe3%dalfE|9;VwL)!G>^|iW<`2wx{(q}gkp;zn5-6uD`0q?!Z5qeK z!#s=aX2{mF!7NKI&3E~(|1D&-79@IEfzg{-AtUpR?bogCjyV$*r)DU9P%{X4|HZwy z=&CkwlRC&Pw|YWS`<-JSlmYiReKnZ5Zd+Jq1IrIyws}VsCjNtX{|7LGGTc}EmdJ2i zj{Qz{_r8RF&X7Z$2i#9So_jy>hNz$Tl`K$^pv|d^&9p%GgX*3883L+Q9Rqg^Okb@?@#Fq_q~12Hg8)P z(DqBf)Un`8aX=NfjI>TgR8jc?>kAvcxUrsVdV9e8Bx}7@8$VO}LMceX<^v^c#x)Tp zzEf25=HHQ=@VF^$;|J@#lmB~Go}S;F=-#t2;5smMDhd9wDY@4vNA zlK#7WdT(x+qrEdV3zXY6m|UHJX>ejg-xq_L5R)kkM@s5XKc9M1 z{Xm*S*UOqYf42YL{O9jo`Q|5g!@&oqI0&w2IPjnO+~caH-^GrHGXR07tDnm{r-UW| D2Wc|C From f2cfb933b910581c42631293e1536ceb502eef7b Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Sat, 1 Jul 2023 08:51:53 -0400 Subject: [PATCH 04/10] fix: add pointStyleWidth to type definitions (#11383) --- src/types/index.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 9ce9c5e842f..8875bc79cc3 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -2399,6 +2399,10 @@ export interface LegendOptions { * @default 10 */ padding: number; + /** + * If usePointStyle is true, the width of the point style used for the legend. + */ + pointStyleWidth: number; /** * Generates legend items for each thing in the legend. Default implementation returns the text + styling for the color box. See Legend Item for details. */ From a173943e557704355d9d78d216399ebadbbd58fb Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Wed, 5 Jul 2023 08:54:28 -0400 Subject: [PATCH 05/10] Split the TimeScaleOptions type into composable sub types (#11187) --- src/types/index.d.ts | 110 ++++++++++++++++++++++--------------------- 1 file changed, 57 insertions(+), 53 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 8875bc79cc3..3e691e3893c 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3308,6 +3308,61 @@ export declare const LogarithmicScale: ChartComponent & { new (cfg: AnyObject): LogarithmicScale; }; +export type TimeScaleTimeOptions = { + /** + * Custom parser for dates. + */ + parser: string | ((v: unknown) => number); + /** + * If defined, dates will be rounded to the start of this unit. See Time Units below for the allowed units. + */ + round: false | TimeUnit; + /** + * If boolean and true and the unit is set to 'week', then the first day of the week will be Monday. Otherwise, it will be Sunday. + * If `number`, the index of the first day of the week (0 - Sunday, 6 - Saturday). + * @default false + */ + isoWeekday: boolean | number; + /** + * Sets how different time units are displayed. + */ + displayFormats: { + [key: string]: string; + }; + /** + * The format string to use for the tooltip. + */ + tooltipFormat: string; + /** + * If defined, will force the unit to be a certain type. See Time Units section below for details. + * @default false + */ + unit: false | TimeUnit; + /** + * The minimum display format to be used for a time unit. + * @default 'millisecond' + */ + minUnit: TimeUnit; +}; + +export type TimeScaleTickOptions = { + /** + * Ticks generation input values: + * - 'auto': generates "optimal" ticks based on scale size and time options. + * - 'data': generates ticks from data (including labels from data `{t|x|y}` objects). + * - 'labels': generates ticks from user given `data.labels` values ONLY. + * @see https://github.com/chartjs/Chart.js/pull/4507 + * @since 2.7.0 + * @default 'auto' + */ + source: 'labels' | 'auto' | 'data'; + /** + * The number of units between grid lines. + * @default 1 + */ + stepSize: number; +}; + export type TimeScaleOptions = Omit & { min: string | number; max: string | number; @@ -3336,60 +3391,9 @@ export type TimeScaleOptions = Omit & { date: unknown; }; - time: { - /** - * Custom parser for dates. - */ - parser: string | ((v: unknown) => number); - /** - * If defined, dates will be rounded to the start of this unit. See Time Units below for the allowed units. - */ - round: false | TimeUnit; - /** - * If boolean and true and the unit is set to 'week', then the first day of the week will be Monday. Otherwise, it will be Sunday. - * If `number`, the index of the first day of the week (0 - Sunday, 6 - Saturday). - * @default false - */ - isoWeekday: boolean | number; - /** - * Sets how different time units are displayed. - */ - displayFormats: { - [key: string]: string; - }; - /** - * The format string to use for the tooltip. - */ - tooltipFormat: string; - /** - * If defined, will force the unit to be a certain type. See Time Units section below for details. - * @default false - */ - unit: false | TimeUnit; - /** - * The minimum display format to be used for a time unit. - * @default 'millisecond' - */ - minUnit: TimeUnit; - }; + time: TimeScaleTimeOptions; - ticks: { - /** - * Ticks generation input values: - * - 'auto': generates "optimal" ticks based on scale size and time options. - * - 'data': generates ticks from data (including labels from data `{t|x|y}` objects). - * - 'labels': generates ticks from user given `data.labels` values ONLY. - * @see https://github.com/chartjs/Chart.js/pull/4507 - * @since 2.7.0 - * @default 'auto' - */ - source: 'labels' | 'auto' | 'data'; - /** - * The number of units between grid lines. - * @default 1 - */ - stepSize: number; - }; + ticks: TimeScaleTickOptions; }; export interface TimeScale extends Scale { From c392a7cc8cf731762d2a5f1e48b0008210031d99 Mon Sep 17 00:00:00 2001 From: skopz356 <36794259+skopz356@users.noreply.github.com> Date: Tue, 11 Jul 2023 20:32:10 +0200 Subject: [PATCH 06/10] Fix type of tickBorderDash in GridLineOptions (#11396) --- docs/axes/styling.md | 2 +- src/types/index.d.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/axes/styling.md b/docs/axes/styling.md index 4eb9bf0b428..20c2b93f412 100644 --- a/docs/axes/styling.md +++ b/docs/axes/styling.md @@ -15,7 +15,7 @@ Namespace: `options.scales[scaleId].grid`, it defines options for the grid lines | `drawTicks` | `boolean` | | | `true` | If true, draw lines beside the ticks in the axis area beside the chart. | `lineWidth` | `number` | Yes | Yes | `1` | Stroke width of grid lines. | `offset` | `boolean` | | | `false` | If true, grid lines will be shifted to be between labels. This is set to `true` for a bar chart by default. -| `tickBorderDash` | `number[]` | | | | Length and spacing of the tick mark line. If not set, defaults to the grid line `borderDash` value. +| `tickBorderDash` | `number[]` | Yes | Yes | `[]` | Length and spacing of the tick mark line. If not set, defaults to the grid line `borderDash` value. | `tickBorderDashOffset` | `number` | Yes | Yes | | Offset for the line dash of the tick mark. If unset, defaults to the grid line `borderDashOffset` value | `tickColor` | [`Color`](../general/colors.md) | Yes | Yes | | Color of the tick line. If unset, defaults to the grid line color. | `tickLength` | `number` | | | `8` | Length in pixels that the grid lines will draw into the axis area. diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 3e691e3893c..83ad302e30a 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -2971,7 +2971,7 @@ export interface GridLineOptions { /** * @default [] */ - tickBorderDash: number[]; + tickBorderDash: Scriptable; /** * @default 0 */ From 05608b0ceb13b49aec0fcefa4915c1e498fcb9ee Mon Sep 17 00:00:00 2001 From: stockiNail Date: Thu, 13 Jul 2023 22:36:08 +0200 Subject: [PATCH 07/10] Fix time series scale to have each data point is spread equidistant (#11388) * Fix time series scale to have each data point is spread equidistant * remove tabs * remove casting and add/update test cases --- src/scales/scale.time.js | 4 +- src/scales/scale.timeseries.js | 19 ++++++++ .../scale.timeseries/data-timestamps.js | 46 ++++++++++++++++++ .../scale.timeseries/data-timestamps.png | Bin 0 -> 36912 bytes .../scale.timeseries/financial-daily.js | 5 +- .../scale.timeseries/financial-daily.png | Bin 29840 -> 33475 bytes .../fixtures/scale.timeseries/source-auto.png | Bin 19463 -> 17733 bytes .../source-data-offset-min-max.png | Bin 21088 -> 21202 bytes 8 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/scale.timeseries/data-timestamps.js create mode 100644 test/fixtures/scale.timeseries/data-timestamps.png diff --git a/src/scales/scale.time.js b/src/scales/scale.time.js index 03a9714b047..6bcef6c03e6 100644 --- a/src/scales/scale.time.js +++ b/src/scales/scale.time.js @@ -445,7 +445,7 @@ export default class TimeScale extends Scale { * `minor` unit using the given scale time `options`. * Important: this method can return ticks outside the min and max range, it's the * responsibility of the calling code to clamp values if needed. - * @private + * @protected */ _generate() { const adapter = this._adapter; @@ -485,7 +485,7 @@ export default class TimeScale extends Scale { } // @ts-ignore - return Object.keys(ticks).sort((a, b) => a - b).map(x => +x); + return Object.keys(ticks).sort(sorter).map(x => +x); } /** diff --git a/src/scales/scale.timeseries.js b/src/scales/scale.timeseries.js index f347cd341c1..2be73493407 100644 --- a/src/scales/scale.timeseries.js +++ b/src/scales/scale.timeseries.js @@ -110,6 +110,25 @@ class TimeSeriesScale extends TimeScale { return table; } + /** + * Generates all timestamps defined in the data. + * Important: this method can return ticks outside the min and max range, it's the + * responsibility of the calling code to clamp values if needed. + * @protected + */ + _generate() { + const min = this.min; + const max = this.max; + let timestamps = super.getDataTimestamps(); + if (!timestamps.includes(min) || !timestamps.length) { + timestamps.splice(0, 0, min); + } + if (!timestamps.includes(max) || timestamps.length === 1) { + timestamps.push(max); + } + return timestamps.sort((a, b) => a - b); + } + /** * Returns all timestamps * @return {number[]} diff --git a/test/fixtures/scale.timeseries/data-timestamps.js b/test/fixtures/scale.timeseries/data-timestamps.js new file mode 100644 index 00000000000..b1df5c0ef30 --- /dev/null +++ b/test/fixtures/scale.timeseries/data-timestamps.js @@ -0,0 +1,46 @@ +module.exports = { + threshold: 0.01, + tolerance: 0.0015, + config: { + type: 'line', + data: { + datasets: [{data: [ + {x: 1687849697000, y: 904}, + {x: 1687817063000, y: 905}, + {x: 1687694268000, y: 913}, + {x: 1687609438000, y: 914}, + {x: 1687561387000, y: 916}, + {x: 1686875127000, y: 918}, + {x: 1686873138000, y: 920}, + {x: 1686872777000, y: 928}, + {x: 1686081641000, y: 915} + ], fill: false}, {data: [ + {x: 1687816803000, y: 1105}, + {x: 1686869490000, y: 1114}, + {x: 1686869397000, y: 1103}, + {x: 1686869225000, y: 1091}, + {x: 1686556516000, y: 1078} + ]}] + }, + options: { + scales: { + x: { + type: 'timeseries', + bounds: 'data', + time: { + unit: 'day' + }, + ticks: { + source: 'auto' + } + }, + y: { + display: false + } + } + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/scale.timeseries/data-timestamps.png b/test/fixtures/scale.timeseries/data-timestamps.png new file mode 100644 index 0000000000000000000000000000000000000000..31d9a3f471780bb85bfb1f02e4bf8a13f7e9e067 GIT binary patch literal 36912 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/scale.timeseries/financial-daily.js b/test/fixtures/scale.timeseries/financial-daily.js index 9f13f02d195..d529be4ff44 100644 --- a/test/fixtures/scale.timeseries/financial-daily.js +++ b/test/fixtures/scale.timeseries/financial-daily.js @@ -33,12 +33,13 @@ module.exports = { autoSkip: true, autoSkipPadding: 75, maxRotation: 0, - sampleSize: 100 + sampleSize: 100, + maxTicksLimit: 3 }, // manually set major ticks so that test passes in all time zones with moment adapter afterBuildTicks: function(scale) { - const major = [0, 12, 24]; const ticks = scale.ticks; + const major = [0, 264, 522]; for (let i = 0; i < ticks.length; i++) { ticks[i].major = major.indexOf(i) >= 0; } diff --git a/test/fixtures/scale.timeseries/financial-daily.png b/test/fixtures/scale.timeseries/financial-daily.png index 659c0a1dae273d629a5a893e041a830e6ad2ddf9..1537512dd840e567e9c982a9671ab7511f026fa8 100644 GIT binary patch literal 33475 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 mo2(VU&bac0y6K+M`Aq##Y%QWtj#; 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 LhKI5aSl#}A#3asF literal 21088 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 Date: Mon, 24 Jul 2023 19:58:23 +0200 Subject: [PATCH 08/10] Fix curve path if scale limits are set for line chart (#11377) * Fix curve path if scale limits are set for line chart * add scale limits test case --- src/controllers/controller.line.js | 2 +- src/helpers/helpers.extras.ts | 2 +- .../scaleMInMaxLimits.js | 35 ++++++++++++++++++ .../scaleMInMaxLimits.png | Bin 0 -> 9263 bytes .../cubicInterpolationMode/scaleMaxLimit.js | 35 ++++++++++++++++++ .../cubicInterpolationMode/scaleMaxLimit.png | Bin 0 -> 8887 bytes 6 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMaxLimit.js create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scaleMaxLimit.png diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index fddd5ce9889..8c5977e1957 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -57,7 +57,7 @@ export default class LineController extends DatasetController { line._chart = this.chart; line._datasetIndex = this.index; line._decimated = !!_dataset._decimated; - line.points = points; + line.points = points.slice(Math.max(this._drawStart - 1, 0), this._drawStart + this._drawCount); const options = this.resolveDatasetElementOptions(mode); if (!this.options.showLine) { diff --git a/src/helpers/helpers.extras.ts b/src/helpers/helpers.extras.ts index 1428419119e..dc34ecf07f9 100644 --- a/src/helpers/helpers.extras.ts +++ b/src/helpers/helpers.extras.ts @@ -98,7 +98,7 @@ export function _getStartAndCountOfVisiblePoints(meta: ChartMeta<'line' | 'scatt if (minDefined) { start = _limitValue(Math.min( // @ts-expect-error Need to type _parsed - _lookupByKey(_parsed, iScale.axis, min).lo, + _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1); diff --git a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js b/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js new file mode 100644 index 00000000000..605ac186461 --- /dev/null +++ b/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.js @@ -0,0 +1,35 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [ + { + data: [ + {x: -10, y: 150}, + {x: 0, y: 81}, + {x: 10, y: 49}, + {x: 20, y: 32}, + {x: 30, y: 21}, + {x: 35, y: 1}, + {x: 40, y: 16}, + {x: 45, y: 13}, + ], + borderColor: '#ff0000', + cubicInterpolationMode: 'monotone' + } + ] + }, + options: { + scales: { + x: {display: false, type: 'linear', min: 5, max: 37}, + y: {display: false} + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png b/test/fixtures/controller.line/cubicInterpolationMode/scaleMInMaxLimits.png new file mode 100644 index 0000000000000000000000000000000000000000..056d4510167ace1c5f38402173f33f7efc436009 GIT binary patch literal 9263 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 literal 0 HcmV?d00001 From f287be491c1529b730d42742d76e1202649a5524 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 24 Jul 2023 21:39:38 +0200 Subject: [PATCH 09/10] Add missing feature for disabling plugins in TyeScript (#11403) * Add missing feature for disabling plugins in TyeScript * apply review * remove empty line --- docs/developers/plugins.md | 2 +- src/types/index.d.ts | 14 +++++++------- test/types/defaults.ts | 6 +++--- test/types/overrides.ts | 4 ++-- test/types/plugins/defaults.ts | 5 +++-- test/types/plugins/disable.ts | 16 ++++++++++++++++ .../tooltip_parsed_data_chart_defaults.ts | 4 ++-- 7 files changed, 34 insertions(+), 17 deletions(-) create mode 100644 test/types/plugins/disable.ts diff --git a/docs/developers/plugins.md b/docs/developers/plugins.md index 60747416b91..4468a58f52e 100644 --- a/docs/developers/plugins.md +++ b/docs/developers/plugins.md @@ -197,7 +197,7 @@ declare module 'chart.js' { interface PluginOptionsByType { customCanvasBackgroundColor?: { color?: string - } + } | false } } ``` diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 83ad302e30a..65e1213dcd7 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -2913,13 +2913,13 @@ export interface TooltipItem { } export interface PluginOptionsByType { - colors: ColorsPluginOptions; - decimation: DecimationOptions; - filler: FillerOptions; - legend: LegendOptions; - subtitle: TitleOptions; - title: TitleOptions; - tooltip: TooltipOptions; + colors: ColorsPluginOptions | false; + decimation: DecimationOptions | false; + filler: FillerOptions | false; + legend: LegendOptions | false; + subtitle: TitleOptions | false; + title: TitleOptions | false; + tooltip: TooltipOptions | false; } export interface PluginChartOptions { plugins: PluginOptionsByType; diff --git a/test/types/defaults.ts b/test/types/defaults.ts index 84071849245..d20415df1ca 100644 --- a/test/types/defaults.ts +++ b/test/types/defaults.ts @@ -1,8 +1,8 @@ -import { Chart } from '../../src/types.js'; +import { Chart, TitleOptions, TooltipOptions } from '../../src/types.js'; Chart.defaults.scales.time.time.minUnit = 'day'; -Chart.defaults.plugins.title.display = false; +(Chart.defaults.plugins.title as TitleOptions).display = false; Chart.defaults.datasets.bar.backgroundColor = 'red'; @@ -27,4 +27,4 @@ Chart.defaults.layout = { }, }; -Chart.defaults.plugins.tooltip.boxPadding = 3; +(Chart.defaults.plugins.tooltip as TooltipOptions).boxPadding = 3; diff --git a/test/types/overrides.ts b/test/types/overrides.ts index b4da296a322..9085dd98356 100644 --- a/test/types/overrides.ts +++ b/test/types/overrides.ts @@ -1,8 +1,8 @@ -import { Chart } from '../../src/types.js'; +import { Chart, TitleOptions } from '../../src/types.js'; Chart.overrides.bar.scales.x.type = 'time'; -Chart.overrides.bar.plugins.title.display = false; +(Chart.overrides.bar.plugins.title as TitleOptions).display = false; Chart.overrides.line.datasets.bar.backgroundColor = 'red'; diff --git a/test/types/plugins/defaults.ts b/test/types/plugins/defaults.ts index 55a08ac7ad8..a11c4dce09a 100644 --- a/test/types/plugins/defaults.ts +++ b/test/types/plugins/defaults.ts @@ -1,8 +1,9 @@ -import { defaults } from '../../../src/types.js'; +import { defaults, LegendOptions } from '../../../src/types.js'; // https://github.com/chartjs/Chart.js/issues/8711 -const original = defaults.plugins.legend.labels.generateLabels; +const original = (defaults.plugins.legend as LegendOptions<"line">).labels.generateLabels; +// @ts-ignore defaults.plugins.legend.labels.generateLabels = function(chart) { return [{ datasetIndex: 0, diff --git a/test/types/plugins/disable.ts b/test/types/plugins/disable.ts new file mode 100644 index 00000000000..d6ed066e192 --- /dev/null +++ b/test/types/plugins/disable.ts @@ -0,0 +1,16 @@ +import { Chart } from '../../../src/types.js'; + +const chart = new Chart('id', { + type: 'bubble', + data: { + labels: [], + datasets: [{ + data: [] + }] + }, + options: { + plugins: { + legend: false + } + } +}); \ No newline at end of file diff --git a/test/types/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts b/test/types/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts index 5072824bcf9..b5584adeb43 100644 --- a/test/types/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts +++ b/test/types/plugins/plugin.tooltip/tooltip_parsed_data_chart_defaults.ts @@ -1,6 +1,6 @@ -import { Chart } from '../../../../src/types.js'; +import { Chart, TooltipOptions } from '../../../../src/types.js'; -Chart.overrides.bubble.plugins.tooltip.callbacks.label = (item) => { +(Chart.overrides.bubble.plugins.tooltip as TooltipOptions<'bubble'>).callbacks.label = (item) => { const { x, y, _custom: r } = item.parsed; return `${item.label}: (${x}, ${y}, ${r})`; }; From e7b8164fcc07ee591e6c261959185912fdddf5d7 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Mon, 24 Jul 2023 21:40:34 +0200 Subject: [PATCH 10/10] Bump 4.3.1 (#11417) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 69eed27d990..b353f2878b9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.3.0", + "version": "4.3.1", "license": "MIT", "type": "module", "sideEffects": [