From 5a85550382751d3d28c70f56f8acb14940cd3996 Mon Sep 17 00:00:00 2001 From: shivarajkv Date: Fri, 21 Oct 2016 20:35:01 +0530 Subject: [PATCH 1/3] Initial commit on fushionchart typings --- fusioncharts/fusioncharts-tests.ts | 30 +++++ fusioncharts/fusioncharts.d.ts | 196 +++++++++++++++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 fusioncharts/fusioncharts-tests.ts create mode 100644 fusioncharts/fusioncharts.d.ts diff --git a/fusioncharts/fusioncharts-tests.ts b/fusioncharts/fusioncharts-tests.ts new file mode 100644 index 0000000000..32ae533705 --- /dev/null +++ b/fusioncharts/fusioncharts-tests.ts @@ -0,0 +1,30 @@ +/// + +FusionCharts.addEventListener('ready',(eventObject)=>{ + eventObject.stopPropagation(); +}); + + +let chart = new FusionCharts({ + type: 'column2d', + renderAt: 'chart-container', + width: '450', + height: '200', + dataFormat: 'json', + dataSource: { + "chart": { + "caption": "Monthly revenue for last year", + "subCaption": "Harry's SuperMart", + }, + "data": [{ + "label": "Jan", + "value": "420000" + }, { + "label": "Feb", + "value": "810000" + } + ] + } +}); + +chart.isActive(); \ No newline at end of file diff --git a/fusioncharts/fusioncharts.d.ts b/fusioncharts/fusioncharts.d.ts new file mode 100644 index 0000000000..d0e0a58e99 --- /dev/null +++ b/fusioncharts/fusioncharts.d.ts @@ -0,0 +1,196 @@ + +declare namespace FusionCharts { + + type ChartDataFormats = 'json' | 'jsonurl' | 'csv' | 'xml' | 'xmlurl'; + + type ImageHAlign = 'left' | 'right' | 'middle'; + + type ImageVAlign = 'top' | 'bottom' | 'middle'; + + interface EventObject { + type: string; + + eventId: number; + + sender: FusionCharts; + + cancelled: boolean; + + stopPropagation: () => void; + + prevented: boolean; + + preventDefault: () => void; + + detached: boolean; + + detachHandler: () => void; + } + + interface ChartObject { + + type?: string; + + id?: string; + + width?: number | string; + + height?: number | string; + + renderAt?: string; + + dataFormat?: ChartDataFormats; + + dataSource?: string | Object; + + events?: Object; + + link?: Object; + + showDataLoadingMessage?: boolean; + + showChartLoadingMessage?: boolean; + + baseChartMessageFont?: string; + + baseChartMessageFontSize?: string; + + baseChartMessageColor?: string; + + dataLoadStartMessage?: string; + + dataLoadErrorMessage?: string; + + dataInvalidMessage?: string; + + dataEmptyMessage?: string; + + typeNotSupportedMessage?: string; + + loadMessage?: string; + + renderErrorMessage?: string; + + containerBackgroundColor?: string; + + containerBackgroundOpacity?: number; + + containerClassName?: string; + + baseChartMessageImageHAlign?: ImageHAlign; + + dataLoadErrorMessageImageVAlign?: ImageVAlign; + + dataLoadErrorMessageImageAlpha?: number; + + dataLoadErrorMessageImageScale?: number; + + dataLoadStartMessageImageHAlign?: ImageHAlign; + + dataLoadStartMessageImageVAlign?: ImageVAlign; + + dataLoadStartMessageImageAlpha?: number; + + dataLoadStartMessageImageScale?: number; + + dataInvalidMessageImageHAlign?: ImageHAlign; + + dataInvalidMessageImageVAlign?: ImageVAlign; + + dataInvalidMessageImageAlpha?: number; + + dataInvalidMessageImageScale?: number; + + dataEmptyMessageImageHAlign?: ImageHAlign; + + dataEmptyMessageImageVAlign?: ImageVAlign; + + dataEmptyMessageImageAlpha?: number; + + dataEmptyMessageImageScale?: number; + + renderErrorMessageImageHAlign?: ImageHAlign; + + renderErrorMessageImageVAlign?: ImageVAlign; + + renderErrorMessageImageAlpha?: number; + + renderErrorMessageImageScale?: number; + + loadMessageImageHAlign?: ImageHAlign; + + loadMessageImageVAlign?: ImageVAlign; + + loadMessageImageAlpha?: number; + + loadMessageImageScale?: number; + } + + interface FusionCharts { + clone(overrides?: Object, argsOnly?: boolean): any; + + isActive(): boolean; + + chartType(value: string, options?: any): string; + + addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + + removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + + configureLink(param: Object | any[], level?: number): void; + + setChartAttribute(attributes: ChartObject | String, value?: string): void; + + getChartAttribute(attribute?: string | string[]): ChartObject; + + getXMLData(): any; + + setXMLData(data: string | Object): void; + + setXMLUrl(url: string): void; + + setChartDataUrl(url: string, format: ChartDataFormats): void; + + setChartData(data: string | Object, format: ChartDataFormats): void; + + getChartData(format: ChartDataFormats): any; + + dataReady(available?: boolean): boolean; + + feedData(stream: string): void; + + getData(): any; + + getDataWithId(): any; + + setData(value: number, label: string): void; + + } + + interface FusionChartStatic { + new (chartObject: ChartObject): FusionCharts; + + getObjectReference(elementId: string): Element; + + addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + + removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + + ready(callback: (fusionChartStatic?: FusionChartStatic) => any, context: any): FusionChartStatic; + + transcodeData(data: string | Object, source: ChartDataFormats, target: ChartDataFormats, advanced: boolean): any; + + + + } + +} + +declare module 'FusionCharts' { + var FusionCharts: FusionCharts.FusionChartStatic; + export = FusionCharts; +} + +declare var FusionCharts: FusionCharts.FusionChartStatic; + + From ff763f9cfbacd3574a5babb40e2d91de59dff698 Mon Sep 17 00:00:00 2001 From: Shivaraj kv Date: Sat, 22 Oct 2016 17:59:50 +0530 Subject: [PATCH 2/3] Added all possible methods and static variables. --- fusioncharts/fusioncharts-tests.ts | 27 ++++++- fusioncharts/fusioncharts.d.ts | 112 ++++++++++++++++++++++++++++- 2 files changed, 133 insertions(+), 6 deletions(-) diff --git a/fusioncharts/fusioncharts-tests.ts b/fusioncharts/fusioncharts-tests.ts index 32ae533705..d50bff87c9 100644 --- a/fusioncharts/fusioncharts-tests.ts +++ b/fusioncharts/fusioncharts-tests.ts @@ -4,8 +4,17 @@ FusionCharts.addEventListener('ready',(eventObject)=>{ eventObject.stopPropagation(); }); +FusionCharts.ready((fusioncharts)=>{ -let chart = new FusionCharts({ +}); + +FusionCharts.version; + +FusionCharts('chartId').render();; + +FusionCharts["debugger"].enable(true); + +let chartData ={ type: 'column2d', renderAt: 'chart-container', width: '450', @@ -25,6 +34,18 @@ let chart = new FusionCharts({ } ] } -}); +}; -chart.isActive(); \ No newline at end of file +let chart = new FusionCharts(chartData); +chart.render(); +chart.isActive(); +chart.addEventListener('ready',function(eventObject){ + eventObject.type; +}); +chart.chartType(); +chart.addVariable(); +chart.clone(); +chart.zoomTo(0,3); +chart.zoomOut(); +chart.setJSONData(chartData); +chart.ref; \ No newline at end of file diff --git a/fusioncharts/fusioncharts.d.ts b/fusioncharts/fusioncharts.d.ts index d0e0a58e99..5e68eab97f 100644 --- a/fusioncharts/fusioncharts.d.ts +++ b/fusioncharts/fusioncharts.d.ts @@ -1,3 +1,8 @@ +// Type definitions for FusionCharts 3.11.2 +// Project: http://www.fusioncharts.com +// Definitions by: Shivaraj KV +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + declare namespace FusionCharts { @@ -126,12 +131,22 @@ declare namespace FusionCharts { loadMessageImageScale?: number; } + interface Debugger { + outputFormat(format: any): void; + + outputTo(callback: (message: any) => any): void; + + enable(state:any,outputTo?:(message: any) =>any,outputFormat?:any):void + + enableFirebugLite():any; + } + interface FusionCharts { clone(overrides?: Object, argsOnly?: boolean): any; isActive(): boolean; - chartType(value: string, options?: any): string; + chartType(value?: string, options?: any): string; addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; @@ -165,10 +180,84 @@ declare namespace FusionCharts { setData(value: number, label: string): void; + stopUpdate(): void; + + restartUpdate(): void; + + isUpdateActive(): boolean; + + clearChart(): void; + + getSWFHTML(): any; + + addVariable(): void; + + getXML(): any; + + setDataXML(data: string | Object): void; + + setDataURL(url: string): void; + + hasRendered(): boolean; + + setTransparent(transparency?: boolean): void; + + isPlotItemSliced(index: number): boolean; + + slicePlotItem(index: number, slice: boolean): void; + + centerLabel(labelText: string, options?: Object): void; + + startingAngle(angle?: number, relative?: boolean): void; + + zoomOut(): void; + + zoomTo(startIndex: number, endIndex: number): void; + + resetChart(): void; + + setZoomMode(yes: boolean): void; + + getViewStartIndex(): number; + + getViewEndIndex(): number; + + print(options?: Object): void; + + exportChart(options?: Object): void; + + getSVGString(): string; + + lockResize(state: boolean): boolean; + + showChartMessage(text: string, modal?: boolean, cancelable?: boolean): void; + + getJSONData(): JSON; + + setJSONData(data: string | Object): void; + + setJSONUrl(url: string): void; + + getCSVData(): any; + + getDataAsCSV(): any; + + render(containerElement?: string | Element, insertMode?: string, callback?: () => any): FusionCharts; + + resizeTo(width: number | string, height: number | string): any; + + dispose(): void; + + configure(options: Object): void; + + ref: Object; + } interface FusionChartStatic { - new (chartObject: ChartObject): FusionCharts; + new (chartObject: ChartObject|Object): FusionCharts; + + (chartId: string): FusionCharts; getObjectReference(elementId: string): Element; @@ -176,10 +265,27 @@ declare namespace FusionCharts { removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; - ready(callback: (fusionChartStatic?: FusionChartStatic) => any, context: any): FusionChartStatic; + ready(callback: (fusionChartStatic?: FusionChartStatic) => any, context?: any): FusionChartStatic; transcodeData(data: string | Object, source: ChartDataFormats, target: ChartDataFormats, advanced: boolean): any; + batchExport(options: Object): void; + + formatNumber(num: number, type?: string, config?: Object): Element; + + setCurrentRenderer(name: string): void + + getCurrentRenderer(): string; + + render(options?: ChartObject, callback?: () => any): FusionCharts; + + version: string[]; + + items: Object; + + options: Object; + + debugger:Debugger; } From 8def457e061a90162dd857d3b23cebc3417f8ff8 Mon Sep 17 00:00:00 2001 From: Shivaraj kv Date: Wed, 26 Oct 2016 00:06:35 +0530 Subject: [PATCH 3/3] Replaced Object with {} --- fusioncharts/fusioncharts.d.ts | 48 +++++++++++++++++----------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/fusioncharts/fusioncharts.d.ts b/fusioncharts/fusioncharts.d.ts index 5e68eab97f..8af7589f07 100644 --- a/fusioncharts/fusioncharts.d.ts +++ b/fusioncharts/fusioncharts.d.ts @@ -46,11 +46,11 @@ declare namespace FusionCharts { dataFormat?: ChartDataFormats; - dataSource?: string | Object; + dataSource?: string | {}; - events?: Object; + events?: {}; - link?: Object; + link?: {}; showDataLoadingMessage?: boolean; @@ -142,17 +142,17 @@ declare namespace FusionCharts { } interface FusionCharts { - clone(overrides?: Object, argsOnly?: boolean): any; + clone(overrides?: {}, argsOnly?: boolean): any; isActive(): boolean; chartType(value?: string, options?: any): string; - addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: {}) => void): void; - removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: {}) => void): void; - configureLink(param: Object | any[], level?: number): void; + configureLink(param: {} | any[], level?: number): void; setChartAttribute(attributes: ChartObject | String, value?: string): void; @@ -160,13 +160,13 @@ declare namespace FusionCharts { getXMLData(): any; - setXMLData(data: string | Object): void; + setXMLData(data: string | {}): void; setXMLUrl(url: string): void; setChartDataUrl(url: string, format: ChartDataFormats): void; - setChartData(data: string | Object, format: ChartDataFormats): void; + setChartData(data: string | {}, format: ChartDataFormats): void; getChartData(format: ChartDataFormats): any; @@ -194,7 +194,7 @@ declare namespace FusionCharts { getXML(): any; - setDataXML(data: string | Object): void; + setDataXML(data: string | {}): void; setDataURL(url: string): void; @@ -206,7 +206,7 @@ declare namespace FusionCharts { slicePlotItem(index: number, slice: boolean): void; - centerLabel(labelText: string, options?: Object): void; + centerLabel(labelText: string, options?: {}): void; startingAngle(angle?: number, relative?: boolean): void; @@ -222,9 +222,9 @@ declare namespace FusionCharts { getViewEndIndex(): number; - print(options?: Object): void; + print(options?: {}): void; - exportChart(options?: Object): void; + exportChart(options?: {}): void; getSVGString(): string; @@ -234,7 +234,7 @@ declare namespace FusionCharts { getJSONData(): JSON; - setJSONData(data: string | Object): void; + setJSONData(data: string | {}): void; setJSONUrl(url: string): void; @@ -248,30 +248,30 @@ declare namespace FusionCharts { dispose(): void; - configure(options: Object): void; + configure(options: {}): void; - ref: Object; + ref: {}; } interface FusionChartStatic { - new (chartObject: ChartObject|Object): FusionCharts; + new (chartObject: ChartObject|{}): FusionCharts; (chartId: string): FusionCharts; getObjectReference(elementId: string): Element; - addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + addEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: {}) => void): void; - removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: Object) => void): void; + removeEventListener(type: string | string[], listener: (eventObject?: EventObject, eventArgs?: {}) => void): void; ready(callback: (fusionChartStatic?: FusionChartStatic) => any, context?: any): FusionChartStatic; - transcodeData(data: string | Object, source: ChartDataFormats, target: ChartDataFormats, advanced: boolean): any; + transcodeData(data: string | {}, source: ChartDataFormats, target: ChartDataFormats, advanced: boolean): any; - batchExport(options: Object): void; + batchExport(options: {}): void; - formatNumber(num: number, type?: string, config?: Object): Element; + formatNumber(num: number, type?: string, config?: {}): Element; setCurrentRenderer(name: string): void @@ -281,9 +281,9 @@ declare namespace FusionCharts { version: string[]; - items: Object; + items: {}; - options: Object; + options: {}; debugger:Debugger;