highcharts 9.1.1 → 9.1.2
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/annotations/popup.css +29 -28
- package/css/annotations/popup.scss +29 -27
- package/es-modules/Core/Axis/Axis.js +24 -17
- package/es-modules/Core/Axis/AxisDefaults.js +0 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +141 -61
- package/es-modules/Core/Globals.js +7 -1
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -1
- package/es-modules/Core/Series/Series.js +16 -1
- package/es-modules/Core/Time.js +2 -2
- package/es-modules/Core/Tooltip.js +7 -11
- package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -1
- package/es-modules/Extensions/Annotations/Popup.js +4 -1
- package/es-modules/Extensions/Boost/WGLRenderer.js +5 -0
- package/es-modules/Extensions/Drilldown.js +39 -12
- package/es-modules/Extensions/OfflineExporting.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/PatternFill.js +23 -10
- package/es-modules/Stock/StockToolsGui.js +1 -1
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- 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/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -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/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- 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/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.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/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- 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/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.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/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.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/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +782 -782
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +109 -87
- package/highcharts-more.js +1 -1
- package/highcharts-more.src.js +1 -1
- package/highcharts.d.ts +30 -9
- package/highcharts.js +467 -467
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +30 -9
- package/highcharts.src.js +109 -87
- package/highmaps.js +697 -697
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +109 -87
- package/highstock.js +757 -755
- package/highstock.js.map +1 -1
- package/highstock.src.js +270 -157
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.src.js +1 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +1 -1
- package/indicators/indicators-all.src.js +1 -1
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.src.js +1 -1
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.js +1 -1
- package/indicators/klinger.src.js +1 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +1 -1
- package/modules/accessibility.src.js +1 -1
- package/modules/annotations-advanced.js +16 -16
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +6 -3
- package/modules/annotations.js +16 -16
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +6 -3
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +1 -1
- package/modules/boost-canvas.src.js +1 -1
- package/modules/boost.js +34 -34
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +6 -1
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +1 -1
- package/modules/coloraxis.src.js +1 -1
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +1 -1
- package/modules/data.src.js +1 -1
- package/modules/datagrouping.js +1 -1
- package/modules/datagrouping.src.js +1 -1
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.d.ts +27 -0
- package/modules/drilldown.js +16 -16
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +27 -0
- package/modules/drilldown.src.js +40 -14
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +1 -1
- package/modules/export-data.src.js +1 -1
- package/modules/exporting.js +1 -1
- package/modules/exporting.src.js +1 -1
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +1 -1
- package/modules/gantt.src.js +1 -1
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +1 -1
- package/modules/heatmap.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.js +1 -1
- package/modules/map.src.js +1 -1
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/networkgraph.js +1 -1
- package/modules/networkgraph.src.js +1 -1
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +2 -2
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +2 -2
- package/modules/organization.js +1 -1
- package/modules/organization.src.js +1 -1
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +14 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +24 -12
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.js +1 -1
- package/modules/sankey.src.js +1 -1
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.js +1 -1
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +2 -2
- package/modules/stock-tools.src.js +3 -3
- package/modules/stock.js +191 -189
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +162 -71
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +1 -1
- package/modules/sunburst.src.js +1 -1
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.src.js +1 -1
- package/modules/treegrid.js +1 -1
- package/modules/treegrid.src.js +1 -1
- package/modules/treemap.js +1 -1
- package/modules/treemap.src.js +1 -1
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +1 -1
- package/modules/venn.src.js +1 -1
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +1 -1
- package/modules/wordcloud.src.js +1 -1
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
package/highstock.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highstock JS v9.1.
|
|
2
|
+
* @license Highstock JS v9.1.2 (2021-06-16)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2009-2021 Torstein Honsi
|
|
5
5
|
*
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
* Constants
|
|
72
72
|
*
|
|
73
73
|
* */
|
|
74
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.1.
|
|
74
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.1.2', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
|
|
75
75
|
Globals.doc.createElementNS &&
|
|
76
76
|
!!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.userAgent.indexOf('Chrome') !== -1, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.hasBidiBug = (Globals.isFirefox &&
|
|
77
77
|
parseInt(Globals.userAgent.split('Firefox/')[1], 10) < 4 // issue #38
|
|
@@ -131,6 +131,12 @@
|
|
|
131
131
|
* @private
|
|
132
132
|
*/
|
|
133
133
|
Globals.symbolSizes = {};
|
|
134
|
+
/* *
|
|
135
|
+
*
|
|
136
|
+
* Properties
|
|
137
|
+
*
|
|
138
|
+
* */
|
|
139
|
+
Globals.chartCount = 0;
|
|
134
140
|
})(Globals || (Globals = {}));
|
|
135
141
|
/* *
|
|
136
142
|
*
|
|
@@ -3774,9 +3780,9 @@
|
|
|
3774
3780
|
* Constants
|
|
3775
3781
|
*
|
|
3776
3782
|
* */
|
|
3777
|
-
var hasNewSafariBug = (H.isSafari && Intl.DateTimeFormat.prototype.formatRange);
|
|
3783
|
+
var hasNewSafariBug = (H.isSafari && Intl && Intl.DateTimeFormat.prototype.formatRange);
|
|
3778
3784
|
// To do: Remove this when we no longer need support for Safari < v14.1
|
|
3779
|
-
var hasOldSafariBug = (H.isSafari && !Intl.DateTimeFormat.prototype.formatRange);
|
|
3785
|
+
var hasOldSafariBug = (H.isSafari && Intl && !Intl.DateTimeFormat.prototype.formatRange);
|
|
3780
3786
|
/* *
|
|
3781
3787
|
*
|
|
3782
3788
|
* Class
|
|
@@ -12156,7 +12162,7 @@
|
|
|
12156
12162
|
this.url = this.getReferenceURL();
|
|
12157
12163
|
// Add description
|
|
12158
12164
|
var desc = this.createElement('desc').add();
|
|
12159
|
-
desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.1.
|
|
12165
|
+
desc.element.appendChild(doc.createTextNode('Created with Highcharts 9.1.2'));
|
|
12160
12166
|
renderer.defs = this.createElement('defs').add();
|
|
12161
12167
|
renderer.allowHTML = allowHTML;
|
|
12162
12168
|
renderer.forExport = forExport;
|
|
@@ -14428,6 +14434,63 @@
|
|
|
14428
14434
|
|
|
14429
14435
|
return HTMLRenderer;
|
|
14430
14436
|
});
|
|
14437
|
+
_registerModule(_modules, 'Core/Foundation.js', [_modules['Core/Utilities.js']], function (U) {
|
|
14438
|
+
/* *
|
|
14439
|
+
*
|
|
14440
|
+
* (c) 2010-2021 Torstein Honsi
|
|
14441
|
+
*
|
|
14442
|
+
* License: www.highcharts.com/license
|
|
14443
|
+
*
|
|
14444
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
14445
|
+
*
|
|
14446
|
+
* */
|
|
14447
|
+
var addEvent = U.addEvent,
|
|
14448
|
+
isFunction = U.isFunction,
|
|
14449
|
+
objectEach = U.objectEach,
|
|
14450
|
+
removeEvent = U.removeEvent;
|
|
14451
|
+
/* *
|
|
14452
|
+
*
|
|
14453
|
+
* Functions
|
|
14454
|
+
*
|
|
14455
|
+
* */
|
|
14456
|
+
/*
|
|
14457
|
+
* Register event options. If an event handler is set on the options, it should
|
|
14458
|
+
* be subject to Chart.update, Axis.update and Series.update. This is contrary
|
|
14459
|
+
* to general handlers that are set directly using addEvent either on the class
|
|
14460
|
+
* or on the instance. #6538, #6943, #10861.
|
|
14461
|
+
*/
|
|
14462
|
+
var registerEventOptions = function (component,
|
|
14463
|
+
options) {
|
|
14464
|
+
// A lookup over those events that are added by _options_ (not
|
|
14465
|
+
// programmatically). These are updated through .update()
|
|
14466
|
+
component.eventOptions = component.eventOptions || {};
|
|
14467
|
+
// Register event listeners
|
|
14468
|
+
objectEach(options.events, function (event, eventType) {
|
|
14469
|
+
if (isFunction(event)) {
|
|
14470
|
+
// If event does not exist, or is changed by the .update()
|
|
14471
|
+
// function
|
|
14472
|
+
if (component.eventOptions[eventType] !== event) {
|
|
14473
|
+
// Remove existing if set by option
|
|
14474
|
+
if (isFunction(component.eventOptions[eventType])) {
|
|
14475
|
+
removeEvent(component, eventType, component.eventOptions[eventType]);
|
|
14476
|
+
}
|
|
14477
|
+
component.eventOptions[eventType] = event;
|
|
14478
|
+
addEvent(component, eventType, event);
|
|
14479
|
+
}
|
|
14480
|
+
}
|
|
14481
|
+
});
|
|
14482
|
+
};
|
|
14483
|
+
/* *
|
|
14484
|
+
*
|
|
14485
|
+
* Default Export
|
|
14486
|
+
*
|
|
14487
|
+
* */
|
|
14488
|
+
var exports = {
|
|
14489
|
+
registerEventOptions: registerEventOptions
|
|
14490
|
+
};
|
|
14491
|
+
|
|
14492
|
+
return exports;
|
|
14493
|
+
});
|
|
14431
14494
|
_registerModule(_modules, 'Core/Axis/AxisDefaults.js', [_modules['Core/Color/Palette.js']], function (Palette) {
|
|
14432
14495
|
/* *
|
|
14433
14496
|
*
|
|
@@ -15329,7 +15392,6 @@
|
|
|
15329
15392
|
* Show labels over two lines
|
|
15330
15393
|
*
|
|
15331
15394
|
* @since 2.1
|
|
15332
|
-
* @apioption xAxis.labels.staggerLines
|
|
15333
15395
|
*/
|
|
15334
15396
|
staggerLines: 0,
|
|
15335
15397
|
/**
|
|
@@ -17354,63 +17416,6 @@
|
|
|
17354
17416
|
|
|
17355
17417
|
return AxisDefaults;
|
|
17356
17418
|
});
|
|
17357
|
-
_registerModule(_modules, 'Core/Foundation.js', [_modules['Core/Utilities.js']], function (U) {
|
|
17358
|
-
/* *
|
|
17359
|
-
*
|
|
17360
|
-
* (c) 2010-2021 Torstein Honsi
|
|
17361
|
-
*
|
|
17362
|
-
* License: www.highcharts.com/license
|
|
17363
|
-
*
|
|
17364
|
-
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
17365
|
-
*
|
|
17366
|
-
* */
|
|
17367
|
-
var addEvent = U.addEvent,
|
|
17368
|
-
isFunction = U.isFunction,
|
|
17369
|
-
objectEach = U.objectEach,
|
|
17370
|
-
removeEvent = U.removeEvent;
|
|
17371
|
-
/* *
|
|
17372
|
-
*
|
|
17373
|
-
* Functions
|
|
17374
|
-
*
|
|
17375
|
-
* */
|
|
17376
|
-
/*
|
|
17377
|
-
* Register event options. If an event handler is set on the options, it should
|
|
17378
|
-
* be subject to Chart.update, Axis.update and Series.update. This is contrary
|
|
17379
|
-
* to general handlers that are set directly using addEvent either on the class
|
|
17380
|
-
* or on the instance. #6538, #6943, #10861.
|
|
17381
|
-
*/
|
|
17382
|
-
var registerEventOptions = function (component,
|
|
17383
|
-
options) {
|
|
17384
|
-
// A lookup over those events that are added by _options_ (not
|
|
17385
|
-
// programmatically). These are updated through .update()
|
|
17386
|
-
component.eventOptions = component.eventOptions || {};
|
|
17387
|
-
// Register event listeners
|
|
17388
|
-
objectEach(options.events, function (event, eventType) {
|
|
17389
|
-
if (isFunction(event)) {
|
|
17390
|
-
// If event does not exist, or is changed by the .update()
|
|
17391
|
-
// function
|
|
17392
|
-
if (component.eventOptions[eventType] !== event) {
|
|
17393
|
-
// Remove existing if set by option
|
|
17394
|
-
if (isFunction(component.eventOptions[eventType])) {
|
|
17395
|
-
removeEvent(component, eventType, component.eventOptions[eventType]);
|
|
17396
|
-
}
|
|
17397
|
-
component.eventOptions[eventType] = event;
|
|
17398
|
-
addEvent(component, eventType, event);
|
|
17399
|
-
}
|
|
17400
|
-
}
|
|
17401
|
-
});
|
|
17402
|
-
};
|
|
17403
|
-
/* *
|
|
17404
|
-
*
|
|
17405
|
-
* Default Export
|
|
17406
|
-
*
|
|
17407
|
-
* */
|
|
17408
|
-
var exports = {
|
|
17409
|
-
registerEventOptions: registerEventOptions
|
|
17410
|
-
};
|
|
17411
|
-
|
|
17412
|
-
return exports;
|
|
17413
|
-
});
|
|
17414
17419
|
_registerModule(_modules, 'Core/Axis/Tick.js', [_modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (F, H, U) {
|
|
17415
17420
|
/* *
|
|
17416
17421
|
*
|
|
@@ -18263,7 +18268,7 @@
|
|
|
18263
18268
|
|
|
18264
18269
|
return Tick;
|
|
18265
18270
|
});
|
|
18266
|
-
_registerModule(_modules, 'Core/Axis/Axis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/
|
|
18271
|
+
_registerModule(_modules, 'Core/Axis/Axis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Color/Palette.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Foundation.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js'], _modules['Core/Axis/AxisDefaults.js'], _modules['Core/Axis/Tick.js']], function (A, Color, Palette, D, F, H, U, AxisDefaults, Tick) {
|
|
18267
18272
|
/* *
|
|
18268
18273
|
*
|
|
18269
18274
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -18858,13 +18863,13 @@
|
|
|
18858
18863
|
val -= minPixelPadding;
|
|
18859
18864
|
// from chart pixel to value:
|
|
18860
18865
|
returnValue = val / localA + localMin;
|
|
18861
|
-
if (doPostTranslate) { // log and
|
|
18866
|
+
if (doPostTranslate) { // log, ordinal and broken axis
|
|
18862
18867
|
returnValue = axis.lin2val(returnValue);
|
|
18863
18868
|
}
|
|
18864
18869
|
// From value to pixels
|
|
18865
18870
|
}
|
|
18866
18871
|
else {
|
|
18867
|
-
if (doPostTranslate) { // log and
|
|
18872
|
+
if (doPostTranslate) { // log, ordinal and broken axis
|
|
18868
18873
|
val = axis.val2lin(val);
|
|
18869
18874
|
}
|
|
18870
18875
|
returnValue = isNumber(localMin) ?
|
|
@@ -20968,16 +20973,18 @@
|
|
|
20968
20973
|
*
|
|
20969
20974
|
* @param {number} pos
|
|
20970
20975
|
* The position in axis values.
|
|
20976
|
+
*
|
|
20977
|
+
* @param {boolean} slideIn
|
|
20978
|
+
* Whether the tick should animate in from last computed position
|
|
20971
20979
|
*/
|
|
20972
|
-
Axis.prototype.renderMinorTick = function (pos) {
|
|
20980
|
+
Axis.prototype.renderMinorTick = function (pos, slideIn) {
|
|
20973
20981
|
var axis = this;
|
|
20974
|
-
var slideInTicks = axis.chart.hasRendered && axis.old;
|
|
20975
20982
|
var minorTicks = axis.minorTicks;
|
|
20976
20983
|
if (!minorTicks[pos]) {
|
|
20977
20984
|
minorTicks[pos] = new Tick(axis, pos, 'minor');
|
|
20978
20985
|
}
|
|
20979
20986
|
// Render new ticks in old position
|
|
20980
|
-
if (
|
|
20987
|
+
if (slideIn && minorTicks[pos].isNew) {
|
|
20981
20988
|
minorTicks[pos].render(null, true);
|
|
20982
20989
|
}
|
|
20983
20990
|
minorTicks[pos].render(null, false, 1);
|
|
@@ -20993,12 +21000,14 @@
|
|
|
20993
21000
|
*
|
|
20994
21001
|
* @param {number} i
|
|
20995
21002
|
* The tick index.
|
|
21003
|
+
*
|
|
21004
|
+
* @param {boolean} slideIn
|
|
21005
|
+
* Whether the tick should animate in from last computed position
|
|
20996
21006
|
*/
|
|
20997
|
-
Axis.prototype.renderTick = function (pos, i) {
|
|
21007
|
+
Axis.prototype.renderTick = function (pos, i, slideIn) {
|
|
20998
21008
|
var axis = this,
|
|
20999
21009
|
isLinked = axis.isLinked,
|
|
21000
|
-
ticks = axis.ticks
|
|
21001
|
-
slideInTicks = axis.chart.hasRendered && axis.old;
|
|
21010
|
+
ticks = axis.ticks;
|
|
21002
21011
|
// Linked axes need an extra check to find out if
|
|
21003
21012
|
if (!isLinked ||
|
|
21004
21013
|
(pos >= axis.min && pos <= axis.max) ||
|
|
@@ -21009,7 +21018,7 @@
|
|
|
21009
21018
|
// NOTE this seems like overkill. Could be handled in tick.render by
|
|
21010
21019
|
// setting old position in attr, then set new position in animate.
|
|
21011
21020
|
// render new ticks in old position
|
|
21012
|
-
if (
|
|
21021
|
+
if (slideIn && ticks[pos].isNew) {
|
|
21013
21022
|
// Start with negative opacity so that it is visible from
|
|
21014
21023
|
// halfway into the animation
|
|
21015
21024
|
ticks[pos].render(i, true, -1);
|
|
@@ -21056,17 +21065,19 @@
|
|
|
21056
21065
|
});
|
|
21057
21066
|
// If the series has data draw the ticks. Else only the line and title
|
|
21058
21067
|
if (axis.hasData() || isLinked) {
|
|
21068
|
+
var slideInTicks_1 = axis.chart.hasRendered &&
|
|
21069
|
+
axis.old && isNumber(axis.old.min);
|
|
21059
21070
|
// minor ticks
|
|
21060
21071
|
if (axis.minorTickInterval && !axis.categories) {
|
|
21061
21072
|
axis.getMinorTickPositions().forEach(function (pos) {
|
|
21062
|
-
axis.renderMinorTick(pos);
|
|
21073
|
+
axis.renderMinorTick(pos, slideInTicks_1);
|
|
21063
21074
|
});
|
|
21064
21075
|
}
|
|
21065
21076
|
// Major ticks. Pull out the first item and render it last so that
|
|
21066
21077
|
// we can get the position of the neighbour label. #808.
|
|
21067
21078
|
if (tickPositions.length) { // #1300
|
|
21068
21079
|
tickPositions.forEach(function (pos, i) {
|
|
21069
|
-
axis.renderTick(pos, i);
|
|
21080
|
+
axis.renderTick(pos, i, slideInTicks_1);
|
|
21070
21081
|
});
|
|
21071
21082
|
// In a categorized axis, the tick marks are displayed
|
|
21072
21083
|
// between labels. So we need to add a tick mark and
|
|
@@ -23454,12 +23465,6 @@
|
|
|
23454
23465
|
}]
|
|
23455
23466
|
}]
|
|
23456
23467
|
});
|
|
23457
|
-
chart.renderer.definition({
|
|
23458
|
-
tagName: 'style',
|
|
23459
|
-
textContent: '.highcharts-tooltip-' + chart.index + '{' +
|
|
23460
|
-
'filter:url(#drop-shadow-' + chart.index + ')' +
|
|
23461
|
-
'}'
|
|
23462
|
-
});
|
|
23463
23468
|
};
|
|
23464
23469
|
/**
|
|
23465
23470
|
* Build the body (lines) of the tooltip by iterating over the items and
|
|
@@ -23765,10 +23770,12 @@
|
|
|
23765
23770
|
.shadow(options.shadow);
|
|
23766
23771
|
}
|
|
23767
23772
|
}
|
|
23768
|
-
if (styledMode) {
|
|
23773
|
+
if (styledMode && options.shadow) {
|
|
23769
23774
|
// Apply the drop-shadow filter
|
|
23770
23775
|
this.applyFilter();
|
|
23771
|
-
this.label.
|
|
23776
|
+
this.label.attr({
|
|
23777
|
+
filter: 'url(#drop-shadow-' + this.chart.index + ')'
|
|
23778
|
+
});
|
|
23772
23779
|
}
|
|
23773
23780
|
// Split tooltip use updateTooltipContainer to position the tooltip
|
|
23774
23781
|
// container.
|
|
@@ -24652,8 +24659,8 @@
|
|
|
24652
24659
|
}
|
|
24653
24660
|
var chart = tooltip.chart;
|
|
24654
24661
|
var label = tooltip.label;
|
|
24655
|
-
var
|
|
24656
|
-
if (!label || !
|
|
24662
|
+
var points = tooltip.shared ? chart.hoverPoints : chart.hoverPoint;
|
|
24663
|
+
if (!label || !points) {
|
|
24657
24664
|
return;
|
|
24658
24665
|
}
|
|
24659
24666
|
var box = {
|
|
@@ -24663,7 +24670,7 @@
|
|
|
24663
24670
|
height: 0
|
|
24664
24671
|
};
|
|
24665
24672
|
// Combine anchor and tooltip
|
|
24666
|
-
var anchorPos = this.getAnchor(
|
|
24673
|
+
var anchorPos = this.getAnchor(points);
|
|
24667
24674
|
var labelBBox = label.getBBox();
|
|
24668
24675
|
anchorPos[0] += chart.plotLeft - label.translateX;
|
|
24669
24676
|
anchorPos[1] += chart.plotTop - label.translateY;
|
|
@@ -35284,8 +35291,23 @@
|
|
|
35284
35291
|
}
|
|
35285
35292
|
};
|
|
35286
35293
|
/**
|
|
35287
|
-
*
|
|
35294
|
+
* Find the nearest point from a pointer event. This applies to series that
|
|
35295
|
+
* use k-d-trees to get the nearest point. Native pointer events must be
|
|
35296
|
+
* normalized using `Pointer.normalize`, that adds `chartX` and `chartY`
|
|
35297
|
+
* properties.
|
|
35298
|
+
*
|
|
35299
|
+
* @sample highcharts/demo/synchronized-charts
|
|
35300
|
+
* Synchronized charts with tooltips
|
|
35301
|
+
*
|
|
35288
35302
|
* @function Highcharts.Series#searchPoint
|
|
35303
|
+
*
|
|
35304
|
+
* @param {Highcharts.PointerEvent} e
|
|
35305
|
+
* The normalized pointer event
|
|
35306
|
+
* @param {boolean} [compareX=false]
|
|
35307
|
+
* Search only by the X value, not Y
|
|
35308
|
+
*
|
|
35309
|
+
* @return {Point|undefined}
|
|
35310
|
+
* The closest point to the pointer event
|
|
35289
35311
|
*/
|
|
35290
35312
|
Series.prototype.searchPoint = function (e, compareX) {
|
|
35291
35313
|
var series = this,
|
|
@@ -50401,6 +50423,7 @@
|
|
|
50401
50423
|
*
|
|
50402
50424
|
* */
|
|
50403
50425
|
var addEvent = U.addEvent,
|
|
50426
|
+
correctFloat = U.correctFloat,
|
|
50404
50427
|
css = U.css,
|
|
50405
50428
|
defined = U.defined,
|
|
50406
50429
|
error = U.error,
|
|
@@ -50579,6 +50602,41 @@
|
|
|
50579
50602
|
axis.isOrdinal = isOrdinal && useOrdinal; // #3818, #4196, #4926
|
|
50580
50603
|
ordinal.groupIntervalFactor = null; // reset for next run
|
|
50581
50604
|
};
|
|
50605
|
+
/**
|
|
50606
|
+
* Faster way of using the Array.indexOf method.
|
|
50607
|
+
* Works for sorted arrays only with unique values.
|
|
50608
|
+
*
|
|
50609
|
+
* @param {Array} sortedArray
|
|
50610
|
+
* The sorted array inside which we are looking for.
|
|
50611
|
+
* @param {number} key
|
|
50612
|
+
* The key to being found.
|
|
50613
|
+
* @param {boolean} indirectSearch
|
|
50614
|
+
* In case of lack of the point in the array, should return
|
|
50615
|
+
* value be equal to -1 or the closest bigger index.
|
|
50616
|
+
* @private
|
|
50617
|
+
*/
|
|
50618
|
+
Composition.findIndexOf = function (sortedArray, key, indirectSearch) {
|
|
50619
|
+
var start = 0,
|
|
50620
|
+
end = sortedArray.length - 1,
|
|
50621
|
+
middle;
|
|
50622
|
+
while (start <= end) {
|
|
50623
|
+
middle = Math.floor((start + end) / 2);
|
|
50624
|
+
// Key found as the middle element.
|
|
50625
|
+
if (sortedArray[middle] === key) {
|
|
50626
|
+
return middle;
|
|
50627
|
+
}
|
|
50628
|
+
if (sortedArray[middle] < key) {
|
|
50629
|
+
// Continue searching to the right.
|
|
50630
|
+
start = middle + 1;
|
|
50631
|
+
}
|
|
50632
|
+
else {
|
|
50633
|
+
// Continue searching to the left.
|
|
50634
|
+
end = middle - 1;
|
|
50635
|
+
}
|
|
50636
|
+
}
|
|
50637
|
+
// Key could not be found.
|
|
50638
|
+
return !indirectSearch ? -1 : middle;
|
|
50639
|
+
};
|
|
50582
50640
|
/**
|
|
50583
50641
|
* Get the ordinal positions for the entire data set. This is necessary
|
|
50584
50642
|
* in chart panning because we need to find out what points or data
|
|
@@ -50730,6 +50788,34 @@
|
|
|
50730
50788
|
// Return the factor needed for data grouping
|
|
50731
50789
|
return groupIntervalFactor;
|
|
50732
50790
|
};
|
|
50791
|
+
/**
|
|
50792
|
+
* Get index of point inside the ordinal positions array.
|
|
50793
|
+
*
|
|
50794
|
+
* @private
|
|
50795
|
+
* @param {number} val
|
|
50796
|
+
* The pixel value of a point.
|
|
50797
|
+
*
|
|
50798
|
+
* @param {Array<number>} [ordinallArray]
|
|
50799
|
+
* An array of all points available on the axis
|
|
50800
|
+
* for the given data set.
|
|
50801
|
+
* Either ordinalPositions if the value is inside the plotArea
|
|
50802
|
+
* or extendedOrdinalPositions if not.
|
|
50803
|
+
*
|
|
50804
|
+
* @return {number}
|
|
50805
|
+
*/
|
|
50806
|
+
Composition.prototype.getIndexOfPoint = function (val, ordinalArray) {
|
|
50807
|
+
var ordinal = this,
|
|
50808
|
+
axis = ordinal.axis,
|
|
50809
|
+
firstPointVal = ordinal.positions ? ordinal.positions[0] : 0,
|
|
50810
|
+
// toValue for the first point.
|
|
50811
|
+
firstPointX = ordinal.slope ? ordinal.slope * axis.transA : 0;
|
|
50812
|
+
// Distance in pixels between two points
|
|
50813
|
+
// on the ordinal axis in the current zoom.
|
|
50814
|
+
var ordinalPointPixelInterval = axis.translationSlope *
|
|
50815
|
+
(ordinal.slope || axis.closestPointRange || ordinal.overscrollPointsRange),
|
|
50816
|
+
shiftIndex = (val - firstPointX) / ordinalPointPixelInterval;
|
|
50817
|
+
return Composition.findIndexOf(ordinalArray, firstPointVal) + shiftIndex;
|
|
50818
|
+
};
|
|
50733
50819
|
/**
|
|
50734
50820
|
* Get ticks for an ordinal axis within a range where points don't
|
|
50735
50821
|
* exist. It is required when overscroll is enabled. We can't base on
|
|
@@ -50981,6 +51067,48 @@
|
|
|
50981
51067
|
}
|
|
50982
51068
|
return groupPositions;
|
|
50983
51069
|
};
|
|
51070
|
+
/**
|
|
51071
|
+
* Get axis position of given index of the extended ordinal positions.
|
|
51072
|
+
* Used only when panning an ordinal axis.
|
|
51073
|
+
*
|
|
51074
|
+
* @private
|
|
51075
|
+
* @function Highcharts.Axis#index2val
|
|
51076
|
+
*
|
|
51077
|
+
* @param {number} index
|
|
51078
|
+
* The index value of searched point
|
|
51079
|
+
*
|
|
51080
|
+
* @return {number}
|
|
51081
|
+
*/
|
|
51082
|
+
axisProto.index2val = function (index) {
|
|
51083
|
+
var axis = this,
|
|
51084
|
+
ordinal = axis.ordinal,
|
|
51085
|
+
// Context could be changed to extendedOrdinalPositions.
|
|
51086
|
+
ordinalPositions = ordinal.positions;
|
|
51087
|
+
// The visible range contains only equally spaced values.
|
|
51088
|
+
if (!ordinalPositions) {
|
|
51089
|
+
return index;
|
|
51090
|
+
}
|
|
51091
|
+
var i = ordinalPositions.length - 1,
|
|
51092
|
+
distance;
|
|
51093
|
+
if (index < 0) { // out of range, in effect panning to the left
|
|
51094
|
+
index = ordinalPositions[0];
|
|
51095
|
+
}
|
|
51096
|
+
else if (index > i) { // out of range, panning to the right
|
|
51097
|
+
index = ordinalPositions[i];
|
|
51098
|
+
}
|
|
51099
|
+
else { // split it up
|
|
51100
|
+
i = Math.floor(index);
|
|
51101
|
+
distance = index - i; // the decimal
|
|
51102
|
+
}
|
|
51103
|
+
if (typeof distance !== 'undefined' &&
|
|
51104
|
+
typeof ordinalPositions[i] !== 'undefined') {
|
|
51105
|
+
return ordinalPositions[i] + (distance ?
|
|
51106
|
+
distance *
|
|
51107
|
+
(ordinalPositions[i + 1] - ordinalPositions[i]) :
|
|
51108
|
+
0);
|
|
51109
|
+
}
|
|
51110
|
+
return index;
|
|
51111
|
+
};
|
|
50984
51112
|
/**
|
|
50985
51113
|
* Translate from linear (internal) to axis value.
|
|
50986
51114
|
*
|
|
@@ -50990,73 +51118,60 @@
|
|
|
50990
51118
|
* @param {number} val
|
|
50991
51119
|
* The linear abstracted value.
|
|
50992
51120
|
*
|
|
50993
|
-
* @param {boolean} [fromIndex]
|
|
50994
|
-
* Translate from an index in the ordinal positions rather than a
|
|
50995
|
-
* value.
|
|
50996
|
-
*
|
|
50997
51121
|
* @return {number}
|
|
50998
51122
|
*/
|
|
50999
|
-
axisProto.lin2val = function (val
|
|
51123
|
+
axisProto.lin2val = function (val) {
|
|
51000
51124
|
var axis = this,
|
|
51001
51125
|
ordinal = axis.ordinal,
|
|
51002
|
-
|
|
51003
|
-
|
|
51004
|
-
|
|
51005
|
-
|
|
51006
|
-
|
|
51007
|
-
|
|
51008
|
-
|
|
51009
|
-
|
|
51010
|
-
|
|
51011
|
-
|
|
51012
|
-
|
|
51013
|
-
|
|
51014
|
-
|
|
51015
|
-
|
|
51016
|
-
//
|
|
51017
|
-
|
|
51018
|
-
|
|
51019
|
-
|
|
51020
|
-
|
|
51021
|
-
|
|
51022
|
-
|
|
51023
|
-
|
|
51024
|
-
|
|
51025
|
-
|
|
51026
|
-
|
|
51027
|
-
|
|
51028
|
-
|
|
51029
|
-
|
|
51030
|
-
|
|
51031
|
-
|
|
51032
|
-
|
|
51033
|
-
|
|
51034
|
-
|
|
51035
|
-
|
|
51036
|
-
|
|
51037
|
-
|
|
51038
|
-
|
|
51039
|
-
|
|
51040
|
-
|
|
51041
|
-
|
|
51042
|
-
|
|
51043
|
-
|
|
51044
|
-
|
|
51045
|
-
|
|
51046
|
-
|
|
51047
|
-
}
|
|
51048
|
-
|
|
51049
|
-
|
|
51050
|
-
|
|
51051
|
-
return (typeof distance !== 'undefined' &&
|
|
51052
|
-
typeof ordinalPositions[i] !== 'undefined' ?
|
|
51053
|
-
ordinalPositions[i] + (distance ?
|
|
51054
|
-
distance *
|
|
51055
|
-
(ordinalPositions[i + 1] - ordinalPositions[i]) :
|
|
51056
|
-
0) :
|
|
51057
|
-
val);
|
|
51058
|
-
}
|
|
51059
|
-
return ret;
|
|
51126
|
+
isInside = val > axis.left && val < axis.left + axis.len,
|
|
51127
|
+
localMin = axis.old ? axis.old.min : axis.min,
|
|
51128
|
+
localA = axis.old ? axis.old.transA : axis.transA;
|
|
51129
|
+
var positions = ordinal.positions; // for the current visible range
|
|
51130
|
+
// The visible range contains only equally spaced values.
|
|
51131
|
+
if (!positions) {
|
|
51132
|
+
return val;
|
|
51133
|
+
}
|
|
51134
|
+
// Convert back from modivied value to pixels.
|
|
51135
|
+
var pixelVal = (val - localMin) * localA;
|
|
51136
|
+
// If the value is not inside the plot area,
|
|
51137
|
+
// use the extended positions.
|
|
51138
|
+
// (array contains also points that are outside of the plotArea).
|
|
51139
|
+
if (!isInside) {
|
|
51140
|
+
// When iterating for the first time,
|
|
51141
|
+
// get the extended ordinal positional and assign them.
|
|
51142
|
+
if (!ordinal.extendedOrdinalPositions) {
|
|
51143
|
+
ordinal.extendedOrdinalPositions = ordinal.getExtendedPositions();
|
|
51144
|
+
}
|
|
51145
|
+
positions = ordinal.extendedOrdinalPositions;
|
|
51146
|
+
}
|
|
51147
|
+
// In some cases (especially in early stages of the chart creation)
|
|
51148
|
+
// the getExtendedPositions might return undefined.
|
|
51149
|
+
if (positions && positions.length) {
|
|
51150
|
+
var index = ordinal.getIndexOfPoint(pixelVal,
|
|
51151
|
+
positions),
|
|
51152
|
+
mantissa = correctFloat(index % 1);
|
|
51153
|
+
// Check if the index is inside position array.
|
|
51154
|
+
// If true, read/approximate value for that exact index.
|
|
51155
|
+
if (index >= 0 && index < positions.length) {
|
|
51156
|
+
var leftNeighbour = positions[Math.floor(index)],
|
|
51157
|
+
rightNeighbour = positions[Math.ceil(index)],
|
|
51158
|
+
distance = rightNeighbour - leftNeighbour;
|
|
51159
|
+
return positions[Math.floor(index)] + mantissa * distance;
|
|
51160
|
+
}
|
|
51161
|
+
// For cases when the index is not in the extended ordinal
|
|
51162
|
+
// position array (EOP), like when the value we are looking
|
|
51163
|
+
// for exceed the available data,
|
|
51164
|
+
// approximate that value based on the calculated slope.
|
|
51165
|
+
var positionsLength = positions.length,
|
|
51166
|
+
firstPositionsValue = positions[0],
|
|
51167
|
+
lastPositionsValue = positions[positionsLength - 1],
|
|
51168
|
+
slope = (lastPositionsValue - firstPositionsValue) / (positionsLength - 1);
|
|
51169
|
+
if (index < 0) {
|
|
51170
|
+
return firstPositionsValue + slope * index;
|
|
51171
|
+
}
|
|
51172
|
+
return lastPositionsValue + slope * (index - positionsLength);
|
|
51173
|
+
}
|
|
51174
|
+
return val;
|
|
51060
51175
|
};
|
|
51061
51176
|
/**
|
|
51062
51177
|
* Translate from a linear axis value to the corresponding ordinal axis
|
|
@@ -51192,7 +51307,7 @@
|
|
|
51192
51307
|
extendedAxis = { ordinal: { positions: xAxis.ordinal.getExtendedPositions() } },
|
|
51193
51308
|
ordinalPositions = void 0,
|
|
51194
51309
|
searchAxisLeft = void 0,
|
|
51195
|
-
|
|
51310
|
+
index2val = xAxis.index2val,
|
|
51196
51311
|
val2lin = xAxis.val2lin,
|
|
51197
51312
|
searchAxisRight = void 0;
|
|
51198
51313
|
// we have an ordinal axis, but the data is equally spaced
|
|
@@ -51231,12 +51346,10 @@
|
|
|
51231
51346
|
// range, else it happens on the current x axis which is
|
|
51232
51347
|
// smaller and faster.
|
|
51233
51348
|
chart.fixedRange = max - min;
|
|
51234
|
-
trimmedRange = xAxis.navigatorAxis.toFixedRange(null, null,
|
|
51235
|
-
val2lin.apply(searchAxisLeft, [min, true]) + movedUnits
|
|
51236
|
-
|
|
51237
|
-
|
|
51238
|
-
val2lin.apply(searchAxisRight, [max, true]) + movedUnits,
|
|
51239
|
-
true // translate from index
|
|
51349
|
+
trimmedRange = xAxis.navigatorAxis.toFixedRange(null, null, index2val.apply(searchAxisLeft, [
|
|
51350
|
+
val2lin.apply(searchAxisLeft, [min, true]) + movedUnits
|
|
51351
|
+
]), index2val.apply(searchAxisRight, [
|
|
51352
|
+
val2lin.apply(searchAxisRight, [max, true]) + movedUnits
|
|
51240
51353
|
]));
|
|
51241
51354
|
// Apply it if it is within the available data range
|
|
51242
51355
|
if (trimmedRange.min >= Math.min(extremes.dataMin, min) &&
|