From c63c6c7476d64f2619550c75bcba69b280930c1a Mon Sep 17 00:00:00 2001 From: Damiano Date: Mon, 20 Apr 2015 19:32:13 +0200 Subject: [PATCH 1/3] Complete Union Type refactories and fixed some wrong types --- highcharts/highcharts-tests.ts | 22 +++---- highcharts/highcharts.d.ts | 105 ++++++++++++++++----------------- 2 files changed, 63 insertions(+), 64 deletions(-) diff --git a/highcharts/highcharts-tests.ts b/highcharts/highcharts-tests.ts index 7e131b60b..d801f29ee 100644 --- a/highcharts/highcharts-tests.ts +++ b/highcharts/highcharts-tests.ts @@ -2,14 +2,19 @@ /// -var animate: HighchartsBoolOrAnimation; -animate = true; -animate = { duration: 200, easing: "linear" }; +var animate: HighchartsAnimation = { + duration: 200, + easing: "linear" +}; -var gradient: HighchartsColorOrGradient; -gradient = { - linearGradient: { x0: 0, y0: 0, x1: 500, y1: 500 }, +var gradient: HighchartsGradient = { + linearGradient: { + x0: 0, + y0: 0, + x1: 500, + y1: 500 + }, stops: [ [0, 'rgb(255, 255, 255)'], [1, 'rgb(200, 200, 255)'] @@ -18,11 +23,6 @@ gradient = { var color = "#fcfcff"; -var backgound: HighchartsColorOrGradient; - -backgound = gradient; -backgound = color; - var chart1 = new Highcharts.Chart({ chart: { renderTo: "container" diff --git a/highcharts/highcharts.d.ts b/highcharts/highcharts.d.ts index 0049c522a..c4baaaee2 100644 --- a/highcharts/highcharts.d.ts +++ b/highcharts/highcharts.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Highcharts 2.3.3 +// Type definitions for Highcharts 4.0.4 // Project: http://www.highcharts.com/ // Definitions by: Damiano Gambarotto // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -151,9 +151,6 @@ interface HighchartsAnimation { easing?: string; // "linear" | "swing" } -interface HighchartsBoolOrAnimation extends HighchartsAnimation { -} - interface HighchartsSelectionEvent extends Event { xAxis: HighchartsAxisOptions[]; yAxis: HighchartsAxisOptions[]; @@ -167,7 +164,7 @@ interface HighchartsChartEvents { selection?: (event: HighchartsSelectionEvent) => void; } -interface HighchartsColorOrGradient { +interface HighchartsGradient { linearGradient?: { x0: number; y0: number; x1: number; y1: number; }; @@ -175,12 +172,11 @@ interface HighchartsColorOrGradient { cx: number; cy: number; r: number; }; stops?: any[][]; - - brighten?(amount: number): HighchartsColorOrGradient; - get?(type: string): string; + brighten? (amount: number): string | HighchartsGradient; + get? (type: string): string; } -interface HighchartsBoolOrShadow { +interface HighchartsShadow { color?: string; offsetX?: number; offsetY?: number; @@ -191,21 +187,21 @@ interface HighchartsBoolOrShadow { interface HighchartsChartResetZoomButton { position: HighchartsPosition; relativeTo?: string; - theme?: HighchartsChartResetZoomButtonTheme; //TO DO + theme?: HighchartsChartResetZoomButtonTheme; } interface HighchartsChartResetZoomButtonTheme { - fill?:string; //css HEX colours. + fill?: string; //css HEX colours. stroke?: string;//css HEX colours. r?: number; // Radius % states?: any; // HTML element states eg: hover, with css attributes in object. - display?:string; // css attr eg: 'none' + display?: string; // css attr eg: 'none' } interface HighchartsChartOptions { alignTicks?: boolean; - animation?: HighchartsBoolOrAnimation; - backgroundColor?: HighchartsColorOrGradient; + animation?: boolean | HighchartsAnimation; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -220,17 +216,17 @@ interface HighchartsChartOptions { marginLeft?: number; marginRight?: number; marginTop?: number; - plotBackGroundColor?: HighchartsColorOrGradient; + plotBackGroundColor?: string | HighchartsGradient; plotBackGroundImage?: string; plotBorderColor?: string; plotBorderWidth?: number; - plotShadow?: HighchartsBoolOrShadow; + plotShadow?: boolean | HighchartsShadow; polar?: boolean; reflow?: boolean; renderTo?: any; resetZoomButton?: HighchartsChartResetZoomButton; selectionMarkerFill?: string; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showAxes?: boolean; spacingBottom?: number; spacingLeft?: number; @@ -272,7 +268,7 @@ interface HighchartsMenuItem { interface HighchartsButton { align?: string; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -310,8 +306,10 @@ interface HighchartsExportingOptions { } interface HighchartsGlobalOptions { + Date?: any; VMLRadialGradientURL?: string; canvasToolsURL?: string; + timezoneOffset?: number; useUTC?: boolean; } @@ -345,7 +343,7 @@ interface HighchartsLangOptions { interface HighchartsLegendNavigationOptions { activeColor?: string; - animation?: HighchartsBoolOrAnimation; + animation?: boolean | HighchartsAnimation; arrowSize?: number; inactiveColor?: string; style?: HighchartsCSSObject; @@ -353,7 +351,7 @@ interface HighchartsLegendNavigationOptions { interface HighchartsLegendOptions { align?: string; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -375,7 +373,7 @@ interface HighchartsLegendOptions { reversed?: boolean; rtl?: boolean; verticalAlign?: string; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; style?: HighchartsCSSObject; symbolPadding?: number; symbolWidth?: number; @@ -401,7 +399,7 @@ interface HighchartsNavigationOptions { // Not sure of this interface interface HighchartsPaneBackground { - backgroundColor: HighchartsColorOrGradient; + backgroundColor: string | HighchartsGradient; borderColor?: string; borderWidth?: number; innerRadius?: string; @@ -412,12 +410,13 @@ interface HighchartsPaneOptions { background?: HighchartsPaneBackground[]; center?: [number|string, number|string]; // [x,y] | ["50%","50%" ] endAngle?: number; + size?: number | string; startAngle?: number; } interface HighchartsDataLabels { align?: string; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -428,7 +427,7 @@ interface HighchartsDataLabels { overflow?: string; padding?: number; rotation?: number; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; staggerLines?: any; // ?? need to check API step?: any; // ?? need to check API style?: HighchartsCSSObject; @@ -504,8 +503,8 @@ interface HighchartsAreaChart { dataLabels?: HighchartsDataLabels; enableMouseTracking?: boolean; events?: HighchartsPlotEvents; - fillColor?: HighchartsColorOrGradient; - fillOpacity?: boolean; + fillColor?: string | HighchartsGradient; + fillOpacity?: number; id?: string; lineColor?: string; lineWidth?: number; @@ -514,10 +513,10 @@ interface HighchartsAreaChart { events: HighchartsPointEvents; }; pointInterval?: number; - pointPlacement?: string; // null, "on", "between" + pointPlacement?: string | number; // null, "on", "between" pointStart?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; stacking?: string; @@ -529,13 +528,13 @@ interface HighchartsAreaChart { tooltip?: HighchartsTooltipOptions; trackByArea?: boolean; turboThreshold?: number; - visible?: number; + visible?: boolean; zIndex?: number; } interface HighchartsRangeDataLabels { align?: string; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -546,7 +545,7 @@ interface HighchartsRangeDataLabels { overflow?: string; padding?: number; rotation?: number; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; staggerLines?: any; // ?? need to check API step?: any; // ?? need to check API style?: HighchartsCSSObject; @@ -569,8 +568,8 @@ interface HighchartsAreaRangeChart { dataLabels?: HighchartsRangeDataLabels; enableMouseTracking?: boolean; events?: HighchartsPlotEvents; - fillColor?: HighchartsColorOrGradient; - fillOpacity?: boolean; + fillColor?: string | HighchartsGradient; + fillOpacity?: number; id?: string; lineColor?: string; lineWidth?: number; @@ -578,10 +577,10 @@ interface HighchartsAreaRangeChart { events: HighchartsPointEvents; }; pointInterval?: number; - pointPlacement?: string; // null, "on", "between" + pointPlacement?: string | number; // null, "on", "between" pointStart?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; stacking?: string; @@ -592,7 +591,7 @@ interface HighchartsAreaRangeChart { threshold?: number; trackByArea?: boolean; turboThreshold?: number; - visible?: number; + visible?: boolean; zIndex?: number; } @@ -623,7 +622,7 @@ interface HighchartsBarChart { pointStart?: number; pointWidth?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; stacking?: string; @@ -659,12 +658,12 @@ interface HighchartsColumnRangeChart { }; pointInterval?: number; pointPadding?: number; - pointPlacement?: string; // null, "on", "between" + pointPlacement?: string | number; // null, "on", "between" pointRange?: number; pointStart?: number; pointWidth?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; stacking?: string; @@ -743,7 +742,7 @@ interface HighchartsLineChart { pointPlacement?: string; // null, "on", "between" pointStart?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; stacking?: string; @@ -771,7 +770,7 @@ interface HighchartsPieChart { events?: HighchartsPlotEvents; id?: string; ignoreHiddenPoint?: boolean; - innerSize?: any; // string or number; + innerSize?: number | string; lineWidth?: number; marker?: HighchartsMarker; point?: { @@ -779,9 +778,9 @@ interface HighchartsPieChart { }; pointPlacement?: string; // null, "on", "between" selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showInLegend?: boolean; - size?: any; // string or number; + size?: number | string; slicedOffset?: number; states?: { hover: HighchartsAreaStates; @@ -813,7 +812,7 @@ interface HighchartsScatterChart { pointPlacement?: string; // null, "on", "between" pointStart?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; states?: { @@ -849,7 +848,7 @@ interface HighchartsSeriesChart { pointPlacement?: string; // null, "on", "between" pointStart?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; stacking?: string; @@ -952,7 +951,7 @@ interface HighchartsPlotPoint { interface HighchartsTooltipOptions { animation?: boolean; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -1005,7 +1004,7 @@ interface HighchartsAxisObject { setCategories(categories: string[], redraw: boolean): void; setExtremes(min: number, max: number): void; setExtremes(min: number, max: number, redraw: boolean): void; - setExtremes(min: number, max: number, redraw: boolean, animation: HighchartsBoolOrAnimation): void; + setExtremes(min: number, max: number, redraw: boolean, animation: boolean | HighchartsAnimation): void; setTitle(title: HighchartsAxisTitle): void; setTitle(title: HighchartsAxisTitle, redraw: boolean): void; } @@ -1031,8 +1030,8 @@ interface HighchartsChartObject { redraw(): void; series: HighchartsSeriesObject[]; setSize(width: number, height: number): void; - setSize(width: number, height: number, anumation: boolean): void; - setSize(width: number, height: number, anumation: HighchartsAnimation): void; + setSize(width: number, height: number, animation: boolean): void; + setSize(width: number, height: number, animation: HighchartsAnimation): void; setTitle(title: HighchartsTitleOptions): void; setTitle(title: HighchartsTitleOptions, subtitle: HighchartsSubtitleOptions): void; showLoading(): void; @@ -1045,18 +1044,18 @@ interface HighchartsChartObject { interface HighchartsChart { new (options: HighchartsOptions): HighchartsChartObject; - new (options: HighchartsOptions, callback: (chart: HighchartsChartObject) => void ): HighchartsChartObject; + new (options: HighchartsOptions, callback: (chart: HighchartsChartObject) => void): HighchartsChartObject; } interface HighchartsElementObject { add(): HighchartsElementObject; add(parent: HighchartsElementObject): HighchartsElementObject; - animate(attributes: any, animation?: any): HighchartsElementObject; + animate(attributes: any, animation?: any): HighchartsElementObject; attr(hash: any): HighchartsElementObject; css(hash: HighchartsCSSObject): HighchartsElementObject; destroy(): void; getBBox(): { x: number; y: number; height: number; width: number; }; - on(eventType: string, handler: () => void ): HighchartsElementObject; + on(eventType: string, handler: () => void): HighchartsElementObject; toFront(): HighchartsElementObject; } @@ -1077,7 +1076,7 @@ interface HighchartsRenderer { interface HighchartsStatic { Chart: HighchartsChart; Renderer: HighchartsRenderer; - Color(color: HighchartsColorOrGradient): HighchartsColorOrGradient; + Color(color: string | HighchartsGradient): string | HighchartsGradient; dateFormat(format: string, time?: number, capitalize?: boolean): string; numberFormat(value: number, decimals?: number, decimalPoint?: string, thousandsSep?: string): string; From f28953c23fe55c4a91714520cfc2c52a72f3edb5 Mon Sep 17 00:00:00 2001 From: Damiano Date: Tue, 21 Apr 2015 00:50:38 +0200 Subject: [PATCH 2/3] More interface updates from latest Highcharts API --- highcharts/highcharts-tests.ts | 15 +- highcharts/highcharts.d.ts | 572 ++++++++++++++++++++++----------- 2 files changed, 393 insertions(+), 194 deletions(-) diff --git a/highcharts/highcharts-tests.ts b/highcharts/highcharts-tests.ts index d801f29ee..464f536d9 100644 --- a/highcharts/highcharts-tests.ts +++ b/highcharts/highcharts-tests.ts @@ -1,6 +1,19 @@ /// /// +Highcharts.setOptions({ + global: { + useUTC: false + } +}); + +Highcharts.setOptions({ + lang: { + months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'], + weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'] + } +}); + var animate: HighchartsAnimation = { duration: 200, @@ -121,6 +134,6 @@ var highChartSettings: HighchartsOptions = { }] }; -var container = $("#container").highcharts(highChartSettings, function (chart) { +var container = $("#container").highcharts(highChartSettings, (chart) => { chart.series[0].setVisible(true, true); }); \ No newline at end of file diff --git a/highcharts/highcharts.d.ts b/highcharts/highcharts.d.ts index c4baaaee2..6bbdb5390 100644 --- a/highcharts/highcharts.d.ts +++ b/highcharts/highcharts.d.ts @@ -305,11 +305,11 @@ interface HighchartsExportingOptions { width?: number; } -interface HighchartsGlobalOptions { - Date?: any; +interface HighchartsGlobalObject { + Date?: any; VMLRadialGradientURL?: string; canvasToolsURL?: string; - timezoneOffset?: number; + timezoneOffset?: number; useUTC?: boolean; } @@ -323,17 +323,19 @@ interface HighchartsLabelsOptions { style?: HighchartsCSSObject; } -interface HighchartsLangOptions { +interface HighchartsLangObject { + contextButtonTitle?: string; decimalPoint?: string; downloadJPEG?: string; downloadPDF?: string; downloadPNG?: string; downloadSVG?: string; - exportButtonTitle?: string; + drillUpText?: string; loading?: string; months?: string[]; + noData?: string; numericSymbols?: string[]; - printButtonTitle?: string; + printChart?: string; resetZoom?: string; resetZoomTitle?: string; shortMonths?: string[]; @@ -410,7 +412,7 @@ interface HighchartsPaneOptions { background?: HighchartsPaneBackground[]; center?: [number|string, number|string]; // [x,y] | ["50%","50%" ] endAngle?: number; - size?: number | string; + size?: number | string; startAngle?: number; } @@ -491,47 +493,6 @@ interface HighchartsBarStates extends HighchartsAreaStates { brightness?: number; } -interface HighchartsAreaChart { - allowPointSelect?: boolean; - animation?: boolean; - color?: string; - connectEnds?: boolean; - connectNulls?: boolean; - cropThreshold?: number; - cursor?: string; - dashStyle?: string; //Solid ShortDash ShortDot ShortDashDot ShortDashDotDot Dot Dash LongDash DashDot LongDashDot LongDashDotDot - dataLabels?: HighchartsDataLabels; - enableMouseTracking?: boolean; - events?: HighchartsPlotEvents; - fillColor?: string | HighchartsGradient; - fillOpacity?: number; - id?: string; - lineColor?: string; - lineWidth?: number; - marker?: HighchartsMarker; - point?: { - events: HighchartsPointEvents; - }; - pointInterval?: number; - pointPlacement?: string | number; // null, "on", "between" - pointStart?: number; - selected?: boolean; - shadow?: boolean | HighchartsShadow; - showCheckbox?: boolean; - showInLegend?: boolean; - stacking?: string; - states?: { - hover: HighchartsAreaStates; - }; - stickyTracking?: boolean; - threshold?: number; - tooltip?: HighchartsTooltipOptions; - trackByArea?: boolean; - turboThreshold?: number; - visible?: boolean; - zIndex?: number; -} - interface HighchartsRangeDataLabels { align?: string; backgroundColor?: string | HighchartsGradient; @@ -540,14 +501,15 @@ interface HighchartsRangeDataLabels { borderWidth?: number; color?: string; crop?: boolean; + defer?: boolean; enabled?: boolean; + format?: string; formatter?: () => any; + inside?: boolean; overflow?: string; padding?: number; rotation?: number; shadow?: boolean | HighchartsShadow; - staggerLines?: any; // ?? need to check API - step?: any; // ?? need to check API style?: HighchartsCSSObject; useHTML?: boolean; verticalAlign?: string; @@ -555,125 +517,6 @@ interface HighchartsRangeDataLabels { xLow?: number; yHigh?: number; yLow?: number; -} - -interface HighchartsAreaRangeChart { - allowPointSelect?: boolean; - animation?: boolean; - color?: string; - connectNulls?: boolean; - cropThreshold?: number; - cursor?: string; - dashStyle?: string; //Solid ShortDash ShortDot ShortDashDot ShortDashDotDot Dot Dash LongDash DashDot LongDashDot LongDashDotDot - dataLabels?: HighchartsRangeDataLabels; - enableMouseTracking?: boolean; - events?: HighchartsPlotEvents; - fillColor?: string | HighchartsGradient; - fillOpacity?: number; - id?: string; - lineColor?: string; - lineWidth?: number; - point?: { - events: HighchartsPointEvents; - }; - pointInterval?: number; - pointPlacement?: string | number; // null, "on", "between" - pointStart?: number; - selected?: boolean; - shadow?: boolean | HighchartsShadow; - showCheckbox?: boolean; - showInLegend?: boolean; - stacking?: string; - states?: { - hover: HighchartsAreaStates; - }; - stickyTracking?: boolean; - threshold?: number; - trackByArea?: boolean; - turboThreshold?: number; - visible?: boolean; - zIndex?: number; -} - -interface HighchartsBarChart { - allowPointSelect?: boolean; - animation?: boolean; - borderColor?: string; - borderRadius?: number; - borderWidth?: number; - color?: string; - colorByPoint?: boolean; - cropThreshold?: number; - cursor?: string; - dataLabels?: HighchartsDataLabels; - enableMouseTracking?: boolean; - events?: HighchartsPlotEvents; - groupPadding?: number; - grouping?: boolean; - id?: string; - minPointLength?: number; - point?: { - events: HighchartsPointEvents; - }; - pointInterval?: number; - pointPadding?: number; - pointPlacement?: string; // null, "on", "between" - pointRange?: number; - pointStart?: number; - pointWidth?: number; - selected?: boolean; - shadow?: boolean | HighchartsShadow; - showCheckbox?: boolean; - showInLegend?: boolean; - stacking?: string; - states?: { - hover: HighchartsBarStates; - }; - stickyTracking?: boolean; - tooltip?: HighchartsTooltipOptions; - turboThreshold?: number; - visible?: number; - zIndex?: number; -} - -interface HighchartsColumnRangeChart { - allowPointSelect?: boolean; - animation?: boolean; - borderColor?: string; - borderRadius?: number; - borderWidth?: number; - color?: string; - colorByPoint?: boolean; - cropThreshold?: number; - cursor?: string; - dataLabels?: HighchartsRangeDataLabels; - enableMouseTracking?: boolean; - events?: HighchartsPlotEvents; - groupPadding?: number; - grouping?: boolean; - id?: string; - minPointLength?: number; - point?: { - events: HighchartsPointEvents; - }; - pointInterval?: number; - pointPadding?: number; - pointPlacement?: string | number; // null, "on", "between" - pointRange?: number; - pointStart?: number; - pointWidth?: number; - selected?: boolean; - shadow?: boolean | HighchartsShadow; - showCheckbox?: boolean; - showInLegend?: boolean; - stacking?: string; - states?: { - hover: HighchartsBarStates; - }; - stickyTracking?: boolean; - tooltip?: HighchartsTooltipOptions; - turboThreshold?: number; - visible?: number; zIndex?: number; } @@ -695,6 +538,283 @@ interface HighchartsPivot { radius?: number; } +interface HighchartsAreaChart { + allowPointSelect?: boolean; + animation?: boolean; + color?: string; + connectEnds?: boolean; + connectNulls?: boolean; + cropThreshold?: number; + cursor?: string; + dashStyle?: string; //Solid ShortDash ShortDot ShortDashDot ShortDashDotDot Dot Dash LongDash DashDot LongDashDot LongDashDotDot + dataLabels?: HighchartsDataLabels; + enableMouseTracking?: boolean; + events?: HighchartsPlotEvents; + fillColor?: string | HighchartsGradient; + fillOpacity?: number; + linkedTo?: string; + lineColor?: string; + lineWidth?: number; + marker?: HighchartsMarker; + negativeColor?: string; + negativeFillColor?: string; + point?: { + events: HighchartsPointEvents; + }; + pointInterval?: number; + pointPlacement?: string | number; // null, "on", "between" + pointStart?: number; + selected?: boolean; + shadow?: boolean | HighchartsShadow; + showCheckbox?: boolean; + showInLegend?: boolean; + stacking?: string; + states?: { + hover: HighchartsAreaStates; + }; + step?: string; + stickyTracking?: boolean; + threshold?: number; + tooltip?: HighchartsTooltipOptions; + trackByArea?: boolean; + turboThreshold?: number; + visible?: boolean; + zIndex?: number; +} + +interface HighchartsAreaRangeChart { + allowPointSelect?: boolean; + animation?: boolean; + color?: string; + connectNulls?: boolean; + cropThreshold?: number; + cursor?: string; + dashStyle?: string; //Solid ShortDash ShortDot ShortDashDot ShortDashDotDot Dot Dash LongDash DashDot LongDashDot LongDashDotDot + dataLabels?: HighchartsRangeDataLabels; + enableMouseTracking?: boolean; + events?: HighchartsPlotEvents; + fillColor?: string | HighchartsGradient; + fillOpacity?: number; + lineColor?: string; + lineWidth?: number; + linkedTo?: string; + negativeColor?: string; + negativeFillColor?: string; + point?: { + events: HighchartsPointEvents; + }; + pointInterval?: number; + pointPlacement?: string | number; // null, "on", "between" + pointStart?: number; + selected?: boolean; + shadow?: boolean | HighchartsShadow; + showCheckbox?: boolean; + showInLegend?: boolean; + stacking?: string; + states?: { + hover: HighchartsAreaStates; + }; + step?: string; + stickyTracking?: boolean; + tooltip?: HighchartsTooltipOptions; + threshold?: number; + trackByArea?: boolean; + turboThreshold?: number; + visible?: boolean; +} + +interface HighchartsAreaSplineChart extends HighchartsAreaChart { + connectEnds?: boolean; +} + +interface HighchartsAreaSplineRangeChart extends HighchartsAreaRangeChart { +} + +interface HighchartsBarChart { + allowPointSelect?: boolean; + animation?: boolean; + borderColor?: string; + borderRadius?: number; + borderWidth?: number; + color?: string; + colorByPoint?: boolean; + cropThreshold?: number; + colors?: string[]; + cursor?: string; + dataLabels?: HighchartsDataLabels; + depth?: number; + edgeColor?: string; + edgeWidth?: number; + enableMouseTracking?: boolean; + events?: HighchartsPlotEvents; + groupPadding?: number; + groupZPadding?: number; + grouping?: boolean; + linkedTo?: string; + minPointLength?: number; + negativeColor?: string; + point?: { + events: HighchartsPointEvents; + }; + pointInterval?: number; + pointPadding?: number; + pointPlacement?: string; // null, "on", "between" + pointRange?: number; + pointStart?: number; + pointWidth?: number; + selected?: boolean; + shadow?: boolean | HighchartsShadow; + showCheckbox?: boolean; + showInLegend?: boolean; + stacking?: string; + states?: { + hover: HighchartsBarStates; + }; + stickyTracking?: boolean; + threshold?: number; + tooltip?: HighchartsTooltipOptions; + turboThreshold?: number; + visible?: boolean; +} + +interface HighchartsBoxPlotChart { + allowPointSelect?: boolean; + color?: string; + colorByPoint?: boolean; + colors?: string[]; + cursor?: string; + depth?: number; + edgecolor?: string; + edgewidth?: number; + enableMouseTracking?: boolean; + events?: HighchartsPlotEvents; + fillColor?: string; + groupPadding?: number; + groupZPadding?: number; + grouping?: boolean; + lineWidth?: number; + linkedTo?: string; + medianColor?: string; + negativeColor?: string; + point?: { + events: HighchartsPointEvents; + }; + pointInterval?: number; + pointPadding?: number; + pointPlacement?: string | number; + pointRange?: number; + pointStart?: number; + pointWidth?: number; + selected?: boolean; + showCheckbox?: boolean; + showInLegend?: boolean; + states?: { + hover: HighchartsBarStates; + }; + stemColor?: string; + stemDashStyle?: string; + stemWidth?: number; + stickyTracking?: boolean; + tooltip?: HighchartsTooltipOptions; + turboThreshold?: number; + visible?: boolean; + whiskerColor?: string; + whiskerLength?: number | string; // 100 | "50%" + whiskerWidth?: number; +} + +interface HighchartsBubbleChart { + allowPointSelect?: boolean; + animation?: boolean; + color?: string; + cropThreshold?: number; + cursor?: string; + dashStyle?: string; //Solid ShortDash ShortDot ShortDashDot ShortDashDotDot Dot Dash LongDash DashDot LongDashDot LongDashDotDot + dataLabels?: HighchartsRangeDataLabels; + displayNegative?: boolean; + enableMouseTracking?: boolean; + events?: HighchartsPlotEvents; + lineWidth?: number; + linkedTo?: string; + marker?: HighchartsMarker; + maxSize?: string; + minSize?: string; + negativeColor?: string; + point?: { + events: HighchartsPointEvents; + }; + pointInterval?: number; + pointStart?: number; + selected?: boolean; + shadow?: boolean | HighchartsShadow; + showCheckbox?: boolean; + showInLegend?: boolean; + sizeBy?: string; + states?: { + hover: HighchartsBarStates; + }; + stickyTracking?: boolean; + tooltip?: HighchartsTooltipOptions; + turboThreshold?: number; + visible?: boolean; + zMax?: number; + zMin?: number; + zThreshold?: number; +} + +interface HighchartsColumnChart extends HighchartsBarChart { +} + +interface HighchartsColumnRangeChart { + allowPointSelect?: boolean; + animation?: boolean; + borderColor?: string; + borderRadius?: number; + borderWidth?: number; + color?: string; + colorByPoint?: boolean; + colors?: string[]; + cropThreshold?: number; + cursor?: string; + dataLabels?: HighchartsRangeDataLabels; + enableMouseTracking?: boolean; + events?: HighchartsPlotEvents; + groupPadding?: number; + grouping?: boolean; + linkedTo?: string; + minPointLength?: number; + negativeColor?: string; + point?: { + events: HighchartsPointEvents; + }; + pointInterval?: number; + pointPadding?: number; + pointPlacement?: string | number; // null, "on", "between" + pointRange?: number; + pointStart?: number; + pointWidth?: number; + selected?: boolean; + shadow?: boolean | HighchartsShadow; + showCheckbox?: boolean; + showInLegend?: boolean; + stacking?: string; + states?: { + hover: HighchartsBarStates; + }; + stickyTracking?: boolean; + tooltip?: HighchartsTooltipOptions; + turboThreshold?: number; + visible?: boolean; +} + +interface HighchartsErrorBarChart { + // TODO +} + +interface HighchartsFunnelChart { + // TODO +} + interface HighchartsGaugeChart { animation?: boolean; color?: string; @@ -720,6 +840,10 @@ interface HighchartsGaugeChart { zIndex?: number; } +interface HighchartsHeatMapChart { + // TODO +} + interface HighchartsLineChart { allowPointSelect?: boolean; animation?: boolean; @@ -791,6 +915,14 @@ interface HighchartsPieChart { zIndex?: number; } +interface HighchartsPolygonChart { + // TODO +} + +interface HighchartsPyramidChart { + // TODO +} + interface HighchartsScatterChart { allowPointSelect?: boolean; animation?: boolean; @@ -825,6 +957,22 @@ interface HighchartsScatterChart { zIndex?: number; } +interface HighchartsSolidGaugeChart { + // TODO +} + +interface HighchartsSplineChart extends HighchartsSeriesChart { +} + +interface HighchartsTreeMapChart { + // TODO +} + +interface HighchartsWaterFallChart { + // TODO +} + + // General options for all series types interface HighchartsSeriesChart { allowPointSelect?: boolean; @@ -862,23 +1010,30 @@ interface HighchartsSeriesChart { zIndex?: number; } -interface HighchartsSplineChart extends HighchartsSeriesChart { -} - interface HighchartsPlotOptions { area?: HighchartsAreaChart; arearange?: HighchartsAreaRangeChart; - areaspline?: HighchartsAreaChart; - areasplinerange?: HighchartsAreaRangeChart; + areaspline?: HighchartsAreaSplineChart; + areasplinerange?: HighchartsAreaSplineRangeChart; bar?: HighchartsBarChart; - column?: HighchartsBarChart; + boxplot?: HighchartsBoxPlotChart; + bubble?: HighchartsBubbleChart; + column?: HighchartsColumnChart; columnrange?: HighchartsColumnRangeChart; + errorbar?: HighchartsErrorBarChart; + funnel?: HighchartsFunnelChart; gauge?: HighchartsGaugeChart; + heatmap?: HighchartsHeatMapChart; line?: HighchartsLineChart; pie?: HighchartsPieChart; + polygon?: HighchartsPolygonChart; + pyramid?: HighchartsPyramidChart; scatter?: HighchartsScatterChart; series?: HighchartsSeriesChart; + solidgauge?: HighchartsSolidGaugeChart; spline?: HighchartsSplineChart; + treemap?: HighchartsTreeMapChart; + waterfall?: HighchartsWaterFallChart; } /* You will rarely, if ever, want to use this interface directly. Instead it is much more useful to use one of the derived @@ -896,18 +1051,29 @@ interface HighchartsIndividualSeriesOptions { } interface HighchartsSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsSeriesChart { } + interface HighchartsAreaChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsAreaChart { } interface HighchartsAreaRangeChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsAreaRangeChart { } -interface HighchartsAreaSplineChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsAreaChart { } -interface HighchartsAreaSplineRangeChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsAreaRangeChart { } +interface HighchartsAreaSplineChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsAreaSplineChart { } +interface HighchartsAreaSplineRangeChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsAreaSplineRangeChart { } interface HighchartsBarChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsBarChart { } -interface HighchartsColumnChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsBarChart { } +interface HighchartsBoxPlotChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsBoxPlotChart { } +interface HighchartsBubbleChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsBubbleChart { } +interface HighchartsColumnChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsColumnChart { } interface HighchartsColumnRangeChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsColumnRangeChart { } +interface HighchartsErrorBarChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsErrorBarChart { } +interface HighchartsFunnelChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsFunnelChart { } interface HighchartsGaugeChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsGaugeChart { } +interface HighchartsHeatMapSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsHeatMapChart { } interface HighchartsLineChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsLineChart { } interface HighchartsPieChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsPieChart { } +interface HighchartsPolygonChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsPolygonChart { } +interface HighchartsPyramidChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsPyramidChart { } interface HighchartsScatterChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsScatterChart { } +interface HighchartsSolidGaugeChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsSolidGaugeChart { } interface HighchartsSplineChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsSplineChart { } +interface HighchartsTreeMapChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsTreeMapChart { } +interface HighchartsWaterFallChartSeriesOptions extends HighchartsIndividualSeriesOptions, HighchartsWaterFallChart { } interface HighchartsDataPoint { color?: string; @@ -922,6 +1088,17 @@ interface HighchartsDataPoint { y?: number; } +interface HighchartsSeriesOptions extends HighchartsSeriesChart { + type?: string; + data?: number[]| number[][]| HighchartsDataPoint[]; + index?: number; + legendIndex?: number; + name?: string; + stack?: string | number; + xAxis?: number; + yAxis?: number; +} + interface HighchartsSubtitleOptions { align?: string; verticalAlign?: string; @@ -976,13 +1153,14 @@ interface HighchartsOptions { chart?: HighchartsChartOptions; colors?: string[]; credits?: HighchartsCreditsOptions; + data?: any; // TODO + drilldown?: any; // TODO exporting?: HighchartsExportingOptions; - global?: HighchartsGlobalOptions; labels?: HighchartsLabelsOptions; - lang?: HighchartsLangOptions; legend?: HighchartsLegendOptions; loading?: HighchartsLoadingOptions; navigation?: HighchartsNavigationOptions; + noData?: any; // TODO pane?: HighchartsPaneOptions; plotOptions?: HighchartsPlotOptions; series?: HighchartsIndividualSeriesOptions[]; @@ -993,6 +1171,10 @@ interface HighchartsOptions { yAxis?: HighchartsAxisOptions; } +interface HighchartsGlobalOptions extends HighchartsOptions { + global?: HighchartsGlobalObject; + lang?: HighchartsLangObject; +} interface HighchartsAxisObject { addPlotBand(options: HighchartsPlotBands): void; @@ -1010,12 +1192,12 @@ interface HighchartsAxisObject { } interface HighchartsChartObject { - addSeries(options: T, redraw?: boolean, animation?: boolean): T; - addSeries(options: T, redraw?: boolean, animation?: HighchartsAnimation): T; - addAxis(options: HighchartsAxisOptions, isX?: boolean, redraw?: boolean, animation?: boolean): HighchartsAxisObject; - addAxis(options: HighchartsAxisOptions, isX?: boolean, redraw?: boolean, animation?: HighchartsAnimation): HighchartsAxisObject; + addAxis(options: HighchartsAxisOptions, isX?: boolean, redraw?: boolean, animation?: boolean | HighchartsAnimation): HighchartsAxisObject; + addSeries(options: T, redraw?: boolean, animation?: boolean | HighchartsAnimation): T; + addSeriesAsDrilldown(point: HighchartsPointObject, seriesOptions: HighchartsSeriesOptions); container: HTMLElement; destroy(): void; + drillUp(); exportChart(): void; exportChart(options: HighchartsExportingOptions): void; exportChart(options: HighchartsExportingOptions, chartOptions: HighchartsChartOptions): void; @@ -1028,12 +1210,14 @@ interface HighchartsChartObject { options: HighchartsChartOptions; print(): void; redraw(): void; + reflow(): void; series: HighchartsSeriesObject[]; setSize(width: number, height: number): void; setSize(width: number, height: number, animation: boolean): void; setSize(width: number, height: number, animation: HighchartsAnimation): void; setTitle(title: HighchartsTitleOptions): void; setTitle(title: HighchartsTitleOptions, subtitle: HighchartsSubtitleOptions): void; + setTitle(title: HighchartsTitleOptions, subtitle: HighchartsSubtitleOptions, redraw: boolean): void; showLoading(): void; showLoading(str: string): void; xAxis: HighchartsAxisObject[]; @@ -1080,11 +1264,12 @@ interface HighchartsStatic { dateFormat(format: string, time?: number, capitalize?: boolean): string; numberFormat(value: number, decimals?: number, decimalPoint?: string, thousandsSep?: string): string; - setOptions(options: HighchartsOptions): HighchartsOptions; + setOptions(options: HighchartsGlobalOptions): HighchartsOptions; getOptions(): HighchartsOptions; map(array: any[], fn: Function): any[]; } + declare var Highcharts: HighchartsStatic; interface HighchartsPointObject { @@ -1104,6 +1289,7 @@ interface HighchartsPointObject { slice(sliced: boolean, redraw: boolean): void; slice(sliced: boolean, redraw: boolean, animation: boolean): void; slice(sliced: boolean, redraw: boolean, animation: HighchartsAnimation): void; + total: number; update(options: any): void; update(options: any, redraw: boolean): void; update(options: any, redraw: boolean, animation: boolean): void; @@ -1113,20 +1299,19 @@ interface HighchartsPointObject { } interface HighchartsSeriesObject { - addPoint(options: any): void; - addPoint(options: any, redraw: boolean, shift: boolean): void; - addPoint(options: any, redraw: boolean, shift: boolean, animation: boolean): void; - addPoint(options: any, redraw: boolean, shift: boolean, animation: HighchartsAnimation): void; + addPoint(options: number |[number, number]| HighchartsDataPoint): void; + addPoint(options: number |[number, number]| HighchartsDataPoint, redraw: boolean, shift: boolean): void; + addPoint(options: number |[number, number]| HighchartsDataPoint, redraw: boolean, shift: boolean, animation: boolean): void; + addPoint(options: number |[number, number]| HighchartsDataPoint, redraw: boolean, shift: boolean, animation: HighchartsAnimation): void; chart: HighchartsChartObject; data: HighchartsDataPoint[]; hide(): void; - options: HighchartsIndividualSeriesOptions; + name: string; + options: HighchartsSeriesOptions; remove(): void; remove(redraw: boolean): void; - name: string; - points: HighchartsPointObject[]; select(): void; - select(selected?: boolean): void; + select(selected: boolean): void; selected: boolean; setData(data: number[]): void; // [value1,value2, ... ] setData(data: number[], redraw: boolean): void; @@ -1138,6 +1323,7 @@ interface HighchartsSeriesObject { setVisible(visible: boolean, redraw: boolean): void; show(): void; type: string; + update(options: HighchartsSeriesOptions, redraw?: boolean); visible: boolean; xAxis: HighchartsAxisObject; yAxis: HighchartsAxisObject; From a5ecf794fbcc87eca97a2bb3b6647b62315a4805 Mon Sep 17 00:00:00 2001 From: Damiano Date: Tue, 21 Apr 2015 00:58:07 +0200 Subject: [PATCH 3/3] Added missing return-type annotation --- highcharts/highcharts.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highcharts/highcharts.d.ts b/highcharts/highcharts.d.ts index 6bbdb5390..584d61c9b 100644 --- a/highcharts/highcharts.d.ts +++ b/highcharts/highcharts.d.ts @@ -1194,10 +1194,10 @@ interface HighchartsAxisObject { interface HighchartsChartObject { addAxis(options: HighchartsAxisOptions, isX?: boolean, redraw?: boolean, animation?: boolean | HighchartsAnimation): HighchartsAxisObject; addSeries(options: T, redraw?: boolean, animation?: boolean | HighchartsAnimation): T; - addSeriesAsDrilldown(point: HighchartsPointObject, seriesOptions: HighchartsSeriesOptions); + addSeriesAsDrilldown(point: HighchartsPointObject, seriesOptions: HighchartsSeriesOptions): void; container: HTMLElement; destroy(): void; - drillUp(); + drillUp(): void; exportChart(): void; exportChart(options: HighchartsExportingOptions): void; exportChart(options: HighchartsExportingOptions, chartOptions: HighchartsChartOptions): void; @@ -1323,7 +1323,7 @@ interface HighchartsSeriesObject { setVisible(visible: boolean, redraw: boolean): void; show(): void; type: string; - update(options: HighchartsSeriesOptions, redraw?: boolean); + update(options: HighchartsSeriesOptions, redraw?: boolean): void; visible: boolean; xAxis: HighchartsAxisObject; yAxis: HighchartsAxisObject;