From 2fc98ddc39ca39c664b85197ffdecd75aece6f49 Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Mon, 22 Mar 2021 18:59:50 -0400 Subject: [PATCH] Allow `fill: true` and `null` in `ChartDataset.data` (#8700) * Handle `fill: true` * ChartDataset allow number/null data --- types/index.esm.d.ts | 8 ++++---- types/tests/dataset_null_data.ts | 16 ++++++++++++++++ .../plugins/plugin.filler/fill_target_true.ts | 6 ++++++ 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 types/tests/dataset_null_data.ts create mode 100644 types/tests/plugins/plugin.filler/fill_target_true.ts diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index 0dbbce546..a83534312 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -1966,7 +1966,7 @@ export interface FillerOptions { propagate: boolean; } -export type FillTarget = number | string | { value: number } | 'start' | 'end' | 'origin' | 'stack' | false; +export type FillTarget = number | string | { value: number } | 'start' | 'end' | 'origin' | 'stack' | boolean; export interface ComplexFillTarget { /** @@ -3207,14 +3207,14 @@ export interface ChartTypeRegistry { line: { chartOptions: LineControllerChartOptions; datasetOptions: LineControllerDatasetOptions & FillerControllerDatasetOptions; - defaultDataPoint: ScatterDataPoint; + defaultDataPoint: ScatterDataPoint | number | null; parsedDataType: CartesianParsedData; scales: keyof CartesianScaleTypeRegistry; }; scatter: { chartOptions: ScatterControllerChartOptions; datasetOptions: ScatterControllerDatasetOptions; - defaultDataPoint: ScatterDataPoint; + defaultDataPoint: ScatterDataPoint | number | null; parsedDataType: CartesianParsedData; scales: keyof CartesianScaleTypeRegistry; }; @@ -3249,7 +3249,7 @@ export interface ChartTypeRegistry { radar: { chartOptions: RadarControllerChartOptions; datasetOptions: RadarControllerDatasetOptions; - defaultDataPoint: number; + defaultDataPoint: number | null; parsedDataType: RadialParsedData; scales: keyof RadialScaleTypeRegistry; }; diff --git a/types/tests/dataset_null_data.ts b/types/tests/dataset_null_data.ts new file mode 100644 index 000000000..ae13c6a21 --- /dev/null +++ b/types/tests/dataset_null_data.ts @@ -0,0 +1,16 @@ +import { ChartDataset } from '../index.esm'; + +const dataset: ChartDataset = { + data: [10, null, 20], +}; + +const lineDataset: ChartDataset<'line'> = { + data: [10, null, 20], +}; +const scatterDataset: ChartDataset<'scatter'> = { + data: [10, null, 20], +}; +const radarDataset: ChartDataset<'radar'> = { + data: [10, null, 20], +}; + diff --git a/types/tests/plugins/plugin.filler/fill_target_true.ts b/types/tests/plugins/plugin.filler/fill_target_true.ts new file mode 100644 index 000000000..d9dc21061 --- /dev/null +++ b/types/tests/plugins/plugin.filler/fill_target_true.ts @@ -0,0 +1,6 @@ +import { ChartDataset } from '../../../index.esm'; + +const dataset: ChartDataset = { + data: [], + fill: true, +};