highcharts 10.2.1 → 10.3.1
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/es-modules/Accessibility/Accessibility.js +1 -1
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -6
- package/es-modules/Accessibility/Components/LegendComponent.js +36 -32
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +16 -16
- package/es-modules/Accessibility/Options/LangDefaults.js +4 -0
- package/es-modules/Core/Axis/Axis.js +42 -32
- package/es-modules/Core/Axis/Axis3DComposition.js +501 -0
- package/es-modules/Core/Axis/Axis3DDefaults.js +130 -0
- package/es-modules/Core/Axis/AxisDefaults.js +20 -7
- package/es-modules/Core/Axis/Color/ColorAxis.js +46 -52
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +4 -2
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +161 -0
- package/es-modules/Core/Axis/OrdinalAxis.js +2 -1
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
- package/es-modules/Core/Axis/RadialAxis.js +19 -5
- package/es-modules/Core/Axis/Tick.js +1 -1
- package/es-modules/Core/Axis/Tick3DComposition.js +71 -0
- package/es-modules/Core/Chart/Chart.js +16 -20
- package/es-modules/Core/Chart/Chart3D.js +4 -4
- package/es-modules/Core/Chart/ChartDefaults.js +33 -43
- package/es-modules/Core/Chart/GanttChart.js +1 -1
- package/es-modules/Core/Chart/MapChart.js +1 -1
- package/es-modules/Core/Chart/StockChart.js +11 -28
- package/es-modules/Core/{DefaultOptions.js → Defaults.js} +21 -37
- package/es-modules/Core/FormatUtilities.js +1 -1
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +114 -110
- package/es-modules/Core/Legend/LegendSymbol.js +9 -6
- package/es-modules/Core/MSPointer.js +4 -2
- package/es-modules/Core/Pointer.js +125 -75
- package/es-modules/Core/Renderer/SVG/SVGElement.js +0 -3
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +28 -14
- package/es-modules/Core/Series/DataLabel.js +8 -5
- package/es-modules/Core/Series/Point.js +38 -22
- package/es-modules/Core/Series/Series.js +12 -9
- package/es-modules/Core/Series/SeriesDefaults.js +36 -24
- package/es-modules/Core/Series/SeriesRegistry.js +2 -2
- package/es-modules/Core/Time.js +6 -5
- package/es-modules/Core/Tooltip.js +6 -28
- package/es-modules/Core/Utilities.js +6 -8
- package/es-modules/Extensions/Annotations/Annotation.js +1 -1
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +13 -8
- package/es-modules/Extensions/Annotations/MockPoint.js +2 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +4 -5
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/Popup.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +4 -4
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
- package/es-modules/Extensions/Boost/BoostSeries.js +11 -8
- package/es-modules/Extensions/Breadcrumbs.js +2 -2
- package/es-modules/Extensions/Data.js +2 -2
- package/es-modules/Extensions/DataGrouping/ApproximationDefaults.js +157 -0
- package/es-modules/Extensions/DataGrouping/ApproximationRegistry.js +35 -0
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +469 -0
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +174 -0
- package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +143 -0
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +479 -0
- package/es-modules/Extensions/Debugger/Debugger.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +6 -2
- package/es-modules/Extensions/Drilldown.js +3 -5
- package/es-modules/Extensions/ExportData/ExportData.js +31 -5
- package/es-modules/Extensions/Exporting/Exporting.js +47 -60
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +22 -24
- package/es-modules/Extensions/GeoJSON.js +3 -1
- package/es-modules/Extensions/MarkerClusters.js +1 -1
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -5
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +3 -3
- package/es-modules/Extensions/Oldie/VMLRenderer3D.js +1 -1
- package/es-modules/Extensions/OldiePolyfills.js +3 -1
- package/es-modules/Extensions/Pane.js +42 -5
- package/es-modules/Extensions/ParallelCoordinates.js +5 -1
- package/es-modules/Extensions/PatternFill.js +10 -10
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +4 -0
- package/es-modules/Extensions/Sonification/Sonification.js +1 -1
- package/es-modules/Extensions/Themes/Avocado.js +1 -1
- package/es-modules/Extensions/Themes/BrandDark.js +1 -1
- package/es-modules/Extensions/Themes/BrandLight.js +1 -1
- package/es-modules/Extensions/Themes/DarkBlue.js +1 -1
- package/es-modules/Extensions/Themes/DarkGreen.js +1 -1
- package/es-modules/Extensions/Themes/DarkUnica.js +1 -1
- package/es-modules/Extensions/Themes/Gray.js +1 -1
- package/es-modules/Extensions/Themes/Grid.js +1 -1
- package/es-modules/Extensions/Themes/GridLight.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastDark.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastLight.js +1 -1
- package/es-modules/Extensions/Themes/SandSignika.js +1 -1
- package/es-modules/Extensions/Themes/Skies.js +1 -1
- package/es-modules/Extensions/Themes/Sunset.js +1 -1
- package/es-modules/Gantt/Connection.js +5 -5
- package/es-modules/Gantt/Pathfinder.js +6 -6
- package/es-modules/Maps/MapNavigation.js +1 -1
- package/es-modules/Maps/{MapNavigationOptionsDefault.js → MapNavigationDefaults.js} +4 -4
- package/es-modules/Maps/MapViewOptionsDefault.js +4 -4
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -5
- package/es-modules/Series/AreaRange/AreaRangePoint.js +6 -10
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +59 -48
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -1
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +22 -16
- package/es-modules/Series/Bubble/BubbleLegendItem.js +17 -21
- package/es-modules/Series/Candlestick/CandlestickSeries.js +15 -175
- package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +179 -0
- package/es-modules/Series/Column/ColumnSeries.js +25 -506
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +487 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +40 -36
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -106
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +183 -0
- package/es-modules/Series/DotPlot/DotPlotSeries.js +11 -12
- package/es-modules/Series/DrawPointUtilities.js +2 -14
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +5 -4
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +11 -7
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +19 -136
- package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +147 -0
- package/es-modules/Series/Flags/FlagsPoint.js +2 -3
- package/es-modules/Series/Flags/FlagsSeries.js +31 -298
- package/es-modules/Series/Flags/FlagsSeriesDefaults.js +295 -0
- package/es-modules/Series/Flags/FlagsSymbols.js +96 -71
- package/es-modules/Series/HLC/HLCPoint.js +2 -2
- package/es-modules/Series/HLC/HLCSeries.js +7 -172
- package/es-modules/Series/HLC/HLCSeriesDefaults.js +184 -0
- package/es-modules/Series/Heatmap/HeatmapSeries.js +3 -0
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -20
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +78 -139
- package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +102 -0
- package/es-modules/Series/Item/ItemPoint.js +0 -1
- package/es-modules/Series/Item/ItemSeries.js +13 -8
- package/es-modules/Series/Line/LineSeries.js +8 -4
- package/es-modules/Series/Map/MapPoint.js +19 -1
- package/es-modules/Series/Map/MapSeries.js +7 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +4 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +0 -5
- package/es-modules/Series/MapPoint/MapPointSeries.js +24 -9
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +2 -5
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +2 -0
- package/es-modules/Series/OHLC/OHLCPoint.js +0 -2
- package/es-modules/Series/OHLC/OHLCSeries.js +64 -160
- package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +151 -0
- package/es-modules/Series/Organization/OrganizationPoint.js +0 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +96 -469
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +415 -0
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -10
- package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +2 -0
- package/es-modules/Series/PathUtilities.js +74 -0
- package/es-modules/Series/Pie/PieSeries.js +2 -644
- package/es-modules/Series/Pie/PieSeriesDefaults.js +660 -0
- package/es-modules/Series/PolarComposition.js +233 -15
- package/es-modules/Series/Sankey/SankeySeries.js +27 -530
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +522 -0
- package/es-modules/Series/Scatter/ScatterSeries.js +2 -172
- package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +188 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +12 -182
- package/es-modules/Series/SolidGauge/SolidGaugeSeriesDefaults.js +199 -0
- package/es-modules/Series/Sunburst/SunburstNode.js +34 -0
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +2 -231
- package/es-modules/Series/Timeline/TimelineSeriesDefaults.js +248 -0
- package/es-modules/Series/TreeUtilities.js +1 -2
- package/es-modules/Series/Treegraph/TreegraphLayout.js +338 -0
- package/es-modules/Series/Treegraph/TreegraphLink.js +92 -0
- package/es-modules/Series/Treegraph/TreegraphNode.js +206 -0
- package/es-modules/Series/Treegraph/TreegraphPoint.js +175 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +510 -0
- package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +231 -0
- package/es-modules/Series/Treemap/TreemapNode.js +48 -0
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -1
- package/es-modules/Series/Treemap/TreemapSeries.js +29 -27
- package/es-modules/Series/Variwide/VariwideComposition.js +70 -26
- package/es-modules/Series/Variwide/VariwidePoint.js +8 -7
- package/es-modules/Series/Variwide/VariwideSeries.js +19 -14
- package/es-modules/Series/Vector/VectorSeries.js +2 -2
- package/es-modules/Series/Venn/VennSeries.js +14 -0
- package/es-modules/Series/Waterfall/WaterfallSeries.js +0 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -2
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +3 -0
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +1 -2
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +15 -4
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +21 -18
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +1 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +0 -1
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -4
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +1 -2
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +6 -7
- package/es-modules/{Core → Stock/Navigator}/Navigator.js +112 -686
- package/es-modules/Stock/Navigator/NavigatorComposition.js +218 -0
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +490 -0
- package/es-modules/Stock/Navigator/NavigatorSymbols.js +44 -0
- package/es-modules/{Extensions → Stock/RangeSelector}/RangeSelector.js +154 -818
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +286 -0
- package/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +521 -0
- package/es-modules/{Core → Stock/Scrollbar}/Scrollbar.js +4 -4
- package/es-modules/{Core → Stock/Scrollbar}/ScrollbarDefaults.js +1 -1
- package/es-modules/Stock/{StockToolbar.js → StockTools/StockToolbar.js} +2 -2
- package/es-modules/Stock/{StockTools.js → StockTools/StockTools.js} +3 -3
- package/es-modules/Stock/{StockToolsBindings.js → StockTools/StockToolsBindings.js} +3 -3
- package/es-modules/Stock/{StockToolsDefaults.js → StockTools/StockToolsDefaults.js} +4 -4
- package/es-modules/Stock/{StockToolsGui.js → StockTools/StockToolsGui.js} +4 -4
- package/es-modules/Stock/{StockToolsUtilities.js → StockTools/StockToolsUtilities.js} +4 -4
- package/es-modules/masters/highcharts-3d.src.js +3 -5
- 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 +6 -6
- 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.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +11 -3
- 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 +9 -5
- 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 +5 -2
- 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/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/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 +4 -4
- package/es-modules/masters/modules/stock.src.js +17 -11
- 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/treegraph.src.js +13 -0
- 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 +5 -2
- 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/highcharts-3d.js +97 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +476 -449
- package/highcharts-gantt.js +811 -808
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +14619 -14112
- package/highcharts-more.d.ts +0 -8
- package/highcharts-more.js +208 -201
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +0 -8
- package/highcharts-more.src.js +679 -289
- package/highcharts.d.ts +30739 -6156
- package/highcharts.js +590 -589
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +30739 -6156
- package/highcharts.src.js +1988 -1799
- package/highmaps.js +759 -757
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2339 -2077
- package/highstock.js +802 -794
- package/highstock.js.map +1 -1
- package/highstock.src.js +12349 -11416
- 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 +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +4 -3
- 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.js.map +1 -1
- package/indicators/bollinger-bands.src.js +16 -5
- 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.d.ts +17 -0
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.d.ts +17 -0
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.d.ts +17 -0
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.d.ts +17 -0
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.d.ts +17 -0
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.d.ts +17 -0
- 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 +14 -14
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +22 -19
- package/indicators/indicators-all.js +198 -199
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +63 -57
- package/indicators/indicators.js +13 -13
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +1 -15
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.d.ts +17 -0
- package/indicators/klinger.js +12 -12
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.d.ts +17 -0
- package/indicators/klinger.src.js +4 -3
- package/indicators/macd.js +1 -1
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +4 -3
- 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.d.ts +17 -0
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.d.ts +17 -0
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +2 -2
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +2 -2
- 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 +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +6 -5
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +7 -7
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +4 -3
- 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 +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +9 -8
- 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 +214 -213
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +991 -835
- package/modules/annotations-advanced.js +16 -16
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +29 -24
- package/modules/annotations.js +91 -91
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +29 -24
- package/modules/arc-diagram.d.ts +17 -0
- package/modules/arc-diagram.js +15 -15
- package/modules/arc-diagram.js.map +1 -1
- package/modules/arc-diagram.src.d.ts +17 -0
- package/modules/arc-diagram.src.js +6 -6
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +19 -19
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +13 -8
- package/modules/boost.js +37 -37
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +13 -8
- 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 +25 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +77 -58
- 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 +27 -27
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +3 -3
- package/modules/datagrouping.d.ts +31 -0
- package/modules/datagrouping.js +23 -21
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +31 -0
- package/modules/datagrouping.src.js +921 -640
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +2 -2
- package/modules/dependency-wheel.js +12 -12
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +191 -108
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +10 -13
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +5 -5
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +7 -3
- package/modules/drilldown.js +37 -37
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +5 -6
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +27 -22
- package/modules/export-data.js +26 -25
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +33 -6
- package/modules/exporting.js +36 -35
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +81 -88
- 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 +221 -219
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +12842 -12524
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +80 -58
- package/modules/heikinashi.d.ts +17 -0
- package/modules/heikinashi.js +9 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.d.ts +17 -0
- package/modules/heikinashi.src.js +192 -165
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.d.ts +17 -0
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.d.ts +17 -0
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +14 -10
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.js +172 -171
- package/modules/map.js.map +1 -1
- package/modules/map.src.js +194 -121
- package/modules/marker-clusters.js +2 -2
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +2 -2
- package/modules/networkgraph.js +8 -8
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.js +5 -6
- package/modules/no-data-to-display.js +4 -4
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +4 -4
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +7 -7
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +9 -7
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +5 -5
- package/modules/organization.js +18 -16
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +659 -495
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +10 -10
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +6 -2
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +19 -23
- package/modules/pattern-fill.js +2 -2
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +11 -11
- 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 +33 -32
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +571 -550
- package/modules/series-label.js +17 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +7 -3
- package/modules/series-on-point.d.ts +17 -0
- package/modules/series-on-point.js +1 -1
- package/modules/series-on-point.src.d.ts +17 -0
- package/modules/series-on-point.src.js +1 -1
- package/modules/solid-gauge.js +11 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +220 -192
- package/modules/sonification.js +2 -2
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +2 -2
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +59 -59
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +19 -21
- package/modules/stock.d.ts +26 -6
- package/modules/stock.js +212 -205
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +26 -6
- package/modules/stock.src.js +11361 -10617
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +75 -73
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +133 -57
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +257 -233
- package/modules/treegraph.d.ts +17 -0
- package/modules/treegraph.js +44 -0
- package/modules/treegraph.js.map +1 -0
- package/modules/treegraph.src.d.ts +17 -0
- package/modules/treegraph.src.js +1829 -0
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +2 -3
- package/modules/treemap.js +54 -53
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +90 -52
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +158 -106
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +3 -3
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +17 -16
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +41 -4
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +6 -15
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/package.json +1 -1
- package/themes/avocado.js +2 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +2 -2
- package/themes/brand-dark.d.ts +22 -0
- package/themes/brand-dark.js +3 -3
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.d.ts +22 -0
- package/themes/brand-dark.src.js +2 -2
- package/themes/brand-light.d.ts +22 -0
- package/themes/brand-light.js +2 -2
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.d.ts +22 -0
- package/themes/brand-light.src.js +2 -2
- package/themes/dark-blue.js +2 -2
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +2 -2
- package/themes/dark-green.js +2 -2
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +2 -2
- package/themes/dark-unica.js +2 -2
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +2 -2
- package/themes/gray.js +2 -2
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +2 -2
- package/themes/grid-light.js +2 -2
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +2 -2
- package/themes/grid.js +2 -2
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +2 -2
- package/themes/high-contrast-dark.d.ts +22 -0
- package/themes/high-contrast-dark.js +2 -2
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.d.ts +22 -0
- package/themes/high-contrast-dark.src.js +2 -2
- package/themes/high-contrast-light.d.ts +22 -0
- package/themes/high-contrast-light.js +2 -2
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.d.ts +22 -0
- package/themes/high-contrast-light.src.js +2 -2
- package/themes/sand-signika.js +2 -2
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +2 -2
- package/themes/skies.js +2 -2
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +2 -2
- package/themes/sunset.js +2 -2
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +2 -2
- package/es-modules/Core/Axis/Axis3D.js +0 -612
- package/es-modules/Core/Axis/NavigatorAxis.js +0 -159
- package/es-modules/Core/Axis/Tick3D.js +0 -68
- package/es-modules/Extensions/DataGrouping.js +0 -1177
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -12
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
import ApproximationRegistry from './ApproximationRegistry.js';
|
|
12
|
+
import DataGroupingDefaults from './DataGroupingDefaults.js';
|
|
13
|
+
import DateTimeAxis from '../../Core/Axis/DateTimeAxis.js';
|
|
14
|
+
import D from '../../Core/Defaults.js';
|
|
15
|
+
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
|
16
|
+
var seriesProto = SeriesRegistry.series.prototype;
|
|
17
|
+
import U from '../../Core/Utilities.js';
|
|
18
|
+
var addEvent = U.addEvent, defined = U.defined, error = U.error, extend = U.extend, isNumber = U.isNumber, merge = U.merge, pick = U.pick;
|
|
19
|
+
/* *
|
|
20
|
+
*
|
|
21
|
+
* Constants
|
|
22
|
+
*
|
|
23
|
+
* */
|
|
24
|
+
var baseGeneratePoints = seriesProto.generatePoints;
|
|
25
|
+
var composedMembers = [];
|
|
26
|
+
/* *
|
|
27
|
+
*
|
|
28
|
+
* Functions
|
|
29
|
+
*
|
|
30
|
+
* */
|
|
31
|
+
/**
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
function adjustExtremes(xAxis, groupedXData) {
|
|
35
|
+
// Make sure the X axis extends to show the first group (#2533)
|
|
36
|
+
// But only for visible series (#5493, #6393)
|
|
37
|
+
if (defined(groupedXData[0]) &&
|
|
38
|
+
isNumber(xAxis.min) &&
|
|
39
|
+
isNumber(xAxis.dataMin) &&
|
|
40
|
+
groupedXData[0] < xAxis.min) {
|
|
41
|
+
if ((!defined(xAxis.options.min) &&
|
|
42
|
+
xAxis.min <= xAxis.dataMin) ||
|
|
43
|
+
xAxis.min === xAxis.dataMin) {
|
|
44
|
+
xAxis.min = Math.min(groupedXData[0], xAxis.min);
|
|
45
|
+
}
|
|
46
|
+
xAxis.dataMin = Math.min(groupedXData[0], xAxis.dataMin);
|
|
47
|
+
}
|
|
48
|
+
// When the last anchor set, change the extremes that
|
|
49
|
+
// the last point is visible (#12455).
|
|
50
|
+
if (defined(groupedXData[groupedXData.length - 1]) &&
|
|
51
|
+
isNumber(xAxis.max) &&
|
|
52
|
+
isNumber(xAxis.dataMax) &&
|
|
53
|
+
groupedXData[groupedXData.length - 1] > xAxis.max) {
|
|
54
|
+
if ((!defined(xAxis.options.max) &&
|
|
55
|
+
isNumber(xAxis.dataMax) &&
|
|
56
|
+
xAxis.max >= xAxis.dataMax) || xAxis.max === xAxis.dataMax) {
|
|
57
|
+
xAxis.max = Math.max(groupedXData[groupedXData.length - 1], xAxis.max);
|
|
58
|
+
}
|
|
59
|
+
xAxis.dataMax = Math.max(groupedXData[groupedXData.length - 1], xAxis.dataMax);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
function anchorPoints(series, groupedXData, xMax) {
|
|
66
|
+
var options = series.options, dataGroupingOptions = options.dataGrouping, totalRange = (series.currentDataGrouping && series.currentDataGrouping.gapSize);
|
|
67
|
+
var i;
|
|
68
|
+
// DataGrouping x-coordinates.
|
|
69
|
+
if (dataGroupingOptions && series.xData && totalRange && series.groupMap) {
|
|
70
|
+
var groupedDataLength = groupedXData.length - 1, anchor = dataGroupingOptions.anchor, firstAnchor = pick(dataGroupingOptions.firstAnchor, anchor), lastAnchor = pick(dataGroupingOptions.lastAnchor, anchor);
|
|
71
|
+
// Anchor points that are not extremes.
|
|
72
|
+
if (anchor && anchor !== 'start') {
|
|
73
|
+
var shiftInterval = (totalRange *
|
|
74
|
+
{ middle: 0.5, end: 1 }[anchor]);
|
|
75
|
+
i = groupedXData.length - 1;
|
|
76
|
+
while (i-- && i > 0) {
|
|
77
|
+
groupedXData[i] += shiftInterval;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Change the first point position, but only when it is
|
|
81
|
+
// the first point in the data set not in the current zoom.
|
|
82
|
+
if (firstAnchor &&
|
|
83
|
+
firstAnchor !== 'start' &&
|
|
84
|
+
series.xData[0] >= groupedXData[0]) {
|
|
85
|
+
var groupStart = series.groupMap[0].start, groupLength = series.groupMap[0].length;
|
|
86
|
+
var firstGroupstEnd = void 0;
|
|
87
|
+
if (isNumber(groupStart) && isNumber(groupLength)) {
|
|
88
|
+
firstGroupstEnd = groupStart + (groupLength - 1);
|
|
89
|
+
}
|
|
90
|
+
groupedXData[0] = {
|
|
91
|
+
middle: groupedXData[0] + 0.5 * totalRange,
|
|
92
|
+
end: groupedXData[0] + totalRange,
|
|
93
|
+
firstPoint: series.xData[0],
|
|
94
|
+
lastPoint: firstGroupstEnd && series.xData[firstGroupstEnd]
|
|
95
|
+
}[firstAnchor];
|
|
96
|
+
}
|
|
97
|
+
// Change the last point position but only when it is
|
|
98
|
+
// the last point in the data set not in the current zoom.
|
|
99
|
+
if (lastAnchor &&
|
|
100
|
+
lastAnchor !== 'start' &&
|
|
101
|
+
totalRange &&
|
|
102
|
+
groupedXData[groupedDataLength] >= xMax - totalRange) {
|
|
103
|
+
var lastGroupStart = series.groupMap[series.groupMap.length - 1].start;
|
|
104
|
+
groupedXData[groupedDataLength] = {
|
|
105
|
+
middle: groupedXData[groupedDataLength] + 0.5 * totalRange,
|
|
106
|
+
end: groupedXData[groupedDataLength] + totalRange,
|
|
107
|
+
firstPoint: lastGroupStart && series.xData[lastGroupStart],
|
|
108
|
+
lastPoint: series.xData[series.xData.length - 1]
|
|
109
|
+
}[lastAnchor];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* For the processed data, calculate the grouped data if needed.
|
|
115
|
+
*
|
|
116
|
+
* @private
|
|
117
|
+
* @function Highcharts.Series#applyGrouping
|
|
118
|
+
*/
|
|
119
|
+
function applyGrouping(hasExtremesChanged) {
|
|
120
|
+
var series = this, chart = series.chart, options = series.options, dataGroupingOptions = options.dataGrouping, groupingEnabled = series.allowDG !== false && dataGroupingOptions &&
|
|
121
|
+
pick(dataGroupingOptions.enabled, chart.options.isStock), visible = (series.visible || !chart.options.chart.ignoreHiddenSeries), lastDataGrouping = this.currentDataGrouping;
|
|
122
|
+
var currentDataGrouping, croppedData, revertRequireSorting = false;
|
|
123
|
+
// Data needs to be sorted for dataGrouping
|
|
124
|
+
if (groupingEnabled && !series.requireSorting) {
|
|
125
|
+
series.requireSorting = revertRequireSorting = true;
|
|
126
|
+
}
|
|
127
|
+
// Skip if skipDataGrouping method returns false or if grouping is disabled
|
|
128
|
+
// (in that order).
|
|
129
|
+
var skip = skipDataGrouping(series, hasExtremesChanged) === false || !groupingEnabled;
|
|
130
|
+
// Revert original requireSorting value if changed
|
|
131
|
+
if (revertRequireSorting) {
|
|
132
|
+
series.requireSorting = false;
|
|
133
|
+
}
|
|
134
|
+
if (!skip) {
|
|
135
|
+
series.destroyGroupedData();
|
|
136
|
+
var processedXData = dataGroupingOptions.groupAll ?
|
|
137
|
+
series.xData :
|
|
138
|
+
series.processedXData, processedYData = dataGroupingOptions.groupAll ?
|
|
139
|
+
series.yData :
|
|
140
|
+
series.processedYData, plotSizeX = chart.plotSizeX, xAxis = series.xAxis, ordinal = xAxis.options.ordinal, groupPixelWidth = series.groupPixelWidth;
|
|
141
|
+
var i = void 0, hasGroupedData = void 0;
|
|
142
|
+
// Execute grouping if the amount of points is greater than the limit
|
|
143
|
+
// defined in groupPixelWidth
|
|
144
|
+
if (groupPixelWidth &&
|
|
145
|
+
processedXData &&
|
|
146
|
+
processedXData.length) {
|
|
147
|
+
hasGroupedData = true;
|
|
148
|
+
// Force recreation of point instances in series.translate, #5699
|
|
149
|
+
series.isDirty = true;
|
|
150
|
+
series.points = null; // #6709
|
|
151
|
+
var extremes = xAxis.getExtremes(), xMin = extremes.min, xMax = extremes.max, groupIntervalFactor = (ordinal &&
|
|
152
|
+
xAxis.ordinal &&
|
|
153
|
+
xAxis.ordinal.getGroupIntervalFactor(xMin, xMax, series)) || 1, interval = (groupPixelWidth * (xMax - xMin) / plotSizeX) *
|
|
154
|
+
groupIntervalFactor, groupPositions = xAxis.getTimeTicks(DateTimeAxis.Additions.prototype.normalizeTimeTickInterval(interval, dataGroupingOptions.units ||
|
|
155
|
+
DataGroupingDefaults.units),
|
|
156
|
+
// Processed data may extend beyond axis (#4907)
|
|
157
|
+
Math.min(xMin, processedXData[0]), Math.max(xMax, processedXData[processedXData.length - 1]), xAxis.options.startOfWeek, processedXData, series.closestPointRange), groupedData = seriesProto.groupData.apply(series, [
|
|
158
|
+
processedXData,
|
|
159
|
+
processedYData,
|
|
160
|
+
groupPositions,
|
|
161
|
+
dataGroupingOptions.approximation
|
|
162
|
+
]);
|
|
163
|
+
var groupedXData = groupedData.groupedXData, groupedYData = groupedData.groupedYData, gapSize = 0;
|
|
164
|
+
// The smoothed option is deprecated, instead, there is a fallback
|
|
165
|
+
// to the new anchoring mechanism. #12455.
|
|
166
|
+
if (dataGroupingOptions &&
|
|
167
|
+
dataGroupingOptions.smoothed &&
|
|
168
|
+
groupedXData.length) {
|
|
169
|
+
dataGroupingOptions.firstAnchor = 'firstPoint';
|
|
170
|
+
dataGroupingOptions.anchor = 'middle';
|
|
171
|
+
dataGroupingOptions.lastAnchor = 'lastPoint';
|
|
172
|
+
error(32, false, chart, {
|
|
173
|
+
'dataGrouping.smoothed': 'use dataGrouping.anchor'
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
anchorPoints(series, groupedXData, xMax);
|
|
177
|
+
// Record what data grouping values were used
|
|
178
|
+
for (i = 1; i < groupPositions.length; i++) {
|
|
179
|
+
// The grouped gapSize needs to be the largest distance between
|
|
180
|
+
// the group to capture varying group sizes like months or DST
|
|
181
|
+
// crossing (#10000). Also check that the gap is not at the
|
|
182
|
+
// start of a segment.
|
|
183
|
+
if (!groupPositions.info.segmentStarts ||
|
|
184
|
+
groupPositions.info.segmentStarts.indexOf(i) === -1) {
|
|
185
|
+
gapSize = Math.max(groupPositions[i] - groupPositions[i - 1], gapSize);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
currentDataGrouping = groupPositions.info;
|
|
189
|
+
currentDataGrouping.gapSize = gapSize;
|
|
190
|
+
series.closestPointRange = groupPositions.info.totalRange;
|
|
191
|
+
series.groupMap = groupedData.groupMap;
|
|
192
|
+
if (visible) {
|
|
193
|
+
adjustExtremes(xAxis, groupedXData);
|
|
194
|
+
}
|
|
195
|
+
// We calculated all group positions but we should render
|
|
196
|
+
// only the ones within the visible range
|
|
197
|
+
if (dataGroupingOptions.groupAll) {
|
|
198
|
+
// Keep the reference to all grouped points
|
|
199
|
+
// for further calculation (eg. heikinashi).
|
|
200
|
+
series.allGroupedData = groupedYData;
|
|
201
|
+
croppedData = series.cropData(groupedXData, groupedYData, xAxis.min, xAxis.max, 1 // Ordinal xAxis will remove left-most points otherwise
|
|
202
|
+
);
|
|
203
|
+
groupedXData = croppedData.xData;
|
|
204
|
+
groupedYData = croppedData.yData;
|
|
205
|
+
series.cropStart = croppedData.start; // #15005
|
|
206
|
+
}
|
|
207
|
+
// Set series props
|
|
208
|
+
series.processedXData = groupedXData;
|
|
209
|
+
series.processedYData = groupedYData;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
series.groupMap = null;
|
|
213
|
+
}
|
|
214
|
+
series.hasGroupedData = hasGroupedData;
|
|
215
|
+
series.currentDataGrouping = currentDataGrouping;
|
|
216
|
+
series.preventGraphAnimation =
|
|
217
|
+
(lastDataGrouping && lastDataGrouping.totalRange) !==
|
|
218
|
+
(currentDataGrouping && currentDataGrouping.totalRange);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* @private
|
|
223
|
+
*/
|
|
224
|
+
function compose(SeriesClass) {
|
|
225
|
+
var PointClass = SeriesClass.prototype.pointClass;
|
|
226
|
+
if (composedMembers.indexOf(PointClass) === -1) {
|
|
227
|
+
composedMembers.push(PointClass);
|
|
228
|
+
// Override point prototype to throw a warning when trying to update
|
|
229
|
+
// grouped points.
|
|
230
|
+
addEvent(PointClass, 'update', function () {
|
|
231
|
+
if (this.dataGroup) {
|
|
232
|
+
error(24, false, this.series.chart);
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
if (composedMembers.indexOf(SeriesClass) === -1) {
|
|
238
|
+
composedMembers.push(SeriesClass);
|
|
239
|
+
addEvent(SeriesClass, 'afterSetOptions', onAfterSetOptions);
|
|
240
|
+
addEvent(SeriesClass, 'destroy', destroyGroupedData);
|
|
241
|
+
extend(SeriesClass.prototype, {
|
|
242
|
+
applyGrouping: applyGrouping,
|
|
243
|
+
destroyGroupedData: destroyGroupedData,
|
|
244
|
+
generatePoints: generatePoints,
|
|
245
|
+
getDGApproximation: getDGApproximation,
|
|
246
|
+
groupData: groupData
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Destroy the grouped data points. #622, #740
|
|
252
|
+
* @private
|
|
253
|
+
*/
|
|
254
|
+
function destroyGroupedData() {
|
|
255
|
+
// Clear previous groups
|
|
256
|
+
if (this.groupedData) {
|
|
257
|
+
this.groupedData.forEach(function (point, i) {
|
|
258
|
+
if (point) {
|
|
259
|
+
this.groupedData[i] = point.destroy ?
|
|
260
|
+
point.destroy() : null;
|
|
261
|
+
}
|
|
262
|
+
}, this);
|
|
263
|
+
// Clears all:
|
|
264
|
+
// - `this.groupedData`
|
|
265
|
+
// - `this.points`
|
|
266
|
+
// - `preserve` object in series.update()
|
|
267
|
+
this.groupedData.length = 0;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Override the generatePoints method by adding a reference to grouped data
|
|
272
|
+
* @private
|
|
273
|
+
*/
|
|
274
|
+
function generatePoints() {
|
|
275
|
+
baseGeneratePoints.apply(this);
|
|
276
|
+
// Record grouped data in order to let it be destroyed the next time
|
|
277
|
+
// processData runs
|
|
278
|
+
this.destroyGroupedData(); // #622
|
|
279
|
+
this.groupedData = this.hasGroupedData ? this.points : null;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Set default approximations to the prototypes if present. Properties are
|
|
283
|
+
* inherited down. Can be overridden for individual series types.
|
|
284
|
+
* @private
|
|
285
|
+
*/
|
|
286
|
+
function getDGApproximation() {
|
|
287
|
+
if (this.is('arearange')) {
|
|
288
|
+
return 'range';
|
|
289
|
+
}
|
|
290
|
+
if (this.is('ohlc')) {
|
|
291
|
+
return 'ohlc';
|
|
292
|
+
}
|
|
293
|
+
if (this.is('hlc')) {
|
|
294
|
+
return 'hlc';
|
|
295
|
+
}
|
|
296
|
+
if (this.is('column')) {
|
|
297
|
+
return 'sum';
|
|
298
|
+
}
|
|
299
|
+
return 'average';
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Highcharts Stock only. Takes parallel arrays of x and y data and groups the
|
|
303
|
+
* data into intervals defined by groupPositions, a collection of starting x
|
|
304
|
+
* values for each group.
|
|
305
|
+
*
|
|
306
|
+
* @product highstock
|
|
307
|
+
*
|
|
308
|
+
* @function Highcharts.Series#groupData
|
|
309
|
+
* @param {Array<number>} xData
|
|
310
|
+
* Parallel array of x data.
|
|
311
|
+
* @param {Array<(number|null|undefined)>|Array<Array<(number|null|undefined)>>} yData
|
|
312
|
+
* Parallel array of y data.
|
|
313
|
+
* @param {Array<number>} groupPositions
|
|
314
|
+
* Group positions.
|
|
315
|
+
* @param {string|Function} [approximation]
|
|
316
|
+
* Approximation to use.
|
|
317
|
+
* @return {Highcharts.DataGroupingResultObject}
|
|
318
|
+
* Mapped groups.
|
|
319
|
+
*/
|
|
320
|
+
function groupData(xData, yData, groupPositions, approximation) {
|
|
321
|
+
var series = this, data = series.data, dataOptions = series.options && series.options.data, groupedXData = [], groupedYData = [], groupMap = [], dataLength = xData.length,
|
|
322
|
+
// when grouping the fake extended axis for panning,
|
|
323
|
+
// we don't need to consider y
|
|
324
|
+
handleYData = !!yData, values = [], pointArrayMap = series.pointArrayMap, pointArrayMapLength = pointArrayMap && pointArrayMap.length, extendedPointArrayMap = ['x'].concat(pointArrayMap || ['y']), groupAll = (this.options.dataGrouping &&
|
|
325
|
+
this.options.dataGrouping.groupAll);
|
|
326
|
+
var pointX, pointY, groupedY, pos = 0, start = 0;
|
|
327
|
+
var approximationFn = (typeof approximation === 'function' ?
|
|
328
|
+
approximation :
|
|
329
|
+
approximation && ApproximationRegistry[approximation] ?
|
|
330
|
+
ApproximationRegistry[approximation] :
|
|
331
|
+
ApproximationRegistry[(series.getDGApproximation && series.getDGApproximation() ||
|
|
332
|
+
'average')]);
|
|
333
|
+
// Calculate values array size from pointArrayMap length
|
|
334
|
+
if (pointArrayMapLength) {
|
|
335
|
+
var len = pointArrayMap.length;
|
|
336
|
+
while (len--) {
|
|
337
|
+
values.push([]);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
values.push([]);
|
|
342
|
+
}
|
|
343
|
+
var valuesLen = pointArrayMapLength || 1;
|
|
344
|
+
for (var i = 0; i <= dataLength; i++) {
|
|
345
|
+
// Start with the first point within the X axis range (#2696)
|
|
346
|
+
if (xData[i] < groupPositions[0]) {
|
|
347
|
+
continue; // with next point
|
|
348
|
+
}
|
|
349
|
+
// when a new group is entered, summarize and initialize
|
|
350
|
+
// the previous group
|
|
351
|
+
while ((typeof groupPositions[pos + 1] !== 'undefined' &&
|
|
352
|
+
xData[i] >= groupPositions[pos + 1]) ||
|
|
353
|
+
i === dataLength) { // get the last group
|
|
354
|
+
// get group x and y
|
|
355
|
+
pointX = groupPositions[pos];
|
|
356
|
+
series.dataGroupInfo = {
|
|
357
|
+
start: groupAll ? start : (series.cropStart + start),
|
|
358
|
+
length: values[0].length
|
|
359
|
+
};
|
|
360
|
+
groupedY = approximationFn.apply(series, values);
|
|
361
|
+
// By default, let options of the first grouped point be passed over
|
|
362
|
+
// to the grouped point. This allows preserving properties like
|
|
363
|
+
// `name` and `color` or custom properties. Implementers can
|
|
364
|
+
// override this from the approximation function, where they can
|
|
365
|
+
// write custom options to `this.dataGroupInfo.options`.
|
|
366
|
+
if (series.pointClass && !defined(series.dataGroupInfo.options)) {
|
|
367
|
+
// Convert numbers and arrays into objects
|
|
368
|
+
series.dataGroupInfo.options = merge(series.pointClass.prototype
|
|
369
|
+
.optionsToObject.call({ series: series }, series.options.data[series.cropStart + start]));
|
|
370
|
+
// Make sure the raw data (x, y, open, high etc) is not copied
|
|
371
|
+
// over and overwriting approximated data.
|
|
372
|
+
extendedPointArrayMap.forEach(function (key) {
|
|
373
|
+
delete series.dataGroupInfo.options[key];
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
// push the grouped data
|
|
377
|
+
if (typeof groupedY !== 'undefined') {
|
|
378
|
+
groupedXData.push(pointX);
|
|
379
|
+
groupedYData.push(groupedY);
|
|
380
|
+
groupMap.push(series.dataGroupInfo);
|
|
381
|
+
}
|
|
382
|
+
// reset the aggregate arrays
|
|
383
|
+
start = i;
|
|
384
|
+
for (var j = 0; j < valuesLen; j++) {
|
|
385
|
+
values[j].length = 0; // faster than values[j] = []
|
|
386
|
+
values[j].hasNulls = false;
|
|
387
|
+
}
|
|
388
|
+
// Advance on the group positions
|
|
389
|
+
pos += 1;
|
|
390
|
+
// don't loop beyond the last group
|
|
391
|
+
if (i === dataLength) {
|
|
392
|
+
break;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
// break out
|
|
396
|
+
if (i === dataLength) {
|
|
397
|
+
break;
|
|
398
|
+
}
|
|
399
|
+
// for each raw data point, push it to an array that contains all values
|
|
400
|
+
// for this specific group
|
|
401
|
+
if (pointArrayMap) {
|
|
402
|
+
var index = (series.options.dataGrouping &&
|
|
403
|
+
series.options.dataGrouping.groupAll ?
|
|
404
|
+
i : series.cropStart + i), point = (data && data[index]) ||
|
|
405
|
+
series.pointClass.prototype.applyOptions.apply({
|
|
406
|
+
series: series
|
|
407
|
+
}, [dataOptions[index]]);
|
|
408
|
+
var val = void 0;
|
|
409
|
+
for (var j = 0; j < pointArrayMapLength; j++) {
|
|
410
|
+
val = point[pointArrayMap[j]];
|
|
411
|
+
if (isNumber(val)) {
|
|
412
|
+
values[j].push(val);
|
|
413
|
+
}
|
|
414
|
+
else if (val === null) {
|
|
415
|
+
values[j].hasNulls = true;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
pointY = handleYData ? yData[i] : null;
|
|
421
|
+
if (isNumber(pointY)) {
|
|
422
|
+
values[0].push(pointY);
|
|
423
|
+
}
|
|
424
|
+
else if (pointY === null) {
|
|
425
|
+
values[0].hasNulls = true;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
return {
|
|
430
|
+
groupedXData: groupedXData,
|
|
431
|
+
groupedYData: groupedYData,
|
|
432
|
+
groupMap: groupMap
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Handle default options for data grouping. This must be set at runtime because
|
|
437
|
+
* some series types are defined after this.
|
|
438
|
+
* @private
|
|
439
|
+
*/
|
|
440
|
+
function onAfterSetOptions(e) {
|
|
441
|
+
var options = e.options, type = this.type, plotOptions = this.chart.options.plotOptions,
|
|
442
|
+
// External series, for example technical indicators should also inherit
|
|
443
|
+
// commonOptions which are not available outside this module
|
|
444
|
+
baseOptions = (this.useCommonDataGrouping &&
|
|
445
|
+
DataGroupingDefaults.common), seriesSpecific = DataGroupingDefaults.seriesSpecific;
|
|
446
|
+
var defaultOptions = D.defaultOptions.plotOptions[type].dataGrouping;
|
|
447
|
+
if (plotOptions && (seriesSpecific[type] || baseOptions)) { // #1284
|
|
448
|
+
var rangeSelector = this.chart.rangeSelector;
|
|
449
|
+
if (!defaultOptions) {
|
|
450
|
+
defaultOptions = merge(DataGroupingDefaults.common, seriesSpecific[type]);
|
|
451
|
+
}
|
|
452
|
+
options.dataGrouping = merge(baseOptions, defaultOptions, plotOptions.series && plotOptions.series.dataGrouping, // #1228
|
|
453
|
+
// Set by the StockChart constructor:
|
|
454
|
+
plotOptions[type].dataGrouping, this.userOptions.dataGrouping, !options.isInternal &&
|
|
455
|
+
rangeSelector &&
|
|
456
|
+
isNumber(rangeSelector.selected) &&
|
|
457
|
+
rangeSelector.buttonOptions[rangeSelector.selected].dataGrouping);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* @private
|
|
462
|
+
*/
|
|
463
|
+
function skipDataGrouping(series, force) {
|
|
464
|
+
return !(series.isCartesian &&
|
|
465
|
+
!series.isDirty &&
|
|
466
|
+
!series.xAxis.isDirty &&
|
|
467
|
+
!series.yAxis.isDirty &&
|
|
468
|
+
!force);
|
|
469
|
+
}
|
|
470
|
+
/* *
|
|
471
|
+
*
|
|
472
|
+
* Default Export
|
|
473
|
+
*
|
|
474
|
+
* */
|
|
475
|
+
var DataGroupingSeriesComposition = {
|
|
476
|
+
compose: compose,
|
|
477
|
+
groupData: groupData
|
|
478
|
+
};
|
|
479
|
+
export default DataGroupingSeriesComposition;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
import ErrorMessages from './ErrorMessages.js';
|
|
12
12
|
import H from '../../Core/Globals.js';
|
|
13
|
-
import D from '../../Core/
|
|
13
|
+
import D from '../../Core/Defaults.js';
|
|
14
14
|
var setOptions = D.setOptions;
|
|
15
15
|
import U from '../../Core/Utilities.js';
|
|
16
16
|
var addEvent = U.addEvent, find = U.find, isNumber = U.isNumber;
|
|
@@ -534,7 +534,9 @@ if (seriesTypes.arearange) {
|
|
|
534
534
|
resize: true,
|
|
535
535
|
resizeSide: 'bottom',
|
|
536
536
|
handlePositioner: function (point) {
|
|
537
|
-
var bBox = point.
|
|
537
|
+
var bBox = (point.graphics &&
|
|
538
|
+
point.graphics[0] &&
|
|
539
|
+
point.graphics[0].getBBox());
|
|
538
540
|
return bBox ? {
|
|
539
541
|
x: bBox.x + bBox.width / 2,
|
|
540
542
|
y: bBox.y + bBox.height / 2
|
|
@@ -558,7 +560,9 @@ if (seriesTypes.arearange) {
|
|
|
558
560
|
resize: true,
|
|
559
561
|
resizeSide: 'top',
|
|
560
562
|
handlePositioner: function (point) {
|
|
561
|
-
var bBox = point.
|
|
563
|
+
var bBox = (point.graphics &&
|
|
564
|
+
point.graphics[1] &&
|
|
565
|
+
point.graphics[1].getBBox());
|
|
562
566
|
return bBox ? {
|
|
563
567
|
x: bBox.x + bBox.width / 2,
|
|
564
568
|
y: bBox.y + bBox.height / 2
|
|
@@ -16,11 +16,9 @@ import Axis from '../Core/Axis/Axis.js';
|
|
|
16
16
|
import Chart from '../Core/Chart/Chart.js';
|
|
17
17
|
import Color from '../Core/Color/Color.js';
|
|
18
18
|
import ColumnSeries from '../Series/Column/ColumnSeries.js';
|
|
19
|
-
import F from '../Core/FormatUtilities.js';
|
|
20
|
-
var format = F.format;
|
|
21
19
|
import H from '../Core/Globals.js';
|
|
22
20
|
var noop = H.noop;
|
|
23
|
-
import D from '../Core/
|
|
21
|
+
import D from '../Core/Defaults.js';
|
|
24
22
|
var defaultOptions = D.defaultOptions;
|
|
25
23
|
import Point from '../Core/Series/Point.js';
|
|
26
24
|
import Series from '../Core/Series/Series.js';
|
|
@@ -281,12 +279,12 @@ defaultOptions.drilldown = {
|
|
|
281
279
|
* object. See
|
|
282
280
|
* [the easing demo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-animation-easing/).
|
|
283
281
|
*
|
|
284
|
-
* @type {boolean|
|
|
282
|
+
* @type {boolean|Highcharts.AnimationOptionsObject}
|
|
285
283
|
* @since 3.0.8
|
|
286
284
|
* @product highcharts highmaps
|
|
287
285
|
*/
|
|
288
286
|
animation: {
|
|
289
|
-
/** @
|
|
287
|
+
/** @ignore-option */
|
|
290
288
|
duration: 500
|
|
291
289
|
},
|
|
292
290
|
/**
|
|
@@ -26,7 +26,7 @@ import AST from '../../Core/Renderer/HTML/AST.js';
|
|
|
26
26
|
import ExportDataDefaults from './ExportDataDefaults.js';
|
|
27
27
|
import H from '../../Core/Globals.js';
|
|
28
28
|
var doc = H.doc, win = H.win;
|
|
29
|
-
import D from '../../Core/
|
|
29
|
+
import D from '../../Core/Defaults.js';
|
|
30
30
|
var getOptions = D.getOptions, setOptions = D.setOptions;
|
|
31
31
|
import DownloadURL from '../DownloadURL.js';
|
|
32
32
|
var downloadURL = DownloadURL.downloadURL;
|
|
@@ -262,7 +262,8 @@ function chartGetDataRows(multiLevelHeaders) {
|
|
|
262
262
|
chart: series.chart,
|
|
263
263
|
autoIncrement: series.autoIncrement,
|
|
264
264
|
options: series.options,
|
|
265
|
-
pointArrayMap: series.pointArrayMap
|
|
265
|
+
pointArrayMap: series.pointArrayMap,
|
|
266
|
+
index: series.index
|
|
266
267
|
};
|
|
267
268
|
// Export directly from options.data because we need the uncropped
|
|
268
269
|
// data (#7913), and we need to support Boost (#7026).
|
|
@@ -276,6 +277,20 @@ function chartGetDataRows(multiLevelHeaders) {
|
|
|
276
277
|
}
|
|
277
278
|
series.pointClass.prototype.applyOptions.apply(mockPoint, [options]);
|
|
278
279
|
key = mockPoint.x;
|
|
280
|
+
if (defined(rows[key]) &&
|
|
281
|
+
rows[key].seriesIndices.includes(mockSeries.index)) {
|
|
282
|
+
// find keys, which belong to actual series
|
|
283
|
+
var keysFromActualSeries = Object.keys(rows).filter(function (i) {
|
|
284
|
+
return rows[i].seriesIndices.includes(mockSeries.index) &&
|
|
285
|
+
key;
|
|
286
|
+
}),
|
|
287
|
+
// find all properties, which start with actual key
|
|
288
|
+
existingKeys = keysFromActualSeries
|
|
289
|
+
.filter(function (propertyName) {
|
|
290
|
+
return propertyName.indexOf(String(key)) === 0;
|
|
291
|
+
});
|
|
292
|
+
key = key.toString() + ',' + existingKeys.length;
|
|
293
|
+
}
|
|
279
294
|
var name = series.data[pIdx] && series.data[pIdx].name;
|
|
280
295
|
j = 0;
|
|
281
296
|
// Pies, funnels, geo maps etc. use point name in X row
|
|
@@ -299,6 +314,12 @@ function chartGetDataRows(multiLevelHeaders) {
|
|
|
299
314
|
rows[key].x = mockPoint.x;
|
|
300
315
|
rows[key].name = name;
|
|
301
316
|
rows[key].xValues[xAxisIndex] = mockPoint.x;
|
|
317
|
+
if (!defined(rows[key].seriesIndices)) {
|
|
318
|
+
rows[key].seriesIndices = [];
|
|
319
|
+
}
|
|
320
|
+
rows[key].seriesIndices = __spreadArray(__spreadArray([], rows[key].seriesIndices, true), [
|
|
321
|
+
mockSeries.index
|
|
322
|
+
], false);
|
|
302
323
|
while (j < valueCount) {
|
|
303
324
|
prop = pointArrayMap[j]; // y, z etc
|
|
304
325
|
val = mockPoint[prop];
|
|
@@ -609,7 +630,8 @@ function chartHideData() {
|
|
|
609
630
|
function chartToggleDataTable(show) {
|
|
610
631
|
show = pick(show, !this.isDataTableVisible);
|
|
611
632
|
// Create the div
|
|
612
|
-
|
|
633
|
+
var createContainer = show && !this.dataTableDiv;
|
|
634
|
+
if (createContainer) {
|
|
613
635
|
this.dataTableDiv = doc.createElement('div');
|
|
614
636
|
this.dataTableDiv.className = 'highcharts-data-table';
|
|
615
637
|
// Insert after the chart container
|
|
@@ -617,13 +639,17 @@ function chartToggleDataTable(show) {
|
|
|
617
639
|
}
|
|
618
640
|
// Toggle the visibility
|
|
619
641
|
if (this.dataTableDiv) {
|
|
620
|
-
this.dataTableDiv.style
|
|
642
|
+
var style = this.dataTableDiv.style, oldDisplay = style.display;
|
|
643
|
+
style.display = show ? 'block' : 'none';
|
|
621
644
|
// Generate the data table
|
|
622
645
|
if (show) {
|
|
623
646
|
this.dataTableDiv.innerHTML = AST.emptyHTML;
|
|
624
647
|
var ast = new AST([this.getTableAST()]);
|
|
625
648
|
ast.addToDOM(this.dataTableDiv);
|
|
626
|
-
fireEvent(this, 'afterViewData',
|
|
649
|
+
fireEvent(this, 'afterViewData', {
|
|
650
|
+
element: this.dataTableDiv,
|
|
651
|
+
wasHidden: createContainer || oldDisplay !== style.display
|
|
652
|
+
});
|
|
627
653
|
}
|
|
628
654
|
}
|
|
629
655
|
// Set the flag
|