1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | interface ChartDataSet {
|
8 | label: string;
|
9 | fillColor: string;
|
10 | strokeColor: string;
|
11 | type?: string;
|
12 | yAxisID?: string;
|
13 | xAxisID?: string;
|
14 |
|
15 | borderColor?: string;
|
16 |
|
17 | pointColor?: string;
|
18 | pointStrokeColor?: string;
|
19 | pointHighlightFill?: string;
|
20 | pointHighlightStroke?: string;
|
21 |
|
22 |
|
23 | highlightFill?: string;
|
24 | highlightStroke?: string;
|
25 | backgroundColorHover?: string;
|
26 |
|
27 | data: number[];
|
28 | }
|
29 |
|
30 | interface LinearChartData {
|
31 | labels: string[];
|
32 | datasets: ChartDataSet[];
|
33 | }
|
34 |
|
35 | interface CircularChartData {
|
36 | value: number;
|
37 | color?: string;
|
38 | highlight?: string;
|
39 | label?: string;
|
40 | }
|
41 |
|
42 | interface ChartSettings {
|
43 | animation?: boolean;
|
44 | animationSteps?: number;
|
45 | animationEasing?: string;
|
46 | showScale?: boolean;
|
47 | scaleOverride?: boolean;
|
48 | scaleSteps?: number;
|
49 | scaleStepWidth?: number;
|
50 | scaleStartValue?: number;
|
51 | scaleLineColor?: string;
|
52 | scaleLineWidth?: number;
|
53 | scaleShowLabels?: boolean;
|
54 | scaleLabel?: string;
|
55 | scaleIntegersOnly?: boolean;
|
56 | scaleBeginAtZero?: boolean;
|
57 | scaleFontFamily?: string;
|
58 | scaleFontSize?: number;
|
59 | scaleFontStyle?: string;
|
60 | scaleFontColor?: string;
|
61 | responsive?: boolean;
|
62 | maintainAspectRatio?: boolean;
|
63 | showTooltips?: boolean;
|
64 | tooltipEvents?: string[];
|
65 | tooltipFillColor?: string;
|
66 | tooltipFontFamily?: string;
|
67 | tooltipFontSize?: number;
|
68 | tooltipFontStyle?: string;
|
69 | tooltipFontColor?: string;
|
70 | tooltipTitleFontFamily?: string;
|
71 | tooltipTitleFontSize?: number;
|
72 | tooltipTitleFontStyle?: string;
|
73 | tooltipTitleFontColor?: string;
|
74 | tooltipYPadding?: number;
|
75 | tooltipXPadding?: number;
|
76 | tooltipCaretSize?: number;
|
77 | tooltipCornerRadius?: number;
|
78 | tooltipXOffset?: number;
|
79 | tooltipTemplate?: string;
|
80 | multiTooltipTemplate?: string;
|
81 | onAnimationProgress?: () => any;
|
82 | onAnimationComplete?: () => any;
|
83 | }
|
84 |
|
85 | interface ChartOptions extends ChartSettings {
|
86 | scaleShowGridLines?: boolean;
|
87 | scaleGridLineColor?: string;
|
88 | scaleGridLineWidth?: number;
|
89 | scaleShowHorizontalLines?: boolean;
|
90 | scaleShowVerticalLines?: boolean;
|
91 | legendTemplate?: string;
|
92 | tooltips?: ChartTooltips;
|
93 | legend?: ChartLegend;
|
94 | scales?: ChartScales;
|
95 | title?: ChartTitle;
|
96 | }
|
97 |
|
98 | interface ChartTooltips {
|
99 | mode?: string;
|
100 | intersect?: boolean;
|
101 | }
|
102 |
|
103 | interface ChartLegend {
|
104 | display?: boolean;
|
105 | position?: string;
|
106 | }
|
107 |
|
108 | interface ChartScales {
|
109 | xAxes?: Array<ChartScalesOptions>;
|
110 | yAxes?: Array<ChartScalesOptions>;
|
111 | }
|
112 |
|
113 | interface ChartScalesOptions {
|
114 | stacked?: boolean;
|
115 | position?: string;
|
116 | id?: string;
|
117 | ticks?: ScaleTicksOptions;
|
118 | }
|
119 |
|
120 | interface ScaleTicksOptions {
|
121 | min?: number;
|
122 | max?: number;
|
123 | }
|
124 |
|
125 | interface ChartTitle {
|
126 | display?: boolean;
|
127 | text?: string;
|
128 | }
|
129 |
|
130 | interface PointsAtEvent {
|
131 | value: number;
|
132 | label: string;
|
133 | datasetLabel: string;
|
134 | strokeColor: string;
|
135 | fillColor: string;
|
136 | highlightFill: string;
|
137 | highlightStroke: string;
|
138 | x: number;
|
139 | y: number;
|
140 | }
|
141 |
|
142 | interface ChartInstance {
|
143 | clear: () => void;
|
144 | stop: () => void;
|
145 | resize: () => void;
|
146 | destroy: () => void;
|
147 | toBase64Image: () => string;
|
148 | generateLegend: () => string;
|
149 | }
|
150 |
|
151 | interface LinearInstance extends ChartInstance {
|
152 | getPointsAtEvent: (event: Event) => PointsAtEvent[];
|
153 | update: () => void;
|
154 | addData: (valuesArray: number[], label: string) => void;
|
155 | removeData: (index?: number) => void;
|
156 | }
|
157 |
|
158 | interface CircularInstance extends ChartInstance {
|
159 | getSegmentsAtEvent: (event: Event) => {}[];
|
160 | update: () => void;
|
161 | addData: (valuesArray: CircularChartData, index?: number) => void;
|
162 | removeData: (index: number) => void;
|
163 | segments: Array<CircularChartData>;
|
164 | }
|
165 |
|
166 | interface LineChartOptions extends ChartOptions {
|
167 | bezierCurve?: boolean;
|
168 | bezierCurveTension?: number;
|
169 | pointDot?: boolean;
|
170 | pointDotRadius?: number;
|
171 | pointDotStrokeWidth?: number;
|
172 | pointHitDetectionRadius?: number;
|
173 | datasetStroke?: boolean;
|
174 | datasetStrokeWidth?: number;
|
175 | datasetFill?: boolean;
|
176 | }
|
177 |
|
178 | interface BarChartOptions extends ChartOptions {
|
179 | scaleBeginAtZero?: boolean;
|
180 | barShowStroke?: boolean;
|
181 | barStrokeWidth?: number;
|
182 | barValueSpacing?: number;
|
183 | barDatasetSpacing?: number;
|
184 | }
|
185 |
|
186 | interface RadarChartOptions extends ChartSettings {
|
187 | scaleShowLine?: boolean;
|
188 | angleShowLineOut?: boolean;
|
189 | scaleShowLabels?: boolean;
|
190 | scaleBeginAtZero?: boolean;
|
191 | angleLineColor?: string;
|
192 | angleLineWidth?: number;
|
193 | pointLabelFontFamily?: string;
|
194 | pointLabelFontStyle?: string;
|
195 | pointLabelFontSize?: number;
|
196 | pointLabelFontColor?: string;
|
197 | pointDot?: boolean;
|
198 | pointDotRadius?: number;
|
199 | pointDotStrokeWidth?: number;
|
200 | pointHitDetectionRadius?: number;
|
201 | datasetStroke?: boolean;
|
202 | datasetStrokeWidth?: number;
|
203 | datasetFill?: boolean;
|
204 | legendTemplate?: string;
|
205 | }
|
206 |
|
207 | interface PolarAreaChartOptions extends ChartSettings {
|
208 | scaleShowLabelBackdrop?: boolean;
|
209 | scaleBackdropColor?: string;
|
210 | scaleBeginAtZero?: boolean;
|
211 | scaleBackdropPaddingY?: number;
|
212 | scaleBackdropPaddingX?: number;
|
213 | scaleShowLine?: boolean;
|
214 | segmentShowStroke?: boolean;
|
215 | segmentStrokeColor?: string;
|
216 | segmentStrokeWidth?: number;
|
217 | animationSteps?: number;
|
218 | animationEasing?: string;
|
219 | animateRotate?: boolean;
|
220 | animateScale?: boolean;
|
221 | legendTemplate?: string;
|
222 | }
|
223 |
|
224 | interface PieChartOptions extends ChartSettings {
|
225 | segmentShowStroke?: boolean;
|
226 | segmentStrokeColor?: string;
|
227 | segmentStrokeWidth?: number;
|
228 | percentageInnerCutout?: number;
|
229 | animationSteps?: number;
|
230 | animationEasing?: string;
|
231 | animateRotate?: boolean;
|
232 | animateScale?: boolean;
|
233 | legendTemplate?: string;
|
234 | }
|
235 |
|
236 | interface Chart {
|
237 | Line(data: LinearChartData, options?: LineChartOptions): LinearInstance;
|
238 | Bar(data: LinearChartData, options?: BarChartOptions): LinearInstance;
|
239 | Radar(data: LinearChartData, options?: RadarChartOptions): LinearInstance;
|
240 |
|
241 | PolarArea(data: CircularChartData[], options?: PolarAreaChartOptions): CircularInstance;
|
242 | Pie(data: CircularChartData[], options?: PieChartOptions): CircularInstance;
|
243 | Doughnut(data: CircularChartData[], options?: PieChartOptions): CircularInstance;
|
244 | }
|
245 |
|
246 | declare var Chart: {
|
247 | new (context: CanvasRenderingContext2D): Chart;
|
248 | defaults: {
|
249 | global: ChartSettings;
|
250 | }
|
251 | };
|