diff --git a/highcharts/highcharts-tests.ts b/highcharts/highcharts-tests.ts index 7e131b60b..464f536d9 100644 --- a/highcharts/highcharts-tests.ts +++ b/highcharts/highcharts-tests.ts @@ -1,15 +1,33 @@ /// /// +Highcharts.setOptions({ + global: { + useUTC: false + } +}); -var animate: HighchartsBoolOrAnimation; -animate = true; -animate = { duration: 200, easing: "linear" }; +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 gradient: HighchartsColorOrGradient; -gradient = { - linearGradient: { x0: 0, y0: 0, x1: 500, y1: 500 }, +var animate: HighchartsAnimation = { + duration: 200, + easing: "linear" +}; + + +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 +36,6 @@ gradient = { var color = "#fcfcff"; -var backgound: HighchartsColorOrGradient; - -backgound = gradient; -backgound = color; - var chart1 = new Highcharts.Chart({ chart: { renderTo: "container" @@ -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 0049c522a..584d61c9b 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; @@ -309,9 +305,11 @@ interface HighchartsExportingOptions { width?: number; } -interface HighchartsGlobalOptions { +interface HighchartsGlobalObject { + Date?: any; VMLRadialGradientURL?: string; canvasToolsURL?: string; + timezoneOffset?: number; useUTC?: boolean; } @@ -325,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[]; @@ -345,7 +345,7 @@ interface HighchartsLangOptions { interface HighchartsLegendNavigationOptions { activeColor?: string; - animation?: HighchartsBoolOrAnimation; + animation?: boolean | HighchartsAnimation; arrowSize?: number; inactiveColor?: string; style?: HighchartsCSSObject; @@ -353,7 +353,7 @@ interface HighchartsLegendNavigationOptions { interface HighchartsLegendOptions { align?: string; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -375,7 +375,7 @@ interface HighchartsLegendOptions { reversed?: boolean; rtl?: boolean; verticalAlign?: string; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; style?: HighchartsCSSObject; symbolPadding?: number; symbolWidth?: number; @@ -401,7 +401,7 @@ interface HighchartsNavigationOptions { // Not sure of this interface interface HighchartsPaneBackground { - backgroundColor: HighchartsColorOrGradient; + backgroundColor: string | HighchartsGradient; borderColor?: string; borderWidth?: number; innerRadius?: string; @@ -412,12 +412,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 +429,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; @@ -492,63 +493,23 @@ 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?: HighchartsColorOrGradient; - fillOpacity?: boolean; - id?: string; - lineColor?: string; - lineWidth?: number; - marker?: HighchartsMarker; - point?: { - events: HighchartsPointEvents; - }; - pointInterval?: number; - pointPlacement?: string; // null, "on", "between" - pointStart?: number; - selected?: boolean; - shadow?: HighchartsBoolOrShadow; - showCheckbox?: boolean; - showInLegend?: boolean; - stacking?: string; - states?: { - hover: HighchartsAreaStates; - }; - stickyTracking?: boolean; - threshold?: number; - tooltip?: HighchartsTooltipOptions; - trackByArea?: boolean; - turboThreshold?: number; - visible?: number; - zIndex?: number; -} - interface HighchartsRangeDataLabels { align?: string; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; color?: string; crop?: boolean; + defer?: boolean; enabled?: boolean; + format?: string; formatter?: () => any; + inside?: boolean; overflow?: string; padding?: number; rotation?: number; - shadow?: HighchartsBoolOrShadow; - staggerLines?: any; // ?? need to check API - step?: any; // ?? need to check API + shadow?: boolean | HighchartsShadow; style?: HighchartsCSSObject; useHTML?: boolean; verticalAlign?: string; @@ -556,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?: HighchartsColorOrGradient; - fillOpacity?: boolean; - id?: string; - lineColor?: string; - lineWidth?: number; - point?: { - events: HighchartsPointEvents; - }; - pointInterval?: number; - pointPlacement?: string; // null, "on", "between" - pointStart?: number; - selected?: boolean; - shadow?: HighchartsBoolOrShadow; - showCheckbox?: boolean; - showInLegend?: boolean; - stacking?: string; - states?: { - hover: HighchartsAreaStates; - }; - stickyTracking?: boolean; - threshold?: number; - trackByArea?: boolean; - turboThreshold?: number; - visible?: number; - 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?: HighchartsBoolOrShadow; - 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; // null, "on", "between" - pointRange?: number; - pointStart?: number; - pointWidth?: number; - selected?: boolean; - shadow?: HighchartsBoolOrShadow; - showCheckbox?: boolean; - showInLegend?: boolean; - stacking?: string; - states?: { - hover: HighchartsBarStates; - }; - stickyTracking?: boolean; - tooltip?: HighchartsTooltipOptions; - turboThreshold?: number; - visible?: number; zIndex?: number; } @@ -696,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; @@ -721,6 +840,10 @@ interface HighchartsGaugeChart { zIndex?: number; } +interface HighchartsHeatMapChart { + // TODO +} + interface HighchartsLineChart { allowPointSelect?: boolean; animation?: boolean; @@ -743,7 +866,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 +894,7 @@ interface HighchartsPieChart { events?: HighchartsPlotEvents; id?: string; ignoreHiddenPoint?: boolean; - innerSize?: any; // string or number; + innerSize?: number | string; lineWidth?: number; marker?: HighchartsMarker; point?: { @@ -779,9 +902,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; @@ -792,6 +915,14 @@ interface HighchartsPieChart { zIndex?: number; } +interface HighchartsPolygonChart { + // TODO +} + +interface HighchartsPyramidChart { + // TODO +} + interface HighchartsScatterChart { allowPointSelect?: boolean; animation?: boolean; @@ -813,7 +944,7 @@ interface HighchartsScatterChart { pointPlacement?: string; // null, "on", "between" pointStart?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; states?: { @@ -826,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; @@ -849,7 +996,7 @@ interface HighchartsSeriesChart { pointPlacement?: string; // null, "on", "between" pointStart?: number; selected?: boolean; - shadow?: HighchartsBoolOrShadow; + shadow?: boolean | HighchartsShadow; showCheckbox?: boolean; showInLegend?: boolean; stacking?: string; @@ -863,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 @@ -897,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; @@ -923,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; @@ -952,7 +1128,7 @@ interface HighchartsPlotPoint { interface HighchartsTooltipOptions { animation?: boolean; - backgroundColor?: HighchartsColorOrGradient; + backgroundColor?: string | HighchartsGradient; borderColor?: string; borderRadius?: number; borderWidth?: number; @@ -977,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[]; @@ -994,6 +1171,10 @@ interface HighchartsOptions { yAxis?: HighchartsAxisOptions; } +interface HighchartsGlobalOptions extends HighchartsOptions { + global?: HighchartsGlobalObject; + lang?: HighchartsLangObject; +} interface HighchartsAxisObject { addPlotBand(options: HighchartsPlotBands): void; @@ -1005,18 +1186,18 @@ 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; } 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): void; container: HTMLElement; destroy(): void; + drillUp(): void; exportChart(): void; exportChart(options: HighchartsExportingOptions): void; exportChart(options: HighchartsExportingOptions, chartOptions: HighchartsChartOptions): void; @@ -1029,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, 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; + setTitle(title: HighchartsTitleOptions, subtitle: HighchartsSubtitleOptions, redraw: boolean): void; showLoading(): void; showLoading(str: string): void; xAxis: HighchartsAxisObject[]; @@ -1045,18 +1228,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,15 +1260,16 @@ 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; - setOptions(options: HighchartsOptions): HighchartsOptions; + setOptions(options: HighchartsGlobalOptions): HighchartsOptions; getOptions(): HighchartsOptions; map(array: any[], fn: Function): any[]; } + declare var Highcharts: HighchartsStatic; interface HighchartsPointObject { @@ -1105,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; @@ -1114,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; @@ -1139,6 +1323,7 @@ interface HighchartsSeriesObject { setVisible(visible: boolean, redraw: boolean): void; show(): void; type: string; + update(options: HighchartsSeriesOptions, redraw?: boolean): void; visible: boolean; xAxis: HighchartsAxisObject; yAxis: HighchartsAxisObject;