TimeUnit,
IEvent,
} from './interfaces';
-import { IChartDataset, IChartConfiguration, ConfigurationOptions, ConfigurationData } from '../interfaces';
+import { IChartDataset, IChartConfiguration, ConfigurationOptions, ConfigurationData, IChartType } from '../interfaces';
export interface IDateAdapter {
/**
export interface Chart<
T = unknown,
L = string,
- C extends IChartConfiguration<string, T, L> = IChartConfiguration<string, T, L>
+ C extends IChartConfiguration<IChartType, T, L> = IChartConfiguration<IChartType, T, L>
> {
readonly platform: BasePlatform;
readonly id: string;
readonly boxes: ILayoutItem[];
readonly currentDevicePixelRatio: number;
readonly chartArea: IChartArea;
- readonly data: ConfigurationData<C>;
readonly scales: { [key: string]: Scale };
readonly scale: Scale | undefined;
readonly attached: boolean;
+ data: ConfigurationData<C>;
options: ConfigurationOptions<C>;
clear(): this;
buildOrUpdateScales(): void;
buildOrUpdateControllers(): void;
reset(): void;
- update(mode?: string): void;
+ update(mode?: UpdateMode): void;
render(): void;
draw(): void;
export const Chart: {
prototype: Chart;
- new <T = unknown, L = string, C extends IChartConfiguration<string, T, L> = IChartConfiguration<string, T, L>>(
+ new <T = unknown, L = string, C extends IChartConfiguration<IChartType, T, L> = IChartConfiguration<IChartType, T, L>>(
item: ChartItem,
config: C
): Chart<T, L, C>;
unregister(...items: IChartComponentLike[]): void;
};
-export type UpdateMode = 'resize' | 'reset' | 'none' | 'hide' | 'show' | 'normal' | 'active' | undefined;
+export enum UpdateModeEnum {
+ resize = 'resize',
+ reset = 'reset',
+ none = 'none',
+ hide = 'hide',
+ show = 'show',
+ normal = 'normal',
+ active = 'active'
+}
+
+export type UpdateMode = keyof typeof UpdateModeEnum;
export class DatasetController<E extends Element = Element, DSE extends Element = Element> {
constructor(chart: Chart, datasetIndex: number);
ILegendChartOptions,
ITitleChartOptions,
} from './plugins';
-import { IChartAnimationOptions, IParsingOptions } from './core';
+import { IChartAnimationOptions, IParsingOptions, IPlugin } from './core';
import { IScaleChartOptions } from './scales';
export type DeepPartial<T> = T extends {}
O
>;
+export enum ChartTypeEnum {
+ bar = 'bar',
+ bubble = 'bubble',
+ doughnut = 'doughnut',
+ line = 'line',
+ pie = 'pie',
+ polarArea = 'polarArea',
+ radar = 'radar',
+ scatter = 'scatter',
+}
+
+export type IChartType = keyof typeof ChartTypeEnum;
+
export interface IChartConfiguration<
- TYPE = string,
+ TYPE extends IChartType = IChartType,
T = unknown,
L = string,
DS extends IChartDataset<T> = IChartDataset<T>,
type: TYPE;
data: IChartData<T, L, DS>;
options?: IChartOptions<O>;
+ plugins?: IPlugin[];
}
export type IBarControllerConfiguration<T = number, L = string> = IChartConfiguration<
IRadarControllerChartOptions
>;
-export type ConfigurationOptions<O> = O extends IChartConfiguration<unknown, unknown, unknown, infer O> ? O : never;
-export type ConfigurationData<O> = O extends IChartConfiguration<unknown, infer T, infer L, infer DS, unknown>
+export type ConfigurationOptions<O> = O extends IChartConfiguration<IChartType, unknown, unknown, infer O> ? O : never;
+export type ConfigurationData<O> = O extends IChartConfiguration<IChartType, infer T, infer L, infer DS, unknown>
? IChartData<T, L, DS>
: never;
-export type ConfigurationDataset<O> = O extends IChartConfiguration<unknown, unknown, unknown, infer DS, unknown>
+export type ConfigurationDataset<O> = O extends IChartConfiguration<IChartType, unknown, unknown, infer DS, unknown>
? DS
: never;