UNPKG

12.6 kBTypeScriptView Raw
1// Type definitions for froalacharts 3.11
2// Project: http://www.froalacharts.com
3// Definitions by: Rohit Kumar <https://github.com/rohitkr>, Shivaraj KV <https://github.com/shivarajkv>
4// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5
6
7declare namespace FroalaCharts {
8
9 type ChartDataFormats = 'json' | 'jsonurl' | 'csv' | 'xml' | 'xmlurl';
10
11 type ImageHAlign = 'left' | 'right' | 'middle';
12
13 type ImageVAlign = 'top' | 'bottom' | 'middle';
14
15 interface EventObject {
16 type: string;
17
18 eventId: number;
19
20 sender: FroalaCharts;
21
22 cancelled: boolean;
23
24 stopPropagation: () => void;
25
26 prevented: boolean;
27
28 preventDefault: () => void;
29
30 detached: boolean;
31
32 detachHandler: () => void;
33 }
34
35 interface ChartObject {
36
37 type?: string;
38
39 id?: string;
40
41 width?: number | string;
42
43 height?: number | string;
44
45 renderAt?: string;
46
47 dataFormat?: ChartDataFormats;
48
49 dataSource?: string | {};
50
51 events?: {};
52
53 link?: {};
54
55 showDataLoadingMessage?: boolean;
56
57 showChartLoadingMessage?: boolean;
58
59 baseChartMessageFont?: string;
60
61 baseChartMessageFontSize?: string;
62
63 baseChartMessageColor?: string;
64
65 dataLoadStartMessage?: string;
66
67 dataLoadErrorMessage?: string;
68
69 dataInvalidMessage?: string;
70
71 dataEmptyMessage?: string;
72
73 typeNotSupportedMessage?: string;
74
75 loadMessage?: string;
76
77 renderErrorMessage?: string;
78
79 containerBackgroundColor?: string;
80
81 containerBackgroundOpacity?: number;
82
83 containerClassName?: string;
84
85 baseChartMessageImageHAlign?: ImageHAlign;
86
87 dataLoadErrorMessageImageVAlign?: ImageVAlign;
88
89 dataLoadErrorMessageImageAlpha?: number;
90
91 dataLoadErrorMessageImageScale?: number;
92
93 dataLoadStartMessageImageHAlign?: ImageHAlign;
94
95 dataLoadStartMessageImageVAlign?: ImageVAlign;
96
97 dataLoadStartMessageImageAlpha?: number;
98
99 dataLoadStartMessageImageScale?: number;
100
101 dataInvalidMessageImageHAlign?: ImageHAlign;
102
103 dataInvalidMessageImageVAlign?: ImageVAlign;
104
105 dataInvalidMessageImageAlpha?: number;
106
107 dataInvalidMessageImageScale?: number;
108
109 dataEmptyMessageImageHAlign?: ImageHAlign;
110
111 dataEmptyMessageImageVAlign?: ImageVAlign;
112
113 dataEmptyMessageImageAlpha?: number;
114
115 dataEmptyMessageImageScale?: number;
116
117 renderErrorMessageImageHAlign?: ImageHAlign;
118
119 renderErrorMessageImageVAlign?: ImageVAlign;
120
121 renderErrorMessageImageAlpha?: number;
122
123 renderErrorMessageImageScale?: number;
124
125 loadMessageImageHAlign?: ImageHAlign;
126
127 loadMessageImageVAlign?: ImageVAlign;
128
129 loadMessageImageAlpha?: number;
130
131 loadMessageImageScale?: number;
132 }
133
134 interface Debugger {
135 outputFormat(format: any): void;
136
137 outputTo(callback: (message: any) => any): void;
138
139 enable(state: any, outputTo?: (message: any) => any, outputFormat?: any): void;
140
141 enableFirebugLite(): any;
142 }
143
144 interface FroalaCharts {
145 clone(overrides?: {}, argsOnly?: boolean): any;
146
147 isActive(): boolean;
148
149 chartType(value?: string, options?: any): string;
150
151 addEventListener(eventType: string | string[], callback: (eventObject?: EventObject, eventArgs?: {}) => void, options?: {}): any;
152
153 removeEventListener(eventType: string | string[], callback: (eventObject?: EventObject, eventArgs?: {}) => void): void;
154
155 configureLink(param: {} | any[], level?: number): void;
156
157 setChartAttribute(attributes: ChartObject | string, value?: string): void;
158
159 getChartAttribute(attribute?: string | string[]): ChartObject;
160
161 getXMLData(): any;
162
163 setXMLData(data: string | {}): void;
164
165 setXMLUrl(url: string): void;
166
167 setChartDataUrl(url: string, format: ChartDataFormats, config?: any, callback?: () => any, silent?: boolean): any;
168
169 setChartData(data: {}, format: ChartDataFormats, config?: any, callback?: () => any, silent?: boolean): void;
170
171 getChartData(format: ChartDataFormats, advanced?: boolean, update?: boolean): any;
172
173 dataReady(available?: boolean): boolean;
174
175 feedData(stream: string): void;
176
177 getData(): any;
178
179 getDataWithId(): any;
180
181 setData(value: number, label: string): void;
182
183 stopUpdate(): void;
184
185 restartUpdate(): void;
186
187 isUpdateActive(): boolean;
188
189 clearChart(): void;
190
191 setDataXML(data: string | {}): void;
192
193 setDataURL(url: string, dataType: ChartDataFormats): void;
194
195 hasRendered(): boolean;
196
197 setTransparent(transparency?: boolean): void;
198
199 isPlotItemSliced(index: number): boolean;
200
201 slicePlotItem(index: number, slice?: boolean, callback?: () => any): void;
202
203 centerLabel(labelText: string, options?: {}): void;
204
205 startingAngle(angle?: number, relative?: boolean, callback?: (output: any) => void): any;
206
207 zoomOut(): void;
208
209 zoomTo(startIndex: number, endIndex: number, event?: any): void;
210
211 resetChart(): void;
212
213 setZoomMode(yes: boolean): void;
214
215 getViewStartIndex(callback?: (startIndex: number) => void): number;
216
217 getViewEndIndex(callback?: (endIndex: number) => void): number;
218
219 print(options?: {}): any;
220
221 exportChart(options?: {}): boolean;
222
223 getSVGString(callback?: (svg:string) => void): string;
224
225 lockResize(state: boolean): boolean;
226
227 showChartMessage(text: string, modal?: boolean, cancelable?: boolean, customAttrs?: any): void;
228
229 showMessage(msg: string, attrs?: any, cancelable?: boolean): void;
230
231 hideChartMessage(): void;
232
233 getJSONData(): JSON;
234
235 setJSONData(data: string | {}): void;
236
237 setJSONUrl(url: string): void;
238
239 getCSVData(): any;
240
241 getDataAsCSV(): any;
242
243 render(containerElement?: string | Element, insertMode?: string, callback?: () => any): FroalaCharts;
244
245 resizeTo(width: number | string, height: number | string, silent?: boolean): any;
246
247 dispose(): void;
248
249 configure(options: {}): void;
250
251 getLowerLimit(callback?: (lowerLimit: number) => void): number;
252
253 getUpperLimit(callback?: (upperLimit: number) => void): number;
254
255 setLowerLimit(limit: number, callback?: (isApplied: boolean) => void): void;
256
257 setUpperLimit(limit: number, callback?: (isApplied: boolean) => void): void;
258
259 showLog(): void;
260
261 hideLog(): void;
262
263 clearLog(): void;
264
265 annotations: {
266 update(id: string, config:any): any;
267 show(id: string): void;
268 hide(id: string): void;
269 destroy(id: string): void;
270 clear(): void;
271 addItem(groupId: any, itemConfig?: any, drawImmediate?: any, component?: any): any;
272 addGroup(config?: any, component?: any): any;
273 };
274
275 setDataForId(id: any, value: any): void;
276 getDataForId(id: any, callback?: (value: any) => void): any;
277
278 scrollTo(value: number): void;
279
280 ref: {};
281
282 }
283
284 interface Handler {
285 (eventObj: any): void;
286 }
287
288 interface DataTable {
289 count(): number;
290
291 getData(offset?:number, numberOfItems?:number): any;
292
293 min(columnName: string) : number;
294
295 max(columnName: string) : number;
296
297 unique(columnName: string) : Array<any>;
298
299 extents(columnName: string): any;
300
301 getSchema(): Array<any>;
302
303 addColumns(...args: any[]): void;
304
305 query(queryOperations: any | Array<any>): DataTable;
306
307 getDataStore(): DataStore;
308
309 indexOf(columnName: string): number;
310
311 on(eventName: string, handler: Handler | Array<Handler>): void;
312
313 off(eventName: string, handler: Handler | Array<Handler>): void;
314
315 dispose(): void;
316 }
317
318 interface DataStore {
319 createDataTable(data: Array<any>, schema: Array<any>, config?: any, id?: string): DataTable;
320
321 appendRows(rows: Array<Array<any>>, id?: string): void;
322
323 getDataTable(id: string): DataTable;
324
325 on(eventName: string, handler: Handler | Array<Handler>): void;
326
327 off(eventName: string, handler: Handler | Array<Handler>): void;
328
329 trigger(eventName: string, data?: any): void;
330
331 dispose(): void;
332 }
333
334 interface DatetimeUnits {
335 Year: any;
336 Quarter: any;
337 Month: any;
338 Week: any;
339 Day: any;
340 Hour: any;
341 Minute: any;
342 Second: any;
343 Millisecond: any;
344 }
345
346 interface Weekdays {
347 Sunday: any;
348 Monday: any;
349 Tuesday: any;
350 Wednesday: any;
351 Thursday: any;
352 Friday: any;
353 Saturday: any;
354 }
355
356 interface Duration {
357 Unit: string;
358 number: number;
359 ms: number;
360 }
361
362 interface Utils {
363 DatetimeUnits: DatetimeUnits;
364
365 Weekdays: Weekdays;
366
367 duration(DatetimeUnits: DatetimeUnits, number: number): any;
368
369 before(duration: Duration, date?: number, isUTC?: boolean, weekStartFrom?: Weekdays): number;
370
371 after(duration: Duration, date?: number, isUTC?: boolean, weekStartFrom?: Weekdays): number;
372
373 parseDate(date: string, format?: string, isUTC?: boolean): number;
374
375 formatDate(timestamp: number, format?: string, isUTC?: boolean): number;
376 }
377
378 interface Operators {
379 select(columnName: string | Array<string>): any;
380
381 sort(customSortQuery: any | Array<any> | ((a: any, b: any) => any)): any;
382
383 equals(columnName: string, value: number): any;
384
385 greater(columnName: string, value: number): any;
386
387 greaterEquals(columnName: string, value: number): any;
388
389 less(columnName: string, value: number): any;
390
391 lessEquals(columnName: string, value: number): any;
392
393 between(columnName: string, startValue: number, endValue: number): any;
394
395 filter(customFilterQuery: ((row: Array<any>, columns: any) => any)): any;
396
397 groupBy(groupConfigArr: any | Array<any>, aggrConfigArr: any | Array<any>): any;
398
399 pivot(groupConfigArr: any | Array<any>, pivotColumn: string, aggrConfigArr: any | Array<any>): any;
400
401 pipe(...args: any[]): Array<any>;
402 }
403
404 interface DataStoreStatic {
405 new (): DataStore;
406
407 Operators: Operators;
408
409 Aggregators: any;
410 }
411
412 interface FroalaChartStatic {
413 new (chartObject: ChartObject|{}): FroalaCharts;
414
415 (chartId: string): FroalaCharts;
416
417 getObjectReference(elementId: string): Element;
418
419 addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: {}) => void): void;
420
421 removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: {}) => void): void;
422
423 ready(callback: (froalaChartStatic?: FroalaChartStatic) => any, context?: any): FroalaChartStatic;
424
425 transcodeData(data: string | {}, source: ChartDataFormats, target: ChartDataFormats, advanced: boolean): any;
426
427 batchExport(options: {}): void;
428
429 formatNumber(num: number, type?: string, config?: {}): Element;
430
431 setCurrentRenderer(name: string): void;
432
433 getCurrentRenderer(): string;
434
435 render(options?: ChartObject, callback?: () => any): FroalaCharts;
436
437 addDep(dep: any): void;
438
439 getDep(name: string, type: string): any;
440
441 on(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: {}) => void): void;
442
443 setAnimation(rule: any): void;
444
445 setEasingEffect(name: string, fn: () => any): void;
446
447 getScriptBaseURI(): string;
448
449 setScriptBaseURI(scriptBaseURI: string): void;
450
451 getChartFromId(id: string): ChartObject;
452
453 DataStore: DataStoreStatic;
454
455 Utils: Utils;
456
457 version: string[];
458
459 items: {};
460
461 options: {
462 creditLabel?: string | boolean,
463 defaultTheme?: string,
464 export?: {
465 useCanvas?: string | boolean
466 },
467 preventTrackResize?: boolean,
468 resizeTrackingInterval?: number,
469 scriptBaseUri?: string,
470 SVGDefinitionURL?: string
471 };
472
473 debugger: Debugger;
474
475
476 }
477
478}
479
480declare var FroalaCharts: FroalaCharts.FroalaChartStatic;
481export = FroalaCharts;
482export as namespace FroalaCharts;
\No newline at end of file