highcharts 9.3.3 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/highcharts.css +19 -2
- package/css/highcharts.scss +17 -2
- package/css/themes/dark-unica.css +19 -2
- package/css/themes/grid-light.css +19 -2
- package/css/themes/sand-signika.css +19 -2
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +3 -4
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
- package/es-modules/Accessibility/Components/LegendComponent.js +34 -26
- package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
- package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +3 -3
- package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
- package/es-modules/Accessibility/ProxyElement.js +14 -6
- package/es-modules/Accessibility/ProxyProvider.js +10 -2
- package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
- package/es-modules/Core/Animation/Fx.js +1 -1
- package/es-modules/Core/Axis/Axis.js +197 -91
- package/es-modules/Core/Axis/AxisDefaults.js +8 -8
- package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +821 -821
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/StackingAxis.js +0 -1
- package/es-modules/Core/Axis/Tick.js +22 -18
- package/es-modules/Core/Axis/TreeGridTick.js +13 -2
- package/es-modules/Core/Axis/ZAxis.js +3 -1
- package/es-modules/Core/Chart/Chart.js +27 -8
- package/es-modules/Core/Chart/Chart3D.js +1 -11
- package/es-modules/Core/Chart/ChartDefaults.js +46 -14
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +4 -7
- package/es-modules/Core/Chart/StockChart.js +7 -5
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +19 -15
- package/es-modules/Core/Geometry/PolygonClip.js +84 -0
- package/es-modules/Core/Globals.js +4 -18
- package/es-modules/Core/HttpUtilities.js +46 -39
- package/es-modules/Core/Legend/Legend.js +14 -12
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/Core/Navigator.js +16 -13
- package/es-modules/Core/Pointer.js +16 -12
- package/es-modules/Core/Renderer/HTML/AST.js +68 -8
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +54 -70
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
- package/es-modules/Core/Scrollbar.js +9 -5
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +67 -38
- package/es-modules/Core/Series/Point.js +11 -2
- package/es-modules/Core/Series/Series.js +57 -27
- package/es-modules/Core/Series/Series3D.js +3 -1
- package/es-modules/Core/Series/SeriesDefaults.js +7 -4
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +17 -34
- package/es-modules/Core/Utilities.js +33 -33
- package/es-modules/Data/DataConverter.js +1 -1
- package/es-modules/Data/DataTable.js +12 -10
- package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
- package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
- package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
- package/es-modules/Data/Modifiers/SortModifier.js +3 -1
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +1 -1
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
- package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
- package/es-modules/Data/Stores/CSVStore.js +8 -5
- package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
- package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
- package/es-modules/Extensions/Annotations/Popup.js +2 -2
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
- package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
- package/es-modules/Extensions/Boost/BoostInit.js +9 -3
- package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
- package/es-modules/Extensions/Boost/Boostables.js +1 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/BoostCanvas.js +11 -5
- package/es-modules/Extensions/Breadcrumbs.js +898 -0
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +661 -613
- package/es-modules/Extensions/DataGrouping.js +8 -3
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DownloadURL.js +3 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +9 -7
- package/es-modules/Extensions/Drilldown.js +152 -97
- package/es-modules/Extensions/ExportData.js +58 -9
- package/es-modules/Extensions/Exporting/Exporting.js +34 -23
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
- package/es-modules/Extensions/FullScreen.js +121 -54
- package/es-modules/Extensions/GeoJSON.js +149 -125
- package/es-modules/Extensions/MarkerClusters.js +36 -22
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -2
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Pane.js +3 -3
- package/es-modules/Extensions/ParallelCoordinates.js +1 -1
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Stacking.js +5 -4
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Maps/MapNavigation.js +49 -12
- package/es-modules/Maps/MapPointer.js +16 -0
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +619 -137
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
- package/es-modules/Maps/Projection.js +182 -88
- package/es-modules/Maps/Projections/EqualEarth.js +15 -6
- package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
- package/es-modules/Maps/Projections/Miller.js +23 -10
- package/es-modules/Maps/Projections/Orthographic.js +21 -10
- package/es-modules/Maps/Projections/WebMercator.js +25 -13
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
- package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
- package/es-modules/Series/Bar/BarSeries.js +3 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
- package/es-modules/Series/Bullet/BulletPoint.js +3 -1
- package/es-modules/Series/Bullet/BulletSeries.js +4 -3
- package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
- package/es-modules/Series/CenteredUtilities.js +8 -2
- package/es-modules/Series/ColorMapComposition.js +111 -0
- package/es-modules/Series/Column/ColumnSeries.js +10 -7
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DataModifyComposition.js +1 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- package/es-modules/Series/DrawPointUtilities.js +87 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
- package/es-modules/Series/Flags/FlagsPoint.js +4 -1
- package/es-modules/Series/Flags/FlagsSeries.js +13 -16
- package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
- package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -1
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
- package/es-modules/Series/HLC/HLCPoint.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +4 -2
- package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
- package/es-modules/Series/Heatmap/HeatmapSeries.js +29 -33
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
- package/es-modules/Series/Item/ItemPoint.js +3 -1
- package/es-modules/Series/Item/ItemSeries.js +3 -1
- package/es-modules/Series/Line/LineSeries.js +4 -2
- package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
- package/es-modules/Series/Map/MapPoint.js +32 -7
- package/es-modules/Series/Map/MapSeries.js +298 -189
- package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
- package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
- package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
- package/es-modules/Series/NodesComposition.js +101 -49
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
- package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
- package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +4 -2
- package/es-modules/Series/Pie/PiePoint.js +15 -6
- package/es-modules/Series/Pie/PieSeries.js +51 -37
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -1
- package/es-modules/Series/PolarComposition.js +819 -0
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
- package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
- package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
- package/es-modules/Series/Sankey/SankeySeries.js +35 -136
- package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
- package/es-modules/Series/SeriesOnPointComposition.js +391 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
- package/es-modules/Series/Spline/SplineSeries.js +13 -4
- package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +21 -5
- package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
- package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
- package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
- package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
- package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
- package/es-modules/Series/Vector/VectorSeries.js +3 -1
- package/es-modules/Series/Venn/VennPoint.js +5 -5
- package/es-modules/Series/Venn/VennSeries.js +9 -6
- package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
- package/es-modules/Series/Waterfall/WaterfallSeries.js +16 -12
- package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +11 -8
- package/es-modules/Series/XRange/XRangePoint.js +3 -1
- package/es-modules/Series/XRange/XRangeSeries.js +3 -1
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
- package/es-modules/Stock/StockToolsBindings.js +51 -43
- package/es-modules/Stock/StockToolsGui.js +1 -1
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +4 -4
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/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 +2 -2
- package/es-modules/masters/modules/annotations.src.js +2 -2
- package/es-modules/masters/modules/arc-diagram.src.js +14 -0
- 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 +2 -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 +2 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/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 +5 -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 +5 -2
- package/es-modules/masters/modules/series-on-point.src.js +16 -0
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +2 -6
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +5 -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/highcharts-3d.js +99 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +51 -21
- package/highcharts-gantt.js +811 -801
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +2020 -1607
- package/highcharts-more.d.ts +10 -0
- package/highcharts-more.js +194 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +10 -0
- package/highcharts-more.src.js +3512 -3364
- package/highcharts.d.ts +12336 -965
- package/highcharts.js +595 -586
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +12336 -965
- package/highcharts.src.js +1047 -665
- package/highmaps.js +763 -728
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +4482 -2639
- package/highstock.js +798 -788
- package/highstock.js.map +1 -1
- package/highstock.src.js +1177 -739
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -11
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +99 -100
- package/indicators/accumulation-distribution.js +5 -5
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +11 -2
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +13 -4
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +11 -2
- package/indicators/aroon-oscillator.d.ts +1 -17
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +1 -17
- package/indicators/aroon-oscillator.src.js +99 -100
- package/indicators/aroon.d.ts +1 -17
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +1 -17
- package/indicators/aroon.src.js +99 -100
- package/indicators/atr.js +5 -5
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +11 -2
- package/indicators/bollinger-bands.d.ts +1 -17
- package/indicators/bollinger-bands.js +11 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +1 -17
- package/indicators/bollinger-bands.src.js +102 -103
- package/indicators/cci.js +5 -5
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +11 -2
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +11 -2
- package/indicators/cmf.js +6 -6
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +11 -2
- package/indicators/cmo.js +5 -5
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +11 -2
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +11 -2
- package/indicators/disparity-index.js +6 -6
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +11 -2
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +109 -106
- package/indicators/dpo.js +5 -5
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +11 -2
- package/indicators/ema.js +2 -1
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +10 -1
- package/indicators/ichimoku-kinko-hyo.js +16 -16
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +11 -2
- package/indicators/indicators-all.d.ts +1 -17
- package/indicators/indicators-all.js +198 -196
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +151 -129
- package/indicators/indicators.js +13 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +21 -5
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -11
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +99 -100
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +99 -100
- package/indicators/macd.js +13 -11
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +35 -14
- package/indicators/mfi.js +6 -6
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +11 -2
- package/indicators/momentum.js +5 -5
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +11 -2
- package/indicators/natr.js +5 -4
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +11 -2
- package/indicators/obv.js +5 -5
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -2
- package/indicators/pivot-points.js +11 -11
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +11 -2
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +11 -2
- package/indicators/price-channel.d.ts +1 -17
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +1 -17
- package/indicators/price-channel.src.js +99 -100
- package/indicators/price-envelopes.js +8 -8
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +11 -2
- package/indicators/psar.js +7 -6
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +11 -2
- package/indicators/regressions.js +12 -12
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +11 -2
- package/indicators/roc.js +5 -5
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +11 -2
- package/indicators/rsi.js +6 -5
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +11 -2
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +11 -2
- package/indicators/stochastic.d.ts +1 -17
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +1 -17
- package/indicators/stochastic.src.js +99 -100
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +14 -5
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +11 -2
- package/indicators/trendline.js +5 -5
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +11 -2
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +11 -2
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +11 -2
- package/indicators/vwap.js +5 -5
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +11 -2
- package/indicators/williams-r.js +6 -5
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -2
- package/indicators/wma.js +5 -5
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +11 -2
- package/indicators/zigzag.js +6 -6
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +11 -2
- package/lib/jspdf.js +299 -184
- package/lib/jspdf.src.js +25266 -18067
- package/lib/svg2pdf.js +35 -31
- package/lib/svg2pdf.src.js +5721 -4179
- package/modules/accessibility.js +242 -237
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +599 -390
- package/modules/annotations-advanced.js +192 -192
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +96 -47
- package/modules/annotations.js +126 -126
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +67 -25
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +778 -0
- package/modules/arrow-symbols.js +4 -3
- package/modules/arrow-symbols.js.map +1 -1
- package/modules/arrow-symbols.src.js +11 -2
- package/modules/boost-canvas.js +16 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +22 -7
- package/modules/boost.js +81 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +90 -51
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +11 -2
- package/modules/bullet.js +9 -9
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +12 -6
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +37 -11
- package/modules/current-date-indicator.js +5 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +12 -3
- package/modules/cylinder.js +11 -11
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +11 -2
- package/modules/data.d.ts +12 -12
- package/modules/data.js +33 -33
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +906 -846
- package/modules/datagrouping.js +21 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +19 -5
- package/modules/debugger.js +8 -7
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +15 -2
- package/modules/dependency-wheel.js +12 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +14 -5
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +11 -2
- package/modules/drag-panes.js +10 -10
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +12 -3
- package/modules/draggable-points.js +35 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +20 -9
- package/modules/drilldown.d.ts +19 -0
- package/modules/drilldown.js +37 -25
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +19 -0
- package/modules/drilldown.src.js +1124 -108
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +34 -13
- package/modules/export-data.js +24 -21
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +87 -14
- package/modules/exporting.d.ts +8 -8
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +8 -8
- package/modules/exporting.src.js +270 -135
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +135 -58
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +13 -4
- package/modules/funnel3d.js +21 -21
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +11 -2
- package/modules/gantt.js +218 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +983 -943
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +900 -890
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +160 -113
- package/modules/heikinashi.js +8 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +11 -2
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +11 -2
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +19 -10
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +11 -2
- package/modules/lollipop.js +7 -7
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +12 -3
- package/modules/map.d.ts +80 -43
- package/modules/map.js +171 -144
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +80 -43
- package/modules/map.src.js +8292 -6822
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +48 -28
- package/modules/networkgraph.d.ts +1 -12
- package/modules/networkgraph.js +46 -45
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -12
- package/modules/networkgraph.src.js +127 -55
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +12 -3
- package/modules/offline-exporting.js +20 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +129 -28
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +11 -2
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +13 -4
- package/modules/organization.js +16 -14
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +168 -34
- package/modules/overlapping-datalabels.js +3 -2
- package/modules/overlapping-datalabels.js.map +1 -1
- package/modules/overlapping-datalabels.src.js +11 -2
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +12 -3
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +11 -2
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +11 -2
- package/modules/pattern-fill.js +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +25 -3
- package/modules/price-indicator.js +5 -5
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +11 -2
- package/modules/pyramid3d.js +4 -4
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +11 -2
- package/modules/sankey.d.ts +1 -12
- package/modules/sankey.js +32 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -12
- package/modules/sankey.src.js +422 -207
- package/modules/series-label.js +18 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +482 -386
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +464 -0
- package/modules/solid-gauge.js +10 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +15 -6
- package/modules/sonification.js +59 -59
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +13 -8
- package/modules/static-scale.js +5 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +11 -2
- package/modules/stock-tools.js +167 -167
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +118 -67
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +141 -76
- package/modules/streamgraph.js +5 -4
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +11 -2
- package/modules/sunburst.d.ts +3 -0
- package/modules/sunburst.js +73 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.d.ts +3 -0
- package/modules/sunburst.src.js +1391 -406
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +11 -2
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +14 -5
- package/modules/treegrid.js +57 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +913 -892
- package/modules/treemap.d.ts +3 -0
- package/modules/treemap.js +54 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.d.ts +3 -0
- package/modules/treemap.src.js +1229 -255
- package/modules/variable-pie.js +9 -9
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +11 -2
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +11 -2
- package/modules/vector.js +8 -7
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +11 -2
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +88 -105
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +11 -2
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +92 -109
- package/modules/xrange.js +16 -16
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +11 -2
- package/package.json +1 -1
- package/themes/avocado.js +4 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +11 -2
- package/themes/brand-dark.js +9 -8
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.js +11 -2
- package/themes/brand-light.js +8 -8
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.js +11 -2
- package/themes/dark-blue.js +9 -8
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +11 -2
- package/themes/dark-green.js +9 -8
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +11 -2
- package/themes/dark-unica.js +8 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +11 -2
- package/themes/gray.js +9 -8
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +11 -2
- package/themes/grid-light.js +5 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +11 -2
- package/themes/grid.js +5 -5
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +11 -2
- package/themes/high-contrast-dark.js +7 -7
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +21 -12
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +21 -12
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +11 -2
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +11 -2
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +11 -2
- package/es-modules/Extensions/Polar.js +0 -740
- package/es-modules/Maps/ProjectionDefinition.js +0 -9
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -111
package/modules/drilldown.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS
|
|
2
|
+
* @license Highcharts JS v10.2.0 (2022-07-05)
|
|
3
3
|
*
|
|
4
4
|
* Highcharts Drilldown module
|
|
5
5
|
*
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* License: www.highcharts.com/license
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
(function (factory) {
|
|
12
11
|
if (typeof module === 'object' && module.exports) {
|
|
13
12
|
factory['default'] = factory;
|
|
@@ -22,13 +21,979 @@
|
|
|
22
21
|
factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
|
|
23
22
|
}
|
|
24
23
|
}(function (Highcharts) {
|
|
24
|
+
'use strict';
|
|
25
25
|
var _modules = Highcharts ? Highcharts._modules : {};
|
|
26
26
|
function _registerModule(obj, path, args, fn) {
|
|
27
27
|
if (!obj.hasOwnProperty(path)) {
|
|
28
28
|
obj[path] = fn.apply(null, args);
|
|
29
|
+
|
|
30
|
+
if (typeof CustomEvent === 'function') {
|
|
31
|
+
window.dispatchEvent(
|
|
32
|
+
new CustomEvent(
|
|
33
|
+
'HighchartsModuleLoaded',
|
|
34
|
+
{ detail: { path: path, module: obj[path] }
|
|
35
|
+
})
|
|
36
|
+
);
|
|
37
|
+
}
|
|
29
38
|
}
|
|
30
39
|
}
|
|
31
|
-
_registerModule(_modules, 'Extensions/
|
|
40
|
+
_registerModule(_modules, 'Extensions/Breadcrumbs.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Utilities.js'], _modules['Core/FormatUtilities.js']], function (Chart, H, D, U, F) {
|
|
41
|
+
/* *
|
|
42
|
+
*
|
|
43
|
+
* Highcharts Breadcrumbs module
|
|
44
|
+
*
|
|
45
|
+
* Authors: Grzegorz Blachlinski, Karol Kolodziej
|
|
46
|
+
*
|
|
47
|
+
* License: www.highcharts.com/license
|
|
48
|
+
*
|
|
49
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
50
|
+
*
|
|
51
|
+
* */
|
|
52
|
+
var defaultOptions = D.defaultOptions;
|
|
53
|
+
var format = F.format;
|
|
54
|
+
var addEvent = U.addEvent,
|
|
55
|
+
objectEach = U.objectEach,
|
|
56
|
+
extend = U.extend,
|
|
57
|
+
fireEvent = U.fireEvent,
|
|
58
|
+
merge = U.merge,
|
|
59
|
+
pick = U.pick,
|
|
60
|
+
defined = U.defined,
|
|
61
|
+
isString = U.isString;
|
|
62
|
+
// Add language support.
|
|
63
|
+
extend(defaultOptions.lang,
|
|
64
|
+
/**
|
|
65
|
+
* @optionparent lang
|
|
66
|
+
*/
|
|
67
|
+
{
|
|
68
|
+
/**
|
|
69
|
+
* @since 10.0.0
|
|
70
|
+
* @product highcharts
|
|
71
|
+
*/
|
|
72
|
+
mainBreadcrumb: 'Main'
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* The Breadcrumbs class
|
|
76
|
+
*
|
|
77
|
+
* @private
|
|
78
|
+
* @class
|
|
79
|
+
* @name Highcharts.Breadcrumbs
|
|
80
|
+
*
|
|
81
|
+
* @param {Highcharts.Chart} chart
|
|
82
|
+
* Chart object
|
|
83
|
+
* @param {Highcharts.Options} userOptions
|
|
84
|
+
* User options
|
|
85
|
+
*/
|
|
86
|
+
var Breadcrumbs = /** @class */ (function () {
|
|
87
|
+
function Breadcrumbs(chart, userOptions) {
|
|
88
|
+
/* *
|
|
89
|
+
*
|
|
90
|
+
* Properties
|
|
91
|
+
*
|
|
92
|
+
* */
|
|
93
|
+
this.group = void 0;
|
|
94
|
+
this.list = [];
|
|
95
|
+
this.elementList = {};
|
|
96
|
+
this.isDirty = true;
|
|
97
|
+
this.level = 0;
|
|
98
|
+
this.options = void 0;
|
|
99
|
+
var chartOptions = merge(chart.options.drilldown &&
|
|
100
|
+
chart.options.drilldown.drillUpButton,
|
|
101
|
+
Breadcrumbs.defaultBreadcrumbsOptions,
|
|
102
|
+
chart.options.navigation && chart.options.navigation.breadcrumbs,
|
|
103
|
+
userOptions);
|
|
104
|
+
this.chart = chart;
|
|
105
|
+
this.options = chartOptions || {};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Update Breadcrumbs properties, like level and list.
|
|
109
|
+
*
|
|
110
|
+
* @requires modules/breadcrumbs
|
|
111
|
+
*
|
|
112
|
+
* @function Highcharts.Breadcrumbs#updateProperties
|
|
113
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
114
|
+
* Breadcrumbs class.
|
|
115
|
+
*/
|
|
116
|
+
Breadcrumbs.prototype.updateProperties = function (list) {
|
|
117
|
+
this.setList(list);
|
|
118
|
+
this.setLevel();
|
|
119
|
+
this.isDirty = true;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Set breadcrumbs list.
|
|
123
|
+
* @function Highcharts.Breadcrumbs#setList
|
|
124
|
+
*
|
|
125
|
+
* @requires modules/breadcrumbs
|
|
126
|
+
*
|
|
127
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
128
|
+
* Breadcrumbs class.
|
|
129
|
+
* @param {Highcharts.BreadcrumbsOptions} list
|
|
130
|
+
* Breadcrumbs list.
|
|
131
|
+
*/
|
|
132
|
+
Breadcrumbs.prototype.setList = function (list) {
|
|
133
|
+
this.list = list;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Calcule level on which chart currently is.
|
|
137
|
+
*
|
|
138
|
+
* @requires modules/breadcrumbs
|
|
139
|
+
*
|
|
140
|
+
* @function Highcharts.Breadcrumbs#setLevel
|
|
141
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
142
|
+
* Breadcrumbs class.
|
|
143
|
+
*/
|
|
144
|
+
Breadcrumbs.prototype.setLevel = function () {
|
|
145
|
+
this.level = this.list.length && this.list.length - 1;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Get Breadcrumbs level
|
|
149
|
+
*
|
|
150
|
+
* @requires modules/breadcrumbs
|
|
151
|
+
*
|
|
152
|
+
* @function Highcharts.Breadcrumbs#getLevel
|
|
153
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
154
|
+
* Breadcrumbs class.
|
|
155
|
+
*/
|
|
156
|
+
Breadcrumbs.prototype.getLevel = function () {
|
|
157
|
+
return this.level;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Default button text formatter.
|
|
161
|
+
*
|
|
162
|
+
* @requires modules/breadcrumbs
|
|
163
|
+
*
|
|
164
|
+
* @function Highcharts.Breadcrumbs#getButtonText
|
|
165
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
166
|
+
* Breadcrumbs class.
|
|
167
|
+
* @param {Highcharts.Breadcrumbs} breadcrumb
|
|
168
|
+
* Breadcrumb.
|
|
169
|
+
* @return {string}
|
|
170
|
+
* Formatted text.
|
|
171
|
+
*/
|
|
172
|
+
Breadcrumbs.prototype.getButtonText = function (breadcrumb) {
|
|
173
|
+
var breadcrumbs = this,
|
|
174
|
+
chart = breadcrumbs.chart,
|
|
175
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
176
|
+
lang = chart.options.lang,
|
|
177
|
+
textFormat = pick(breadcrumbsOptions.format,
|
|
178
|
+
breadcrumbsOptions.showFullPath ?
|
|
179
|
+
'{level.name}' : '← {level.name}'),
|
|
180
|
+
defaultText = lang && pick(lang.drillUpText,
|
|
181
|
+
lang.mainBreadcrumb);
|
|
182
|
+
var returnText = breadcrumbsOptions.formatter &&
|
|
183
|
+
breadcrumbsOptions.formatter(breadcrumb) ||
|
|
184
|
+
format(textFormat, { level: breadcrumb.levelOptions },
|
|
185
|
+
chart) || '';
|
|
186
|
+
if (((isString(returnText) &&
|
|
187
|
+
!returnText.length) ||
|
|
188
|
+
returnText === '← ') &&
|
|
189
|
+
defined(defaultText)) {
|
|
190
|
+
returnText = !breadcrumbsOptions.showFullPath ?
|
|
191
|
+
'← ' + defaultText :
|
|
192
|
+
defaultText;
|
|
193
|
+
}
|
|
194
|
+
return returnText;
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* Redraw.
|
|
198
|
+
*
|
|
199
|
+
* @requires modules/breadcrums
|
|
200
|
+
*
|
|
201
|
+
* @function Highcharts.Breadcrumbs#redraw
|
|
202
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
203
|
+
* Breadcrumbs class.
|
|
204
|
+
*/
|
|
205
|
+
Breadcrumbs.prototype.redraw = function () {
|
|
206
|
+
if (this.isDirty) {
|
|
207
|
+
this.render();
|
|
208
|
+
}
|
|
209
|
+
if (this.group) {
|
|
210
|
+
this.group.align();
|
|
211
|
+
}
|
|
212
|
+
this.isDirty = false;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Create a group, then draw breadcrumbs together with the separators.
|
|
216
|
+
*
|
|
217
|
+
* @requires modules/breadcrumbs
|
|
218
|
+
*
|
|
219
|
+
* @function Highcharts.Breadcrumbs#render
|
|
220
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
221
|
+
* Breadcrumbs class.
|
|
222
|
+
*/
|
|
223
|
+
Breadcrumbs.prototype.render = function () {
|
|
224
|
+
var breadcrumbs = this,
|
|
225
|
+
chart = breadcrumbs.chart,
|
|
226
|
+
breadcrumbsOptions = breadcrumbs.options;
|
|
227
|
+
// A main group for the breadcrumbs.
|
|
228
|
+
if (!breadcrumbs.group && breadcrumbsOptions) {
|
|
229
|
+
breadcrumbs.group = chart.renderer
|
|
230
|
+
.g('breadcrumbs-group')
|
|
231
|
+
.addClass('highcharts-no-tooltip highcharts-breadcrumbs')
|
|
232
|
+
.attr({
|
|
233
|
+
zIndex: breadcrumbsOptions.zIndex
|
|
234
|
+
})
|
|
235
|
+
.add();
|
|
236
|
+
}
|
|
237
|
+
// Draw breadcrumbs.
|
|
238
|
+
if (breadcrumbsOptions.showFullPath) {
|
|
239
|
+
this.renderFullPathButtons();
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
this.renderSingleButton();
|
|
243
|
+
}
|
|
244
|
+
this.alignBreadcrumbsGroup();
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* Draw breadcrumbs together with the separators.
|
|
248
|
+
*
|
|
249
|
+
* @requires modules/breadcrumbs
|
|
250
|
+
*
|
|
251
|
+
* @function Highcharts.Breadcrumbs#renderFullPathButtons
|
|
252
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
253
|
+
* Breadcrumbs class.
|
|
254
|
+
*/
|
|
255
|
+
Breadcrumbs.prototype.renderFullPathButtons = function () {
|
|
256
|
+
// Make sure that only one type of button is visible.
|
|
257
|
+
this.destroySingleButton();
|
|
258
|
+
this.resetElementListState();
|
|
259
|
+
this.updateListElements();
|
|
260
|
+
this.destroyListElements();
|
|
261
|
+
};
|
|
262
|
+
/**
|
|
263
|
+
* Render Single button - when showFullPath is not used. The button is
|
|
264
|
+
* similar to the old drillUpButton
|
|
265
|
+
*
|
|
266
|
+
* @requires modules/breadcrumbs
|
|
267
|
+
*
|
|
268
|
+
* @function Highcharts.Breadcrumbs#renderSingleButton
|
|
269
|
+
* @param {Highcharts.Breadcrumbs} this Breadcrumbs class.
|
|
270
|
+
*/
|
|
271
|
+
Breadcrumbs.prototype.renderSingleButton = function () {
|
|
272
|
+
var breadcrumbs = this,
|
|
273
|
+
chart = breadcrumbs.chart,
|
|
274
|
+
list = breadcrumbs.list,
|
|
275
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
276
|
+
buttonSpacing = breadcrumbsOptions.buttonSpacing;
|
|
277
|
+
// Make sure that only one type of button is visible.
|
|
278
|
+
this.destroyListElements();
|
|
279
|
+
// Draw breadcrumbs. Inital position for calculating the breadcrumbs
|
|
280
|
+
// group.
|
|
281
|
+
var posX = breadcrumbs.group ?
|
|
282
|
+
breadcrumbs.group.getBBox().width :
|
|
283
|
+
buttonSpacing,
|
|
284
|
+
posY = buttonSpacing;
|
|
285
|
+
var previousBreadcrumb = list[list.length - 2];
|
|
286
|
+
if (!chart.drillUpButton && (this.level > 0)) {
|
|
287
|
+
chart.drillUpButton = breadcrumbs.renderButton(previousBreadcrumb, posX, posY);
|
|
288
|
+
}
|
|
289
|
+
else if (chart.drillUpButton) {
|
|
290
|
+
if (this.level > 0) {
|
|
291
|
+
// Update button.
|
|
292
|
+
this.updateSingleButton();
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
this.destroySingleButton();
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
/**
|
|
300
|
+
* Update group position based on align and it's width.
|
|
301
|
+
*
|
|
302
|
+
* @requires modules/breadcrumbs
|
|
303
|
+
*
|
|
304
|
+
* @function Highcharts.Breadcrumbs#renderSingleButton
|
|
305
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
306
|
+
* Breadcrumbs class.
|
|
307
|
+
*/
|
|
308
|
+
Breadcrumbs.prototype.alignBreadcrumbsGroup = function (xOffset) {
|
|
309
|
+
var breadcrumbs = this;
|
|
310
|
+
if (breadcrumbs.group) {
|
|
311
|
+
var breadcrumbsOptions = breadcrumbs.options,
|
|
312
|
+
buttonTheme = breadcrumbsOptions.buttonTheme,
|
|
313
|
+
positionOptions = breadcrumbsOptions.position,
|
|
314
|
+
alignTo = (breadcrumbsOptions.relativeTo === 'chart' ||
|
|
315
|
+
breadcrumbsOptions.relativeTo === 'spacingBox' ?
|
|
316
|
+
void 0 :
|
|
317
|
+
'scrollablePlotBox'),
|
|
318
|
+
bBox = breadcrumbs.group.getBBox(),
|
|
319
|
+
additionalSpace = 2 * (buttonTheme.padding || 0) +
|
|
320
|
+
breadcrumbsOptions.buttonSpacing;
|
|
321
|
+
// Store positionOptions
|
|
322
|
+
positionOptions.width = bBox.width + additionalSpace;
|
|
323
|
+
positionOptions.height = bBox.height + additionalSpace;
|
|
324
|
+
var newPositions = merge(positionOptions);
|
|
325
|
+
// Add x offset if specified.
|
|
326
|
+
if (xOffset) {
|
|
327
|
+
newPositions.x += xOffset;
|
|
328
|
+
}
|
|
329
|
+
if (breadcrumbs.options.rtl) {
|
|
330
|
+
newPositions.x += positionOptions.width;
|
|
331
|
+
}
|
|
332
|
+
newPositions.y = pick(newPositions.y, this.yOffset, 0);
|
|
333
|
+
breadcrumbs.group.align(newPositions, true, alignTo);
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
/**
|
|
337
|
+
* Render a button.
|
|
338
|
+
*
|
|
339
|
+
* @requires modules/breadcrums
|
|
340
|
+
*
|
|
341
|
+
* @function Highcharts.Breadcrumbs#renderButton
|
|
342
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
343
|
+
* Breadcrumbs class.
|
|
344
|
+
* @param {Highcharts.Breadcrumbs} breadcrumb
|
|
345
|
+
* Current breadcrumb
|
|
346
|
+
* @param {Highcharts.Breadcrumbs} posX
|
|
347
|
+
* Initial horizontal position
|
|
348
|
+
* @param {Highcharts.Breadcrumbs} posY
|
|
349
|
+
* Initial vertical position
|
|
350
|
+
* @return {SVGElement|void}
|
|
351
|
+
* Returns the SVG button
|
|
352
|
+
*/
|
|
353
|
+
Breadcrumbs.prototype.renderButton = function (breadcrumb, posX, posY) {
|
|
354
|
+
var breadcrumbs = this,
|
|
355
|
+
chart = this.chart,
|
|
356
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
357
|
+
buttonTheme = merge(breadcrumbsOptions.buttonTheme);
|
|
358
|
+
var button = chart.renderer
|
|
359
|
+
.button(breadcrumbs.getButtonText(breadcrumb),
|
|
360
|
+
posX,
|
|
361
|
+
posY,
|
|
362
|
+
function (e) {
|
|
363
|
+
// Extract events from button object and call
|
|
364
|
+
var buttonEvents = breadcrumbsOptions.events &&
|
|
365
|
+
breadcrumbsOptions.events.click;
|
|
366
|
+
var callDefaultEvent;
|
|
367
|
+
if (buttonEvents) {
|
|
368
|
+
callDefaultEvent = buttonEvents.call(breadcrumbs, e, breadcrumb);
|
|
369
|
+
}
|
|
370
|
+
// (difference in behaviour of showFullPath and drillUp)
|
|
371
|
+
if (callDefaultEvent !== false) {
|
|
372
|
+
// For single button we are not going to the button
|
|
373
|
+
// level, but the one level up
|
|
374
|
+
if (!breadcrumbsOptions.showFullPath) {
|
|
375
|
+
e.newLevel = breadcrumbs.level - 1;
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
e.newLevel = breadcrumb.level;
|
|
379
|
+
}
|
|
380
|
+
fireEvent(breadcrumbs, 'up', e);
|
|
381
|
+
}
|
|
382
|
+
}, buttonTheme)
|
|
383
|
+
.addClass('highcharts-breadcrumbs-button')
|
|
384
|
+
.add(breadcrumbs.group);
|
|
385
|
+
if (!chart.styledMode) {
|
|
386
|
+
button.attr(breadcrumbsOptions.style);
|
|
387
|
+
}
|
|
388
|
+
return button;
|
|
389
|
+
};
|
|
390
|
+
/**
|
|
391
|
+
* Render a separator.
|
|
392
|
+
*
|
|
393
|
+
* @requires modules/breadcrums
|
|
394
|
+
*
|
|
395
|
+
* @function Highcharts.Breadcrumbs#renderSeparator
|
|
396
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
397
|
+
* Breadcrumbs class.
|
|
398
|
+
* @param {Highcharts.Breadcrumbs} posX
|
|
399
|
+
* Initial horizontal position
|
|
400
|
+
* @param {Highcharts.Breadcrumbs} posY
|
|
401
|
+
* Initial vertical position
|
|
402
|
+
* @return {Highcharts.SVGElement}
|
|
403
|
+
* Returns the SVG button
|
|
404
|
+
*/
|
|
405
|
+
Breadcrumbs.prototype.renderSeparator = function (posX, posY) {
|
|
406
|
+
var breadcrumbs = this,
|
|
407
|
+
chart = this.chart,
|
|
408
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
409
|
+
separatorOptions = breadcrumbsOptions.separator;
|
|
410
|
+
var separator = chart.renderer
|
|
411
|
+
.label(separatorOptions.text,
|
|
412
|
+
posX,
|
|
413
|
+
posY,
|
|
414
|
+
void 0,
|
|
415
|
+
void 0,
|
|
416
|
+
void 0,
|
|
417
|
+
false)
|
|
418
|
+
.addClass('highcharts-breadcrumbs-separator')
|
|
419
|
+
.add(breadcrumbs.group);
|
|
420
|
+
if (!chart.styledMode) {
|
|
421
|
+
separator.css(separatorOptions.style);
|
|
422
|
+
}
|
|
423
|
+
return separator;
|
|
424
|
+
};
|
|
425
|
+
/**
|
|
426
|
+
* Update.
|
|
427
|
+
* @function Highcharts.Breadcrumbs#update
|
|
428
|
+
*
|
|
429
|
+
* @requires modules/breadcrumbs
|
|
430
|
+
*
|
|
431
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
432
|
+
* Breadcrumbs class.
|
|
433
|
+
* @param {Highcharts.BreadcrumbsOptions} options
|
|
434
|
+
* Breadcrumbs class.
|
|
435
|
+
* @param {boolean} redraw
|
|
436
|
+
* Redraw flag
|
|
437
|
+
*/
|
|
438
|
+
Breadcrumbs.prototype.update = function (options) {
|
|
439
|
+
merge(true, this.options, options);
|
|
440
|
+
this.destroy();
|
|
441
|
+
this.isDirty = true;
|
|
442
|
+
};
|
|
443
|
+
/**
|
|
444
|
+
* Update button text when the showFullPath set to false.
|
|
445
|
+
* @function Highcharts.Breadcrumbs#updateSingleButton
|
|
446
|
+
*
|
|
447
|
+
* @requires modules/breadcrumbs
|
|
448
|
+
*
|
|
449
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
450
|
+
* Breadcrumbs class.
|
|
451
|
+
*/
|
|
452
|
+
Breadcrumbs.prototype.updateSingleButton = function () {
|
|
453
|
+
var chart = this.chart,
|
|
454
|
+
currentBreadcrumb = this.list[this.level - 1];
|
|
455
|
+
if (chart.drillUpButton) {
|
|
456
|
+
chart.drillUpButton.attr({
|
|
457
|
+
text: this.getButtonText(currentBreadcrumb)
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
/**
|
|
462
|
+
* Destroy the chosen breadcrumbs group
|
|
463
|
+
*
|
|
464
|
+
* @requires modules/breadcrumbs
|
|
465
|
+
*
|
|
466
|
+
* @function Highcharts.Breadcrumbs#destroy
|
|
467
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
468
|
+
* Breadcrumbs class.
|
|
469
|
+
*/
|
|
470
|
+
Breadcrumbs.prototype.destroy = function () {
|
|
471
|
+
this.destroySingleButton();
|
|
472
|
+
// Destroy elements one by one. It's necessary beacause
|
|
473
|
+
// g().destroy() does not remove added HTML
|
|
474
|
+
this.destroyListElements(true);
|
|
475
|
+
// Then, destroy the group itself.
|
|
476
|
+
if (this.group) {
|
|
477
|
+
this.group.destroy();
|
|
478
|
+
}
|
|
479
|
+
this.group = void 0;
|
|
480
|
+
};
|
|
481
|
+
/**
|
|
482
|
+
* Destroy the elements' buttons and separators.
|
|
483
|
+
*
|
|
484
|
+
* @requires modules/breadcrumbs
|
|
485
|
+
*
|
|
486
|
+
* @function Highcharts.Breadcrumbs#destroyListElements
|
|
487
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
488
|
+
* Breadcrumbs class.
|
|
489
|
+
*/
|
|
490
|
+
Breadcrumbs.prototype.destroyListElements = function (force) {
|
|
491
|
+
var elementList = this.elementList;
|
|
492
|
+
objectEach(elementList, function (element, level) {
|
|
493
|
+
if (force ||
|
|
494
|
+
!elementList[level].updated) {
|
|
495
|
+
element = elementList[level];
|
|
496
|
+
element.button && element.button.destroy();
|
|
497
|
+
element.separator && element.separator.destroy();
|
|
498
|
+
delete element.button;
|
|
499
|
+
delete element.separator;
|
|
500
|
+
delete elementList[level];
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
if (force) {
|
|
504
|
+
this.elementList = {};
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
/**
|
|
508
|
+
* Destroy the single button if exists.
|
|
509
|
+
*
|
|
510
|
+
* @requires modules/breadcrumbs
|
|
511
|
+
*
|
|
512
|
+
* @function Highcharts.Breadcrumbs#destroySingleButton
|
|
513
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
514
|
+
* Breadcrumbs class.
|
|
515
|
+
*/
|
|
516
|
+
Breadcrumbs.prototype.destroySingleButton = function () {
|
|
517
|
+
if (this.chart.drillUpButton) {
|
|
518
|
+
this.chart.drillUpButton.destroy();
|
|
519
|
+
this.chart.drillUpButton = void 0;
|
|
520
|
+
}
|
|
521
|
+
};
|
|
522
|
+
/**
|
|
523
|
+
* Reset state for all buttons in elementList.
|
|
524
|
+
*
|
|
525
|
+
* @requires modules/breadcrumbs
|
|
526
|
+
*
|
|
527
|
+
* @function Highcharts.Breadcrumbs#resetElementListState
|
|
528
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
529
|
+
* Breadcrumbs class.
|
|
530
|
+
*/
|
|
531
|
+
Breadcrumbs.prototype.resetElementListState = function () {
|
|
532
|
+
objectEach(this.elementList, function (element) {
|
|
533
|
+
element.updated = false;
|
|
534
|
+
});
|
|
535
|
+
};
|
|
536
|
+
/**
|
|
537
|
+
* Update rendered elements inside the elementList.
|
|
538
|
+
*
|
|
539
|
+
* @requires modules/breadcrumbs
|
|
540
|
+
*
|
|
541
|
+
* @function Highcharts.Breadcrumbs#updateListElements
|
|
542
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
543
|
+
* Breadcrumbs class.
|
|
544
|
+
*/
|
|
545
|
+
Breadcrumbs.prototype.updateListElements = function () {
|
|
546
|
+
var breadcrumbs = this,
|
|
547
|
+
elementList = breadcrumbs.elementList,
|
|
548
|
+
buttonSpacing = breadcrumbs.options.buttonSpacing,
|
|
549
|
+
list = breadcrumbs.list,
|
|
550
|
+
rtl = breadcrumbs.options.rtl,
|
|
551
|
+
rtlFactor = rtl ? -1 : 1,
|
|
552
|
+
updateXPosition = function (element,
|
|
553
|
+
spacing) {
|
|
554
|
+
return rtlFactor * element.getBBox().width +
|
|
555
|
+
rtlFactor * spacing;
|
|
556
|
+
}, adjustToRTL = function (element, posX, posY) {
|
|
557
|
+
element.translate(posX - element.getBBox().width, posY);
|
|
558
|
+
};
|
|
559
|
+
// Inital position for calculating the breadcrumbs group.
|
|
560
|
+
var posX = breadcrumbs.group ?
|
|
561
|
+
updateXPosition(breadcrumbs.group,
|
|
562
|
+
buttonSpacing) :
|
|
563
|
+
buttonSpacing,
|
|
564
|
+
posY = buttonSpacing,
|
|
565
|
+
currentBreadcrumb;
|
|
566
|
+
list.forEach(function (breadcrumb, index) {
|
|
567
|
+
var isLast = index === list.length - 1;
|
|
568
|
+
var button,
|
|
569
|
+
separator;
|
|
570
|
+
if (elementList[breadcrumb.level]) {
|
|
571
|
+
currentBreadcrumb = elementList[breadcrumb.level];
|
|
572
|
+
button = currentBreadcrumb.button;
|
|
573
|
+
// Render a separator if it was not created before.
|
|
574
|
+
if (!currentBreadcrumb.separator &&
|
|
575
|
+
!isLast) {
|
|
576
|
+
// Add spacing for the next separator
|
|
577
|
+
posX += rtlFactor * buttonSpacing;
|
|
578
|
+
currentBreadcrumb.separator =
|
|
579
|
+
breadcrumbs.renderSeparator(posX, posY);
|
|
580
|
+
if (rtl) {
|
|
581
|
+
adjustToRTL(currentBreadcrumb.separator, posX, posY);
|
|
582
|
+
}
|
|
583
|
+
posX += updateXPosition(currentBreadcrumb.separator, buttonSpacing);
|
|
584
|
+
}
|
|
585
|
+
else if (currentBreadcrumb.separator &&
|
|
586
|
+
isLast) {
|
|
587
|
+
currentBreadcrumb.separator.destroy();
|
|
588
|
+
delete currentBreadcrumb.separator;
|
|
589
|
+
}
|
|
590
|
+
elementList[breadcrumb.level].updated = true;
|
|
591
|
+
}
|
|
592
|
+
else {
|
|
593
|
+
// Render a button.
|
|
594
|
+
button = breadcrumbs.renderButton(breadcrumb, posX, posY);
|
|
595
|
+
if (rtl) {
|
|
596
|
+
adjustToRTL(button, posX, posY);
|
|
597
|
+
}
|
|
598
|
+
posX += updateXPosition(button, buttonSpacing);
|
|
599
|
+
// Render a separator.
|
|
600
|
+
if (!isLast) {
|
|
601
|
+
separator = breadcrumbs.renderSeparator(posX, posY);
|
|
602
|
+
if (rtl) {
|
|
603
|
+
adjustToRTL(separator, posX, posY);
|
|
604
|
+
}
|
|
605
|
+
posX += updateXPosition(separator, buttonSpacing);
|
|
606
|
+
}
|
|
607
|
+
elementList[breadcrumb.level] = {
|
|
608
|
+
button: button,
|
|
609
|
+
separator: separator,
|
|
610
|
+
updated: true
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
if (button) {
|
|
614
|
+
button.setState(isLast ? 2 : 0);
|
|
615
|
+
}
|
|
616
|
+
});
|
|
617
|
+
};
|
|
618
|
+
/**
|
|
619
|
+
* Options for breadcrumbs. Breadcrumbs general options are defined in
|
|
620
|
+
* `navigation.breadcrumbs`. Specific options for drilldown are set in
|
|
621
|
+
* `drilldown.breadcrumbs` and for tree-like series traversing, in
|
|
622
|
+
* `plotOptions[series].breadcrumbs`.
|
|
623
|
+
*
|
|
624
|
+
* @since 10.0.0
|
|
625
|
+
* @product highcharts
|
|
626
|
+
* @optionparent navigation.breadcrumbs
|
|
627
|
+
*/
|
|
628
|
+
Breadcrumbs.defaultBreadcrumbsOptions = {
|
|
629
|
+
/**
|
|
630
|
+
* A collection of attributes for the buttons. The object takes SVG
|
|
631
|
+
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
|
|
632
|
+
* a collection of CSS properties for the text.
|
|
633
|
+
*
|
|
634
|
+
* The object can also be extended with states, so you can set
|
|
635
|
+
* presentational options for `hover`, `select` or `disabled` button
|
|
636
|
+
* states.
|
|
637
|
+
*
|
|
638
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
639
|
+
* Themed, single button
|
|
640
|
+
*
|
|
641
|
+
* @type {Highcharts.SVGAttributes}
|
|
642
|
+
* @since 10.0.0
|
|
643
|
+
* @product highcharts
|
|
644
|
+
*/
|
|
645
|
+
buttonTheme: {
|
|
646
|
+
/** @ignore */
|
|
647
|
+
fill: 'none',
|
|
648
|
+
/** @ignore */
|
|
649
|
+
height: 18,
|
|
650
|
+
/** @ignore */
|
|
651
|
+
padding: 2,
|
|
652
|
+
/** @ignore */
|
|
653
|
+
'stroke-width': 0,
|
|
654
|
+
/** @ignore */
|
|
655
|
+
zIndex: 7,
|
|
656
|
+
/** @ignore */
|
|
657
|
+
states: {
|
|
658
|
+
select: {
|
|
659
|
+
fill: 'none'
|
|
660
|
+
}
|
|
661
|
+
},
|
|
662
|
+
style: {
|
|
663
|
+
color: "#335cad" /* Palette.highlightColor80 */
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
/**
|
|
667
|
+
* The default padding for each button and separator in each direction.
|
|
668
|
+
*
|
|
669
|
+
* @type {number}
|
|
670
|
+
* @since 10.0.0
|
|
671
|
+
*/
|
|
672
|
+
buttonSpacing: 5,
|
|
673
|
+
/**
|
|
674
|
+
* Fires when clicking on the breadcrumbs button. Two arguments are
|
|
675
|
+
* passed to the function. First breadcrumb button as an SVG element.
|
|
676
|
+
* Second is the breadcrumbs class, containing reference to the chart,
|
|
677
|
+
* series etc.
|
|
678
|
+
*
|
|
679
|
+
* ```js
|
|
680
|
+
* click: function(button, breadcrumbs) {
|
|
681
|
+
* console.log(button);
|
|
682
|
+
* }
|
|
683
|
+
* ```
|
|
684
|
+
*
|
|
685
|
+
* Return false to stop default buttons click action.
|
|
686
|
+
*
|
|
687
|
+
* @type {Highcharts.BreadcrumbsClickCallbackFunction}
|
|
688
|
+
* @since 10.0.0
|
|
689
|
+
* @apioption navigation.breadcrumbs.events.click
|
|
690
|
+
*/
|
|
691
|
+
/**
|
|
692
|
+
* When the breadcrumbs are floating, the plot area will not move to
|
|
693
|
+
* make space for it. By default, the chart will not make space for the
|
|
694
|
+
* buttons. This property won't work when positioned in the middle.
|
|
695
|
+
*
|
|
696
|
+
* @sample highcharts/breadcrumbs/single-button
|
|
697
|
+
* Floating button
|
|
698
|
+
* @type {boolean}
|
|
699
|
+
* @since 10.0.0
|
|
700
|
+
*/
|
|
701
|
+
floating: false,
|
|
702
|
+
/**
|
|
703
|
+
* A format string for the breadcrumbs button. Variables are enclosed by
|
|
704
|
+
* curly brackets. Available values are passed in the declared point
|
|
705
|
+
* options.
|
|
706
|
+
*
|
|
707
|
+
* @type {string|undefined}
|
|
708
|
+
* @since 10.0.0
|
|
709
|
+
* @default undefined
|
|
710
|
+
* @sample {highcharts} highcharts/breadcrumbs/format Display custom
|
|
711
|
+
* values in breadcrumb button.
|
|
712
|
+
*/
|
|
713
|
+
format: void 0,
|
|
714
|
+
/**
|
|
715
|
+
* Callback function to format the breadcrumb text from scratch.
|
|
716
|
+
*
|
|
717
|
+
* @type {Highcharts.BreadcrumbsFormatterCallbackFunction}
|
|
718
|
+
* @since 10.0.0
|
|
719
|
+
* @default undefined
|
|
720
|
+
* @apioption navigation.breadcrumbs.formatter
|
|
721
|
+
*/
|
|
722
|
+
/**
|
|
723
|
+
* What box to align the button to. Can be either `plotBox` or
|
|
724
|
+
* `spacingBox`.
|
|
725
|
+
*
|
|
726
|
+
* @type {Highcharts.ButtonRelativeToValue}
|
|
727
|
+
* @default plotBox
|
|
728
|
+
* @since 10.0.0
|
|
729
|
+
* @product highcharts highmaps
|
|
730
|
+
*/
|
|
731
|
+
relativeTo: 'plotBox',
|
|
732
|
+
/**
|
|
733
|
+
* Whether to reverse the order of buttons. This is common in Arabic
|
|
734
|
+
* and Hebrew.
|
|
735
|
+
*
|
|
736
|
+
* @type {boolean}
|
|
737
|
+
* @since 10.2.0
|
|
738
|
+
* @sample {highcharts} highcharts/breadcrumbs/rtl
|
|
739
|
+
* Breadcrumbs in RTL
|
|
740
|
+
*/
|
|
741
|
+
rtl: false,
|
|
742
|
+
/**
|
|
743
|
+
* Positioning for the button row. The breadcrumbs buttons will be
|
|
744
|
+
* aligned properly for the default chart layout (title, subtitle,
|
|
745
|
+
* legend, range selector) for the custom chart layout set the position
|
|
746
|
+
* properties.
|
|
747
|
+
* @type {Highcharts.BreadcrumbsAlignOptions}
|
|
748
|
+
* @since 10.0.0
|
|
749
|
+
* @product highcharts highmaps
|
|
750
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
751
|
+
* Single, right aligned button
|
|
752
|
+
*/
|
|
753
|
+
position: {
|
|
754
|
+
/**
|
|
755
|
+
* Horizontal alignment of the breadcrumbs buttons.
|
|
756
|
+
*
|
|
757
|
+
* @type {Highcharts.AlignValue}
|
|
758
|
+
*/
|
|
759
|
+
align: 'left',
|
|
760
|
+
/**
|
|
761
|
+
* Vertical alignment of the breadcrumbs buttons.
|
|
762
|
+
*
|
|
763
|
+
* @type {Highcharts.VerticalAlignValue}
|
|
764
|
+
*/
|
|
765
|
+
verticalAlign: 'top',
|
|
766
|
+
/**
|
|
767
|
+
* The X offset of the breadcrumbs button group.
|
|
768
|
+
*
|
|
769
|
+
* @type {number}
|
|
770
|
+
*/
|
|
771
|
+
x: 0,
|
|
772
|
+
/**
|
|
773
|
+
* The Y offset of the breadcrumbs button group. When `undefined`,
|
|
774
|
+
* and `floating` is `false`, the `y` position is adapted so that
|
|
775
|
+
* the breadcrumbs are rendered outside the target area.
|
|
776
|
+
*
|
|
777
|
+
* @type {number|undefined}
|
|
778
|
+
*/
|
|
779
|
+
y: void 0
|
|
780
|
+
},
|
|
781
|
+
/**
|
|
782
|
+
* Options object for Breadcrumbs separator.
|
|
783
|
+
*
|
|
784
|
+
* @since 10.0.0
|
|
785
|
+
*/
|
|
786
|
+
separator: {
|
|
787
|
+
/**
|
|
788
|
+
* @type {string}
|
|
789
|
+
* @since 10.0.0
|
|
790
|
+
* @product highcharts
|
|
791
|
+
*/
|
|
792
|
+
text: '/',
|
|
793
|
+
/**
|
|
794
|
+
* CSS styles for the breadcrumbs separator.
|
|
795
|
+
*
|
|
796
|
+
* In styled mode, the breadcrumbs separators are styled by the
|
|
797
|
+
* `.highcharts-separator` rule with its different states.
|
|
798
|
+
* @type {Highcharts.CSSObject}
|
|
799
|
+
* @since 10.0.0
|
|
800
|
+
*/
|
|
801
|
+
style: {
|
|
802
|
+
color: "#666666" /* Palette.neutralColor60 */
|
|
803
|
+
}
|
|
804
|
+
},
|
|
805
|
+
/**
|
|
806
|
+
* Show full path or only a single button.
|
|
807
|
+
*
|
|
808
|
+
* @type {boolean}
|
|
809
|
+
* @since 10.0.0
|
|
810
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
811
|
+
* Single, styled button
|
|
812
|
+
*/
|
|
813
|
+
showFullPath: true,
|
|
814
|
+
/**
|
|
815
|
+
* CSS styles for all breadcrumbs.
|
|
816
|
+
*
|
|
817
|
+
* In styled mode, the breadcrumbs buttons are styled by the
|
|
818
|
+
* `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
|
|
819
|
+
* different states.
|
|
820
|
+
* @type {Highcharts.SVGAttributes}
|
|
821
|
+
* @since 10.0.0
|
|
822
|
+
*/
|
|
823
|
+
style: {},
|
|
824
|
+
/**
|
|
825
|
+
* Whether to use HTML to render the breadcrumbs items texts.
|
|
826
|
+
*
|
|
827
|
+
* @type {boolean}
|
|
828
|
+
* @since 10.0.0
|
|
829
|
+
*/
|
|
830
|
+
useHTML: false,
|
|
831
|
+
/**
|
|
832
|
+
* The z index of the breadcrumbs group.
|
|
833
|
+
*
|
|
834
|
+
* @type {number}
|
|
835
|
+
* @since 10.0.0
|
|
836
|
+
*/
|
|
837
|
+
zIndex: 7
|
|
838
|
+
};
|
|
839
|
+
return Breadcrumbs;
|
|
840
|
+
}());
|
|
841
|
+
/* eslint-disable no-invalid-this */
|
|
842
|
+
if (!H.Breadcrumbs) {
|
|
843
|
+
H.Breadcrumbs = Breadcrumbs;
|
|
844
|
+
// Logic for making space for the buttons above the plot area
|
|
845
|
+
addEvent(Chart, 'getMargins', function () {
|
|
846
|
+
var breadcrumbs = this.breadcrumbs;
|
|
847
|
+
if (breadcrumbs &&
|
|
848
|
+
!breadcrumbs.options.floating &&
|
|
849
|
+
breadcrumbs.level) {
|
|
850
|
+
var breadcrumbsOptions = breadcrumbs.options,
|
|
851
|
+
buttonTheme = breadcrumbsOptions.buttonTheme,
|
|
852
|
+
breadcrumbsHeight = ((buttonTheme.height || 0) +
|
|
853
|
+
2 * (buttonTheme.padding || 0) +
|
|
854
|
+
breadcrumbsOptions.buttonSpacing),
|
|
855
|
+
verticalAlign = breadcrumbsOptions.position.verticalAlign;
|
|
856
|
+
if (verticalAlign === 'bottom') {
|
|
857
|
+
this.marginBottom = (this.marginBottom || 0) + breadcrumbsHeight;
|
|
858
|
+
breadcrumbs.yOffset = breadcrumbsHeight;
|
|
859
|
+
}
|
|
860
|
+
else if (verticalAlign !== 'middle') {
|
|
861
|
+
this.plotTop += breadcrumbsHeight;
|
|
862
|
+
breadcrumbs.yOffset = -breadcrumbsHeight;
|
|
863
|
+
}
|
|
864
|
+
else {
|
|
865
|
+
breadcrumbs.yOffset = void 0;
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
});
|
|
869
|
+
addEvent(Chart, 'redraw', function () {
|
|
870
|
+
this.breadcrumbs && this.breadcrumbs.redraw();
|
|
871
|
+
});
|
|
872
|
+
// Remove resize/afterSetExtremes at chart destroy
|
|
873
|
+
addEvent(Chart, 'destroy', function destroyEvents() {
|
|
874
|
+
if (this.breadcrumbs) {
|
|
875
|
+
this.breadcrumbs.destroy();
|
|
876
|
+
this.breadcrumbs = void 0;
|
|
877
|
+
}
|
|
878
|
+
});
|
|
879
|
+
// Shift the drillUpButton to make the space for resetZoomButton, #8095.
|
|
880
|
+
addEvent(Chart, 'afterShowResetZoom', function () {
|
|
881
|
+
var chart = this;
|
|
882
|
+
if (chart.breadcrumbs) {
|
|
883
|
+
var bbox = chart.resetZoomButton &&
|
|
884
|
+
chart.resetZoomButton.getBBox(),
|
|
885
|
+
breadcrumbsOptions = chart.breadcrumbs.options;
|
|
886
|
+
if (bbox &&
|
|
887
|
+
breadcrumbsOptions.position.align === 'right' &&
|
|
888
|
+
breadcrumbsOptions.relativeTo === 'plotBox') {
|
|
889
|
+
chart.breadcrumbs.alignBreadcrumbsGroup(-bbox.width - breadcrumbsOptions.buttonSpacing);
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
});
|
|
893
|
+
// After zooming out, shift the drillUpButton
|
|
894
|
+
// to the previous position, #8095.
|
|
895
|
+
addEvent(Chart, 'selection', function (event) {
|
|
896
|
+
if (event.resetSelection === true &&
|
|
897
|
+
this.breadcrumbs) {
|
|
898
|
+
this.breadcrumbs.alignBreadcrumbsGroup();
|
|
899
|
+
}
|
|
900
|
+
});
|
|
901
|
+
}
|
|
902
|
+
/* *
|
|
903
|
+
*
|
|
904
|
+
* Default Export
|
|
905
|
+
*
|
|
906
|
+
* */
|
|
907
|
+
/* *
|
|
908
|
+
*
|
|
909
|
+
* API Declarations
|
|
910
|
+
*
|
|
911
|
+
* */
|
|
912
|
+
/**
|
|
913
|
+
* Callback function to react on button clicks.
|
|
914
|
+
*
|
|
915
|
+
* @callback Highcharts.BreadcrumbsClickCallbackFunction
|
|
916
|
+
*
|
|
917
|
+
* @param {Highcharts.Event} event
|
|
918
|
+
* Event.
|
|
919
|
+
*
|
|
920
|
+
* @param {Highcharts.BreadcrumbOptions} options
|
|
921
|
+
* Breadcrumb options.
|
|
922
|
+
*
|
|
923
|
+
* @param {global.Event} e
|
|
924
|
+
* Event arguments.
|
|
925
|
+
*/
|
|
926
|
+
/**
|
|
927
|
+
* Callback function to format the breadcrumb text from scratch.
|
|
928
|
+
*
|
|
929
|
+
* @callback Highcharts.BreadcrumbsFormatterCallbackFunction
|
|
930
|
+
*
|
|
931
|
+
* @param {Highcharts.Event} event
|
|
932
|
+
* Event.
|
|
933
|
+
*
|
|
934
|
+
* @param {Highcharts.BreadcrumbOptions} options
|
|
935
|
+
* Breadcrumb options.
|
|
936
|
+
*
|
|
937
|
+
* @return {string}
|
|
938
|
+
* Formatted text or false
|
|
939
|
+
*/
|
|
940
|
+
/**
|
|
941
|
+
* Options for the one breadcrumb.
|
|
942
|
+
*
|
|
943
|
+
* @interface Highcharts.BreadcrumbOptions
|
|
944
|
+
*/
|
|
945
|
+
/**
|
|
946
|
+
* Level connected to a specific breadcrumb.
|
|
947
|
+
* @name Highcharts.BreadcrumbOptions#level
|
|
948
|
+
* @type {number}
|
|
949
|
+
*/
|
|
950
|
+
/**
|
|
951
|
+
* Options for series or point connected to a specific breadcrumb.
|
|
952
|
+
* @name Highcharts.BreadcrumbOptions#levelOptions
|
|
953
|
+
* @type {SeriesOptions|PointOptionsObject}
|
|
954
|
+
*/
|
|
955
|
+
/**
|
|
956
|
+
* Options for aligning breadcrumbs group.
|
|
957
|
+
*
|
|
958
|
+
* @interface Highcharts.BreadcrumbsAlignOptions
|
|
959
|
+
*/
|
|
960
|
+
/**
|
|
961
|
+
* Align of a Breadcrumb group.
|
|
962
|
+
* @default right
|
|
963
|
+
* @name Highcharts.BreadcrumbsAlignOptions#align
|
|
964
|
+
* @type {AlignValue}
|
|
965
|
+
*/
|
|
966
|
+
/**
|
|
967
|
+
* Vertical align of a Breadcrumb group.
|
|
968
|
+
* @default top
|
|
969
|
+
* @name Highcharts.BreadcrumbsAlignOptions#verticalAlign
|
|
970
|
+
* @type {VerticalAlignValue}
|
|
971
|
+
*/
|
|
972
|
+
/**
|
|
973
|
+
* X offset of a Breadcrumbs group.
|
|
974
|
+
* @name Highcharts.BreadcrumbsAlignOptions#x
|
|
975
|
+
* @type {number}
|
|
976
|
+
*/
|
|
977
|
+
/**
|
|
978
|
+
* Y offset of a Breadcrumbs group.
|
|
979
|
+
* @name Highcharts.BreadcrumbsAlignOptions#y
|
|
980
|
+
* @type {number}
|
|
981
|
+
*/
|
|
982
|
+
/**
|
|
983
|
+
* Options for all breadcrumbs.
|
|
984
|
+
*
|
|
985
|
+
* @interface Highcharts.BreadcrumbsOptions
|
|
986
|
+
*/
|
|
987
|
+
/**
|
|
988
|
+
* Button theme.
|
|
989
|
+
* @name Highcharts.BreadcrumbsOptions#buttonTheme
|
|
990
|
+
* @type { SVGAttributes | undefined }
|
|
991
|
+
*/
|
|
992
|
+
(''); // Keeps doclets above in JS file
|
|
993
|
+
|
|
994
|
+
return Breadcrumbs;
|
|
995
|
+
});
|
|
996
|
+
_registerModule(_modules, 'Extensions/Drilldown.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/Axis.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Color/Color.js'], _modules['Series/Column/ColumnSeries.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Axis/Tick.js'], _modules['Core/Utilities.js'], _modules['Extensions/Breadcrumbs.js']], function (A, Axis, Chart, Color, ColumnSeries, F, H, D, Point, Series, SeriesRegistry, SVGRenderer, Tick, U, Breadcrumbs) {
|
|
32
997
|
/* *
|
|
33
998
|
*
|
|
34
999
|
* Highcharts Drilldown module
|
|
@@ -174,18 +1139,20 @@
|
|
|
174
1139
|
* @optionparent lang
|
|
175
1140
|
*/
|
|
176
1141
|
{
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
1142
|
+
/**
|
|
1143
|
+
* The text for the button that appears when drilling down, linking back
|
|
1144
|
+
* to the parent series. The parent series' name is inserted for
|
|
1145
|
+
* `{series.name}`.
|
|
1146
|
+
*
|
|
1147
|
+
* @since 3.0.8
|
|
1148
|
+
* @product highcharts highmaps
|
|
1149
|
+
* @requires modules/drilldown
|
|
1150
|
+
* @apioption lang.drillUpText
|
|
1151
|
+
*
|
|
1152
|
+
* @deprecated
|
|
1153
|
+
*
|
|
1154
|
+
* @private
|
|
1155
|
+
*/
|
|
189
1156
|
});
|
|
190
1157
|
/**
|
|
191
1158
|
* Options for drill down, the concept of inspecting increasingly high
|
|
@@ -217,6 +1184,15 @@
|
|
|
217
1184
|
* @product highcharts
|
|
218
1185
|
* @apioption drilldown.allowPointDrilldown
|
|
219
1186
|
*/
|
|
1187
|
+
/**
|
|
1188
|
+
* Options for the breadcrumbs, the navigation at the top leading the way
|
|
1189
|
+
* up through the drilldown levels.
|
|
1190
|
+
*
|
|
1191
|
+
* @since 10.0.0
|
|
1192
|
+
* @product highcharts
|
|
1193
|
+
* @extends navigation.breadcrumbs
|
|
1194
|
+
* @optionparent drilldown.breadcrumbs
|
|
1195
|
+
*/
|
|
220
1196
|
/**
|
|
221
1197
|
* An array of series configurations for the drill down. Each series
|
|
222
1198
|
* configuration uses the same syntax as the [series](#series) option set.
|
|
@@ -248,7 +1224,7 @@
|
|
|
248
1224
|
/** @ignore-option */
|
|
249
1225
|
cursor: 'pointer',
|
|
250
1226
|
/** @ignore-option */
|
|
251
|
-
color: "#003399" /* highlightColor100 */,
|
|
1227
|
+
color: "#003399" /* Palette.highlightColor100 */,
|
|
252
1228
|
/** @ignore-option */
|
|
253
1229
|
fontWeight: 'bold',
|
|
254
1230
|
/** @ignore-option */
|
|
@@ -272,7 +1248,7 @@
|
|
|
272
1248
|
*/
|
|
273
1249
|
activeDataLabelStyle: {
|
|
274
1250
|
cursor: 'pointer',
|
|
275
|
-
color: "#003399" /* highlightColor100 */,
|
|
1251
|
+
color: "#003399" /* Palette.highlightColor100 */,
|
|
276
1252
|
fontWeight: 'bold',
|
|
277
1253
|
textDecoration: 'underline'
|
|
278
1254
|
},
|
|
@@ -303,17 +1279,23 @@
|
|
|
303
1279
|
duration: 500
|
|
304
1280
|
},
|
|
305
1281
|
/**
|
|
1282
|
+
*
|
|
306
1283
|
* Options for the drill up button that appears when drilling down on a
|
|
307
1284
|
* series. The text for the button is defined in
|
|
308
1285
|
* [lang.drillUpText](#lang.drillUpText).
|
|
309
1286
|
*
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
1287
|
+
* This option is deprecated since 9.3.2, use `drilldown.breadcrumbs`
|
|
1288
|
+
* instead.
|
|
1289
|
+
*
|
|
1290
|
+
* @sample highcharts/breadcrumbs/single-button
|
|
1291
|
+
* Breadcrumbs set up like a legacy button
|
|
1292
|
+
* @sample {highcharts} highcharts/drilldown/drillupbutton/ Drill up button
|
|
1293
|
+
* @sample {highmaps} highcharts/drilldown/drillupbutton/ Drill up button
|
|
314
1294
|
*
|
|
315
1295
|
* @since 3.0.8
|
|
316
1296
|
* @product highcharts highmaps
|
|
1297
|
+
*
|
|
1298
|
+
* @deprecated
|
|
317
1299
|
*/
|
|
318
1300
|
drillUpButton: {
|
|
319
1301
|
/**
|
|
@@ -610,50 +1592,51 @@
|
|
|
610
1592
|
delete this.resetZoomButton;
|
|
611
1593
|
}
|
|
612
1594
|
this.pointer.reset();
|
|
613
|
-
this.redraw();
|
|
614
|
-
this.showDrillUpButton();
|
|
615
1595
|
fireEvent(this, 'afterDrilldown');
|
|
1596
|
+
this.redraw();
|
|
1597
|
+
fireEvent(this, 'afterApplyDrilldown');
|
|
616
1598
|
};
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
1599
|
+
/**
|
|
1600
|
+
* This method creates an array of arrays containing a level number
|
|
1601
|
+
* with the corresponding series/point.
|
|
1602
|
+
*
|
|
1603
|
+
* @requires modules/breadcrumbs
|
|
1604
|
+
*
|
|
1605
|
+
* @private
|
|
1606
|
+
* @param {Highcharts.Chart} chart
|
|
1607
|
+
* Highcharts Chart object.
|
|
1608
|
+
* @return {Array<Breadcrumbs.BreadcrumbOptions>}
|
|
1609
|
+
* List for Highcharts Breadcrumbs.
|
|
1610
|
+
*/
|
|
1611
|
+
var createBreadcrumbsList = function (chart) {
|
|
1612
|
+
var list = [],
|
|
1613
|
+
drilldownLevels = chart.drilldownLevels;
|
|
1614
|
+
// The list is based on drilldown levels from the chart object
|
|
1615
|
+
if (drilldownLevels && drilldownLevels.length) {
|
|
1616
|
+
// Add the initial series as the first element.
|
|
1617
|
+
if (!list[0]) {
|
|
1618
|
+
list.push({
|
|
1619
|
+
level: 0,
|
|
1620
|
+
levelOptions: drilldownLevels[0].seriesOptions
|
|
1621
|
+
});
|
|
1622
|
+
}
|
|
1623
|
+
drilldownLevels.forEach(function (level, i) {
|
|
1624
|
+
var lastBreadcrumb = list[list.length - 1];
|
|
1625
|
+
// If level is already added to breadcrumbs list,
|
|
1626
|
+
// don't add it again- drilling categories
|
|
1627
|
+
// + 1 because of the wrong levels numeration
|
|
1628
|
+
// in drilldownLevels array.
|
|
1629
|
+
if (level.levelNumber + 1 > lastBreadcrumb.level) {
|
|
1630
|
+
list.push({
|
|
1631
|
+
level: level.levelNumber + 1,
|
|
1632
|
+
levelOptions: merge({
|
|
1633
|
+
name: level.lowerSeries.name
|
|
1634
|
+
}, level.pointOptions)
|
|
1635
|
+
});
|
|
1636
|
+
}
|
|
1637
|
+
});
|
|
656
1638
|
}
|
|
1639
|
+
return list;
|
|
657
1640
|
};
|
|
658
1641
|
/**
|
|
659
1642
|
* When the chart is drilled down to a child series, calling `chart.drillUp()`
|
|
@@ -670,6 +1653,7 @@
|
|
|
670
1653
|
if (!this.drilldownLevels || this.drilldownLevels.length === 0) {
|
|
671
1654
|
return;
|
|
672
1655
|
}
|
|
1656
|
+
fireEvent(this, 'beforeDrillUp');
|
|
673
1657
|
var chart = this,
|
|
674
1658
|
drilldownLevels = chart.drilldownLevels,
|
|
675
1659
|
levelNumber = drilldownLevels[drilldownLevels.length - 1].levelNumber,
|
|
@@ -696,6 +1680,7 @@
|
|
|
696
1680
|
newSeries = addedSeries;
|
|
697
1681
|
}
|
|
698
1682
|
};
|
|
1683
|
+
var drilldownLevelsNumber = chart.drilldownLevels.length;
|
|
699
1684
|
while (i--) {
|
|
700
1685
|
level = drilldownLevels[i];
|
|
701
1686
|
if (level.levelNumber === levelNumber) {
|
|
@@ -715,12 +1700,19 @@
|
|
|
715
1700
|
}
|
|
716
1701
|
}
|
|
717
1702
|
oldSeries.xData = []; // Overcome problems with minRange (#2898)
|
|
1703
|
+
// Reset the names to start new series from the beginning.
|
|
1704
|
+
// Do it once to preserve names when multiple
|
|
1705
|
+
// series are added for the same axis, #16135.
|
|
1706
|
+
if (oldSeries.xAxis &&
|
|
1707
|
+
oldSeries.xAxis.names &&
|
|
1708
|
+
(drilldownLevelsNumber === 0 || i === drilldownLevelsNumber)) {
|
|
1709
|
+
oldSeries.xAxis.names.length = 0;
|
|
1710
|
+
}
|
|
718
1711
|
level.levelSeriesOptions.forEach(addSeries);
|
|
719
1712
|
fireEvent(chart, 'drillup', {
|
|
720
1713
|
seriesOptions: level.seriesPurgedOptions ||
|
|
721
1714
|
level.seriesOptions
|
|
722
1715
|
});
|
|
723
|
-
this.resetZoomButton && this.resetZoomButton.destroy(); // #8095
|
|
724
1716
|
if (newSeries.type === oldSeries.type) {
|
|
725
1717
|
newSeries.drilldownLevel = level;
|
|
726
1718
|
newSeries.options.animation =
|
|
@@ -741,30 +1733,48 @@
|
|
|
741
1733
|
// it to the chart and show it.
|
|
742
1734
|
if (level.resetZoomButton) {
|
|
743
1735
|
chart.resetZoomButton = level.resetZoomButton;
|
|
744
|
-
chart.resetZoomButton.show();
|
|
745
1736
|
}
|
|
746
1737
|
}
|
|
747
1738
|
}
|
|
1739
|
+
fireEvent(chart, 'afterDrillUp');
|
|
748
1740
|
this.redraw();
|
|
749
|
-
if (this.
|
|
750
|
-
this.
|
|
751
|
-
}
|
|
752
|
-
else {
|
|
753
|
-
this.drillUpButton.attr({
|
|
754
|
-
text: this.getDrilldownBackText()
|
|
755
|
-
})
|
|
756
|
-
.align();
|
|
757
|
-
}
|
|
758
|
-
this.ddDupes.length = []; // #3315
|
|
1741
|
+
if (this.ddDupes) {
|
|
1742
|
+
this.ddDupes.length = 0; // #3315
|
|
1743
|
+
} // #8324
|
|
759
1744
|
// Fire a once-off event after all series have been drilled up (#5158)
|
|
760
1745
|
fireEvent(chart, 'drillupall');
|
|
761
1746
|
};
|
|
1747
|
+
/**
|
|
1748
|
+
* A function to fade in a group. First, the element is being hidden,
|
|
1749
|
+
* then, using `opactiy`, is faded in. Used for example by `dataLabelsGroup`
|
|
1750
|
+
* where simple SVGElement.fadeIn() is not enough, because of other features
|
|
1751
|
+
* (e.g. InactiveState) using `opacity` to fadeIn/fadeOut.
|
|
1752
|
+
*
|
|
1753
|
+
* @requires module:modules/drilldown
|
|
1754
|
+
*
|
|
1755
|
+
* @param {undefined|SVGElement} [group]
|
|
1756
|
+
* The SVG element to be faded in.
|
|
1757
|
+
*/
|
|
1758
|
+
function fadeInGroup(group) {
|
|
1759
|
+
var animationOptions = animObject(this.chart.options.drilldown.animation);
|
|
1760
|
+
if (group) {
|
|
1761
|
+
group.hide();
|
|
1762
|
+
syncTimeout(function () {
|
|
1763
|
+
// Make sure neither the group, or the chart, were destroyed
|
|
1764
|
+
if (group && group.added) {
|
|
1765
|
+
group.fadeIn();
|
|
1766
|
+
}
|
|
1767
|
+
}, Math.max(animationOptions.duration - 50, 0));
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
762
1770
|
/* eslint-disable no-invalid-this */
|
|
763
1771
|
// Add update function to be called internally from Chart.update
|
|
764
1772
|
// (#7600, #12855)
|
|
765
1773
|
addEvent(Chart, 'afterInit', function () {
|
|
766
1774
|
var chart = this;
|
|
767
1775
|
chart.drilldown = {
|
|
1776
|
+
chart: chart,
|
|
1777
|
+
fadeInGroup: fadeInGroup,
|
|
768
1778
|
update: function (options, redraw) {
|
|
769
1779
|
merge(true, chart.options.drilldown, options);
|
|
770
1780
|
if (pick(redraw, true)) {
|
|
@@ -773,24 +1783,6 @@
|
|
|
773
1783
|
}
|
|
774
1784
|
};
|
|
775
1785
|
});
|
|
776
|
-
// Shift the drillUpButton to make the space for resetZoomButton, #8095.
|
|
777
|
-
addEvent(Chart, 'afterShowResetZoom', function () {
|
|
778
|
-
var chart = this,
|
|
779
|
-
bbox = chart.resetZoomButton && chart.resetZoomButton.getBBox(),
|
|
780
|
-
buttonOptions = (chart.options.drilldown &&
|
|
781
|
-
chart.options.drilldown.drillUpButton);
|
|
782
|
-
if (this.drillUpButton &&
|
|
783
|
-
bbox &&
|
|
784
|
-
buttonOptions &&
|
|
785
|
-
buttonOptions.position &&
|
|
786
|
-
buttonOptions.position.x) {
|
|
787
|
-
this.drillUpButton.align({
|
|
788
|
-
x: buttonOptions.position.x - bbox.width - 10,
|
|
789
|
-
y: buttonOptions.position.y,
|
|
790
|
-
align: buttonOptions.position.align
|
|
791
|
-
}, false, buttonOptions.relativeTo || 'plotBox');
|
|
792
|
-
}
|
|
793
|
-
});
|
|
794
1786
|
addEvent(Chart, 'render', function () {
|
|
795
1787
|
(this.xAxis || []).forEach(function (axis) {
|
|
796
1788
|
axis.ddPoints = {};
|
|
@@ -824,6 +1816,35 @@
|
|
|
824
1816
|
objectEach(axis.ticks, Tick.prototype.drillable);
|
|
825
1817
|
});
|
|
826
1818
|
});
|
|
1819
|
+
addEvent(H.Breadcrumbs, 'up', function (e) {
|
|
1820
|
+
var chart = this.chart,
|
|
1821
|
+
drillUpsNumber = this.getLevel() - e.newLevel;
|
|
1822
|
+
for (var i = 0; i < drillUpsNumber; i++) {
|
|
1823
|
+
chart.drillUp();
|
|
1824
|
+
}
|
|
1825
|
+
});
|
|
1826
|
+
addEvent(Chart, 'afterDrilldown', function () {
|
|
1827
|
+
var chart = this,
|
|
1828
|
+
drilldownOptions = chart.options.drilldown,
|
|
1829
|
+
breadcrumbsOptions = drilldownOptions && drilldownOptions.breadcrumbs;
|
|
1830
|
+
if (!chart.breadcrumbs) {
|
|
1831
|
+
chart.breadcrumbs = new Breadcrumbs(chart, breadcrumbsOptions);
|
|
1832
|
+
}
|
|
1833
|
+
chart.breadcrumbs.updateProperties(createBreadcrumbsList(chart));
|
|
1834
|
+
});
|
|
1835
|
+
addEvent(Chart, 'afterDrillUp', function () {
|
|
1836
|
+
var chart = this;
|
|
1837
|
+
chart.breadcrumbs &&
|
|
1838
|
+
chart.breadcrumbs.updateProperties(createBreadcrumbsList(chart));
|
|
1839
|
+
});
|
|
1840
|
+
addEvent(Chart, 'update', function (e) {
|
|
1841
|
+
var breadcrumbs = this.breadcrumbs,
|
|
1842
|
+
breadcrumbOptions = e.options.drilldown &&
|
|
1843
|
+
e.options.drilldown.breadcrumbs;
|
|
1844
|
+
if (breadcrumbs && breadcrumbOptions) {
|
|
1845
|
+
breadcrumbs.update(e.options.drilldown.breadcrumbs);
|
|
1846
|
+
}
|
|
1847
|
+
});
|
|
827
1848
|
/**
|
|
828
1849
|
* When drilling up, keep the upper series invisible until the lower series has
|
|
829
1850
|
* moved into place.
|
|
@@ -916,10 +1937,10 @@
|
|
|
916
1937
|
.attr(animateFrom)
|
|
917
1938
|
.animate(extend(point.shapeArgs, { fill: point.color || series.color }), animationOptions);
|
|
918
1939
|
}
|
|
919
|
-
if (point.dataLabel) {
|
|
920
|
-
point.dataLabel.fadeIn(animationOptions);
|
|
921
|
-
}
|
|
922
1940
|
});
|
|
1941
|
+
if (chart.drilldown) {
|
|
1942
|
+
chart.drilldown.fadeInGroup(this.dataLabelsGroup);
|
|
1943
|
+
}
|
|
923
1944
|
// Reset to prototype
|
|
924
1945
|
delete this.animate;
|
|
925
1946
|
}
|
|
@@ -1006,6 +2027,9 @@
|
|
|
1006
2027
|
}))[animationOptions ? 'animate' : 'attr'](animateTo, animationOptions);
|
|
1007
2028
|
}
|
|
1008
2029
|
});
|
|
2030
|
+
if (this.chart.drilldown) {
|
|
2031
|
+
this.chart.drilldown.fadeInGroup(this.dataLabelsGroup);
|
|
2032
|
+
}
|
|
1009
2033
|
// Reset to prototype
|
|
1010
2034
|
delete this.animate;
|
|
1011
2035
|
}
|
|
@@ -1239,24 +2263,16 @@
|
|
|
1239
2263
|
applyCursorCSS(this.series.halo, 'auto', false, styledMode);
|
|
1240
2264
|
}
|
|
1241
2265
|
});
|
|
1242
|
-
// After zooming out, shift the drillUpButton to the previous position, #8095.
|
|
1243
|
-
addEvent(Chart, 'selection', function (event) {
|
|
1244
|
-
if (event.resetSelection === true && this.drillUpButton) {
|
|
1245
|
-
var buttonOptions = (this.options.drilldown && this.options.drilldown.drillUpButton);
|
|
1246
|
-
if (buttonOptions && buttonOptions.position) {
|
|
1247
|
-
this.drillUpButton.align({
|
|
1248
|
-
x: buttonOptions.position.x,
|
|
1249
|
-
y: buttonOptions.position.y,
|
|
1250
|
-
align: buttonOptions.position.align
|
|
1251
|
-
}, false, buttonOptions.relativeTo || 'plotBox');
|
|
1252
|
-
}
|
|
1253
|
-
}
|
|
1254
|
-
});
|
|
1255
2266
|
addEvent(Chart, 'drillup', function () {
|
|
1256
2267
|
if (this.resetZoomButton) {
|
|
1257
2268
|
this.resetZoomButton = this.resetZoomButton.destroy();
|
|
1258
2269
|
}
|
|
1259
2270
|
});
|
|
2271
|
+
addEvent(Chart, 'drillupall', function () {
|
|
2272
|
+
if (this.resetZoomButton) {
|
|
2273
|
+
this.showResetZoom();
|
|
2274
|
+
}
|
|
2275
|
+
});
|
|
1260
2276
|
|
|
1261
2277
|
});
|
|
1262
2278
|
_registerModule(_modules, 'masters/modules/drilldown.src.js', [], function () {
|