Open tomas-light opened 4 months ago
export interface Plugin<TType extends ChartType = ChartType, TData = DefaultDataPoint<TDefaultType>, TLabel = unknown, O = AnyObject> extends ExtendedPlugin<TType, O> { afterDatasetsDraw?(chart: Chart<TType, TData, TLabel>, args: EmptyObject, options: O, cancelable: false): void; }
export interface Plugin<TType extends ChartType = ChartType, O = AnyObject> extends ExtendedPlugin<TType, O> { afterDatasetsDraw?(chart: Chart<TType>, args: EmptyObject, options: O, cancelable: false): void; }
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgYQBYENYBoUdgEXRnQGcBTGHABQBsBXAc2ADs4BfOAMyghDgHIAxnhgA6AFYl+AbgCwAKAUwAnmDJwAsssLE4AXjhQy6ACYRmNZXADazOiABGZKDhIwoLBgF05i+YPM3OBBtIlIKAC5cTBgdcJgAHn4zRlQ7GH4cLTiAPn1EBTg4EzCo6wBGACYAZhx+TggIfi8FNl8FAOYgkNpGFijepmYklIY0ugy8gwRCuAB6ObhUZ3VgEjh0OBU1ODWSOjIcJ0F0OnI4QZZZ9E4YZzjyWKh0AHcogAphGKi0GJGIVLpTKaULEHIASn0eRm8iKRU6QWsgjoUCMzFiYUeJC8+S+sFEJWIBMxFBIvjhcAR8GsIQAcvYnC5gsoAMruTw4gzI1FkdEPUnE4jk9itXxAA
import { Chart, ChartDataset, Plugin } from 'chart.js'; type MyData = readonly [number, string]; const myDataset: ChartDataset<'doughnut', MyData> = { data: [123, 'foo'] }; const myPlugin: Plugin<'doughnut'> = { // here is a type issue, because of Plugin doesn't accept TData afterDatasetDraw: (chart: Chart<'doughnut', MyData>) => { const [currentDatasets] = chart.data.datasets; const [myNumber, myString] = currentDatasets.data; } };
apply suggestion from Expected behavior above
Expected behavior
No response
4.4.1
Expected behavior
Current behavior
Reproducible sample
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgYQBYENYBoUdgEXRnQGcBTGHABQBsBXAc2ADs4BfOAMyghDgHIAxnhgA6AFYl+AbgCwAKAUwAnmDJwAsssLE4AXjhQy6ACYRmNZXADazOiABGZKDhIwoLBgF05i+YPM3OBBtIlIKAC5cTBgdcJgAHn4zRlQ7GH4cLTiAPn1EBTg4EzCo6wBGACYAZhx+TggIfi8FNl8FAOYgkNpGFijepmYklIY0ugy8gwRCuAB6ObhUZ3VgEjh0OBU1ODWSOjIcJ0F0OnI4QZZZ9E4YZzjyWKh0AHcogAphGKi0GJGIVLpTKaULEHIASn0eRm8iKRU6QWsgjoUCMzFiYUeJC8+S+sFEJWIBMxFBIvjhcAR8GsIQAcvYnC5gsoAMruTw4gzI1FkdEPUnE4jk9itXxAA
Optional extra steps/info to reproduce
Possible solution
apply suggestion from
Expected behavior
aboveContext
No response
chart.js version
4.4.1
Browser name and version
No response
Link to your project
No response