]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Allow `fill: true` and `null` in `ChartDataset.data` (#8700)
authorEvert Timberg <evert.timberg+github@gmail.com>
Mon, 22 Mar 2021 22:59:50 +0000 (18:59 -0400)
committerGitHub <noreply@github.com>
Mon, 22 Mar 2021 22:59:50 +0000 (18:59 -0400)
* Handle `fill: true`
* ChartDataset allow number/null data

types/index.esm.d.ts
types/tests/dataset_null_data.ts [new file with mode: 0644]
types/tests/plugins/plugin.filler/fill_target_true.ts [new file with mode: 0644]

index 0dbbce5464f51872b33bf5f2fb4f8886d2bb1a2e..a8353431259fb0ad9629cc1dfd46a66236bfceaf 100644 (file)
@@ -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 (file)
index 0000000..ae13c6a
--- /dev/null
@@ -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 (file)
index 0000000..d9dc210
--- /dev/null
@@ -0,0 +1,6 @@
+import { ChartDataset } from '../../../index.esm';
+
+const dataset: ChartDataset = {
+  data: [],
+  fill: true,
+};