highcharts 11.4.7 → 11.4.9
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/SECURITY.md +41 -0
- package/bower.json +14 -2
- package/css/annotations/popup.css +224 -46
- package/css/highcharts-palette.css +99 -0
- package/css/highcharts.css +130 -72
- package/css/stocktools/gui.css +28 -11
- package/css/themes/dark-unica.css +4 -69
- package/css/themes/grid-light.css +14 -4
- package/css/themes/sand-signika.css +16 -29
- package/es-modules/Accessibility/Accessibility.js +15 -3
- package/es-modules/Accessibility/AccessibilityComponent.js +38 -30
- package/es-modules/Core/Axis/Axis.js +15 -12
- package/es-modules/Core/Axis/AxisDefaults.js +4 -2
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -3
- package/es-modules/Core/Axis/GridAxis.js +2 -2
- package/es-modules/Core/Axis/LogarithmicAxis.js +5 -10
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +54 -13
- package/es-modules/Core/Axis/ScrollbarAxis.js +12 -2
- package/es-modules/Core/Axis/Tick.js +1 -1
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +6 -9
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +2 -2
- package/es-modules/Core/Chart/Chart.js +38 -10
- package/es-modules/Core/Color/Color.js +1 -0
- package/es-modules/Core/Defaults.js +13 -7
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/LegendSymbol.js +1 -1
- package/es-modules/Core/Renderer/HTML/AST.js +6 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -1
- package/es-modules/Core/Series/DataLabel.js +9 -0
- package/es-modules/Core/Series/Point.js +8 -1
- package/es-modules/Core/Series/Series.js +1 -1
- package/es-modules/Core/Tooltip.js +9 -0
- package/es-modules/Extensions/Annotations/Annotation.js +4 -0
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
- package/es-modules/Extensions/Boost/BoostSeries.js +2 -0
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -4
- package/es-modules/Extensions/Breadcrumbs/BreadcrumbsDefaults.js +1 -1
- package/es-modules/Extensions/Data.js +125 -98
- package/es-modules/Extensions/Exporting/Exporting.js +5 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +4 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Maps/GeoJSONComposition.js +0 -5
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -0
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -3
- package/es-modules/Series/Pictorial/PictorialSeries.js +2 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +1 -1
- package/es-modules/Stock/Navigator/Navigator.js +7 -2
- package/es-modules/Stock/StockTools/StockToolbar.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 +2 -2
- 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/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/arc-diagram.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-tools.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/flowmap.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/geoheatmap.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/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.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/mouse-wheel-zoom.src.js +1 -1
- package/es-modules/masters/modules/navigator.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/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/pictorial.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/series-on-point.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/textpath.src.js +1 -1
- package/es-modules/masters/modules/tiledwebmap.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/treegraph.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/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.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/es-modules/tsconfig.tsbuildinfo +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +3 -3
- package/highcharts-gantt.src.js +202 -87
- package/highcharts-more.js +1 -1
- package/highcharts-more.src.js +1 -1
- package/highcharts.d.ts +64 -79
- package/highcharts.js +3 -3
- package/highcharts.src.d.ts +64 -79
- package/highcharts.src.js +173 -70
- package/highmaps.js +3 -3
- package/highmaps.src.js +176 -78
- package/highstock.js +3 -3
- package/highstock.src.js +192 -74
- 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/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.d.ts +11 -5
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.d.ts +11 -5
- package/modules/accessibility.src.js +74 -38
- package/modules/annotations-advanced.js +2 -2
- package/modules/annotations-advanced.src.js +7 -3
- package/modules/annotations.js +2 -2
- package/modules/annotations.src.js +7 -3
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +5 -4
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +7 -2
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +7 -2
- 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-tools.js +1 -1
- package/modules/data-tools.src.js +1 -1
- package/modules/data.d.ts +10 -1
- package/modules/data.js +2 -2
- package/modules/data.src.d.ts +10 -1
- package/modules/data.src.js +126 -100
- 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.js +2 -2
- package/modules/drilldown.src.js +8 -6
- 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 +2 -2
- package/modules/exporting.src.js +6 -2
- package/modules/flowmap.js +1 -1
- package/modules/flowmap.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 +2 -1
- package/modules/gantt.js +2 -2
- package/modules/gantt.src.js +30 -18
- package/modules/geoheatmap.js +1 -1
- package/modules/geoheatmap.src.js +1 -1
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +3 -3
- package/modules/heatmap.js +1 -1
- package/modules/heatmap.src.js +1 -1
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.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 +2 -2
- package/modules/map.src.js +4 -9
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/mouse-wheel-zoom.js +1 -1
- package/modules/mouse-wheel-zoom.src.js +1 -1
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.js +20 -5
- 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 +6 -3
- 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 +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/pictorial.js +1 -1
- package/modules/pictorial.src.js +3 -2
- 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 +2 -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/series-on-point.js +1 -1
- package/modules/series-on-point.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 +2 -2
- package/modules/stock.src.js +20 -5
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +8 -6
- package/modules/textpath.js +1 -1
- package/modules/textpath.src.js +1 -1
- package/modules/tiledwebmap.js +1 -1
- package/modules/tiledwebmap.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/treegraph.js +2 -2
- package/modules/treegraph.src.js +2 -2
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +11 -14
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +8 -6
- 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/options/sunburst.d.ts +1 -1
- package/options/sunburst.src.d.ts +1 -1
- package/package.json +14 -2
- package/standalone-navigator.js +2 -2
- package/standalone-navigator.src.js +191 -73
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.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/es-modules/Core/Series/KDPointSearchObjectLike.js +0 -10
- package/lib/jspdf.js +0 -398
- package/lib/jspdf.src.js +0 -28833
- package/lib/svg2pdf.js +0 -42
- package/lib/svg2pdf.src.js +0 -5983
package/modules/data.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.9 (2026-09-25)
|
|
3
3
|
*
|
|
4
4
|
* Data module
|
|
5
5
|
*
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
|
|
243
243
|
return HttpUtilities;
|
|
244
244
|
});
|
|
245
|
-
_registerModule(_modules, 'Extensions/Data.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Defaults.js'], _modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Chart, D, G, HU, Point, SeriesRegistry, U) {
|
|
245
|
+
_registerModule(_modules, 'Extensions/Data.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Defaults.js'], _modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Axis, Chart, D, G, HU, Point, SeriesRegistry, U) {
|
|
246
246
|
/* *
|
|
247
247
|
*
|
|
248
248
|
* Data module
|
|
@@ -370,7 +370,7 @@
|
|
|
370
370
|
regex: /^(\d{4})[\-\/\.](\d{1,2})[\-\/\.](\d{1,2})$/,
|
|
371
371
|
parser: function (match) {
|
|
372
372
|
return (match ?
|
|
373
|
-
Date.UTC(+match[1], match[2] - 1, +match[3]) :
|
|
373
|
+
Date.UTC(+match[1], +match[2] - 1, +match[3]) :
|
|
374
374
|
NaN);
|
|
375
375
|
}
|
|
376
376
|
},
|
|
@@ -378,7 +378,7 @@
|
|
|
378
378
|
regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,
|
|
379
379
|
parser: function (match) {
|
|
380
380
|
return (match ?
|
|
381
|
-
Date.UTC(+match[3], match[2] - 1, +match[1]) :
|
|
381
|
+
Date.UTC(+match[3], +match[2] - 1, +match[1]) :
|
|
382
382
|
NaN);
|
|
383
383
|
},
|
|
384
384
|
alternative: 'mm/dd/YYYY' // Different format with the same regex
|
|
@@ -387,7 +387,7 @@
|
|
|
387
387
|
regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,
|
|
388
388
|
parser: function (match) {
|
|
389
389
|
return (match ?
|
|
390
|
-
Date.UTC(+match[3], match[1] - 1, +match[2]) :
|
|
390
|
+
Date.UTC(+match[3], +match[1] - 1, +match[2]) :
|
|
391
391
|
NaN);
|
|
392
392
|
}
|
|
393
393
|
},
|
|
@@ -405,7 +405,7 @@
|
|
|
405
405
|
else {
|
|
406
406
|
year += 2000;
|
|
407
407
|
}
|
|
408
|
-
return Date.UTC(year, match[2] - 1, +match[1]);
|
|
408
|
+
return Date.UTC(year, +match[2] - 1, +match[1]);
|
|
409
409
|
},
|
|
410
410
|
alternative: 'mm/dd/YY' // Different format with the same regex
|
|
411
411
|
},
|
|
@@ -413,7 +413,7 @@
|
|
|
413
413
|
regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,
|
|
414
414
|
parser: function (match) {
|
|
415
415
|
return (match ?
|
|
416
|
-
Date.UTC(+match[3] + 2000, match[1] - 1, +match[2]) :
|
|
416
|
+
Date.UTC(+match[3] + 2000, +match[1] - 1, +match[2]) :
|
|
417
417
|
NaN);
|
|
418
418
|
}
|
|
419
419
|
}
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
hasData = this.parseGoogleSpreadsheet();
|
|
486
486
|
}
|
|
487
487
|
if (!hasData && dataOptions.afterComplete) {
|
|
488
|
-
dataOptions.afterComplete();
|
|
488
|
+
dataOptions.afterComplete(this);
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
491
|
/**
|
|
@@ -496,24 +496,20 @@
|
|
|
496
496
|
* @function Highcharts.Data#getColumnDistribution
|
|
497
497
|
*/
|
|
498
498
|
getColumnDistribution() {
|
|
499
|
-
const chartOptions = this.chartOptions, options = this.options, xColumns = [], getValueCount = function (type) {
|
|
500
|
-
return (seriesTypes[type
|
|
501
|
-
}, getPointArrayMap = function (type) {
|
|
502
|
-
return seriesTypes[type
|
|
503
|
-
}, globalType =
|
|
504
|
-
chartOptions.chart &&
|
|
505
|
-
chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
|
|
499
|
+
const chartOptions = this.chartOptions, options = this.options, xColumns = [], getValueCount = function (type = 'line') {
|
|
500
|
+
return (seriesTypes[type].prototype.pointArrayMap || [0]).length;
|
|
501
|
+
}, getPointArrayMap = function (type = 'line') {
|
|
502
|
+
return seriesTypes[type].prototype.pointArrayMap;
|
|
503
|
+
}, globalType = chartOptions?.chart?.type, individualCounts = [], seriesBuilders = [],
|
|
506
504
|
// If no series mapping is defined, check if the series array is
|
|
507
505
|
// defined with types.
|
|
508
|
-
seriesMapping = (
|
|
509
|
-
(
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
return { x: 0 };
|
|
513
|
-
})) ||
|
|
506
|
+
seriesMapping = (options?.seriesMapping ||
|
|
507
|
+
chartOptions?.series?.map(function () {
|
|
508
|
+
return { x: 0 };
|
|
509
|
+
}) ||
|
|
514
510
|
[]);
|
|
515
|
-
let seriesIndex = 0
|
|
516
|
-
(
|
|
511
|
+
let seriesIndex = 0;
|
|
512
|
+
(chartOptions?.series || []).forEach((series) => {
|
|
517
513
|
individualCounts.push(getValueCount(series.type || globalType));
|
|
518
514
|
});
|
|
519
515
|
// Collect the x-column indexes from seriesMapping
|
|
@@ -529,7 +525,7 @@
|
|
|
529
525
|
// the mapping options.
|
|
530
526
|
seriesMapping.forEach((mapping) => {
|
|
531
527
|
const builder = new SeriesBuilder(), numberOfValueColumnsNeeded = individualCounts[seriesIndex] ||
|
|
532
|
-
getValueCount(globalType), seriesArr =
|
|
528
|
+
getValueCount(globalType), seriesArr = chartOptions?.series ?? [], series = seriesArr[seriesIndex] ?? {}, defaultPointArrayMap = getPointArrayMap(series.type || globalType), pointArrayMap = defaultPointArrayMap ?? ['y'];
|
|
533
529
|
if (
|
|
534
530
|
// User-defined x.mapping
|
|
535
531
|
defined(mapping.x) ||
|
|
@@ -549,7 +545,7 @@
|
|
|
549
545
|
}
|
|
550
546
|
});
|
|
551
547
|
// Add missing columns
|
|
552
|
-
for (i = 0; i < numberOfValueColumnsNeeded; i++) {
|
|
548
|
+
for (let i = 0; i < numberOfValueColumnsNeeded; i++) {
|
|
553
549
|
if (!builder.hasReader(pointArrayMap[i])) {
|
|
554
550
|
// Create and add a column reader for the next free column
|
|
555
551
|
// index
|
|
@@ -598,8 +594,7 @@
|
|
|
598
594
|
* @function Highcharts.Data#parseCSV
|
|
599
595
|
*/
|
|
600
596
|
parseCSV(inOptions) {
|
|
601
|
-
const self = this, columns = this.columns = [], options = inOptions || this.options, startColumn =
|
|
602
|
-
options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, dataTypes = [],
|
|
597
|
+
const self = this, columns = this.columns = [], options = inOptions || this.options, startColumn = options.startColumn || 0, endColumn = options.endColumn || Number.MAX_VALUE, dataTypes = [],
|
|
603
598
|
// We count potential delimiters in the prepass, and use the
|
|
604
599
|
// result as the basis of half-intelligent guesses.
|
|
605
600
|
potDelimiters = {
|
|
@@ -607,9 +602,7 @@
|
|
|
607
602
|
';': 0,
|
|
608
603
|
'\t': 0
|
|
609
604
|
};
|
|
610
|
-
let csv = options.csv, startRow =
|
|
611
|
-
options.startRow :
|
|
612
|
-
0), endRow = options.endRow || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0;
|
|
605
|
+
let csv = options.csv, startRow = options.startRow || 0, endRow = options.endRow || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0;
|
|
613
606
|
/*
|
|
614
607
|
This implementation is quite verbose. It will be shortened once
|
|
615
608
|
it's stable and passes all the test.
|
|
@@ -728,7 +721,7 @@
|
|
|
728
721
|
}
|
|
729
722
|
// Perform "plugin" handling
|
|
730
723
|
}
|
|
731
|
-
else if (callbacks
|
|
724
|
+
else if (callbacks?.[c]) {
|
|
732
725
|
if (callbacks[c](c, token)) {
|
|
733
726
|
push();
|
|
734
727
|
}
|
|
@@ -853,7 +846,7 @@
|
|
|
853
846
|
}
|
|
854
847
|
for (; i < limit; i++) {
|
|
855
848
|
if (typeof data[i] !== 'undefined' &&
|
|
856
|
-
data[i]
|
|
849
|
+
data[i]?.length) {
|
|
857
850
|
thing = data[i]
|
|
858
851
|
.trim()
|
|
859
852
|
.replace(/\//g, ' ')
|
|
@@ -927,23 +920,13 @@
|
|
|
927
920
|
// error.
|
|
928
921
|
if (!(options.dateFormats || self.dateFormats)[calculatedFormat]) {
|
|
929
922
|
// This should emit an event instead
|
|
930
|
-
fireEvent('deduceDateFailed');
|
|
923
|
+
fireEvent(self, 'deduceDateFailed');
|
|
931
924
|
return format;
|
|
932
925
|
}
|
|
933
926
|
return calculatedFormat;
|
|
934
927
|
}
|
|
935
928
|
return format;
|
|
936
929
|
}
|
|
937
|
-
/**
|
|
938
|
-
* @todo
|
|
939
|
-
* Figure out the best axis types for the data
|
|
940
|
-
* - If the first column is a number, we're good
|
|
941
|
-
* - If the first column is a date, set to date/time
|
|
942
|
-
* - If the first column is a string, set to categories
|
|
943
|
-
* @private
|
|
944
|
-
*/
|
|
945
|
-
function deduceAxisTypes() {
|
|
946
|
-
}
|
|
947
930
|
if (csv && options.beforeParse) {
|
|
948
931
|
csv = options.beforeParse.call(this, csv);
|
|
949
932
|
}
|
|
@@ -962,7 +945,6 @@
|
|
|
962
945
|
itemDelimiter = options.itemDelimiter;
|
|
963
946
|
}
|
|
964
947
|
else {
|
|
965
|
-
itemDelimiter = null;
|
|
966
948
|
itemDelimiter = guessDelimiter(lines);
|
|
967
949
|
}
|
|
968
950
|
let offset = 0;
|
|
@@ -974,10 +956,6 @@
|
|
|
974
956
|
parseRow(lines[rowIt], rowIt - startRow - offset);
|
|
975
957
|
}
|
|
976
958
|
}
|
|
977
|
-
// Make sure that there's header columns for everything
|
|
978
|
-
// columns.forEach(function (col) {
|
|
979
|
-
// });
|
|
980
|
-
deduceAxisTypes();
|
|
981
959
|
if ((!options.columnTypes || options.columnTypes.length === 0) &&
|
|
982
960
|
dataTypes.length &&
|
|
983
961
|
dataTypes[0].length &&
|
|
@@ -1108,7 +1086,7 @@
|
|
|
1108
1086
|
url: url,
|
|
1109
1087
|
dataType: tp || 'json',
|
|
1110
1088
|
success: function (res) {
|
|
1111
|
-
if (chart
|
|
1089
|
+
if (chart?.series) {
|
|
1112
1090
|
done(res);
|
|
1113
1091
|
}
|
|
1114
1092
|
poll();
|
|
@@ -1117,7 +1095,7 @@
|
|
|
1117
1095
|
if (++currentRetries < maxRetries) {
|
|
1118
1096
|
poll();
|
|
1119
1097
|
}
|
|
1120
|
-
return options.error
|
|
1098
|
+
return options.error?.(text, xhr);
|
|
1121
1099
|
}
|
|
1122
1100
|
});
|
|
1123
1101
|
return true;
|
|
@@ -1204,7 +1182,7 @@
|
|
|
1204
1182
|
}
|
|
1205
1183
|
},
|
|
1206
1184
|
error: function (xhr, text) {
|
|
1207
|
-
return options.error
|
|
1185
|
+
return options.error?.(text, xhr);
|
|
1208
1186
|
}
|
|
1209
1187
|
});
|
|
1210
1188
|
}
|
|
@@ -1226,7 +1204,7 @@
|
|
|
1226
1204
|
}
|
|
1227
1205
|
}
|
|
1228
1206
|
});
|
|
1229
|
-
if (chart
|
|
1207
|
+
if (chart?.series) {
|
|
1230
1208
|
chart.update({
|
|
1231
1209
|
data: {
|
|
1232
1210
|
columns: columns
|
|
@@ -1293,9 +1271,8 @@
|
|
|
1293
1271
|
* Column index
|
|
1294
1272
|
*/
|
|
1295
1273
|
parseColumn(column, col) {
|
|
1296
|
-
const rawColumns = this.rawColumns, columns = this.columns, firstRowAsNames = this.firstRowAsNames, isXColumn = this.valueCount
|
|
1297
|
-
(chartOptions &&
|
|
1298
|
-
chartOptions.xAxis &&
|
|
1274
|
+
const rawColumns = this.rawColumns, columns = this.columns = this.columns || [], firstRowAsNames = this.firstRowAsNames, isXColumn = this.valueCount?.xColumns.indexOf(col) !== -1, backup = [], chartOptions = this.chartOptions, columnTypes = this.options.columnTypes || [], columnType = columnTypes[col], forceCategory = (isXColumn &&
|
|
1275
|
+
(chartOptions?.xAxis &&
|
|
1299
1276
|
splat(chartOptions.xAxis)[0].type === 'category')) || columnType === 'string', columnHasName = defined(column.name);
|
|
1300
1277
|
let row = column.length, val, floatVal, trimVal, trimInsideVal, dateVal, diff, descending;
|
|
1301
1278
|
if (!rawColumns[col]) {
|
|
@@ -1334,7 +1311,7 @@
|
|
|
1334
1311
|
// string
|
|
1335
1312
|
}
|
|
1336
1313
|
else {
|
|
1337
|
-
if (trimVal
|
|
1314
|
+
if (trimVal?.length) {
|
|
1338
1315
|
dateVal = this.parseDate(val);
|
|
1339
1316
|
}
|
|
1340
1317
|
// Only allow parsing of dates if this column is an x-column
|
|
@@ -1387,7 +1364,10 @@
|
|
|
1387
1364
|
for (col = 0; col < columns.length; col++) {
|
|
1388
1365
|
columns[col].reverse();
|
|
1389
1366
|
if (firstRowAsNames) {
|
|
1390
|
-
columns[col].
|
|
1367
|
+
const poppedColumn = columns[col].pop();
|
|
1368
|
+
if (poppedColumn) {
|
|
1369
|
+
columns[col].unshift(poppedColumn);
|
|
1370
|
+
}
|
|
1391
1371
|
}
|
|
1392
1372
|
}
|
|
1393
1373
|
}
|
|
@@ -1468,11 +1448,11 @@
|
|
|
1468
1448
|
*
|
|
1469
1449
|
* @function Highcharts.Data#getData
|
|
1470
1450
|
*
|
|
1471
|
-
* @return {Array<Array<
|
|
1451
|
+
* @return {Array<Array<DataValueType>>|undefined} Data rows
|
|
1472
1452
|
*/
|
|
1473
1453
|
getData() {
|
|
1474
1454
|
if (this.columns) {
|
|
1475
|
-
return this.rowsToColumns(this.columns)
|
|
1455
|
+
return this.rowsToColumns(this.columns)?.slice(1);
|
|
1476
1456
|
}
|
|
1477
1457
|
}
|
|
1478
1458
|
/**
|
|
@@ -1489,11 +1469,13 @@
|
|
|
1489
1469
|
* If a complete callback function is provided in the options, interpret the
|
|
1490
1470
|
* columns into a Highcharts options object.
|
|
1491
1471
|
*
|
|
1472
|
+
* The function requires that the context has the `valueCount` property set.
|
|
1473
|
+
*
|
|
1492
1474
|
* @function Highcharts.Data#complete
|
|
1493
1475
|
*/
|
|
1494
1476
|
complete() {
|
|
1495
|
-
const columns = this.columns, xColumns = [], options = this.options, allSeriesBuilders = [];
|
|
1496
|
-
let type, series, data, i, j, r, seriesIndex, chartOptions, builder, freeIndexes, typeCol, index;
|
|
1477
|
+
const columns = this.columns = this.columns || [], xColumns = [], options = this.options, allSeriesBuilders = [];
|
|
1478
|
+
let type = 'linear', series, data, i, j, r, seriesIndex, chartOptions, builder, freeIndexes, typeCol, index;
|
|
1497
1479
|
xColumns.length = columns.length;
|
|
1498
1480
|
if (options.complete || options.afterComplete) {
|
|
1499
1481
|
// Get the names and shift the top row
|
|
@@ -1507,7 +1489,7 @@
|
|
|
1507
1489
|
}
|
|
1508
1490
|
// Use the next columns for series
|
|
1509
1491
|
series = [];
|
|
1510
|
-
freeIndexes = getFreeIndexes(columns
|
|
1492
|
+
freeIndexes = getFreeIndexes(columns?.length || 0, this.valueCount.seriesBuilders);
|
|
1511
1493
|
// Populate defined series
|
|
1512
1494
|
for (seriesIndex = 0; seriesIndex < this.valueCount.seriesBuilders.length; seriesIndex++) {
|
|
1513
1495
|
builder = this.valueCount.seriesBuilders[seriesIndex];
|
|
@@ -1540,7 +1522,7 @@
|
|
|
1540
1522
|
// Get the data-type from the first series x column
|
|
1541
1523
|
if (allSeriesBuilders.length > 0 &&
|
|
1542
1524
|
allSeriesBuilders[0].readers.length > 0) {
|
|
1543
|
-
typeCol = columns[allSeriesBuilders[0].readers[0].columnIndex];
|
|
1525
|
+
typeCol = columns?.[allSeriesBuilders[0].readers[0].columnIndex ?? -1];
|
|
1544
1526
|
if (typeof typeCol !== 'undefined') {
|
|
1545
1527
|
if (typeCol.isDatetime) {
|
|
1546
1528
|
type = 'datetime';
|
|
@@ -1573,35 +1555,62 @@
|
|
|
1573
1555
|
}
|
|
1574
1556
|
// Add the series
|
|
1575
1557
|
series[seriesIndex] = {
|
|
1576
|
-
data
|
|
1558
|
+
data,
|
|
1559
|
+
pointStart: data[0] && (builder.pointIsArray ?
|
|
1560
|
+
data[0]?.[0] :
|
|
1561
|
+
data[0]?.x) || void 0
|
|
1577
1562
|
};
|
|
1578
1563
|
if (builder.name) {
|
|
1579
1564
|
series[seriesIndex].name = builder.name;
|
|
1580
1565
|
}
|
|
1581
1566
|
if (type === 'category') {
|
|
1582
1567
|
series[seriesIndex].turboThreshold = 0;
|
|
1568
|
+
series[seriesIndex].pointStart = 0;
|
|
1583
1569
|
}
|
|
1584
1570
|
}
|
|
1585
1571
|
// Do the callback
|
|
1586
|
-
chartOptions = {
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1572
|
+
chartOptions = { series };
|
|
1573
|
+
// Prepare the axis options
|
|
1574
|
+
if (type === 'linear' && (!this.xAxisOptions ||
|
|
1575
|
+
this.xAxisOptions.type === type)) {
|
|
1576
|
+
// Clear default value ('linear') if it is not changing the
|
|
1577
|
+
// axis type to avoid loosing animation
|
|
1578
|
+
type = this.xAxisOptions = void 0;
|
|
1579
|
+
}
|
|
1580
|
+
else {
|
|
1581
|
+
this.xAxisOptions = { type };
|
|
1593
1582
|
if (type === 'category') {
|
|
1594
|
-
|
|
1583
|
+
this.xAxisOptions.uniqueNames = false;
|
|
1595
1584
|
}
|
|
1596
1585
|
}
|
|
1597
|
-
|
|
1598
|
-
|
|
1586
|
+
// Merge the xAxisOptions for the standalone Data module
|
|
1587
|
+
if (!this.chart) {
|
|
1588
|
+
merge(true, chartOptions, { xAxis: this.xAxisOptions || {} });
|
|
1599
1589
|
}
|
|
1590
|
+
options.complete?.(chartOptions);
|
|
1600
1591
|
// The afterComplete hook is used internally to avoid conflict with
|
|
1601
1592
|
// the externally available complete option.
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1593
|
+
options.afterComplete?.(this, chartOptions);
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
/**
|
|
1597
|
+
* Sets properties directly on the xAxis object.
|
|
1598
|
+
*
|
|
1599
|
+
* @private
|
|
1600
|
+
*/
|
|
1601
|
+
xAxisUpdateHandler(axis) {
|
|
1602
|
+
const options = this.xAxisOptions;
|
|
1603
|
+
if (!options) {
|
|
1604
|
+
return;
|
|
1605
|
+
}
|
|
1606
|
+
// Set the axis properties if not blocked by the axis options that could
|
|
1607
|
+
// have changed in the update event.
|
|
1608
|
+
if (!axis.options.type && options.type) {
|
|
1609
|
+
axis.type = options.type;
|
|
1610
|
+
}
|
|
1611
|
+
if (!axis.options.uniqueNames &&
|
|
1612
|
+
options.uniqueNames === false) {
|
|
1613
|
+
axis.uniqueNames = options.uniqueNames;
|
|
1605
1614
|
}
|
|
1606
1615
|
}
|
|
1607
1616
|
/**
|
|
@@ -1610,39 +1619,58 @@
|
|
|
1610
1619
|
* @function Highcharts.Data#update
|
|
1611
1620
|
*
|
|
1612
1621
|
* @param {Highcharts.DataOptions} options
|
|
1622
|
+
* The new data options.
|
|
1613
1623
|
*
|
|
1614
1624
|
* @param {boolean} [redraw=true]
|
|
1625
|
+
* Whether to redraw the chart after the new options are set.
|
|
1615
1626
|
*/
|
|
1616
1627
|
update(options, redraw) {
|
|
1617
1628
|
const chart = this.chart, chartOptions = chart.options;
|
|
1618
1629
|
if (options) {
|
|
1619
1630
|
// Set the complete handler
|
|
1620
|
-
options.afterComplete = function (dataOptions) {
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1631
|
+
options.afterComplete = function (dataInstance, dataOptions) {
|
|
1632
|
+
if (!dataOptions) {
|
|
1633
|
+
return;
|
|
1634
|
+
}
|
|
1635
|
+
// Avoid setting axis options unless they change. Running
|
|
1636
|
+
// Axis.update will cause the whole structure to be
|
|
1637
|
+
// destroyed and rebuilt, and animation is lost.
|
|
1638
|
+
const xAxis = chart.xAxis[0], xAxisOptions = dataInstance.xAxisOptions;
|
|
1639
|
+
// Update axis if xAxisOptions are different from the current
|
|
1640
|
+
// and not blocked by the axis options.
|
|
1641
|
+
if (xAxisOptions && xAxis && ((xAxis.type !== xAxisOptions.type && !xAxis.options.type) ||
|
|
1642
|
+
(xAxis.uniqueNames &&
|
|
1643
|
+
xAxisOptions.uniqueNames === false &&
|
|
1644
|
+
xAxis.options.uniqueNames === void 0))) {
|
|
1645
|
+
xAxis.update({}, false);
|
|
1633
1646
|
}
|
|
1647
|
+
else {
|
|
1648
|
+
// Prefer smooth points update when no axis update
|
|
1649
|
+
(dataOptions?.series || []).forEach(function (seriesOptions) {
|
|
1650
|
+
delete seriesOptions.pointStart;
|
|
1651
|
+
});
|
|
1652
|
+
}
|
|
1653
|
+
chart.update(dataOptions, redraw, true);
|
|
1634
1654
|
};
|
|
1635
1655
|
// Apply it
|
|
1636
1656
|
merge(true, chartOptions.data, options);
|
|
1637
1657
|
// Reset columns if fetching spreadsheet, to force a re-fetch
|
|
1638
|
-
if (chartOptions.data &&
|
|
1639
|
-
!options.columns) {
|
|
1658
|
+
if (chartOptions.data?.googleSpreadsheetKey && !options.columns) {
|
|
1640
1659
|
delete chartOptions.data.columns;
|
|
1641
1660
|
}
|
|
1642
|
-
this.init(chartOptions.data);
|
|
1661
|
+
this.init(chartOptions.data || {}, chartOptions);
|
|
1643
1662
|
}
|
|
1644
1663
|
}
|
|
1645
1664
|
}
|
|
1665
|
+
// Fire 1st xAxis properties modifier after the options are set.
|
|
1666
|
+
addEvent(Axis, 'afterSetOptions', function () {
|
|
1667
|
+
// Target first xAxis only
|
|
1668
|
+
if (this.isXAxis &&
|
|
1669
|
+
// Init or update
|
|
1670
|
+
(!this.chart.xAxis.length || this.chart.xAxis[0] === this)) {
|
|
1671
|
+
this.chart.data?.xAxisUpdateHandler(this);
|
|
1672
|
+
}
|
|
1673
|
+
});
|
|
1646
1674
|
// Extend Chart.init so that the Chart constructor accepts a new configuration
|
|
1647
1675
|
// option group, data.
|
|
1648
1676
|
addEvent(Chart, 'init', function (e) {
|
|
@@ -1659,19 +1687,15 @@
|
|
|
1659
1687
|
*/
|
|
1660
1688
|
const dataOptions = merge(defaultDataOptions, userOptions.data);
|
|
1661
1689
|
chart.data = new Data(extend(dataOptions, {
|
|
1662
|
-
afterComplete: function (dataOptions) {
|
|
1690
|
+
afterComplete: function (dataInstance, dataOptions) {
|
|
1663
1691
|
let i, series;
|
|
1664
1692
|
// Merge series configs
|
|
1665
1693
|
if (Object.hasOwnProperty.call(userOptions, 'series')) {
|
|
1666
1694
|
if (typeof userOptions.series === 'object') {
|
|
1667
|
-
i = Math.max(userOptions.series.length, dataOptions
|
|
1668
|
-
dataOptions.series.length :
|
|
1669
|
-
0);
|
|
1695
|
+
i = Math.max(userOptions.series.length, dataOptions?.series?.length ?? 0);
|
|
1670
1696
|
while (i--) {
|
|
1671
1697
|
series = userOptions.series[i] || {};
|
|
1672
|
-
userOptions.series[i] = merge(series, dataOptions
|
|
1673
|
-
dataOptions.series[i] :
|
|
1674
|
-
{});
|
|
1698
|
+
userOptions.series[i] = merge(series, dataOptions?.series?.[i] ?? {});
|
|
1675
1699
|
}
|
|
1676
1700
|
}
|
|
1677
1701
|
else { // Allow merging in dataOptions.series (#2856)
|
|
@@ -1680,6 +1704,8 @@
|
|
|
1680
1704
|
}
|
|
1681
1705
|
// Do the merge
|
|
1682
1706
|
userOptions = merge(dataOptions, userOptions);
|
|
1707
|
+
// Register for access in events (Axis' afterSetOptions)
|
|
1708
|
+
chart.data = dataInstance;
|
|
1683
1709
|
// Run chart.init again
|
|
1684
1710
|
chart.init(userOptions, callback);
|
|
1685
1711
|
}
|
package/modules/datagrouping.js
CHANGED
package/modules/debugger.js
CHANGED
package/modules/debugger.src.js
CHANGED
package/modules/dotplot.js
CHANGED
package/modules/dotplot.src.js
CHANGED
package/modules/drag-panes.js
CHANGED