interface PluginOptionsByType<TType extends ChartType> {
customCanvasBackgroundColor?: {
color?: string
- }
+ } | false
}
}
```
}
export interface PluginOptionsByType<TType extends ChartType> {
- colors: ColorsPluginOptions;
- decimation: DecimationOptions;
- filler: FillerOptions;
- legend: LegendOptions<TType>;
- subtitle: TitleOptions;
- title: TitleOptions;
- tooltip: TooltipOptions<TType>;
+ colors: ColorsPluginOptions | false;
+ decimation: DecimationOptions | false;
+ filler: FillerOptions | false;
+ legend: LegendOptions<TType> | false;
+ subtitle: TitleOptions | false;
+ title: TitleOptions | false;
+ tooltip: TooltipOptions<TType> | false;
}
export interface PluginChartOptions<TType extends ChartType> {
plugins: PluginOptionsByType<TType>;
-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';
},
};
-Chart.defaults.plugins.tooltip.boxPadding = 3;
+(Chart.defaults.plugins.tooltip as TooltipOptions).boxPadding = 3;
-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';
-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,
--- /dev/null
+import { Chart } from '../../../src/types.js';\r
+\r
+const chart = new Chart('id', {\r
+ type: 'bubble',\r
+ data: {\r
+ labels: [],\r
+ datasets: [{\r
+ data: []\r
+ }]\r
+ },\r
+ options: {\r
+ plugins: {\r
+ legend: false\r
+ }\r
+ }\r
+});
\ No newline at end of file
-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})`;
};