highcharts 6.1.1 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/highcharts.css +29 -0
- package/css/highcharts.scss +25 -1
- package/css/themes/dark-unica.css +29 -0
- package/css/themes/grid-light.css +29 -0
- package/css/themes/sand-signika.css +29 -0
- package/es-modules/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/indicators/atr.src.js +1 -1
- package/es-modules/indicators/bollinger-bands.src.js +2 -2
- package/es-modules/indicators/cci.src.js +1 -1
- package/es-modules/indicators/cmf.src.js +1 -1
- package/es-modules/indicators/ema.src.js +1 -1
- package/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/indicators/indicators.src.js +29 -14
- package/es-modules/indicators/macd.src.js +4 -4
- package/es-modules/indicators/mfi.src.js +1 -1
- package/es-modules/indicators/momentum.src.js +2 -2
- package/es-modules/indicators/pivot-points.src.js +7 -2
- package/es-modules/indicators/price-envelopes.src.js +2 -2
- package/es-modules/indicators/psar.src.js +1 -1
- package/es-modules/indicators/roc.src.js +1 -1
- package/es-modules/indicators/rsi.src.js +1 -1
- package/es-modules/indicators/stochastic.src.js +9 -7
- package/es-modules/indicators/volume-by-price.src.js +1 -1
- package/es-modules/indicators/vwap.src.js +1 -1
- package/es-modules/indicators/wma.src.js +1 -1
- package/es-modules/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +11 -0
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +12 -0
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +12 -0
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +9 -0
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +2 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +12 -0
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +12 -0
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/mixins/centered-series.js +36 -5
- package/es-modules/mixins/on-series.js +1 -1
- package/es-modules/mixins/polygon.js +4 -4
- package/es-modules/modules/annotations.src.js +2 -2
- package/es-modules/modules/boost-canvas.src.js +19 -8
- package/es-modules/modules/boost.src.js +300 -137
- package/es-modules/modules/broken-axis.src.js +169 -134
- package/es-modules/modules/bullet.src.js +2 -2
- package/es-modules/modules/data.src.js +8 -6
- package/es-modules/modules/draggable-points.src.js +2257 -0
- package/es-modules/modules/drilldown.src.js +4 -2
- package/es-modules/modules/export-data.src.js +11 -1
- package/es-modules/modules/exporting.src.js +62 -36
- package/es-modules/modules/funnel.src.js +5 -5
- package/es-modules/modules/histogram.src.js +30 -28
- package/es-modules/modules/item-series.src.js +36 -11
- package/es-modules/modules/keyboard-navigation.src.js +81 -44
- package/es-modules/modules/no-data-to-display.src.js +5 -5
- package/es-modules/modules/oldie.src.js +14 -9
- package/es-modules/modules/overlapping-datalabels.src.js +45 -21
- package/es-modules/modules/parallel-coordinates.src.js +4 -3
- package/es-modules/modules/pareto.src.js +1 -1
- package/es-modules/modules/sankey.src.js +28 -10
- package/es-modules/modules/series-label.src.js +6 -6
- package/es-modules/modules/solid-gauge.src.js +10 -7
- package/es-modules/modules/static-scale.src.js +67 -28
- package/es-modules/modules/streamgraph.src.js +4 -4
- package/es-modules/modules/sunburst.src.js +4 -4
- package/es-modules/modules/tilemap.src.js +231 -134
- package/es-modules/modules/treemap.src.js +30 -27
- package/es-modules/modules/variable-pie.src.js +3 -3
- package/es-modules/modules/variwide.src.js +36 -24
- package/es-modules/modules/vector.src.js +98 -28
- package/es-modules/modules/windbarb.src.js +4 -4
- package/es-modules/modules/wordcloud.src.js +133 -48
- package/es-modules/modules/xrange.src.js +258 -78
- package/es-modules/parts/AreaSeries.js +83 -50
- package/es-modules/parts/AreaSplineSeries.js +66 -29
- package/es-modules/parts/Axis.js +2184 -745
- package/es-modules/parts/BarSeries.js +70 -53
- package/es-modules/parts/CandlestickSeries.js +20 -10
- package/es-modules/parts/Chart.js +349 -157
- package/es-modules/parts/Color.js +74 -25
- package/es-modules/parts/ColumnSeries.js +274 -147
- package/es-modules/parts/DataGrouping.js +36 -3
- package/es-modules/parts/DataLabels.js +318 -144
- package/es-modules/parts/DateTimeAxis.js +27 -5
- package/es-modules/parts/Dynamics.js +236 -144
- package/es-modules/parts/FlagsSeries.js +49 -7
- package/es-modules/parts/Globals.js +4 -3
- package/es-modules/parts/Html.js +82 -16
- package/es-modules/parts/Interaction.js +198 -65
- package/es-modules/parts/Legend.js +181 -31
- package/es-modules/parts/LogarithmicAxis.js +36 -3
- package/es-modules/parts/MSPointer.js +31 -4
- package/es-modules/parts/Navigator.js +479 -187
- package/es-modules/parts/OHLCSeries.js +11 -5
- package/es-modules/parts/Options.js +1052 -686
- package/es-modules/parts/OrdinalAxis.js +20 -6
- package/es-modules/parts/PieSeries.js +258 -142
- package/es-modules/parts/PlotBandSeries.experimental.js +2 -2
- package/es-modules/parts/PlotLineOrBand.js +671 -35
- package/es-modules/parts/Point.js +189 -73
- package/es-modules/parts/Pointer.js +263 -62
- package/es-modules/parts/RangeSelector.js +601 -91
- package/es-modules/parts/Responsive.js +82 -36
- package/es-modules/parts/ScatterSeries.js +59 -27
- package/es-modules/parts/ScrollablePlotArea.js +30 -9
- package/es-modules/parts/Scrollbar.js +284 -113
- package/es-modules/parts/Series.js +1105 -836
- package/es-modules/parts/SplineSeries.js +53 -31
- package/es-modules/parts/Stacking.js +108 -7
- package/es-modules/parts/StockChart.js +26 -8
- package/es-modules/parts/SvgRenderer.js +1251 -613
- package/es-modules/parts/Tick.js +164 -30
- package/es-modules/parts/Time.js +171 -71
- package/es-modules/parts/Tooltip.js +271 -49
- package/es-modules/parts/TouchPointer.js +70 -3
- package/es-modules/parts/Utilities.js +1024 -429
- package/es-modules/parts-3d/Axis.js +4 -3
- package/es-modules/parts-3d/Chart.js +8 -9
- package/es-modules/parts-3d/Column.js +1 -1
- package/es-modules/parts-3d/Math.js +1 -1
- package/es-modules/parts-3d/Pie.js +1 -1
- package/es-modules/parts-3d/SVGRenderer.js +13 -10
- package/es-modules/parts-3d/Scatter.js +4 -4
- package/es-modules/parts-3d/Series.js +1 -1
- package/es-modules/parts-3d/VMLRenderer.js +1 -1
- package/es-modules/parts-gantt/ArrowSymbols.js +110 -0
- package/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
- package/es-modules/parts-gantt/GanttChart.js +111 -0
- package/es-modules/parts-gantt/GanttSeries.js +376 -0
- package/es-modules/parts-gantt/GridAxis.js +965 -0
- package/es-modules/parts-gantt/Pathfinder.js +1247 -0
- package/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
- package/es-modules/parts-gantt/Tree.js +146 -0
- package/es-modules/parts-gantt/TreeGrid.js +917 -0
- package/es-modules/parts-map/ColorAxis.js +4 -5
- package/es-modules/parts-map/ColorSeriesMixin.js +3 -1
- package/es-modules/parts-map/GeoJSON.js +1 -1
- package/es-modules/parts-map/HeatmapSeries.js +126 -55
- package/es-modules/parts-map/Map.js +144 -51
- package/es-modules/parts-map/MapAxis.js +1 -1
- package/es-modules/parts-map/MapBubbleSeries.js +6 -5
- package/es-modules/parts-map/MapLineSeries.js +4 -4
- package/es-modules/parts-map/MapNavigation.js +50 -12
- package/es-modules/parts-map/MapPointSeries.js +3 -3
- package/es-modules/parts-map/MapPointer.js +1 -1
- package/es-modules/parts-map/MapSeries.js +7 -7
- package/es-modules/parts-more/AreaRangeSeries.js +82 -40
- package/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
- package/es-modules/parts-more/BoxPlotSeries.js +3 -3
- package/es-modules/parts-more/BubbleSeries.js +9 -4
- package/es-modules/parts-more/ColumnRangeSeries.js +3 -3
- package/es-modules/parts-more/ErrorBarSeries.js +6 -4
- package/es-modules/parts-more/GaugeSeries.js +3 -3
- package/es-modules/parts-more/Pane.js +3 -2
- package/es-modules/parts-more/Polar.js +1 -1
- package/es-modules/parts-more/PolygonSeries.js +3 -3
- package/es-modules/parts-more/RadialAxis.js +5 -4
- package/es-modules/parts-more/WaterfallSeries.js +9 -4
- package/es-modules/supplemental.docs.js +0 -1955
- package/es-modules/themes/dark-blue.js +1 -1
- package/es-modules/themes/dark-green.js +1 -1
- package/es-modules/themes/dark-unica.js +1 -1
- package/es-modules/themes/gray.js +1 -1
- package/es-modules/themes/grid-light.js +1 -1
- package/es-modules/themes/grid.js +1 -1
- package/es-modules/themes/sand-signika.js +1 -1
- package/es-modules/themes/skies.js +1 -1
- package/highcharts-3d.js +77 -75
- package/highcharts-3d.js.map +1 -8
- package/highcharts-3d.src.js +39 -32
- package/highcharts-gantt.js +503 -0
- package/highcharts-gantt.js.map +1 -0
- package/highcharts-gantt.src.js +49289 -0
- package/highcharts-more.js +66 -64
- package/highcharts-more.js.map +1 -8
- package/highcharts-more.src.js +135 -75
- package/highcharts.js +413 -403
- package/highcharts.js.map +1 -8
- package/highcharts.src.js +11114 -4781
- package/highmaps.js +442 -433
- package/highmaps.js.map +1 -8
- package/highmaps.src.js +10740 -4598
- package/highstock.js +553 -540
- package/highstock.js.map +1 -8
- package/highstock.src.js +12807 -5343
- package/indicators/accumulation-distribution.js +4 -3
- package/indicators/accumulation-distribution.js.map +1 -8
- package/indicators/accumulation-distribution.src.js +6 -2
- package/indicators/atr.js +4 -3
- package/indicators/atr.js.map +1 -8
- package/indicators/atr.src.js +6 -2
- package/indicators/bollinger-bands.js +7 -6
- package/indicators/bollinger-bands.js.map +1 -8
- package/indicators/bollinger-bands.src.js +7 -3
- package/indicators/cci.js +4 -3
- package/indicators/cci.js.map +1 -8
- package/indicators/cci.src.js +6 -2
- package/indicators/cmf.js +5 -4
- package/indicators/cmf.js.map +1 -8
- package/indicators/cmf.src.js +6 -2
- package/indicators/ema.js +4 -3
- package/indicators/ema.js.map +1 -8
- package/indicators/ema.src.js +6 -2
- package/indicators/ichimoku-kinko-hyo.js +10 -9
- package/indicators/ichimoku-kinko-hyo.js.map +1 -8
- package/indicators/ichimoku-kinko-hyo.src.js +6 -2
- package/indicators/indicators.js +6 -5
- package/indicators/indicators.js.map +1 -8
- package/indicators/indicators.src.js +34 -15
- package/indicators/macd.js +11 -10
- package/indicators/macd.js.map +1 -8
- package/indicators/macd.src.js +10 -6
- package/indicators/mfi.js +5 -3
- package/indicators/mfi.js.map +1 -8
- package/indicators/mfi.src.js +6 -2
- package/indicators/momentum.js +4 -3
- package/indicators/momentum.js.map +1 -8
- package/indicators/momentum.src.js +7 -3
- package/indicators/pivot-points.js +8 -7
- package/indicators/pivot-points.js.map +1 -8
- package/indicators/pivot-points.src.js +12 -3
- package/indicators/price-envelopes.js +7 -6
- package/indicators/price-envelopes.js.map +1 -8
- package/indicators/price-envelopes.src.js +7 -3
- package/indicators/psar.js +5 -4
- package/indicators/psar.js.map +1 -8
- package/indicators/psar.src.js +6 -2
- package/indicators/roc.js +4 -3
- package/indicators/roc.js.map +1 -8
- package/indicators/roc.src.js +6 -2
- package/indicators/rsi.js +4 -3
- package/indicators/rsi.js.map +1 -8
- package/indicators/rsi.src.js +6 -2
- package/indicators/stochastic.js +7 -5
- package/indicators/stochastic.js.map +1 -8
- package/indicators/stochastic.src.js +14 -8
- package/indicators/volume-by-price.js +13 -12
- package/indicators/volume-by-price.js.map +1 -8
- package/indicators/volume-by-price.src.js +6 -2
- package/indicators/vwap.js +4 -3
- package/indicators/vwap.js.map +1 -8
- package/indicators/vwap.src.js +6 -2
- package/indicators/wma.js +4 -3
- package/indicators/wma.js.map +1 -8
- package/indicators/wma.src.js +6 -2
- package/indicators/zigzag.js +5 -3
- package/indicators/zigzag.js.map +1 -8
- package/indicators/zigzag.src.js +6 -2
- package/js/es-modules/indicators/accumulation-distribution.src.js +1 -1
- package/js/es-modules/indicators/atr.src.js +1 -1
- package/js/es-modules/indicators/bollinger-bands.src.js +2 -2
- package/js/es-modules/indicators/cci.src.js +1 -1
- package/js/es-modules/indicators/cmf.src.js +1 -1
- package/js/es-modules/indicators/ema.src.js +1 -1
- package/js/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/js/es-modules/indicators/indicators.src.js +29 -14
- package/js/es-modules/indicators/macd.src.js +4 -4
- package/js/es-modules/indicators/mfi.src.js +1 -1
- package/js/es-modules/indicators/momentum.src.js +2 -2
- package/js/es-modules/indicators/pivot-points.src.js +7 -2
- package/js/es-modules/indicators/price-envelopes.src.js +2 -2
- package/js/es-modules/indicators/psar.src.js +1 -1
- package/js/es-modules/indicators/roc.src.js +1 -1
- package/js/es-modules/indicators/rsi.src.js +1 -1
- package/js/es-modules/indicators/stochastic.src.js +9 -7
- package/js/es-modules/indicators/volume-by-price.src.js +1 -1
- package/js/es-modules/indicators/vwap.src.js +1 -1
- package/js/es-modules/indicators/wma.src.js +1 -1
- package/js/es-modules/indicators/zigzag.src.js +1 -1
- package/js/es-modules/masters/highcharts-gantt.src.js +11 -0
- package/js/es-modules/masters/modules/annotations.src.js +1 -1
- package/js/es-modules/masters/modules/arrow-symbols.src.js +12 -0
- package/js/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/js/es-modules/masters/modules/current-date-indicator.src.js +12 -0
- package/js/es-modules/masters/modules/data.src.js +1 -1
- package/js/es-modules/masters/modules/draggable-points.src.js +9 -0
- package/js/es-modules/masters/modules/export-data.src.js +1 -1
- package/js/es-modules/masters/modules/exporting.src.js +1 -1
- package/js/es-modules/masters/modules/funnel.src.js +1 -1
- package/js/es-modules/masters/modules/gantt.src.js +2 -1
- package/js/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/js/es-modules/masters/modules/heatmap.src.js +1 -1
- package/js/es-modules/masters/modules/item-series.src.js +1 -1
- package/js/es-modules/masters/modules/map.src.js +1 -1
- package/js/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/js/es-modules/masters/modules/pathfinder.src.js +12 -0
- package/js/es-modules/masters/modules/sankey.src.js +1 -1
- package/js/es-modules/masters/modules/series-label.src.js +1 -1
- package/js/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/js/es-modules/masters/modules/stock.src.js +1 -1
- package/js/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/js/es-modules/masters/modules/treegrid.src.js +12 -0
- package/js/es-modules/masters/modules/variwide.src.js +1 -1
- package/js/es-modules/masters/modules/vector.src.js +1 -1
- package/js/es-modules/masters/modules/windbarb.src.js +1 -1
- package/js/es-modules/masters/modules/xrange.src.js +1 -1
- package/js/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/js/es-modules/masters/themes/dark-green.src.js +1 -1
- package/js/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/js/es-modules/masters/themes/gray.src.js +1 -1
- package/js/es-modules/masters/themes/grid-light.src.js +1 -1
- package/js/es-modules/masters/themes/grid.src.js +1 -1
- package/js/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/js/es-modules/masters/themes/skies.src.js +1 -1
- package/js/es-modules/mixins/centered-series.js +36 -5
- package/js/es-modules/mixins/on-series.js +1 -1
- package/js/es-modules/mixins/polygon.js +4 -4
- package/js/es-modules/modules/annotations.src.js +2 -2
- package/js/es-modules/modules/boost-canvas.src.js +19 -8
- package/js/es-modules/modules/boost.src.js +300 -137
- package/js/es-modules/modules/broken-axis.src.js +169 -134
- package/js/es-modules/modules/bullet.src.js +2 -2
- package/js/es-modules/modules/data.src.js +8 -6
- package/js/es-modules/modules/draggable-points.src.js +2257 -0
- package/js/es-modules/modules/drilldown.src.js +4 -2
- package/js/es-modules/modules/export-data.src.js +11 -1
- package/js/es-modules/modules/exporting.src.js +62 -36
- package/js/es-modules/modules/funnel.src.js +5 -5
- package/js/es-modules/modules/histogram.src.js +30 -28
- package/js/es-modules/modules/item-series.src.js +36 -11
- package/js/es-modules/modules/keyboard-navigation.src.js +81 -44
- package/js/es-modules/modules/no-data-to-display.src.js +5 -5
- package/js/es-modules/modules/oldie.src.js +14 -9
- package/js/es-modules/modules/overlapping-datalabels.src.js +45 -21
- package/js/es-modules/modules/parallel-coordinates.src.js +4 -3
- package/js/es-modules/modules/pareto.src.js +1 -1
- package/js/es-modules/modules/sankey.src.js +23 -7
- package/js/es-modules/modules/series-label.src.js +6 -6
- package/js/es-modules/modules/solid-gauge.src.js +8 -5
- package/js/es-modules/modules/static-scale.src.js +67 -28
- package/js/es-modules/modules/streamgraph.src.js +4 -4
- package/js/es-modules/modules/sunburst.src.js +4 -4
- package/js/es-modules/modules/tilemap.src.js +231 -134
- package/js/es-modules/modules/treemap.src.js +29 -26
- package/js/es-modules/modules/variable-pie.src.js +3 -3
- package/js/es-modules/modules/variwide.src.js +36 -24
- package/js/es-modules/modules/vector.src.js +98 -28
- package/js/es-modules/modules/windbarb.src.js +4 -4
- package/js/es-modules/modules/wordcloud.src.js +133 -48
- package/js/es-modules/modules/xrange.src.js +256 -69
- package/js/es-modules/parts/AreaSeries.js +83 -50
- package/js/es-modules/parts/AreaSplineSeries.js +66 -29
- package/js/es-modules/parts/Axis.js +2089 -694
- package/js/es-modules/parts/BarSeries.js +70 -53
- package/js/es-modules/parts/CandlestickSeries.js +20 -10
- package/js/es-modules/parts/Chart.js +349 -157
- package/js/es-modules/parts/Color.js +74 -25
- package/js/es-modules/parts/ColumnSeries.js +241 -128
- package/js/es-modules/parts/DataGrouping.js +36 -3
- package/js/es-modules/parts/DataLabels.js +287 -116
- package/js/es-modules/parts/DateTimeAxis.js +27 -5
- package/js/es-modules/parts/Dynamics.js +236 -144
- package/js/es-modules/parts/FlagsSeries.js +49 -7
- package/js/es-modules/parts/Globals.js +4 -3
- package/js/es-modules/parts/Html.js +82 -16
- package/js/es-modules/parts/Interaction.js +187 -67
- package/js/es-modules/parts/Legend.js +181 -31
- package/js/es-modules/parts/LogarithmicAxis.js +36 -3
- package/js/es-modules/parts/MSPointer.js +31 -4
- package/js/es-modules/parts/Navigator.js +432 -162
- package/js/es-modules/parts/OHLCSeries.js +5 -5
- package/js/es-modules/parts/Options.js +855 -592
- package/js/es-modules/parts/OrdinalAxis.js +20 -6
- package/js/es-modules/parts/PieSeries.js +247 -134
- package/js/es-modules/parts/PlotBandSeries.experimental.js +2 -2
- package/js/es-modules/parts/PlotLineOrBand.js +671 -35
- package/js/es-modules/parts/Point.js +182 -70
- package/js/es-modules/parts/Pointer.js +263 -62
- package/js/es-modules/parts/RangeSelector.js +579 -91
- package/js/es-modules/parts/Responsive.js +82 -36
- package/js/es-modules/parts/ScatterSeries.js +58 -27
- package/js/es-modules/parts/ScrollablePlotArea.js +30 -9
- package/js/es-modules/parts/Scrollbar.js +201 -71
- package/js/es-modules/parts/Series.js +995 -745
- package/js/es-modules/parts/SplineSeries.js +53 -31
- package/js/es-modules/parts/Stacking.js +108 -7
- package/js/es-modules/parts/StockChart.js +26 -8
- package/js/es-modules/parts/SvgRenderer.js +1208 -598
- package/js/es-modules/parts/Tick.js +164 -30
- package/js/es-modules/parts/Time.js +171 -71
- package/js/es-modules/parts/Tooltip.js +276 -49
- package/js/es-modules/parts/TouchPointer.js +70 -3
- package/js/es-modules/parts/Utilities.js +1024 -429
- package/js/es-modules/parts-3d/Axis.js +4 -3
- package/js/es-modules/parts-3d/Chart.js +8 -9
- package/js/es-modules/parts-3d/Column.js +1 -1
- package/js/es-modules/parts-3d/Math.js +1 -1
- package/js/es-modules/parts-3d/Pie.js +1 -1
- package/js/es-modules/parts-3d/SVGRenderer.js +13 -10
- package/js/es-modules/parts-3d/Scatter.js +4 -4
- package/js/es-modules/parts-3d/Series.js +1 -1
- package/js/es-modules/parts-3d/VMLRenderer.js +1 -1
- package/js/es-modules/parts-gantt/ArrowSymbols.js +110 -0
- package/js/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
- package/js/es-modules/parts-gantt/GanttChart.js +111 -0
- package/js/es-modules/parts-gantt/GanttSeries.js +371 -0
- package/js/es-modules/parts-gantt/GridAxis.js +962 -0
- package/js/es-modules/parts-gantt/Pathfinder.js +1225 -0
- package/js/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
- package/js/es-modules/parts-gantt/Tree.js +146 -0
- package/js/es-modules/parts-gantt/TreeGrid.js +891 -0
- package/js/es-modules/parts-map/ColorAxis.js +4 -5
- package/js/es-modules/parts-map/ColorSeriesMixin.js +3 -1
- package/js/es-modules/parts-map/GeoJSON.js +1 -1
- package/js/es-modules/parts-map/HeatmapSeries.js +124 -54
- package/js/es-modules/parts-map/Map.js +136 -47
- package/js/es-modules/parts-map/MapAxis.js +1 -1
- package/js/es-modules/parts-map/MapBubbleSeries.js +6 -5
- package/js/es-modules/parts-map/MapLineSeries.js +4 -4
- package/js/es-modules/parts-map/MapNavigation.js +50 -12
- package/js/es-modules/parts-map/MapPointSeries.js +3 -3
- package/js/es-modules/parts-map/MapPointer.js +1 -1
- package/js/es-modules/parts-map/MapSeries.js +5 -5
- package/js/es-modules/parts-more/AreaRangeSeries.js +82 -40
- package/js/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
- package/js/es-modules/parts-more/BoxPlotSeries.js +3 -3
- package/js/es-modules/parts-more/BubbleSeries.js +9 -4
- package/js/es-modules/parts-more/ColumnRangeSeries.js +3 -3
- package/js/es-modules/parts-more/ErrorBarSeries.js +6 -4
- package/js/es-modules/parts-more/GaugeSeries.js +3 -3
- package/js/es-modules/parts-more/Pane.js +3 -2
- package/js/es-modules/parts-more/Polar.js +1 -1
- package/js/es-modules/parts-more/PolygonSeries.js +3 -3
- package/js/es-modules/parts-more/RadialAxis.js +5 -4
- package/js/es-modules/parts-more/WaterfallSeries.js +9 -4
- package/js/es-modules/supplemental.docs.js +0 -1955
- package/js/es-modules/themes/dark-blue.js +1 -1
- package/js/es-modules/themes/dark-green.js +1 -1
- package/js/es-modules/themes/dark-unica.js +1 -1
- package/js/es-modules/themes/gray.js +1 -1
- package/js/es-modules/themes/grid-light.js +1 -1
- package/js/es-modules/themes/grid.js +1 -1
- package/js/es-modules/themes/sand-signika.js +1 -1
- package/js/es-modules/themes/skies.js +1 -1
- package/js/highcharts-3d.js +75 -74
- package/js/highcharts-3d.js.map +1 -8
- package/js/highcharts-3d.src.js +39 -32
- package/js/highcharts-gantt.js +480 -0
- package/js/highcharts-gantt.js.map +1 -0
- package/js/highcharts-gantt.src.js +47011 -0
- package/js/highcharts-more.js +63 -61
- package/js/highcharts-more.js.map +1 -8
- package/js/highcharts-more.src.js +135 -75
- package/js/highcharts.js +396 -387
- package/js/highcharts.js.map +1 -8
- package/js/highcharts.src.js +10765 -4659
- package/js/highmaps.js +419 -411
- package/js/highmaps.js.map +1 -8
- package/js/highmaps.src.js +10198 -4285
- package/js/highstock.js +529 -516
- package/js/highstock.js.map +1 -8
- package/js/highstock.src.js +12108 -4962
- package/js/indicators/accumulation-distribution.js +4 -3
- package/js/indicators/accumulation-distribution.js.map +1 -8
- package/js/indicators/accumulation-distribution.src.js +6 -2
- package/js/indicators/atr.js +4 -3
- package/js/indicators/atr.js.map +1 -8
- package/js/indicators/atr.src.js +6 -2
- package/js/indicators/bollinger-bands.js +7 -6
- package/js/indicators/bollinger-bands.js.map +1 -8
- package/js/indicators/bollinger-bands.src.js +7 -3
- package/js/indicators/cci.js +4 -3
- package/js/indicators/cci.js.map +1 -8
- package/js/indicators/cci.src.js +6 -2
- package/js/indicators/cmf.js +5 -4
- package/js/indicators/cmf.js.map +1 -8
- package/js/indicators/cmf.src.js +6 -2
- package/js/indicators/ema.js +4 -3
- package/js/indicators/ema.js.map +1 -8
- package/js/indicators/ema.src.js +6 -2
- package/js/indicators/ichimoku-kinko-hyo.js +10 -9
- package/js/indicators/ichimoku-kinko-hyo.js.map +1 -8
- package/js/indicators/ichimoku-kinko-hyo.src.js +6 -2
- package/js/indicators/indicators.js +6 -5
- package/js/indicators/indicators.js.map +1 -8
- package/js/indicators/indicators.src.js +34 -15
- package/js/indicators/macd.js +11 -10
- package/js/indicators/macd.js.map +1 -8
- package/js/indicators/macd.src.js +10 -6
- package/js/indicators/mfi.js +5 -3
- package/js/indicators/mfi.js.map +1 -8
- package/js/indicators/mfi.src.js +6 -2
- package/js/indicators/momentum.js +4 -3
- package/js/indicators/momentum.js.map +1 -8
- package/js/indicators/momentum.src.js +7 -3
- package/js/indicators/pivot-points.js +8 -7
- package/js/indicators/pivot-points.js.map +1 -8
- package/js/indicators/pivot-points.src.js +12 -3
- package/js/indicators/price-envelopes.js +7 -6
- package/js/indicators/price-envelopes.js.map +1 -8
- package/js/indicators/price-envelopes.src.js +7 -3
- package/js/indicators/psar.js +5 -4
- package/js/indicators/psar.js.map +1 -8
- package/js/indicators/psar.src.js +6 -2
- package/js/indicators/roc.js +4 -3
- package/js/indicators/roc.js.map +1 -8
- package/js/indicators/roc.src.js +6 -2
- package/js/indicators/rsi.js +4 -3
- package/js/indicators/rsi.js.map +1 -8
- package/js/indicators/rsi.src.js +6 -2
- package/js/indicators/stochastic.js +7 -5
- package/js/indicators/stochastic.js.map +1 -8
- package/js/indicators/stochastic.src.js +14 -8
- package/js/indicators/volume-by-price.js +13 -12
- package/js/indicators/volume-by-price.js.map +1 -8
- package/js/indicators/volume-by-price.src.js +6 -2
- package/js/indicators/vwap.js +4 -3
- package/js/indicators/vwap.js.map +1 -8
- package/js/indicators/vwap.src.js +6 -2
- package/js/indicators/wma.js +4 -3
- package/js/indicators/wma.js.map +1 -8
- package/js/indicators/wma.src.js +6 -2
- package/js/indicators/zigzag.js +5 -3
- package/js/indicators/zigzag.js.map +1 -8
- package/js/indicators/zigzag.src.js +6 -2
- package/js/modules/accessibility.js +52 -51
- package/js/modules/accessibility.js.map +1 -8
- package/js/modules/accessibility.src.js +86 -45
- package/js/modules/annotations.js +22 -21
- package/js/modules/annotations.js.map +1 -8
- package/js/modules/annotations.src.js +8 -4
- package/js/modules/arrow-symbols.js +13 -0
- package/js/modules/arrow-symbols.js.map +1 -0
- package/js/modules/arrow-symbols.src.js +138 -0
- package/js/modules/boost-canvas.js +15 -13
- package/js/modules/boost-canvas.js.map +1 -8
- package/js/modules/boost-canvas.src.js +24 -9
- package/js/modules/boost.js +57 -52
- package/js/modules/boost.js.map +1 -8
- package/js/modules/boost.src.js +305 -138
- package/js/modules/broken-axis.js +12 -10
- package/js/modules/broken-axis.js.map +1 -8
- package/js/modules/broken-axis.src.js +175 -136
- package/js/modules/bullet.js +3 -2
- package/js/modules/bullet.js.map +1 -8
- package/js/modules/bullet.src.js +7 -3
- package/js/modules/current-date-indicator.js +13 -0
- package/js/modules/current-date-indicator.js.map +1 -0
- package/js/modules/current-date-indicator.src.js +120 -0
- package/js/modules/data.js +25 -24
- package/js/modules/data.js.map +1 -8
- package/js/modules/data.src.js +14 -8
- package/js/modules/drag-panes.js +9 -8
- package/js/modules/drag-panes.js.map +1 -8
- package/js/modules/drag-panes.src.js +5 -1
- package/js/modules/draggable-points.js +38 -0
- package/js/modules/draggable-points.js.map +1 -0
- package/js/modules/draggable-points.src.js +2281 -0
- package/js/modules/drilldown.js +20 -19
- package/js/modules/drilldown.js.map +1 -8
- package/js/modules/drilldown.src.js +9 -3
- package/js/modules/export-data.js +20 -19
- package/js/modules/export-data.js.map +1 -8
- package/js/modules/export-data.src.js +17 -3
- package/js/modules/exporting.js +24 -23
- package/js/modules/exporting.js.map +1 -8
- package/js/modules/exporting.src.js +68 -38
- package/js/modules/funnel.js +8 -6
- package/js/modules/funnel.js.map +1 -8
- package/js/modules/funnel.src.js +11 -7
- package/js/modules/gantt.js +81 -18
- package/js/modules/gantt.js.map +1 -8
- package/js/modules/gantt.src.js +5494 -372
- package/js/modules/grid-axis.js +16 -10
- package/js/modules/grid-axis.js.map +1 -8
- package/js/modules/grid-axis.src.js +735 -293
- package/js/modules/heatmap.js +22 -21
- package/js/modules/heatmap.js.map +1 -8
- package/js/modules/heatmap.src.js +137 -62
- package/js/modules/histogram-bellcurve.js +9 -8
- package/js/modules/histogram-bellcurve.js.map +1 -8
- package/js/modules/histogram-bellcurve.src.js +35 -29
- package/js/modules/item-series.js +6 -4
- package/js/modules/item-series.js.map +1 -8
- package/js/modules/item-series.src.js +42 -13
- package/js/modules/map.js +63 -62
- package/js/modules/map.js.map +1 -8
- package/js/modules/map.src.js +353 -145
- package/js/modules/no-data-to-display.js +5 -4
- package/js/modules/no-data-to-display.js.map +1 -8
- package/js/modules/no-data-to-display.src.js +10 -6
- package/js/modules/offline-exporting.js +14 -13
- package/js/modules/offline-exporting.js.map +1 -8
- package/js/modules/offline-exporting.src.js +6 -2
- package/js/modules/oldie.js +29 -27
- package/js/modules/oldie.js.map +1 -8
- package/js/modules/oldie.src.js +20 -11
- package/js/modules/overlapping-datalabels.js +4 -3
- package/js/modules/overlapping-datalabels.js.map +1 -8
- package/js/modules/overlapping-datalabels.src.js +6 -2
- package/js/modules/parallel-coordinates.js +10 -9
- package/js/modules/parallel-coordinates.js.map +1 -8
- package/js/modules/parallel-coordinates.src.js +9 -4
- package/js/modules/pareto.js +5 -4
- package/js/modules/pareto.js.map +1 -8
- package/js/modules/pareto.src.js +6 -2
- package/js/modules/pathfinder.js +34 -0
- package/js/modules/pathfinder.js.map +1 -0
- package/js/modules/pathfinder.src.js +2106 -0
- package/js/modules/pattern-fill.js +13 -12
- package/js/modules/pattern-fill.js.map +1 -8
- package/js/modules/pattern-fill.src.js +5 -1
- package/js/modules/sankey.js +13 -12
- package/js/modules/sankey.js.map +1 -8
- package/js/modules/sankey.src.js +29 -9
- package/js/modules/series-label.js +17 -15
- package/js/modules/series-label.js.map +1 -8
- package/js/modules/series-label.src.js +12 -8
- package/js/modules/solid-gauge.js +9 -8
- package/js/modules/solid-gauge.js.map +1 -8
- package/js/modules/solid-gauge.src.js +14 -7
- package/js/modules/static-scale.js +4 -3
- package/js/modules/static-scale.js.map +1 -8
- package/js/modules/static-scale.src.js +69 -26
- package/js/modules/stock.js +136 -132
- package/js/modules/stock.js.map +1 -8
- package/js/modules/stock.src.js +1543 -499
- package/js/modules/streamgraph.js +4 -3
- package/js/modules/streamgraph.js.map +1 -8
- package/js/modules/streamgraph.src.js +10 -6
- package/js/modules/sunburst.js +40 -39
- package/js/modules/sunburst.js.map +1 -8
- package/js/modules/sunburst.src.js +38 -31
- package/js/modules/tilemap.js +19 -18
- package/js/modules/tilemap.js.map +1 -8
- package/js/modules/tilemap.src.js +363 -190
- package/js/modules/treegrid.js +51 -0
- package/js/modules/treegrid.js.map +1 -0
- package/js/modules/treegrid.src.js +2759 -0
- package/js/modules/treemap.js +27 -26
- package/js/modules/treemap.js.map +1 -8
- package/js/modules/treemap.src.js +34 -27
- package/js/modules/variable-pie.js +8 -7
- package/js/modules/variable-pie.js.map +1 -8
- package/js/modules/variable-pie.src.js +8 -4
- package/js/modules/variwide.js +8 -7
- package/js/modules/variwide.js.map +1 -8
- package/js/modules/variwide.src.js +42 -26
- package/js/modules/vector.js +7 -6
- package/js/modules/vector.js.map +1 -8
- package/js/modules/vector.src.js +104 -30
- package/js/modules/windbarb.js +11 -10
- package/js/modules/windbarb.js.map +1 -8
- package/js/modules/windbarb.src.js +11 -7
- package/js/modules/wordcloud.js +18 -15
- package/js/modules/wordcloud.js.map +1 -8
- package/js/modules/wordcloud.src.js +142 -53
- package/js/modules/xrange.js +12 -10
- package/js/modules/xrange.js.map +1 -8
- package/js/modules/xrange.src.js +262 -71
- package/js/themes/avocado.js +3 -2
- package/js/themes/avocado.js.map +1 -8
- package/js/themes/avocado.src.js +5 -1
- package/js/themes/dark-blue.js +9 -8
- package/js/themes/dark-blue.js.map +1 -8
- package/js/themes/dark-blue.src.js +7 -3
- package/js/themes/dark-green.js +9 -8
- package/js/themes/dark-green.js.map +1 -8
- package/js/themes/dark-green.src.js +7 -3
- package/js/themes/dark-unica.js +9 -7
- package/js/themes/dark-unica.js.map +1 -8
- package/js/themes/dark-unica.src.js +7 -3
- package/js/themes/gray.js +10 -8
- package/js/themes/gray.js.map +1 -8
- package/js/themes/gray.src.js +7 -3
- package/js/themes/grid-light.js +5 -4
- package/js/themes/grid-light.js.map +1 -8
- package/js/themes/grid-light.src.js +7 -3
- package/js/themes/grid.js +6 -5
- package/js/themes/grid.js.map +1 -8
- package/js/themes/grid.src.js +7 -3
- package/js/themes/sand-signika.js +6 -5
- package/js/themes/sand-signika.js.map +1 -8
- package/js/themes/sand-signika.src.js +7 -3
- package/js/themes/skies.js +6 -5
- package/js/themes/skies.js.map +1 -8
- package/js/themes/skies.src.js +7 -3
- package/js/themes/sunset.js +3 -2
- package/js/themes/sunset.js.map +1 -8
- package/js/themes/sunset.src.js +5 -1
- package/modules/accessibility.js +53 -51
- package/modules/accessibility.js.map +1 -8
- package/modules/accessibility.src.js +86 -45
- package/modules/annotations.js +24 -22
- package/modules/annotations.js.map +1 -8
- package/modules/annotations.src.js +8 -4
- package/modules/arrow-symbols.js +13 -0
- package/modules/arrow-symbols.js.map +1 -0
- package/modules/arrow-symbols.src.js +138 -0
- package/modules/boost-canvas.js +15 -13
- package/modules/boost-canvas.js.map +1 -8
- package/modules/boost-canvas.src.js +24 -9
- package/modules/boost.js +57 -52
- package/modules/boost.js.map +1 -8
- package/modules/boost.src.js +305 -138
- package/modules/broken-axis.js +12 -10
- package/modules/broken-axis.js.map +1 -8
- package/modules/broken-axis.src.js +175 -136
- package/modules/bullet.js +6 -5
- package/modules/bullet.js.map +1 -8
- package/modules/bullet.src.js +7 -3
- package/modules/current-date-indicator.js +13 -0
- package/modules/current-date-indicator.js.map +1 -0
- package/modules/current-date-indicator.src.js +120 -0
- package/modules/data.js +25 -24
- package/modules/data.js.map +1 -8
- package/modules/data.src.js +14 -8
- package/modules/drag-panes.js +9 -8
- package/modules/drag-panes.js.map +1 -8
- package/modules/drag-panes.src.js +5 -1
- package/modules/draggable-points.js +38 -0
- package/modules/draggable-points.js.map +1 -0
- package/modules/draggable-points.src.js +2281 -0
- package/modules/drilldown.js +16 -15
- package/modules/drilldown.js.map +1 -8
- package/modules/drilldown.src.js +9 -3
- package/modules/export-data.js +20 -19
- package/modules/export-data.js.map +1 -8
- package/modules/export-data.src.js +17 -3
- package/modules/exporting.js +23 -21
- package/modules/exporting.js.map +1 -8
- package/modules/exporting.src.js +68 -38
- package/modules/funnel.js +8 -7
- package/modules/funnel.js.map +1 -8
- package/modules/funnel.src.js +11 -7
- package/modules/gantt.js +84 -19
- package/modules/gantt.js.map +1 -8
- package/modules/gantt.src.js +5557 -379
- package/modules/grid-axis.js +17 -10
- package/modules/grid-axis.js.map +1 -8
- package/modules/grid-axis.src.js +736 -293
- package/modules/heatmap.js +22 -21
- package/modules/heatmap.js.map +1 -8
- package/modules/heatmap.src.js +139 -63
- package/modules/histogram-bellcurve.js +9 -8
- package/modules/histogram-bellcurve.js.map +1 -8
- package/modules/histogram-bellcurve.src.js +35 -29
- package/modules/item-series.js +6 -4
- package/modules/item-series.js.map +1 -8
- package/modules/item-series.src.js +42 -13
- package/modules/map.js +65 -64
- package/modules/map.js.map +1 -8
- package/modules/map.src.js +365 -152
- package/modules/no-data-to-display.js +5 -4
- package/modules/no-data-to-display.js.map +1 -8
- package/modules/no-data-to-display.src.js +10 -6
- package/modules/offline-exporting.js +14 -12
- package/modules/offline-exporting.js.map +1 -8
- package/modules/offline-exporting.src.js +6 -2
- package/modules/oldie.js +29 -27
- package/modules/oldie.js.map +1 -8
- package/modules/oldie.src.js +20 -11
- package/modules/overlapping-datalabels.js +4 -3
- package/modules/overlapping-datalabels.js.map +1 -8
- package/modules/overlapping-datalabels.src.js +6 -2
- package/modules/parallel-coordinates.js +10 -9
- package/modules/parallel-coordinates.js.map +1 -8
- package/modules/parallel-coordinates.src.js +9 -4
- package/modules/pareto.js +5 -4
- package/modules/pareto.js.map +1 -8
- package/modules/pareto.src.js +6 -2
- package/modules/pathfinder.js +35 -0
- package/modules/pathfinder.js.map +1 -0
- package/modules/pathfinder.src.js +2128 -0
- package/modules/pattern-fill.js +13 -12
- package/modules/pattern-fill.js.map +1 -8
- package/modules/pattern-fill.src.js +5 -1
- package/modules/sankey.js +13 -12
- package/modules/sankey.js.map +1 -8
- package/modules/sankey.src.js +34 -12
- package/modules/series-label.js +17 -15
- package/modules/series-label.js.map +1 -8
- package/modules/series-label.src.js +12 -8
- package/modules/solid-gauge.js +9 -8
- package/modules/solid-gauge.js.map +1 -8
- package/modules/solid-gauge.src.js +16 -9
- package/modules/static-scale.js +4 -3
- package/modules/static-scale.js.map +1 -8
- package/modules/static-scale.src.js +69 -26
- package/modules/stock.js +143 -139
- package/modules/stock.js.map +1 -8
- package/modules/stock.src.js +1701 -566
- package/modules/streamgraph.js +4 -3
- package/modules/streamgraph.js.map +1 -8
- package/modules/streamgraph.src.js +10 -6
- package/modules/sunburst.js +42 -41
- package/modules/sunburst.js.map +1 -8
- package/modules/sunburst.src.js +39 -32
- package/modules/tilemap.js +18 -17
- package/modules/tilemap.js.map +1 -8
- package/modules/tilemap.src.js +365 -191
- package/modules/treegrid.js +52 -0
- package/modules/treegrid.js.map +1 -0
- package/modules/treegrid.src.js +2797 -0
- package/modules/treemap.js +29 -28
- package/modules/treemap.js.map +1 -8
- package/modules/treemap.src.js +35 -28
- package/modules/variable-pie.js +8 -7
- package/modules/variable-pie.js.map +1 -8
- package/modules/variable-pie.src.js +8 -4
- package/modules/variwide.js +8 -7
- package/modules/variwide.js.map +1 -8
- package/modules/variwide.src.js +42 -26
- package/modules/vector.js +7 -6
- package/modules/vector.js.map +1 -8
- package/modules/vector.src.js +104 -30
- package/modules/windbarb.js +11 -10
- package/modules/windbarb.js.map +1 -8
- package/modules/windbarb.src.js +11 -7
- package/modules/wordcloud.js +18 -15
- package/modules/wordcloud.js.map +1 -8
- package/modules/wordcloud.src.js +142 -53
- package/modules/xrange.js +13 -11
- package/modules/xrange.js.map +1 -8
- package/modules/xrange.src.js +264 -80
- package/package.json +1 -1
- package/themes/avocado.js +3 -2
- package/themes/avocado.js.map +1 -8
- package/themes/avocado.src.js +5 -1
- package/themes/dark-blue.js +9 -8
- package/themes/dark-blue.js.map +1 -8
- package/themes/dark-blue.src.js +7 -3
- package/themes/dark-green.js +9 -8
- package/themes/dark-green.js.map +1 -8
- package/themes/dark-green.src.js +7 -3
- package/themes/dark-unica.js +9 -7
- package/themes/dark-unica.js.map +1 -8
- package/themes/dark-unica.src.js +7 -3
- package/themes/gray.js +10 -8
- package/themes/gray.js.map +1 -8
- package/themes/gray.src.js +7 -3
- package/themes/grid-light.js +5 -4
- package/themes/grid-light.js.map +1 -8
- package/themes/grid-light.src.js +7 -3
- package/themes/grid.js +6 -5
- package/themes/grid.js.map +1 -8
- package/themes/grid.src.js +7 -3
- package/themes/sand-signika.js +6 -5
- package/themes/sand-signika.js.map +1 -8
- package/themes/sand-signika.src.js +7 -3
- package/themes/skies.js +6 -5
- package/themes/skies.js.map +1 -8
- package/themes/skies.src.js +7 -3
- package/themes/sunset.js +3 -2
- package/themes/sunset.js.map +1 -8
- package/themes/sunset.src.js +5 -1
|
@@ -271,6 +271,7 @@ var win = H.win,
|
|
|
271
271
|
Series = H.Series,
|
|
272
272
|
seriesTypes = H.seriesTypes,
|
|
273
273
|
each = H.each,
|
|
274
|
+
objEach = H.objectEach,
|
|
274
275
|
extend = H.extend,
|
|
275
276
|
addEvent = H.addEvent,
|
|
276
277
|
fireEvent = H.fireEvent,
|
|
@@ -502,6 +503,12 @@ function shouldForceChartSeriesBoosting(chart) {
|
|
|
502
503
|
|
|
503
504
|
series = chart.series[i];
|
|
504
505
|
|
|
506
|
+
// Don't count series with boostThreshold set to 0
|
|
507
|
+
// See #8950
|
|
508
|
+
if (series.options.boostThreshold === 0) {
|
|
509
|
+
continue;
|
|
510
|
+
}
|
|
511
|
+
|
|
505
512
|
if (boostableMap[series.type]) {
|
|
506
513
|
++canBoostCount;
|
|
507
514
|
}
|
|
@@ -517,20 +524,37 @@ function shouldForceChartSeriesBoosting(chart) {
|
|
|
517
524
|
}
|
|
518
525
|
}
|
|
519
526
|
|
|
520
|
-
chart.boostForceChartBoost =
|
|
527
|
+
chart.boostForceChartBoost = allowBoostForce && (
|
|
521
528
|
(
|
|
522
|
-
allowBoostForce &&
|
|
523
529
|
canBoostCount === chart.series.length &&
|
|
524
530
|
sboostCount > 0
|
|
525
531
|
) ||
|
|
526
|
-
sboostCount > 5
|
|
532
|
+
sboostCount > 5
|
|
533
|
+
);
|
|
527
534
|
|
|
528
535
|
return chart.boostForceChartBoost;
|
|
529
536
|
}
|
|
530
537
|
|
|
538
|
+
/**
|
|
539
|
+
* Return true if ths boost.enabled option is true
|
|
540
|
+
* @param {Highcharts.Chart} chart The chart
|
|
541
|
+
* @return {boolean}
|
|
542
|
+
*/
|
|
543
|
+
function boostEnabled(chart) {
|
|
544
|
+
return pick(
|
|
545
|
+
(
|
|
546
|
+
chart &&
|
|
547
|
+
chart.options &&
|
|
548
|
+
chart.options.boost &&
|
|
549
|
+
chart.options.boost.enabled
|
|
550
|
+
),
|
|
551
|
+
true
|
|
552
|
+
);
|
|
553
|
+
}
|
|
554
|
+
|
|
531
555
|
/*
|
|
532
556
|
* Returns true if the chart is in series boost mode
|
|
533
|
-
* @param chart {
|
|
557
|
+
* @param chart {Highcharts.Chart} - the chart to check
|
|
534
558
|
* @returns {Boolean} - true if the chart is in series boost mode
|
|
535
559
|
*/
|
|
536
560
|
Chart.prototype.isChartSeriesBoosting = function () {
|
|
@@ -801,9 +825,20 @@ function GLShader(gl) {
|
|
|
801
825
|
// Uniform for invertion
|
|
802
826
|
isInverted,
|
|
803
827
|
plotHeightUniform,
|
|
828
|
+
// Error stack
|
|
829
|
+
errors = [],
|
|
804
830
|
// Texture uniform
|
|
805
831
|
uSamplerUniform;
|
|
806
832
|
|
|
833
|
+
/*
|
|
834
|
+
* Handle errors accumulated in errors stack
|
|
835
|
+
*/
|
|
836
|
+
function handleErrors() {
|
|
837
|
+
if (errors.length) {
|
|
838
|
+
H.error('[highcharts boost] shader error - ' + errors.join('\n'));
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
|
|
807
842
|
/* String to shader program
|
|
808
843
|
* @param {string} str - the program source
|
|
809
844
|
* @param {string} type - the program type: either `vertex` or `fragment`
|
|
@@ -818,7 +853,13 @@ function GLShader(gl) {
|
|
|
818
853
|
gl.compileShader(shader);
|
|
819
854
|
|
|
820
855
|
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
|
|
821
|
-
|
|
856
|
+
errors.push(
|
|
857
|
+
'when compiling ' +
|
|
858
|
+
type +
|
|
859
|
+
' shader:\n' +
|
|
860
|
+
gl.getShaderInfoLog(shader)
|
|
861
|
+
);
|
|
862
|
+
|
|
822
863
|
return false;
|
|
823
864
|
}
|
|
824
865
|
return shader;
|
|
@@ -835,7 +876,7 @@ function GLShader(gl) {
|
|
|
835
876
|
|
|
836
877
|
if (!v || !f) {
|
|
837
878
|
shaderProgram = false;
|
|
838
|
-
|
|
879
|
+
handleErrors();
|
|
839
880
|
return false;
|
|
840
881
|
}
|
|
841
882
|
|
|
@@ -847,8 +888,16 @@ function GLShader(gl) {
|
|
|
847
888
|
|
|
848
889
|
gl.attachShader(shaderProgram, v);
|
|
849
890
|
gl.attachShader(shaderProgram, f);
|
|
891
|
+
|
|
850
892
|
gl.linkProgram(shaderProgram);
|
|
851
893
|
|
|
894
|
+
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
|
|
895
|
+
errors.push(gl.getProgramInfoLog(shaderProgram));
|
|
896
|
+
handleErrors();
|
|
897
|
+
shaderProgram = false;
|
|
898
|
+
return false;
|
|
899
|
+
}
|
|
900
|
+
|
|
852
901
|
gl.useProgram(shaderProgram);
|
|
853
902
|
|
|
854
903
|
gl.bindAttribLocation(shaderProgram, 0, 'aVertexPosition');
|
|
@@ -864,6 +913,7 @@ function GLShader(gl) {
|
|
|
864
913
|
isCircleUniform = uloc('isCircle');
|
|
865
914
|
isInverted = uloc('isInverted');
|
|
866
915
|
plotHeightUniform = uloc('plotHeight');
|
|
916
|
+
|
|
867
917
|
return true;
|
|
868
918
|
}
|
|
869
919
|
|
|
@@ -871,11 +921,9 @@ function GLShader(gl) {
|
|
|
871
921
|
* Destroy the shader
|
|
872
922
|
*/
|
|
873
923
|
function destroy() {
|
|
874
|
-
if (gl) {
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
shaderProgram = false;
|
|
878
|
-
}
|
|
924
|
+
if (gl && shaderProgram) {
|
|
925
|
+
gl.deleteProgram(shaderProgram);
|
|
926
|
+
shaderProgram = false;
|
|
879
927
|
}
|
|
880
928
|
}
|
|
881
929
|
|
|
@@ -885,7 +933,9 @@ function GLShader(gl) {
|
|
|
885
933
|
* or until 0 is bound.
|
|
886
934
|
*/
|
|
887
935
|
function bind() {
|
|
888
|
-
gl
|
|
936
|
+
if (gl && shaderProgram) {
|
|
937
|
+
gl.useProgram(shaderProgram);
|
|
938
|
+
}
|
|
889
939
|
}
|
|
890
940
|
|
|
891
941
|
/*
|
|
@@ -895,17 +945,24 @@ function GLShader(gl) {
|
|
|
895
945
|
* @param val {float} - the value to set
|
|
896
946
|
*/
|
|
897
947
|
function setUniform(name, val) {
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
948
|
+
if (gl && shaderProgram) {
|
|
949
|
+
var u = uLocations[name] = uLocations[name] ||
|
|
950
|
+
gl.getUniformLocation(
|
|
951
|
+
shaderProgram,
|
|
952
|
+
name
|
|
953
|
+
);
|
|
954
|
+
gl.uniform1f(u, val);
|
|
955
|
+
}
|
|
901
956
|
}
|
|
902
957
|
|
|
903
958
|
/*
|
|
904
959
|
* Set the active texture
|
|
905
960
|
* @param texture - the texture
|
|
906
961
|
*/
|
|
907
|
-
function setTexture() {
|
|
908
|
-
gl
|
|
962
|
+
function setTexture(texture) {
|
|
963
|
+
if (gl && shaderProgram) {
|
|
964
|
+
gl.uniform1i(uSamplerUniform, texture);
|
|
965
|
+
}
|
|
909
966
|
}
|
|
910
967
|
|
|
911
968
|
/*
|
|
@@ -913,26 +970,34 @@ function GLShader(gl) {
|
|
|
913
970
|
* @flag is the state
|
|
914
971
|
*/
|
|
915
972
|
function setInverted(flag) {
|
|
916
|
-
gl
|
|
973
|
+
if (gl && shaderProgram) {
|
|
974
|
+
gl.uniform1i(isInverted, flag);
|
|
975
|
+
}
|
|
917
976
|
}
|
|
918
977
|
|
|
919
978
|
/*
|
|
920
979
|
* Enable/disable circle drawing
|
|
921
980
|
*/
|
|
922
981
|
function setDrawAsCircle(flag) {
|
|
923
|
-
gl
|
|
982
|
+
if (gl && shaderProgram) {
|
|
983
|
+
gl.uniform1i(isCircleUniform, flag ? 1 : 0);
|
|
984
|
+
}
|
|
924
985
|
}
|
|
925
986
|
|
|
926
987
|
function setPlotHeight(n) {
|
|
927
|
-
gl
|
|
988
|
+
if (gl && shaderProgram) {
|
|
989
|
+
gl.uniform1f(plotHeightUniform, n);
|
|
990
|
+
}
|
|
928
991
|
}
|
|
929
992
|
|
|
930
993
|
/*
|
|
931
994
|
* Flush
|
|
932
995
|
*/
|
|
933
996
|
function reset() {
|
|
934
|
-
gl
|
|
935
|
-
|
|
997
|
+
if (gl && shaderProgram) {
|
|
998
|
+
gl.uniform1i(isBubbleUniform, 0);
|
|
999
|
+
gl.uniform1i(isCircleUniform, 0);
|
|
1000
|
+
}
|
|
936
1001
|
}
|
|
937
1002
|
|
|
938
1003
|
/*
|
|
@@ -944,7 +1009,7 @@ function GLShader(gl) {
|
|
|
944
1009
|
zMin = Number.MAX_VALUE,
|
|
945
1010
|
zMax = -Number.MAX_VALUE;
|
|
946
1011
|
|
|
947
|
-
if (series.type === 'bubble') {
|
|
1012
|
+
if (gl && shaderProgram && series.type === 'bubble') {
|
|
948
1013
|
zMin = pick(seriesOptions.zMin, Math.min(
|
|
949
1014
|
zMin,
|
|
950
1015
|
Math.max(
|
|
@@ -980,20 +1045,24 @@ function GLShader(gl) {
|
|
|
980
1045
|
* @param color {Array<float>} - an array with RGBA values
|
|
981
1046
|
*/
|
|
982
1047
|
function setColor(color) {
|
|
983
|
-
gl
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
1048
|
+
if (gl && shaderProgram) {
|
|
1049
|
+
gl.uniform4f(
|
|
1050
|
+
fillColorUniform,
|
|
1051
|
+
color[0] / 255.0,
|
|
1052
|
+
color[1] / 255.0,
|
|
1053
|
+
color[2] / 255.0,
|
|
1054
|
+
color[3]
|
|
1055
|
+
);
|
|
1056
|
+
}
|
|
990
1057
|
}
|
|
991
1058
|
|
|
992
1059
|
/*
|
|
993
1060
|
* Set skip translation
|
|
994
1061
|
*/
|
|
995
1062
|
function setSkipTranslation(flag) {
|
|
996
|
-
gl
|
|
1063
|
+
if (gl && shaderProgram) {
|
|
1064
|
+
gl.uniform1i(skipTranslationUniform, flag === true ? 1 : 0);
|
|
1065
|
+
}
|
|
997
1066
|
}
|
|
998
1067
|
|
|
999
1068
|
/*
|
|
@@ -1001,7 +1070,9 @@ function GLShader(gl) {
|
|
|
1001
1070
|
* @param m {Matrix4x4} - the matrix
|
|
1002
1071
|
*/
|
|
1003
1072
|
function setPMatrix(m) {
|
|
1004
|
-
gl
|
|
1073
|
+
if (gl && shaderProgram) {
|
|
1074
|
+
gl.uniformMatrix4fv(pUniform, false, m);
|
|
1075
|
+
}
|
|
1005
1076
|
}
|
|
1006
1077
|
|
|
1007
1078
|
/*
|
|
@@ -1009,7 +1080,9 @@ function GLShader(gl) {
|
|
|
1009
1080
|
* @param p {float} - point size
|
|
1010
1081
|
*/
|
|
1011
1082
|
function setPointSize(p) {
|
|
1012
|
-
gl
|
|
1083
|
+
if (gl && shaderProgram) {
|
|
1084
|
+
gl.uniform1f(psUniform, p);
|
|
1085
|
+
}
|
|
1013
1086
|
}
|
|
1014
1087
|
|
|
1015
1088
|
/*
|
|
@@ -1021,7 +1094,9 @@ function GLShader(gl) {
|
|
|
1021
1094
|
}
|
|
1022
1095
|
|
|
1023
1096
|
if (gl) {
|
|
1024
|
-
createShader()
|
|
1097
|
+
if (!createShader()) {
|
|
1098
|
+
return false;
|
|
1099
|
+
}
|
|
1025
1100
|
}
|
|
1026
1101
|
|
|
1027
1102
|
return {
|
|
@@ -1233,20 +1308,16 @@ function GLRenderer(postRenderCallback) {
|
|
|
1233
1308
|
data = false,
|
|
1234
1309
|
// The marker data
|
|
1235
1310
|
markerData = false,
|
|
1236
|
-
// Is the texture ready?
|
|
1237
|
-
textureIsReady = false,
|
|
1238
1311
|
// Exports
|
|
1239
1312
|
exports = {},
|
|
1240
1313
|
// Is it inited?
|
|
1241
1314
|
isInited = false,
|
|
1242
1315
|
// The series stack
|
|
1243
1316
|
series = [],
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
// Handle for the circle texture
|
|
1249
|
-
circleTextureHandle,
|
|
1317
|
+
|
|
1318
|
+
// Texture handles
|
|
1319
|
+
textureHandles = {},
|
|
1320
|
+
|
|
1250
1321
|
// Things to draw as "rectangles" (i.e lines)
|
|
1251
1322
|
asBar = {
|
|
1252
1323
|
'column': true,
|
|
@@ -1420,10 +1491,11 @@ function GLRenderer(postRenderCallback) {
|
|
|
1420
1491
|
color,
|
|
1421
1492
|
scolor,
|
|
1422
1493
|
sdata = isStacked ? series.data : (xData || rawData),
|
|
1423
|
-
closestLeft = { x:
|
|
1424
|
-
closestRight = { x: Number.
|
|
1494
|
+
closestLeft = { x: Number.MAX_VALUE, y: 0 },
|
|
1495
|
+
closestRight = { x: -Number.MAX_VALUE, y: 0 },
|
|
1425
1496
|
|
|
1426
1497
|
skipped = 0,
|
|
1498
|
+
hadPoints = false,
|
|
1427
1499
|
|
|
1428
1500
|
cullXThreshold = 1,
|
|
1429
1501
|
cullYThreshold = 1,
|
|
@@ -1444,7 +1516,8 @@ function GLRenderer(postRenderCallback) {
|
|
|
1444
1516
|
pcolor = false,
|
|
1445
1517
|
drawAsBar = asBar[series.type],
|
|
1446
1518
|
isXInside = false,
|
|
1447
|
-
isYInside = true
|
|
1519
|
+
isYInside = true,
|
|
1520
|
+
threshold = options.threshold;
|
|
1448
1521
|
|
|
1449
1522
|
if (options.boostData && options.boostData.length > 0) {
|
|
1450
1523
|
return;
|
|
@@ -1752,7 +1825,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
1752
1825
|
closestRight.y = y;
|
|
1753
1826
|
}
|
|
1754
1827
|
|
|
1755
|
-
if (x < xMin && closestLeft.x
|
|
1828
|
+
if (x < xMin && closestLeft.x > xMin) {
|
|
1756
1829
|
closestLeft.x = x;
|
|
1757
1830
|
closestLeft.y = y;
|
|
1758
1831
|
}
|
|
@@ -1762,7 +1835,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
1762
1835
|
}
|
|
1763
1836
|
|
|
1764
1837
|
// Cull points outside the extremes
|
|
1765
|
-
if (y === null || !isYInside) {
|
|
1838
|
+
if (y === null || (!isYInside && !nextInside && !prevInside)) {
|
|
1766
1839
|
beginSegment();
|
|
1767
1840
|
continue;
|
|
1768
1841
|
}
|
|
@@ -1788,6 +1861,13 @@ function GLRenderer(postRenderCallback) {
|
|
|
1788
1861
|
}
|
|
1789
1862
|
|
|
1790
1863
|
if (x > plotWidth) {
|
|
1864
|
+
// If this is rendered as a point, just skip drawing it
|
|
1865
|
+
// entirely, as we're not dependandt on lineTo'ing to it.
|
|
1866
|
+
// See #8197
|
|
1867
|
+
if (inst.drawMode === 'points') {
|
|
1868
|
+
continue;
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1791
1871
|
x = plotWidth;
|
|
1792
1872
|
}
|
|
1793
1873
|
|
|
@@ -1806,6 +1886,9 @@ function GLRenderer(postRenderCallback) {
|
|
|
1806
1886
|
}
|
|
1807
1887
|
}
|
|
1808
1888
|
|
|
1889
|
+
if (!isRange && !isStacked) {
|
|
1890
|
+
minVal = Math.max(threshold, yMin); // #8731
|
|
1891
|
+
}
|
|
1809
1892
|
if (!settings.useGPUTranslations) {
|
|
1810
1893
|
minVal = yAxis.toPixels(minVal, true);
|
|
1811
1894
|
}
|
|
@@ -1843,7 +1926,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
1843
1926
|
|
|
1844
1927
|
if (!settings.useGPUTranslations &&
|
|
1845
1928
|
!settings.usePreallocated &&
|
|
1846
|
-
(lastX && x - lastX < cullXThreshold) &&
|
|
1929
|
+
(lastX && Math.abs(x - lastX) < cullXThreshold) &&
|
|
1847
1930
|
(lastY && Math.abs(y - lastY) < cullYThreshold)
|
|
1848
1931
|
) {
|
|
1849
1932
|
if (settings.debug.showSkipSummary) {
|
|
@@ -1887,13 +1970,15 @@ function GLRenderer(postRenderCallback) {
|
|
|
1887
1970
|
|
|
1888
1971
|
lastX = x;
|
|
1889
1972
|
lastY = y;
|
|
1973
|
+
|
|
1974
|
+
hadPoints = true;
|
|
1890
1975
|
}
|
|
1891
1976
|
|
|
1892
1977
|
if (settings.debug.showSkipSummary) {
|
|
1893
1978
|
console.log('skipped points:', skipped); // eslint-disable-line no-console
|
|
1894
1979
|
}
|
|
1895
1980
|
|
|
1896
|
-
function pushSupplementPoint(point) {
|
|
1981
|
+
function pushSupplementPoint(point, atStart) {
|
|
1897
1982
|
if (!settings.useGPUTranslations) {
|
|
1898
1983
|
inst.skipTranslation = true;
|
|
1899
1984
|
point.x = xAxis.toPixels(point.x, true);
|
|
@@ -1903,6 +1988,11 @@ function GLRenderer(postRenderCallback) {
|
|
|
1903
1988
|
// We should only do this for lines, and we should ignore markers
|
|
1904
1989
|
// since there's no point here that would have a marker.
|
|
1905
1990
|
|
|
1991
|
+
if (atStart) {
|
|
1992
|
+
data = [point.x, point.y, 0, 2].concat(data);
|
|
1993
|
+
return;
|
|
1994
|
+
}
|
|
1995
|
+
|
|
1906
1996
|
vertice(
|
|
1907
1997
|
point.x,
|
|
1908
1998
|
point.y,
|
|
@@ -1911,13 +2001,19 @@ function GLRenderer(postRenderCallback) {
|
|
|
1911
2001
|
);
|
|
1912
2002
|
}
|
|
1913
2003
|
|
|
1914
|
-
if (
|
|
2004
|
+
if (
|
|
2005
|
+
!hadPoints &&
|
|
1915
2006
|
connectNulls !== false &&
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
2007
|
+
series.drawMode === 'line_strip'
|
|
2008
|
+
) {
|
|
2009
|
+
if (closestLeft.x < Number.MAX_VALUE) {
|
|
2010
|
+
// We actually need to push this *before* the complete buffer.
|
|
2011
|
+
pushSupplementPoint(closestLeft, true);
|
|
2012
|
+
}
|
|
2013
|
+
|
|
2014
|
+
if (closestRight.x > -Number.MAX_VALUE) {
|
|
2015
|
+
pushSupplementPoint(closestRight);
|
|
2016
|
+
}
|
|
1921
2017
|
}
|
|
1922
2018
|
|
|
1923
2019
|
closeSegment();
|
|
@@ -2056,7 +2152,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
2056
2152
|
return false;
|
|
2057
2153
|
}
|
|
2058
2154
|
|
|
2059
|
-
if (!gl || !width || !height) {
|
|
2155
|
+
if (!gl || !width || !height || !shader) {
|
|
2060
2156
|
return false;
|
|
2061
2157
|
}
|
|
2062
2158
|
|
|
@@ -2069,7 +2165,6 @@ function GLRenderer(postRenderCallback) {
|
|
|
2069
2165
|
|
|
2070
2166
|
shader.bind();
|
|
2071
2167
|
|
|
2072
|
-
|
|
2073
2168
|
gl.viewport(0, 0, width, height);
|
|
2074
2169
|
shader.setPMatrix(orthoMatrix(width, height));
|
|
2075
2170
|
shader.setPlotHeight(chart.plotHeight);
|
|
@@ -2081,17 +2176,12 @@ function GLRenderer(postRenderCallback) {
|
|
|
2081
2176
|
vbuffer.build(exports.data, 'aVertexPosition', 4);
|
|
2082
2177
|
vbuffer.bind();
|
|
2083
2178
|
|
|
2084
|
-
if (textureIsReady) {
|
|
2085
|
-
gl.bindTexture(gl.TEXTURE_2D, circleTextureHandle);
|
|
2086
|
-
shader.setTexture(circleTextureHandle);
|
|
2087
|
-
}
|
|
2088
|
-
|
|
2089
2179
|
shader.setInverted(chart.inverted);
|
|
2090
2180
|
|
|
2091
|
-
|
|
2092
2181
|
// Render the series
|
|
2093
2182
|
each(series, function (s, si) {
|
|
2094
2183
|
var options = s.series.options,
|
|
2184
|
+
shapeOptions = options.marker,
|
|
2095
2185
|
sindex,
|
|
2096
2186
|
lineWidth = typeof options.lineWidth !== 'undefined' ?
|
|
2097
2187
|
options.lineWidth :
|
|
@@ -2112,8 +2202,23 @@ function GLRenderer(postRenderCallback) {
|
|
|
2112
2202
|
) || 10)
|
|
2113
2203
|
),
|
|
2114
2204
|
fillColor,
|
|
2205
|
+
shapeTexture = textureHandles[
|
|
2206
|
+
(shapeOptions && shapeOptions.symbol) || s.series.symbol
|
|
2207
|
+
] || textureHandles.circle,
|
|
2115
2208
|
color;
|
|
2116
2209
|
|
|
2210
|
+
if (
|
|
2211
|
+
s.segments.length === 0 ||
|
|
2212
|
+
(s.segmentslength && s.segments[0].from === s.segments[0].to)
|
|
2213
|
+
) {
|
|
2214
|
+
return;
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
if (shapeTexture.isReady) {
|
|
2218
|
+
gl.bindTexture(gl.TEXTURE_2D, shapeTexture.handle);
|
|
2219
|
+
shader.setTexture(shapeTexture.handle);
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2117
2222
|
|
|
2118
2223
|
fillColor =
|
|
2119
2224
|
(s.series.pointAttribs && s.series.pointAttribs().fill) ||
|
|
@@ -2197,7 +2302,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
2197
2302
|
}
|
|
2198
2303
|
|
|
2199
2304
|
shader.setDrawAsCircle(
|
|
2200
|
-
|
|
2305
|
+
asCircle[s.series.type] || false
|
|
2201
2306
|
);
|
|
2202
2307
|
|
|
2203
2308
|
// Do the actual rendering
|
|
@@ -2270,8 +2375,8 @@ function GLRenderer(postRenderCallback) {
|
|
|
2270
2375
|
* @param h {Integer} - the height of the viewport
|
|
2271
2376
|
*/
|
|
2272
2377
|
function setSize(w, h) {
|
|
2273
|
-
// Skip if there's no change
|
|
2274
|
-
if (width === w && h === h) {
|
|
2378
|
+
// Skip if there's no change, or if we have no valid shader
|
|
2379
|
+
if ((width === w && h === h) || !shader) {
|
|
2275
2380
|
return;
|
|
2276
2381
|
}
|
|
2277
2382
|
|
|
@@ -2330,71 +2435,127 @@ function GLRenderer(postRenderCallback) {
|
|
|
2330
2435
|
gl.depthFunc(gl.LESS);
|
|
2331
2436
|
|
|
2332
2437
|
shader = GLShader(gl); // eslint-disable-line new-cap
|
|
2438
|
+
|
|
2439
|
+
if (!shader) {
|
|
2440
|
+
// We need to abort, there's no shader context
|
|
2441
|
+
return false;
|
|
2442
|
+
}
|
|
2443
|
+
|
|
2333
2444
|
vbuffer = GLVertexBuffer(gl, shader); // eslint-disable-line new-cap
|
|
2334
2445
|
|
|
2335
|
-
|
|
2446
|
+
function createTexture(name, fn) {
|
|
2447
|
+
var props = {
|
|
2448
|
+
isReady: false,
|
|
2449
|
+
texture: doc.createElement('canvas'),
|
|
2450
|
+
handle: gl.createTexture()
|
|
2451
|
+
},
|
|
2452
|
+
ctx = props.texture.getContext('2d');
|
|
2336
2453
|
|
|
2337
|
-
|
|
2338
|
-
circleTextureHandle = gl.createTexture();
|
|
2454
|
+
textureHandles[name] = props;
|
|
2339
2455
|
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
circleTexture.height = 512;
|
|
2456
|
+
props.texture.width = 512;
|
|
2457
|
+
props.texture.height = 512;
|
|
2343
2458
|
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2459
|
+
ctx.mozImageSmoothingEnabled = false;
|
|
2460
|
+
ctx.webkitImageSmoothingEnabled = false;
|
|
2461
|
+
ctx.msImageSmoothingEnabled = false;
|
|
2462
|
+
ctx.imageSmoothingEnabled = false;
|
|
2348
2463
|
|
|
2349
|
-
|
|
2350
|
-
|
|
2464
|
+
ctx.strokeStyle = 'rgba(255, 255, 255, 0)';
|
|
2465
|
+
ctx.fillStyle = '#FFF';
|
|
2351
2466
|
|
|
2352
|
-
|
|
2353
|
-
circleCtx.arc(256, 256, 256, 0, 2 * Math.PI);
|
|
2354
|
-
circleCtx.stroke();
|
|
2355
|
-
circleCtx.fill();
|
|
2467
|
+
fn(ctx);
|
|
2356
2468
|
|
|
2357
|
-
|
|
2469
|
+
try {
|
|
2358
2470
|
|
|
2359
|
-
|
|
2360
|
-
|
|
2471
|
+
gl.activeTexture(gl.TEXTURE0);
|
|
2472
|
+
gl.bindTexture(gl.TEXTURE_2D, props.handle);
|
|
2473
|
+
// gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
|
|
2361
2474
|
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2475
|
+
gl.texImage2D(
|
|
2476
|
+
gl.TEXTURE_2D,
|
|
2477
|
+
0,
|
|
2478
|
+
gl.RGBA,
|
|
2479
|
+
gl.RGBA,
|
|
2480
|
+
gl.UNSIGNED_BYTE,
|
|
2481
|
+
props.texture
|
|
2482
|
+
);
|
|
2370
2483
|
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
gl.
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
gl.
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
gl.
|
|
2390
|
-
|
|
2484
|
+
gl.texParameteri(
|
|
2485
|
+
gl.TEXTURE_2D,
|
|
2486
|
+
gl.TEXTURE_WRAP_S,
|
|
2487
|
+
gl.CLAMP_TO_EDGE
|
|
2488
|
+
);
|
|
2489
|
+
|
|
2490
|
+
gl.texParameteri(
|
|
2491
|
+
gl.TEXTURE_2D,
|
|
2492
|
+
gl.TEXTURE_WRAP_T,
|
|
2493
|
+
gl.CLAMP_TO_EDGE
|
|
2494
|
+
);
|
|
2495
|
+
|
|
2496
|
+
gl.texParameteri(
|
|
2497
|
+
gl.TEXTURE_2D,
|
|
2498
|
+
gl.TEXTURE_MAG_FILTER,
|
|
2499
|
+
gl.LINEAR
|
|
2500
|
+
);
|
|
2501
|
+
|
|
2502
|
+
gl.texParameteri(
|
|
2503
|
+
gl.TEXTURE_2D,
|
|
2504
|
+
gl.TEXTURE_MIN_FILTER,
|
|
2505
|
+
gl.LINEAR
|
|
2506
|
+
);
|
|
2391
2507
|
|
|
2392
|
-
|
|
2508
|
+
// gl.generateMipmap(gl.TEXTURE_2D);
|
|
2393
2509
|
|
|
2394
|
-
|
|
2510
|
+
gl.bindTexture(gl.TEXTURE_2D, null);
|
|
2395
2511
|
|
|
2396
|
-
|
|
2397
|
-
|
|
2512
|
+
props.isReady = true;
|
|
2513
|
+
} catch (e) {}
|
|
2514
|
+
}
|
|
2515
|
+
|
|
2516
|
+
// Circle shape
|
|
2517
|
+
createTexture('circle', function (ctx) {
|
|
2518
|
+
ctx.beginPath();
|
|
2519
|
+
ctx.arc(256, 256, 256, 0, 2 * Math.PI);
|
|
2520
|
+
ctx.stroke();
|
|
2521
|
+
ctx.fill();
|
|
2522
|
+
});
|
|
2523
|
+
|
|
2524
|
+
// Square shape
|
|
2525
|
+
createTexture('square', function (ctx) {
|
|
2526
|
+
ctx.fillRect(0, 0, 512, 512);
|
|
2527
|
+
});
|
|
2528
|
+
|
|
2529
|
+
// Diamond shape
|
|
2530
|
+
createTexture('diamond', function (ctx) {
|
|
2531
|
+
ctx.beginPath();
|
|
2532
|
+
ctx.moveTo(256, 0);
|
|
2533
|
+
ctx.lineTo(512, 256);
|
|
2534
|
+
ctx.lineTo(256, 512);
|
|
2535
|
+
ctx.lineTo(0, 256);
|
|
2536
|
+
ctx.lineTo(256, 0);
|
|
2537
|
+
ctx.fill();
|
|
2538
|
+
});
|
|
2539
|
+
|
|
2540
|
+
// Triangle shape
|
|
2541
|
+
createTexture('triangle', function (ctx) {
|
|
2542
|
+
ctx.beginPath();
|
|
2543
|
+
ctx.moveTo(0, 512);
|
|
2544
|
+
ctx.lineTo(256, 0);
|
|
2545
|
+
ctx.lineTo(512, 512);
|
|
2546
|
+
ctx.lineTo(0, 512);
|
|
2547
|
+
ctx.fill();
|
|
2548
|
+
});
|
|
2549
|
+
|
|
2550
|
+
// Triangle shape (rotated)
|
|
2551
|
+
createTexture('triangle-down', function (ctx) {
|
|
2552
|
+
ctx.beginPath();
|
|
2553
|
+
ctx.moveTo(0, 0);
|
|
2554
|
+
ctx.lineTo(256, 512);
|
|
2555
|
+
ctx.lineTo(512, 0);
|
|
2556
|
+
ctx.lineTo(0, 0);
|
|
2557
|
+
ctx.fill();
|
|
2558
|
+
});
|
|
2398
2559
|
|
|
2399
2560
|
isInited = true;
|
|
2400
2561
|
|
|
@@ -2426,9 +2587,13 @@ function GLRenderer(postRenderCallback) {
|
|
|
2426
2587
|
vbuffer.destroy();
|
|
2427
2588
|
shader.destroy();
|
|
2428
2589
|
if (gl) {
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2590
|
+
|
|
2591
|
+
objEach(textureHandles, function (key) {
|
|
2592
|
+
if (textureHandles[key].handle) {
|
|
2593
|
+
gl.deleteTexture(textureHandles[key].handle);
|
|
2594
|
+
}
|
|
2595
|
+
});
|
|
2596
|
+
|
|
2432
2597
|
gl.canvas.width = 1;
|
|
2433
2598
|
gl.canvas.height = 1;
|
|
2434
2599
|
}
|
|
@@ -2600,7 +2765,13 @@ function createAndAttachRenderer(chart, series) {
|
|
|
2600
2765
|
|
|
2601
2766
|
}); // eslint-disable-line new-cap
|
|
2602
2767
|
|
|
2603
|
-
target.ogl.init(target.canvas)
|
|
2768
|
+
if (!target.ogl.init(target.canvas)) {
|
|
2769
|
+
// The OGL renderer couldn't be inited.
|
|
2770
|
+
// This likely means a shader error as we wouldn't get to this point
|
|
2771
|
+
// if there was no WebGL support.
|
|
2772
|
+
H.error('[highcharts boost] - unable to init WebGL renderer');
|
|
2773
|
+
}
|
|
2774
|
+
|
|
2604
2775
|
// target.ogl.clear();
|
|
2605
2776
|
target.ogl.setOptions(chart.options.boost || {});
|
|
2606
2777
|
|
|
@@ -2790,24 +2961,16 @@ each([
|
|
|
2790
2961
|
], function (method) {
|
|
2791
2962
|
function branch(proceed) {
|
|
2792
2963
|
var letItPass = this.options.stacking &&
|
|
2793
|
-
|
|
2794
|
-
enabled = pick(
|
|
2795
|
-
(
|
|
2796
|
-
this.chart &&
|
|
2797
|
-
this.chart.options &&
|
|
2798
|
-
this.chart.options.boost &&
|
|
2799
|
-
this.chart.options.boost.enabled
|
|
2800
|
-
),
|
|
2801
|
-
true
|
|
2802
|
-
);
|
|
2964
|
+
(method === 'translate' || method === 'generatePoints');
|
|
2803
2965
|
|
|
2804
2966
|
if (
|
|
2805
2967
|
!this.isSeriesBoosting ||
|
|
2806
2968
|
letItPass ||
|
|
2807
|
-
!
|
|
2969
|
+
!boostEnabled(this.chart) ||
|
|
2808
2970
|
this.type === 'heatmap' ||
|
|
2809
2971
|
this.type === 'treemap' ||
|
|
2810
|
-
!boostableMap[this.type]
|
|
2972
|
+
!boostableMap[this.type] ||
|
|
2973
|
+
this.options.boostThreshold === 0
|
|
2811
2974
|
) {
|
|
2812
2975
|
|
|
2813
2976
|
proceed.call(this);
|
|
@@ -2852,7 +3015,7 @@ wrap(Series.prototype, 'processData', function (proceed) {
|
|
|
2852
3015
|
);
|
|
2853
3016
|
}
|
|
2854
3017
|
|
|
2855
|
-
if (boostableMap[this.type]) {
|
|
3018
|
+
if (boostEnabled(this.chart) && boostableMap[this.type]) {
|
|
2856
3019
|
|
|
2857
3020
|
// If there are no extremes given in the options, we also need to
|
|
2858
3021
|
// process the data to read the data extremes. If this is a heatmap, do
|
|
@@ -3096,6 +3259,7 @@ if (!H.hasWebGLSupport()) {
|
|
|
3096
3259
|
minI,
|
|
3097
3260
|
maxI,
|
|
3098
3261
|
boostOptions,
|
|
3262
|
+
compareX = options.findNearestPointBy === 'x',
|
|
3099
3263
|
|
|
3100
3264
|
xDataFull = (
|
|
3101
3265
|
this.xData ||
|
|
@@ -3105,8 +3269,8 @@ if (!H.hasWebGLSupport()) {
|
|
|
3105
3269
|
),
|
|
3106
3270
|
|
|
3107
3271
|
addKDPoint = function (clientX, plotY, i) {
|
|
3108
|
-
// Shaves off about 60ms compared to repeated
|
|
3109
|
-
index = clientX + ',' + plotY;
|
|
3272
|
+
// Shaves off about 60ms compared to repeated concatenation
|
|
3273
|
+
index = compareX ? clientX : clientX + ',' + plotY;
|
|
3110
3274
|
|
|
3111
3275
|
// The k-d tree requires series points.
|
|
3112
3276
|
// Reduce the amount of points, since the time to build the
|
|
@@ -3178,7 +3342,6 @@ if (!H.hasWebGLSupport()) {
|
|
|
3178
3342
|
renderer.pushSeries(series);
|
|
3179
3343
|
// Perform the actual renderer if we're on series level
|
|
3180
3344
|
renderIfNotSeriesBoosting(renderer, this, chart);
|
|
3181
|
-
// console.log(series, chart);
|
|
3182
3345
|
}
|
|
3183
3346
|
|
|
3184
3347
|
/* This builds the KD-tree */
|