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/treemap.src.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS
|
|
2
|
+
* @license Highcharts JS v10.2.0 (2022-07-05)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2014-2021 Highsoft AS
|
|
5
5
|
* Authors: Jon Arild Nygard / Oystein Moseng
|
|
6
6
|
*
|
|
7
7
|
* License: www.highcharts.com/license
|
|
8
8
|
*/
|
|
9
|
-
'use strict';
|
|
10
9
|
(function (factory) {
|
|
11
10
|
if (typeof module === 'object' && module.exports) {
|
|
12
11
|
factory['default'] = factory;
|
|
@@ -21,13 +20,23 @@
|
|
|
21
20
|
factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
|
|
22
21
|
}
|
|
23
22
|
}(function (Highcharts) {
|
|
23
|
+
'use strict';
|
|
24
24
|
var _modules = Highcharts ? Highcharts._modules : {};
|
|
25
25
|
function _registerModule(obj, path, args, fn) {
|
|
26
26
|
if (!obj.hasOwnProperty(path)) {
|
|
27
27
|
obj[path] = fn.apply(null, args);
|
|
28
|
+
|
|
29
|
+
if (typeof CustomEvent === 'function') {
|
|
30
|
+
window.dispatchEvent(
|
|
31
|
+
new CustomEvent(
|
|
32
|
+
'HighchartsModuleLoaded',
|
|
33
|
+
{ detail: { path: path, module: obj[path] }
|
|
34
|
+
})
|
|
35
|
+
);
|
|
36
|
+
}
|
|
28
37
|
}
|
|
29
38
|
}
|
|
30
|
-
_registerModule(_modules, 'Series/
|
|
39
|
+
_registerModule(_modules, 'Series/ColorMapComposition.js', [_modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (SeriesRegistry, U) {
|
|
31
40
|
/* *
|
|
32
41
|
*
|
|
33
42
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -37,66 +46,92 @@
|
|
|
37
46
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
38
47
|
*
|
|
39
48
|
* */
|
|
40
|
-
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
addEvent = U.addEvent;
|
|
45
|
-
// Move points to the top of the z-index order when hovered
|
|
46
|
-
addEvent(Point, 'afterSetState', function (e) {
|
|
47
|
-
var point = this;
|
|
48
|
-
if (point.moveToTopOnHover && point.graphic) {
|
|
49
|
-
point.graphic.attr({
|
|
50
|
-
zIndex: e && e.state === 'hover' ? 1 : 0
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
/**
|
|
55
|
-
* Mixin for maps and heatmaps
|
|
49
|
+
var columnProto = SeriesRegistry.seriesTypes.column.prototype;
|
|
50
|
+
var addEvent = U.addEvent,
|
|
51
|
+
defined = U.defined;
|
|
52
|
+
/* *
|
|
56
53
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*/
|
|
60
|
-
var
|
|
54
|
+
* Composition
|
|
55
|
+
*
|
|
56
|
+
* */
|
|
57
|
+
var ColorMapComposition;
|
|
58
|
+
(function (ColorMapComposition) {
|
|
59
|
+
/* *
|
|
60
|
+
*
|
|
61
|
+
* Declarations
|
|
62
|
+
*
|
|
63
|
+
* */
|
|
64
|
+
/* *
|
|
65
|
+
*
|
|
66
|
+
* Constants
|
|
67
|
+
*
|
|
68
|
+
* */
|
|
69
|
+
var composedClasses = [];
|
|
70
|
+
ColorMapComposition.pointMembers = {
|
|
61
71
|
dataLabelOnNull: true,
|
|
62
72
|
moveToTopOnHover: true,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
* @private
|
|
68
|
-
*/
|
|
69
|
-
isValid: function () {
|
|
70
|
-
// undefined is allowed
|
|
71
|
-
return (this.value !== null &&
|
|
72
|
-
this.value !== Infinity &&
|
|
73
|
-
this.value !== -Infinity);
|
|
74
|
-
}
|
|
75
|
-
/* eslint-enable valid-jsdoc */
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* @private
|
|
79
|
-
* @mixin Highcharts.colorMapSeriesMixin
|
|
80
|
-
*/
|
|
81
|
-
var SeriesMixin = {
|
|
82
|
-
pointArrayMap: ['value'],
|
|
73
|
+
isValid: pointIsValid
|
|
74
|
+
};
|
|
75
|
+
ColorMapComposition.seriesMembers = {
|
|
76
|
+
colorKey: 'value',
|
|
83
77
|
axisTypes: ['xAxis', 'yAxis', 'colorAxis'],
|
|
84
|
-
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
|
85
|
-
getSymbol: noop,
|
|
86
78
|
parallelArrays: ['x', 'y', 'value'],
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
79
|
+
pointArrayMap: ['value'],
|
|
80
|
+
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
|
81
|
+
colorAttribs: seriesColorAttribs,
|
|
82
|
+
pointAttribs: columnProto.pointAttribs
|
|
83
|
+
};
|
|
84
|
+
/* *
|
|
85
|
+
*
|
|
86
|
+
* Functions
|
|
87
|
+
*
|
|
88
|
+
* */
|
|
89
|
+
/**
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
function compose(SeriesClass) {
|
|
93
|
+
var PointClass = SeriesClass.prototype.pointClass;
|
|
94
|
+
if (composedClasses.indexOf(PointClass) === -1) {
|
|
95
|
+
composedClasses.push(PointClass);
|
|
96
|
+
addEvent(PointClass, 'afterSetState', onPointAfterSetState);
|
|
97
|
+
}
|
|
98
|
+
return SeriesClass;
|
|
99
|
+
}
|
|
100
|
+
ColorMapComposition.compose = compose;
|
|
101
|
+
/**
|
|
102
|
+
* Move points to the top of the z-index order when hovered.
|
|
103
|
+
* @private
|
|
104
|
+
*/
|
|
105
|
+
function onPointAfterSetState(e) {
|
|
106
|
+
var point = this;
|
|
107
|
+
if (point.moveToTopOnHover && point.graphic) {
|
|
108
|
+
point.graphic.attr({
|
|
109
|
+
zIndex: e && e.state === 'hover' ? 1 : 0
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Color points have a value option that determines whether or not it is
|
|
115
|
+
* a null point
|
|
116
|
+
* @private
|
|
117
|
+
*/
|
|
118
|
+
function pointIsValid() {
|
|
119
|
+
return (this.value !== null &&
|
|
120
|
+
this.value !== Infinity &&
|
|
121
|
+
this.value !== -Infinity &&
|
|
122
|
+
// undefined is allowed, but NaN is not (#17279)
|
|
123
|
+
(this.value === void 0 || !isNaN(this.value)));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the color attibutes to apply on the graphic
|
|
127
|
+
* @private
|
|
128
|
+
* @function Highcharts.colorMapSeriesMixin.colorAttribs
|
|
129
|
+
* @param {Highcharts.Point} point
|
|
130
|
+
* @return {Highcharts.SVGAttributes}
|
|
131
|
+
* The SVG attributes
|
|
132
|
+
*/
|
|
133
|
+
function seriesColorAttribs(point) {
|
|
134
|
+
var ret = {};
|
|
100
135
|
if (defined(point.color) &&
|
|
101
136
|
(!point.state || point.state === 'normal') // #15746
|
|
102
137
|
) {
|
|
@@ -104,13 +139,14 @@
|
|
|
104
139
|
}
|
|
105
140
|
return ret;
|
|
106
141
|
}
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
142
|
+
})(ColorMapComposition || (ColorMapComposition = {}));
|
|
143
|
+
/* *
|
|
144
|
+
*
|
|
145
|
+
* Default Export
|
|
146
|
+
*
|
|
147
|
+
* */
|
|
112
148
|
|
|
113
|
-
return
|
|
149
|
+
return ColorMapComposition;
|
|
114
150
|
});
|
|
115
151
|
_registerModule(_modules, 'Series/Treemap/TreemapAlgorithmGroup.js', [], function () {
|
|
116
152
|
/* *
|
|
@@ -207,123 +243,98 @@
|
|
|
207
243
|
|
|
208
244
|
return TreemapAlgorithmGroup;
|
|
209
245
|
});
|
|
210
|
-
_registerModule(_modules, 'Series/
|
|
246
|
+
_registerModule(_modules, 'Series/DrawPointUtilities.js', [_modules['Core/Utilities.js']], function (U) {
|
|
211
247
|
/* *
|
|
212
248
|
*
|
|
213
249
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
214
250
|
*
|
|
215
251
|
* */
|
|
252
|
+
var isNumber = U.isNumber;
|
|
216
253
|
/* *
|
|
217
254
|
*
|
|
218
|
-
*
|
|
255
|
+
* Functions
|
|
219
256
|
*
|
|
220
257
|
* */
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
258
|
+
/**
|
|
259
|
+
* Handles the drawing of a component.
|
|
260
|
+
* Can be used for any type of component that reserves the graphic property,
|
|
261
|
+
* and provides a shouldDraw on its context.
|
|
262
|
+
*
|
|
263
|
+
* @private
|
|
264
|
+
*
|
|
265
|
+
* @todo add type checking.
|
|
266
|
+
* @todo export this function to enable usage
|
|
267
|
+
*/
|
|
268
|
+
function draw(point, params) {
|
|
269
|
+
var animatableAttribs = params.animatableAttribs,
|
|
270
|
+
onComplete = params.onComplete,
|
|
271
|
+
css = params.css,
|
|
272
|
+
renderer = params.renderer;
|
|
273
|
+
var animation = (point.series && point.series.chart.hasRendered) ?
|
|
274
|
+
// Chart-level animation on updates
|
|
275
|
+
void 0 :
|
|
276
|
+
// Series-level animation on new points
|
|
277
|
+
(point.series &&
|
|
278
|
+
point.series.options.animation);
|
|
279
|
+
var graphic = point.graphic;
|
|
280
|
+
params.attribs = params.attribs || {};
|
|
281
|
+
// Assigning class in dot notation does go well in IE8
|
|
282
|
+
// eslint-disable-next-line dot-notation
|
|
283
|
+
params.attribs['class'] = point.getClassName();
|
|
284
|
+
if (shouldDraw(point)) {
|
|
285
|
+
if (!graphic) {
|
|
286
|
+
point.graphic = graphic = params.shapeType === 'text' ?
|
|
287
|
+
renderer.text() :
|
|
288
|
+
renderer[params.shapeType](params.shapeArgs || {});
|
|
289
|
+
graphic.add(params.group);
|
|
251
290
|
}
|
|
252
|
-
|
|
291
|
+
if (css) {
|
|
292
|
+
graphic.css(css);
|
|
293
|
+
}
|
|
294
|
+
graphic
|
|
295
|
+
.attr(params.attribs)
|
|
296
|
+
.animate(animatableAttribs, params.isNew ? false : animation, onComplete);
|
|
253
297
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
*
|
|
260
|
-
* @private
|
|
261
|
-
*
|
|
262
|
-
* @todo add type checking.
|
|
263
|
-
* @todo export this function to enable usage
|
|
264
|
-
*/
|
|
265
|
-
function draw(params) {
|
|
266
|
-
var _this = this;
|
|
267
|
-
var animatableAttribs = params.animatableAttribs,
|
|
268
|
-
onComplete = params.onComplete,
|
|
269
|
-
css = params.css,
|
|
270
|
-
renderer = params.renderer;
|
|
271
|
-
var animation = (this.series && this.series.chart.hasRendered) ?
|
|
272
|
-
// Chart-level animation on updates
|
|
273
|
-
void 0 :
|
|
274
|
-
// Series-level animation on new points
|
|
275
|
-
(this.series &&
|
|
276
|
-
this.series.options.animation);
|
|
277
|
-
var graphic = this.graphic;
|
|
278
|
-
params.attribs = params.attribs || {};
|
|
279
|
-
// Assigning class in dot notation does go well in IE8
|
|
280
|
-
// eslint-disable-next-line dot-notation
|
|
281
|
-
params.attribs['class'] = this.getClassName();
|
|
282
|
-
if (this.shouldDraw()) {
|
|
283
|
-
if (!graphic) {
|
|
284
|
-
this.graphic = graphic =
|
|
285
|
-
renderer[params.shapeType](params.shapeArgs)
|
|
286
|
-
.add(params.group);
|
|
287
|
-
}
|
|
288
|
-
graphic
|
|
289
|
-
.css(css)
|
|
290
|
-
.attr(params.attribs)
|
|
291
|
-
.animate(animatableAttribs, params.isNew ? false : animation, onComplete);
|
|
292
|
-
}
|
|
293
|
-
else if (graphic) {
|
|
294
|
-
var destroy_1 = function () {
|
|
295
|
-
_this.graphic = graphic = (graphic && graphic.destroy());
|
|
296
|
-
if (typeof onComplete === 'function') {
|
|
297
|
-
onComplete();
|
|
298
|
-
}
|
|
299
|
-
};
|
|
300
|
-
// animate only runs complete callback if something was animated.
|
|
301
|
-
if (Object.keys(animatableAttribs).length) {
|
|
302
|
-
graphic.animate(animatableAttribs, void 0, function () {
|
|
303
|
-
destroy_1();
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
destroy_1();
|
|
298
|
+
else if (graphic) {
|
|
299
|
+
var destroy_1 = function () {
|
|
300
|
+
point.graphic = graphic = (graphic && graphic.destroy());
|
|
301
|
+
if (typeof onComplete === 'function') {
|
|
302
|
+
onComplete();
|
|
308
303
|
}
|
|
304
|
+
};
|
|
305
|
+
// animate only runs complete callback if something was animated.
|
|
306
|
+
if (Object.keys(animatableAttribs).length) {
|
|
307
|
+
graphic.animate(animatableAttribs, void 0, function () { return destroy_1(); });
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
destroy_1();
|
|
309
311
|
}
|
|
310
312
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* @private
|
|
316
|
+
*/
|
|
317
|
+
function shouldDraw(point) {
|
|
318
|
+
switch (point.series && point.series.type) {
|
|
319
|
+
case 'treemap':
|
|
320
|
+
return isNumber(point.plotY) && point.y !== null;
|
|
321
|
+
default:
|
|
322
|
+
return !point.isNull;
|
|
316
323
|
}
|
|
317
|
-
}
|
|
324
|
+
}
|
|
318
325
|
/* *
|
|
319
326
|
*
|
|
320
327
|
* Default Export
|
|
321
328
|
*
|
|
322
329
|
* */
|
|
330
|
+
var DrawPointUtilities = {
|
|
331
|
+
draw: draw,
|
|
332
|
+
shouldDraw: shouldDraw
|
|
333
|
+
};
|
|
323
334
|
|
|
324
|
-
return
|
|
335
|
+
return DrawPointUtilities;
|
|
325
336
|
});
|
|
326
|
-
_registerModule(_modules, 'Series/Treemap/TreemapPoint.js', [_modules['Series/
|
|
337
|
+
_registerModule(_modules, 'Series/Treemap/TreemapPoint.js', [_modules['Series/DrawPointUtilities.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (DPU, SeriesRegistry, U) {
|
|
327
338
|
/* *
|
|
328
339
|
*
|
|
329
340
|
* (c) 2014-2021 Highsoft AS
|
|
@@ -387,6 +398,9 @@
|
|
|
387
398
|
*
|
|
388
399
|
* */
|
|
389
400
|
/* eslint-disable valid-jsdoc */
|
|
401
|
+
TreemapPoint.prototype.draw = function (params) {
|
|
402
|
+
DPU.draw(this, params);
|
|
403
|
+
};
|
|
390
404
|
TreemapPoint.prototype.getClassName = function () {
|
|
391
405
|
var className = Point.prototype.getClassName.call(this),
|
|
392
406
|
series = this.series,
|
|
@@ -424,14 +438,13 @@
|
|
|
424
438
|
}
|
|
425
439
|
};
|
|
426
440
|
TreemapPoint.prototype.shouldDraw = function () {
|
|
427
|
-
return
|
|
441
|
+
return DPU.shouldDraw(this);
|
|
428
442
|
};
|
|
429
443
|
return TreemapPoint;
|
|
430
444
|
}(ScatterPoint));
|
|
431
445
|
extend(TreemapPoint.prototype, {
|
|
432
446
|
setVisible: PiePoint.prototype.setVisible
|
|
433
447
|
});
|
|
434
|
-
DrawPointComposition.compose(TreemapPoint);
|
|
435
448
|
/* *
|
|
436
449
|
*
|
|
437
450
|
* Default Export
|
|
@@ -736,6 +749,962 @@
|
|
|
736
749
|
|
|
737
750
|
return TreeUtilities;
|
|
738
751
|
});
|
|
752
|
+
_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) {
|
|
753
|
+
/* *
|
|
754
|
+
*
|
|
755
|
+
* Highcharts Breadcrumbs module
|
|
756
|
+
*
|
|
757
|
+
* Authors: Grzegorz Blachlinski, Karol Kolodziej
|
|
758
|
+
*
|
|
759
|
+
* License: www.highcharts.com/license
|
|
760
|
+
*
|
|
761
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
762
|
+
*
|
|
763
|
+
* */
|
|
764
|
+
var defaultOptions = D.defaultOptions;
|
|
765
|
+
var format = F.format;
|
|
766
|
+
var addEvent = U.addEvent,
|
|
767
|
+
objectEach = U.objectEach,
|
|
768
|
+
extend = U.extend,
|
|
769
|
+
fireEvent = U.fireEvent,
|
|
770
|
+
merge = U.merge,
|
|
771
|
+
pick = U.pick,
|
|
772
|
+
defined = U.defined,
|
|
773
|
+
isString = U.isString;
|
|
774
|
+
// Add language support.
|
|
775
|
+
extend(defaultOptions.lang,
|
|
776
|
+
/**
|
|
777
|
+
* @optionparent lang
|
|
778
|
+
*/
|
|
779
|
+
{
|
|
780
|
+
/**
|
|
781
|
+
* @since 10.0.0
|
|
782
|
+
* @product highcharts
|
|
783
|
+
*/
|
|
784
|
+
mainBreadcrumb: 'Main'
|
|
785
|
+
});
|
|
786
|
+
/**
|
|
787
|
+
* The Breadcrumbs class
|
|
788
|
+
*
|
|
789
|
+
* @private
|
|
790
|
+
* @class
|
|
791
|
+
* @name Highcharts.Breadcrumbs
|
|
792
|
+
*
|
|
793
|
+
* @param {Highcharts.Chart} chart
|
|
794
|
+
* Chart object
|
|
795
|
+
* @param {Highcharts.Options} userOptions
|
|
796
|
+
* User options
|
|
797
|
+
*/
|
|
798
|
+
var Breadcrumbs = /** @class */ (function () {
|
|
799
|
+
function Breadcrumbs(chart, userOptions) {
|
|
800
|
+
/* *
|
|
801
|
+
*
|
|
802
|
+
* Properties
|
|
803
|
+
*
|
|
804
|
+
* */
|
|
805
|
+
this.group = void 0;
|
|
806
|
+
this.list = [];
|
|
807
|
+
this.elementList = {};
|
|
808
|
+
this.isDirty = true;
|
|
809
|
+
this.level = 0;
|
|
810
|
+
this.options = void 0;
|
|
811
|
+
var chartOptions = merge(chart.options.drilldown &&
|
|
812
|
+
chart.options.drilldown.drillUpButton,
|
|
813
|
+
Breadcrumbs.defaultBreadcrumbsOptions,
|
|
814
|
+
chart.options.navigation && chart.options.navigation.breadcrumbs,
|
|
815
|
+
userOptions);
|
|
816
|
+
this.chart = chart;
|
|
817
|
+
this.options = chartOptions || {};
|
|
818
|
+
}
|
|
819
|
+
/**
|
|
820
|
+
* Update Breadcrumbs properties, like level and list.
|
|
821
|
+
*
|
|
822
|
+
* @requires modules/breadcrumbs
|
|
823
|
+
*
|
|
824
|
+
* @function Highcharts.Breadcrumbs#updateProperties
|
|
825
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
826
|
+
* Breadcrumbs class.
|
|
827
|
+
*/
|
|
828
|
+
Breadcrumbs.prototype.updateProperties = function (list) {
|
|
829
|
+
this.setList(list);
|
|
830
|
+
this.setLevel();
|
|
831
|
+
this.isDirty = true;
|
|
832
|
+
};
|
|
833
|
+
/**
|
|
834
|
+
* Set breadcrumbs list.
|
|
835
|
+
* @function Highcharts.Breadcrumbs#setList
|
|
836
|
+
*
|
|
837
|
+
* @requires modules/breadcrumbs
|
|
838
|
+
*
|
|
839
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
840
|
+
* Breadcrumbs class.
|
|
841
|
+
* @param {Highcharts.BreadcrumbsOptions} list
|
|
842
|
+
* Breadcrumbs list.
|
|
843
|
+
*/
|
|
844
|
+
Breadcrumbs.prototype.setList = function (list) {
|
|
845
|
+
this.list = list;
|
|
846
|
+
};
|
|
847
|
+
/**
|
|
848
|
+
* Calcule level on which chart currently is.
|
|
849
|
+
*
|
|
850
|
+
* @requires modules/breadcrumbs
|
|
851
|
+
*
|
|
852
|
+
* @function Highcharts.Breadcrumbs#setLevel
|
|
853
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
854
|
+
* Breadcrumbs class.
|
|
855
|
+
*/
|
|
856
|
+
Breadcrumbs.prototype.setLevel = function () {
|
|
857
|
+
this.level = this.list.length && this.list.length - 1;
|
|
858
|
+
};
|
|
859
|
+
/**
|
|
860
|
+
* Get Breadcrumbs level
|
|
861
|
+
*
|
|
862
|
+
* @requires modules/breadcrumbs
|
|
863
|
+
*
|
|
864
|
+
* @function Highcharts.Breadcrumbs#getLevel
|
|
865
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
866
|
+
* Breadcrumbs class.
|
|
867
|
+
*/
|
|
868
|
+
Breadcrumbs.prototype.getLevel = function () {
|
|
869
|
+
return this.level;
|
|
870
|
+
};
|
|
871
|
+
/**
|
|
872
|
+
* Default button text formatter.
|
|
873
|
+
*
|
|
874
|
+
* @requires modules/breadcrumbs
|
|
875
|
+
*
|
|
876
|
+
* @function Highcharts.Breadcrumbs#getButtonText
|
|
877
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
878
|
+
* Breadcrumbs class.
|
|
879
|
+
* @param {Highcharts.Breadcrumbs} breadcrumb
|
|
880
|
+
* Breadcrumb.
|
|
881
|
+
* @return {string}
|
|
882
|
+
* Formatted text.
|
|
883
|
+
*/
|
|
884
|
+
Breadcrumbs.prototype.getButtonText = function (breadcrumb) {
|
|
885
|
+
var breadcrumbs = this,
|
|
886
|
+
chart = breadcrumbs.chart,
|
|
887
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
888
|
+
lang = chart.options.lang,
|
|
889
|
+
textFormat = pick(breadcrumbsOptions.format,
|
|
890
|
+
breadcrumbsOptions.showFullPath ?
|
|
891
|
+
'{level.name}' : '← {level.name}'),
|
|
892
|
+
defaultText = lang && pick(lang.drillUpText,
|
|
893
|
+
lang.mainBreadcrumb);
|
|
894
|
+
var returnText = breadcrumbsOptions.formatter &&
|
|
895
|
+
breadcrumbsOptions.formatter(breadcrumb) ||
|
|
896
|
+
format(textFormat, { level: breadcrumb.levelOptions },
|
|
897
|
+
chart) || '';
|
|
898
|
+
if (((isString(returnText) &&
|
|
899
|
+
!returnText.length) ||
|
|
900
|
+
returnText === '← ') &&
|
|
901
|
+
defined(defaultText)) {
|
|
902
|
+
returnText = !breadcrumbsOptions.showFullPath ?
|
|
903
|
+
'← ' + defaultText :
|
|
904
|
+
defaultText;
|
|
905
|
+
}
|
|
906
|
+
return returnText;
|
|
907
|
+
};
|
|
908
|
+
/**
|
|
909
|
+
* Redraw.
|
|
910
|
+
*
|
|
911
|
+
* @requires modules/breadcrums
|
|
912
|
+
*
|
|
913
|
+
* @function Highcharts.Breadcrumbs#redraw
|
|
914
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
915
|
+
* Breadcrumbs class.
|
|
916
|
+
*/
|
|
917
|
+
Breadcrumbs.prototype.redraw = function () {
|
|
918
|
+
if (this.isDirty) {
|
|
919
|
+
this.render();
|
|
920
|
+
}
|
|
921
|
+
if (this.group) {
|
|
922
|
+
this.group.align();
|
|
923
|
+
}
|
|
924
|
+
this.isDirty = false;
|
|
925
|
+
};
|
|
926
|
+
/**
|
|
927
|
+
* Create a group, then draw breadcrumbs together with the separators.
|
|
928
|
+
*
|
|
929
|
+
* @requires modules/breadcrumbs
|
|
930
|
+
*
|
|
931
|
+
* @function Highcharts.Breadcrumbs#render
|
|
932
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
933
|
+
* Breadcrumbs class.
|
|
934
|
+
*/
|
|
935
|
+
Breadcrumbs.prototype.render = function () {
|
|
936
|
+
var breadcrumbs = this,
|
|
937
|
+
chart = breadcrumbs.chart,
|
|
938
|
+
breadcrumbsOptions = breadcrumbs.options;
|
|
939
|
+
// A main group for the breadcrumbs.
|
|
940
|
+
if (!breadcrumbs.group && breadcrumbsOptions) {
|
|
941
|
+
breadcrumbs.group = chart.renderer
|
|
942
|
+
.g('breadcrumbs-group')
|
|
943
|
+
.addClass('highcharts-no-tooltip highcharts-breadcrumbs')
|
|
944
|
+
.attr({
|
|
945
|
+
zIndex: breadcrumbsOptions.zIndex
|
|
946
|
+
})
|
|
947
|
+
.add();
|
|
948
|
+
}
|
|
949
|
+
// Draw breadcrumbs.
|
|
950
|
+
if (breadcrumbsOptions.showFullPath) {
|
|
951
|
+
this.renderFullPathButtons();
|
|
952
|
+
}
|
|
953
|
+
else {
|
|
954
|
+
this.renderSingleButton();
|
|
955
|
+
}
|
|
956
|
+
this.alignBreadcrumbsGroup();
|
|
957
|
+
};
|
|
958
|
+
/**
|
|
959
|
+
* Draw breadcrumbs together with the separators.
|
|
960
|
+
*
|
|
961
|
+
* @requires modules/breadcrumbs
|
|
962
|
+
*
|
|
963
|
+
* @function Highcharts.Breadcrumbs#renderFullPathButtons
|
|
964
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
965
|
+
* Breadcrumbs class.
|
|
966
|
+
*/
|
|
967
|
+
Breadcrumbs.prototype.renderFullPathButtons = function () {
|
|
968
|
+
// Make sure that only one type of button is visible.
|
|
969
|
+
this.destroySingleButton();
|
|
970
|
+
this.resetElementListState();
|
|
971
|
+
this.updateListElements();
|
|
972
|
+
this.destroyListElements();
|
|
973
|
+
};
|
|
974
|
+
/**
|
|
975
|
+
* Render Single button - when showFullPath is not used. The button is
|
|
976
|
+
* similar to the old drillUpButton
|
|
977
|
+
*
|
|
978
|
+
* @requires modules/breadcrumbs
|
|
979
|
+
*
|
|
980
|
+
* @function Highcharts.Breadcrumbs#renderSingleButton
|
|
981
|
+
* @param {Highcharts.Breadcrumbs} this Breadcrumbs class.
|
|
982
|
+
*/
|
|
983
|
+
Breadcrumbs.prototype.renderSingleButton = function () {
|
|
984
|
+
var breadcrumbs = this,
|
|
985
|
+
chart = breadcrumbs.chart,
|
|
986
|
+
list = breadcrumbs.list,
|
|
987
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
988
|
+
buttonSpacing = breadcrumbsOptions.buttonSpacing;
|
|
989
|
+
// Make sure that only one type of button is visible.
|
|
990
|
+
this.destroyListElements();
|
|
991
|
+
// Draw breadcrumbs. Inital position for calculating the breadcrumbs
|
|
992
|
+
// group.
|
|
993
|
+
var posX = breadcrumbs.group ?
|
|
994
|
+
breadcrumbs.group.getBBox().width :
|
|
995
|
+
buttonSpacing,
|
|
996
|
+
posY = buttonSpacing;
|
|
997
|
+
var previousBreadcrumb = list[list.length - 2];
|
|
998
|
+
if (!chart.drillUpButton && (this.level > 0)) {
|
|
999
|
+
chart.drillUpButton = breadcrumbs.renderButton(previousBreadcrumb, posX, posY);
|
|
1000
|
+
}
|
|
1001
|
+
else if (chart.drillUpButton) {
|
|
1002
|
+
if (this.level > 0) {
|
|
1003
|
+
// Update button.
|
|
1004
|
+
this.updateSingleButton();
|
|
1005
|
+
}
|
|
1006
|
+
else {
|
|
1007
|
+
this.destroySingleButton();
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
};
|
|
1011
|
+
/**
|
|
1012
|
+
* Update group position based on align and it's width.
|
|
1013
|
+
*
|
|
1014
|
+
* @requires modules/breadcrumbs
|
|
1015
|
+
*
|
|
1016
|
+
* @function Highcharts.Breadcrumbs#renderSingleButton
|
|
1017
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1018
|
+
* Breadcrumbs class.
|
|
1019
|
+
*/
|
|
1020
|
+
Breadcrumbs.prototype.alignBreadcrumbsGroup = function (xOffset) {
|
|
1021
|
+
var breadcrumbs = this;
|
|
1022
|
+
if (breadcrumbs.group) {
|
|
1023
|
+
var breadcrumbsOptions = breadcrumbs.options,
|
|
1024
|
+
buttonTheme = breadcrumbsOptions.buttonTheme,
|
|
1025
|
+
positionOptions = breadcrumbsOptions.position,
|
|
1026
|
+
alignTo = (breadcrumbsOptions.relativeTo === 'chart' ||
|
|
1027
|
+
breadcrumbsOptions.relativeTo === 'spacingBox' ?
|
|
1028
|
+
void 0 :
|
|
1029
|
+
'scrollablePlotBox'),
|
|
1030
|
+
bBox = breadcrumbs.group.getBBox(),
|
|
1031
|
+
additionalSpace = 2 * (buttonTheme.padding || 0) +
|
|
1032
|
+
breadcrumbsOptions.buttonSpacing;
|
|
1033
|
+
// Store positionOptions
|
|
1034
|
+
positionOptions.width = bBox.width + additionalSpace;
|
|
1035
|
+
positionOptions.height = bBox.height + additionalSpace;
|
|
1036
|
+
var newPositions = merge(positionOptions);
|
|
1037
|
+
// Add x offset if specified.
|
|
1038
|
+
if (xOffset) {
|
|
1039
|
+
newPositions.x += xOffset;
|
|
1040
|
+
}
|
|
1041
|
+
if (breadcrumbs.options.rtl) {
|
|
1042
|
+
newPositions.x += positionOptions.width;
|
|
1043
|
+
}
|
|
1044
|
+
newPositions.y = pick(newPositions.y, this.yOffset, 0);
|
|
1045
|
+
breadcrumbs.group.align(newPositions, true, alignTo);
|
|
1046
|
+
}
|
|
1047
|
+
};
|
|
1048
|
+
/**
|
|
1049
|
+
* Render a button.
|
|
1050
|
+
*
|
|
1051
|
+
* @requires modules/breadcrums
|
|
1052
|
+
*
|
|
1053
|
+
* @function Highcharts.Breadcrumbs#renderButton
|
|
1054
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1055
|
+
* Breadcrumbs class.
|
|
1056
|
+
* @param {Highcharts.Breadcrumbs} breadcrumb
|
|
1057
|
+
* Current breadcrumb
|
|
1058
|
+
* @param {Highcharts.Breadcrumbs} posX
|
|
1059
|
+
* Initial horizontal position
|
|
1060
|
+
* @param {Highcharts.Breadcrumbs} posY
|
|
1061
|
+
* Initial vertical position
|
|
1062
|
+
* @return {SVGElement|void}
|
|
1063
|
+
* Returns the SVG button
|
|
1064
|
+
*/
|
|
1065
|
+
Breadcrumbs.prototype.renderButton = function (breadcrumb, posX, posY) {
|
|
1066
|
+
var breadcrumbs = this,
|
|
1067
|
+
chart = this.chart,
|
|
1068
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
1069
|
+
buttonTheme = merge(breadcrumbsOptions.buttonTheme);
|
|
1070
|
+
var button = chart.renderer
|
|
1071
|
+
.button(breadcrumbs.getButtonText(breadcrumb),
|
|
1072
|
+
posX,
|
|
1073
|
+
posY,
|
|
1074
|
+
function (e) {
|
|
1075
|
+
// Extract events from button object and call
|
|
1076
|
+
var buttonEvents = breadcrumbsOptions.events &&
|
|
1077
|
+
breadcrumbsOptions.events.click;
|
|
1078
|
+
var callDefaultEvent;
|
|
1079
|
+
if (buttonEvents) {
|
|
1080
|
+
callDefaultEvent = buttonEvents.call(breadcrumbs, e, breadcrumb);
|
|
1081
|
+
}
|
|
1082
|
+
// (difference in behaviour of showFullPath and drillUp)
|
|
1083
|
+
if (callDefaultEvent !== false) {
|
|
1084
|
+
// For single button we are not going to the button
|
|
1085
|
+
// level, but the one level up
|
|
1086
|
+
if (!breadcrumbsOptions.showFullPath) {
|
|
1087
|
+
e.newLevel = breadcrumbs.level - 1;
|
|
1088
|
+
}
|
|
1089
|
+
else {
|
|
1090
|
+
e.newLevel = breadcrumb.level;
|
|
1091
|
+
}
|
|
1092
|
+
fireEvent(breadcrumbs, 'up', e);
|
|
1093
|
+
}
|
|
1094
|
+
}, buttonTheme)
|
|
1095
|
+
.addClass('highcharts-breadcrumbs-button')
|
|
1096
|
+
.add(breadcrumbs.group);
|
|
1097
|
+
if (!chart.styledMode) {
|
|
1098
|
+
button.attr(breadcrumbsOptions.style);
|
|
1099
|
+
}
|
|
1100
|
+
return button;
|
|
1101
|
+
};
|
|
1102
|
+
/**
|
|
1103
|
+
* Render a separator.
|
|
1104
|
+
*
|
|
1105
|
+
* @requires modules/breadcrums
|
|
1106
|
+
*
|
|
1107
|
+
* @function Highcharts.Breadcrumbs#renderSeparator
|
|
1108
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1109
|
+
* Breadcrumbs class.
|
|
1110
|
+
* @param {Highcharts.Breadcrumbs} posX
|
|
1111
|
+
* Initial horizontal position
|
|
1112
|
+
* @param {Highcharts.Breadcrumbs} posY
|
|
1113
|
+
* Initial vertical position
|
|
1114
|
+
* @return {Highcharts.SVGElement}
|
|
1115
|
+
* Returns the SVG button
|
|
1116
|
+
*/
|
|
1117
|
+
Breadcrumbs.prototype.renderSeparator = function (posX, posY) {
|
|
1118
|
+
var breadcrumbs = this,
|
|
1119
|
+
chart = this.chart,
|
|
1120
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
1121
|
+
separatorOptions = breadcrumbsOptions.separator;
|
|
1122
|
+
var separator = chart.renderer
|
|
1123
|
+
.label(separatorOptions.text,
|
|
1124
|
+
posX,
|
|
1125
|
+
posY,
|
|
1126
|
+
void 0,
|
|
1127
|
+
void 0,
|
|
1128
|
+
void 0,
|
|
1129
|
+
false)
|
|
1130
|
+
.addClass('highcharts-breadcrumbs-separator')
|
|
1131
|
+
.add(breadcrumbs.group);
|
|
1132
|
+
if (!chart.styledMode) {
|
|
1133
|
+
separator.css(separatorOptions.style);
|
|
1134
|
+
}
|
|
1135
|
+
return separator;
|
|
1136
|
+
};
|
|
1137
|
+
/**
|
|
1138
|
+
* Update.
|
|
1139
|
+
* @function Highcharts.Breadcrumbs#update
|
|
1140
|
+
*
|
|
1141
|
+
* @requires modules/breadcrumbs
|
|
1142
|
+
*
|
|
1143
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1144
|
+
* Breadcrumbs class.
|
|
1145
|
+
* @param {Highcharts.BreadcrumbsOptions} options
|
|
1146
|
+
* Breadcrumbs class.
|
|
1147
|
+
* @param {boolean} redraw
|
|
1148
|
+
* Redraw flag
|
|
1149
|
+
*/
|
|
1150
|
+
Breadcrumbs.prototype.update = function (options) {
|
|
1151
|
+
merge(true, this.options, options);
|
|
1152
|
+
this.destroy();
|
|
1153
|
+
this.isDirty = true;
|
|
1154
|
+
};
|
|
1155
|
+
/**
|
|
1156
|
+
* Update button text when the showFullPath set to false.
|
|
1157
|
+
* @function Highcharts.Breadcrumbs#updateSingleButton
|
|
1158
|
+
*
|
|
1159
|
+
* @requires modules/breadcrumbs
|
|
1160
|
+
*
|
|
1161
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1162
|
+
* Breadcrumbs class.
|
|
1163
|
+
*/
|
|
1164
|
+
Breadcrumbs.prototype.updateSingleButton = function () {
|
|
1165
|
+
var chart = this.chart,
|
|
1166
|
+
currentBreadcrumb = this.list[this.level - 1];
|
|
1167
|
+
if (chart.drillUpButton) {
|
|
1168
|
+
chart.drillUpButton.attr({
|
|
1169
|
+
text: this.getButtonText(currentBreadcrumb)
|
|
1170
|
+
});
|
|
1171
|
+
}
|
|
1172
|
+
};
|
|
1173
|
+
/**
|
|
1174
|
+
* Destroy the chosen breadcrumbs group
|
|
1175
|
+
*
|
|
1176
|
+
* @requires modules/breadcrumbs
|
|
1177
|
+
*
|
|
1178
|
+
* @function Highcharts.Breadcrumbs#destroy
|
|
1179
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1180
|
+
* Breadcrumbs class.
|
|
1181
|
+
*/
|
|
1182
|
+
Breadcrumbs.prototype.destroy = function () {
|
|
1183
|
+
this.destroySingleButton();
|
|
1184
|
+
// Destroy elements one by one. It's necessary beacause
|
|
1185
|
+
// g().destroy() does not remove added HTML
|
|
1186
|
+
this.destroyListElements(true);
|
|
1187
|
+
// Then, destroy the group itself.
|
|
1188
|
+
if (this.group) {
|
|
1189
|
+
this.group.destroy();
|
|
1190
|
+
}
|
|
1191
|
+
this.group = void 0;
|
|
1192
|
+
};
|
|
1193
|
+
/**
|
|
1194
|
+
* Destroy the elements' buttons and separators.
|
|
1195
|
+
*
|
|
1196
|
+
* @requires modules/breadcrumbs
|
|
1197
|
+
*
|
|
1198
|
+
* @function Highcharts.Breadcrumbs#destroyListElements
|
|
1199
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1200
|
+
* Breadcrumbs class.
|
|
1201
|
+
*/
|
|
1202
|
+
Breadcrumbs.prototype.destroyListElements = function (force) {
|
|
1203
|
+
var elementList = this.elementList;
|
|
1204
|
+
objectEach(elementList, function (element, level) {
|
|
1205
|
+
if (force ||
|
|
1206
|
+
!elementList[level].updated) {
|
|
1207
|
+
element = elementList[level];
|
|
1208
|
+
element.button && element.button.destroy();
|
|
1209
|
+
element.separator && element.separator.destroy();
|
|
1210
|
+
delete element.button;
|
|
1211
|
+
delete element.separator;
|
|
1212
|
+
delete elementList[level];
|
|
1213
|
+
}
|
|
1214
|
+
});
|
|
1215
|
+
if (force) {
|
|
1216
|
+
this.elementList = {};
|
|
1217
|
+
}
|
|
1218
|
+
};
|
|
1219
|
+
/**
|
|
1220
|
+
* Destroy the single button if exists.
|
|
1221
|
+
*
|
|
1222
|
+
* @requires modules/breadcrumbs
|
|
1223
|
+
*
|
|
1224
|
+
* @function Highcharts.Breadcrumbs#destroySingleButton
|
|
1225
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1226
|
+
* Breadcrumbs class.
|
|
1227
|
+
*/
|
|
1228
|
+
Breadcrumbs.prototype.destroySingleButton = function () {
|
|
1229
|
+
if (this.chart.drillUpButton) {
|
|
1230
|
+
this.chart.drillUpButton.destroy();
|
|
1231
|
+
this.chart.drillUpButton = void 0;
|
|
1232
|
+
}
|
|
1233
|
+
};
|
|
1234
|
+
/**
|
|
1235
|
+
* Reset state for all buttons in elementList.
|
|
1236
|
+
*
|
|
1237
|
+
* @requires modules/breadcrumbs
|
|
1238
|
+
*
|
|
1239
|
+
* @function Highcharts.Breadcrumbs#resetElementListState
|
|
1240
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1241
|
+
* Breadcrumbs class.
|
|
1242
|
+
*/
|
|
1243
|
+
Breadcrumbs.prototype.resetElementListState = function () {
|
|
1244
|
+
objectEach(this.elementList, function (element) {
|
|
1245
|
+
element.updated = false;
|
|
1246
|
+
});
|
|
1247
|
+
};
|
|
1248
|
+
/**
|
|
1249
|
+
* Update rendered elements inside the elementList.
|
|
1250
|
+
*
|
|
1251
|
+
* @requires modules/breadcrumbs
|
|
1252
|
+
*
|
|
1253
|
+
* @function Highcharts.Breadcrumbs#updateListElements
|
|
1254
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1255
|
+
* Breadcrumbs class.
|
|
1256
|
+
*/
|
|
1257
|
+
Breadcrumbs.prototype.updateListElements = function () {
|
|
1258
|
+
var breadcrumbs = this,
|
|
1259
|
+
elementList = breadcrumbs.elementList,
|
|
1260
|
+
buttonSpacing = breadcrumbs.options.buttonSpacing,
|
|
1261
|
+
list = breadcrumbs.list,
|
|
1262
|
+
rtl = breadcrumbs.options.rtl,
|
|
1263
|
+
rtlFactor = rtl ? -1 : 1,
|
|
1264
|
+
updateXPosition = function (element,
|
|
1265
|
+
spacing) {
|
|
1266
|
+
return rtlFactor * element.getBBox().width +
|
|
1267
|
+
rtlFactor * spacing;
|
|
1268
|
+
}, adjustToRTL = function (element, posX, posY) {
|
|
1269
|
+
element.translate(posX - element.getBBox().width, posY);
|
|
1270
|
+
};
|
|
1271
|
+
// Inital position for calculating the breadcrumbs group.
|
|
1272
|
+
var posX = breadcrumbs.group ?
|
|
1273
|
+
updateXPosition(breadcrumbs.group,
|
|
1274
|
+
buttonSpacing) :
|
|
1275
|
+
buttonSpacing,
|
|
1276
|
+
posY = buttonSpacing,
|
|
1277
|
+
currentBreadcrumb;
|
|
1278
|
+
list.forEach(function (breadcrumb, index) {
|
|
1279
|
+
var isLast = index === list.length - 1;
|
|
1280
|
+
var button,
|
|
1281
|
+
separator;
|
|
1282
|
+
if (elementList[breadcrumb.level]) {
|
|
1283
|
+
currentBreadcrumb = elementList[breadcrumb.level];
|
|
1284
|
+
button = currentBreadcrumb.button;
|
|
1285
|
+
// Render a separator if it was not created before.
|
|
1286
|
+
if (!currentBreadcrumb.separator &&
|
|
1287
|
+
!isLast) {
|
|
1288
|
+
// Add spacing for the next separator
|
|
1289
|
+
posX += rtlFactor * buttonSpacing;
|
|
1290
|
+
currentBreadcrumb.separator =
|
|
1291
|
+
breadcrumbs.renderSeparator(posX, posY);
|
|
1292
|
+
if (rtl) {
|
|
1293
|
+
adjustToRTL(currentBreadcrumb.separator, posX, posY);
|
|
1294
|
+
}
|
|
1295
|
+
posX += updateXPosition(currentBreadcrumb.separator, buttonSpacing);
|
|
1296
|
+
}
|
|
1297
|
+
else if (currentBreadcrumb.separator &&
|
|
1298
|
+
isLast) {
|
|
1299
|
+
currentBreadcrumb.separator.destroy();
|
|
1300
|
+
delete currentBreadcrumb.separator;
|
|
1301
|
+
}
|
|
1302
|
+
elementList[breadcrumb.level].updated = true;
|
|
1303
|
+
}
|
|
1304
|
+
else {
|
|
1305
|
+
// Render a button.
|
|
1306
|
+
button = breadcrumbs.renderButton(breadcrumb, posX, posY);
|
|
1307
|
+
if (rtl) {
|
|
1308
|
+
adjustToRTL(button, posX, posY);
|
|
1309
|
+
}
|
|
1310
|
+
posX += updateXPosition(button, buttonSpacing);
|
|
1311
|
+
// Render a separator.
|
|
1312
|
+
if (!isLast) {
|
|
1313
|
+
separator = breadcrumbs.renderSeparator(posX, posY);
|
|
1314
|
+
if (rtl) {
|
|
1315
|
+
adjustToRTL(separator, posX, posY);
|
|
1316
|
+
}
|
|
1317
|
+
posX += updateXPosition(separator, buttonSpacing);
|
|
1318
|
+
}
|
|
1319
|
+
elementList[breadcrumb.level] = {
|
|
1320
|
+
button: button,
|
|
1321
|
+
separator: separator,
|
|
1322
|
+
updated: true
|
|
1323
|
+
};
|
|
1324
|
+
}
|
|
1325
|
+
if (button) {
|
|
1326
|
+
button.setState(isLast ? 2 : 0);
|
|
1327
|
+
}
|
|
1328
|
+
});
|
|
1329
|
+
};
|
|
1330
|
+
/**
|
|
1331
|
+
* Options for breadcrumbs. Breadcrumbs general options are defined in
|
|
1332
|
+
* `navigation.breadcrumbs`. Specific options for drilldown are set in
|
|
1333
|
+
* `drilldown.breadcrumbs` and for tree-like series traversing, in
|
|
1334
|
+
* `plotOptions[series].breadcrumbs`.
|
|
1335
|
+
*
|
|
1336
|
+
* @since 10.0.0
|
|
1337
|
+
* @product highcharts
|
|
1338
|
+
* @optionparent navigation.breadcrumbs
|
|
1339
|
+
*/
|
|
1340
|
+
Breadcrumbs.defaultBreadcrumbsOptions = {
|
|
1341
|
+
/**
|
|
1342
|
+
* A collection of attributes for the buttons. The object takes SVG
|
|
1343
|
+
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
|
|
1344
|
+
* a collection of CSS properties for the text.
|
|
1345
|
+
*
|
|
1346
|
+
* The object can also be extended with states, so you can set
|
|
1347
|
+
* presentational options for `hover`, `select` or `disabled` button
|
|
1348
|
+
* states.
|
|
1349
|
+
*
|
|
1350
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
1351
|
+
* Themed, single button
|
|
1352
|
+
*
|
|
1353
|
+
* @type {Highcharts.SVGAttributes}
|
|
1354
|
+
* @since 10.0.0
|
|
1355
|
+
* @product highcharts
|
|
1356
|
+
*/
|
|
1357
|
+
buttonTheme: {
|
|
1358
|
+
/** @ignore */
|
|
1359
|
+
fill: 'none',
|
|
1360
|
+
/** @ignore */
|
|
1361
|
+
height: 18,
|
|
1362
|
+
/** @ignore */
|
|
1363
|
+
padding: 2,
|
|
1364
|
+
/** @ignore */
|
|
1365
|
+
'stroke-width': 0,
|
|
1366
|
+
/** @ignore */
|
|
1367
|
+
zIndex: 7,
|
|
1368
|
+
/** @ignore */
|
|
1369
|
+
states: {
|
|
1370
|
+
select: {
|
|
1371
|
+
fill: 'none'
|
|
1372
|
+
}
|
|
1373
|
+
},
|
|
1374
|
+
style: {
|
|
1375
|
+
color: "#335cad" /* Palette.highlightColor80 */
|
|
1376
|
+
}
|
|
1377
|
+
},
|
|
1378
|
+
/**
|
|
1379
|
+
* The default padding for each button and separator in each direction.
|
|
1380
|
+
*
|
|
1381
|
+
* @type {number}
|
|
1382
|
+
* @since 10.0.0
|
|
1383
|
+
*/
|
|
1384
|
+
buttonSpacing: 5,
|
|
1385
|
+
/**
|
|
1386
|
+
* Fires when clicking on the breadcrumbs button. Two arguments are
|
|
1387
|
+
* passed to the function. First breadcrumb button as an SVG element.
|
|
1388
|
+
* Second is the breadcrumbs class, containing reference to the chart,
|
|
1389
|
+
* series etc.
|
|
1390
|
+
*
|
|
1391
|
+
* ```js
|
|
1392
|
+
* click: function(button, breadcrumbs) {
|
|
1393
|
+
* console.log(button);
|
|
1394
|
+
* }
|
|
1395
|
+
* ```
|
|
1396
|
+
*
|
|
1397
|
+
* Return false to stop default buttons click action.
|
|
1398
|
+
*
|
|
1399
|
+
* @type {Highcharts.BreadcrumbsClickCallbackFunction}
|
|
1400
|
+
* @since 10.0.0
|
|
1401
|
+
* @apioption navigation.breadcrumbs.events.click
|
|
1402
|
+
*/
|
|
1403
|
+
/**
|
|
1404
|
+
* When the breadcrumbs are floating, the plot area will not move to
|
|
1405
|
+
* make space for it. By default, the chart will not make space for the
|
|
1406
|
+
* buttons. This property won't work when positioned in the middle.
|
|
1407
|
+
*
|
|
1408
|
+
* @sample highcharts/breadcrumbs/single-button
|
|
1409
|
+
* Floating button
|
|
1410
|
+
* @type {boolean}
|
|
1411
|
+
* @since 10.0.0
|
|
1412
|
+
*/
|
|
1413
|
+
floating: false,
|
|
1414
|
+
/**
|
|
1415
|
+
* A format string for the breadcrumbs button. Variables are enclosed by
|
|
1416
|
+
* curly brackets. Available values are passed in the declared point
|
|
1417
|
+
* options.
|
|
1418
|
+
*
|
|
1419
|
+
* @type {string|undefined}
|
|
1420
|
+
* @since 10.0.0
|
|
1421
|
+
* @default undefined
|
|
1422
|
+
* @sample {highcharts} highcharts/breadcrumbs/format Display custom
|
|
1423
|
+
* values in breadcrumb button.
|
|
1424
|
+
*/
|
|
1425
|
+
format: void 0,
|
|
1426
|
+
/**
|
|
1427
|
+
* Callback function to format the breadcrumb text from scratch.
|
|
1428
|
+
*
|
|
1429
|
+
* @type {Highcharts.BreadcrumbsFormatterCallbackFunction}
|
|
1430
|
+
* @since 10.0.0
|
|
1431
|
+
* @default undefined
|
|
1432
|
+
* @apioption navigation.breadcrumbs.formatter
|
|
1433
|
+
*/
|
|
1434
|
+
/**
|
|
1435
|
+
* What box to align the button to. Can be either `plotBox` or
|
|
1436
|
+
* `spacingBox`.
|
|
1437
|
+
*
|
|
1438
|
+
* @type {Highcharts.ButtonRelativeToValue}
|
|
1439
|
+
* @default plotBox
|
|
1440
|
+
* @since 10.0.0
|
|
1441
|
+
* @product highcharts highmaps
|
|
1442
|
+
*/
|
|
1443
|
+
relativeTo: 'plotBox',
|
|
1444
|
+
/**
|
|
1445
|
+
* Whether to reverse the order of buttons. This is common in Arabic
|
|
1446
|
+
* and Hebrew.
|
|
1447
|
+
*
|
|
1448
|
+
* @type {boolean}
|
|
1449
|
+
* @since 10.2.0
|
|
1450
|
+
* @sample {highcharts} highcharts/breadcrumbs/rtl
|
|
1451
|
+
* Breadcrumbs in RTL
|
|
1452
|
+
*/
|
|
1453
|
+
rtl: false,
|
|
1454
|
+
/**
|
|
1455
|
+
* Positioning for the button row. The breadcrumbs buttons will be
|
|
1456
|
+
* aligned properly for the default chart layout (title, subtitle,
|
|
1457
|
+
* legend, range selector) for the custom chart layout set the position
|
|
1458
|
+
* properties.
|
|
1459
|
+
* @type {Highcharts.BreadcrumbsAlignOptions}
|
|
1460
|
+
* @since 10.0.0
|
|
1461
|
+
* @product highcharts highmaps
|
|
1462
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
1463
|
+
* Single, right aligned button
|
|
1464
|
+
*/
|
|
1465
|
+
position: {
|
|
1466
|
+
/**
|
|
1467
|
+
* Horizontal alignment of the breadcrumbs buttons.
|
|
1468
|
+
*
|
|
1469
|
+
* @type {Highcharts.AlignValue}
|
|
1470
|
+
*/
|
|
1471
|
+
align: 'left',
|
|
1472
|
+
/**
|
|
1473
|
+
* Vertical alignment of the breadcrumbs buttons.
|
|
1474
|
+
*
|
|
1475
|
+
* @type {Highcharts.VerticalAlignValue}
|
|
1476
|
+
*/
|
|
1477
|
+
verticalAlign: 'top',
|
|
1478
|
+
/**
|
|
1479
|
+
* The X offset of the breadcrumbs button group.
|
|
1480
|
+
*
|
|
1481
|
+
* @type {number}
|
|
1482
|
+
*/
|
|
1483
|
+
x: 0,
|
|
1484
|
+
/**
|
|
1485
|
+
* The Y offset of the breadcrumbs button group. When `undefined`,
|
|
1486
|
+
* and `floating` is `false`, the `y` position is adapted so that
|
|
1487
|
+
* the breadcrumbs are rendered outside the target area.
|
|
1488
|
+
*
|
|
1489
|
+
* @type {number|undefined}
|
|
1490
|
+
*/
|
|
1491
|
+
y: void 0
|
|
1492
|
+
},
|
|
1493
|
+
/**
|
|
1494
|
+
* Options object for Breadcrumbs separator.
|
|
1495
|
+
*
|
|
1496
|
+
* @since 10.0.0
|
|
1497
|
+
*/
|
|
1498
|
+
separator: {
|
|
1499
|
+
/**
|
|
1500
|
+
* @type {string}
|
|
1501
|
+
* @since 10.0.0
|
|
1502
|
+
* @product highcharts
|
|
1503
|
+
*/
|
|
1504
|
+
text: '/',
|
|
1505
|
+
/**
|
|
1506
|
+
* CSS styles for the breadcrumbs separator.
|
|
1507
|
+
*
|
|
1508
|
+
* In styled mode, the breadcrumbs separators are styled by the
|
|
1509
|
+
* `.highcharts-separator` rule with its different states.
|
|
1510
|
+
* @type {Highcharts.CSSObject}
|
|
1511
|
+
* @since 10.0.0
|
|
1512
|
+
*/
|
|
1513
|
+
style: {
|
|
1514
|
+
color: "#666666" /* Palette.neutralColor60 */
|
|
1515
|
+
}
|
|
1516
|
+
},
|
|
1517
|
+
/**
|
|
1518
|
+
* Show full path or only a single button.
|
|
1519
|
+
*
|
|
1520
|
+
* @type {boolean}
|
|
1521
|
+
* @since 10.0.0
|
|
1522
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
1523
|
+
* Single, styled button
|
|
1524
|
+
*/
|
|
1525
|
+
showFullPath: true,
|
|
1526
|
+
/**
|
|
1527
|
+
* CSS styles for all breadcrumbs.
|
|
1528
|
+
*
|
|
1529
|
+
* In styled mode, the breadcrumbs buttons are styled by the
|
|
1530
|
+
* `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
|
|
1531
|
+
* different states.
|
|
1532
|
+
* @type {Highcharts.SVGAttributes}
|
|
1533
|
+
* @since 10.0.0
|
|
1534
|
+
*/
|
|
1535
|
+
style: {},
|
|
1536
|
+
/**
|
|
1537
|
+
* Whether to use HTML to render the breadcrumbs items texts.
|
|
1538
|
+
*
|
|
1539
|
+
* @type {boolean}
|
|
1540
|
+
* @since 10.0.0
|
|
1541
|
+
*/
|
|
1542
|
+
useHTML: false,
|
|
1543
|
+
/**
|
|
1544
|
+
* The z index of the breadcrumbs group.
|
|
1545
|
+
*
|
|
1546
|
+
* @type {number}
|
|
1547
|
+
* @since 10.0.0
|
|
1548
|
+
*/
|
|
1549
|
+
zIndex: 7
|
|
1550
|
+
};
|
|
1551
|
+
return Breadcrumbs;
|
|
1552
|
+
}());
|
|
1553
|
+
/* eslint-disable no-invalid-this */
|
|
1554
|
+
if (!H.Breadcrumbs) {
|
|
1555
|
+
H.Breadcrumbs = Breadcrumbs;
|
|
1556
|
+
// Logic for making space for the buttons above the plot area
|
|
1557
|
+
addEvent(Chart, 'getMargins', function () {
|
|
1558
|
+
var breadcrumbs = this.breadcrumbs;
|
|
1559
|
+
if (breadcrumbs &&
|
|
1560
|
+
!breadcrumbs.options.floating &&
|
|
1561
|
+
breadcrumbs.level) {
|
|
1562
|
+
var breadcrumbsOptions = breadcrumbs.options,
|
|
1563
|
+
buttonTheme = breadcrumbsOptions.buttonTheme,
|
|
1564
|
+
breadcrumbsHeight = ((buttonTheme.height || 0) +
|
|
1565
|
+
2 * (buttonTheme.padding || 0) +
|
|
1566
|
+
breadcrumbsOptions.buttonSpacing),
|
|
1567
|
+
verticalAlign = breadcrumbsOptions.position.verticalAlign;
|
|
1568
|
+
if (verticalAlign === 'bottom') {
|
|
1569
|
+
this.marginBottom = (this.marginBottom || 0) + breadcrumbsHeight;
|
|
1570
|
+
breadcrumbs.yOffset = breadcrumbsHeight;
|
|
1571
|
+
}
|
|
1572
|
+
else if (verticalAlign !== 'middle') {
|
|
1573
|
+
this.plotTop += breadcrumbsHeight;
|
|
1574
|
+
breadcrumbs.yOffset = -breadcrumbsHeight;
|
|
1575
|
+
}
|
|
1576
|
+
else {
|
|
1577
|
+
breadcrumbs.yOffset = void 0;
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
});
|
|
1581
|
+
addEvent(Chart, 'redraw', function () {
|
|
1582
|
+
this.breadcrumbs && this.breadcrumbs.redraw();
|
|
1583
|
+
});
|
|
1584
|
+
// Remove resize/afterSetExtremes at chart destroy
|
|
1585
|
+
addEvent(Chart, 'destroy', function destroyEvents() {
|
|
1586
|
+
if (this.breadcrumbs) {
|
|
1587
|
+
this.breadcrumbs.destroy();
|
|
1588
|
+
this.breadcrumbs = void 0;
|
|
1589
|
+
}
|
|
1590
|
+
});
|
|
1591
|
+
// Shift the drillUpButton to make the space for resetZoomButton, #8095.
|
|
1592
|
+
addEvent(Chart, 'afterShowResetZoom', function () {
|
|
1593
|
+
var chart = this;
|
|
1594
|
+
if (chart.breadcrumbs) {
|
|
1595
|
+
var bbox = chart.resetZoomButton &&
|
|
1596
|
+
chart.resetZoomButton.getBBox(),
|
|
1597
|
+
breadcrumbsOptions = chart.breadcrumbs.options;
|
|
1598
|
+
if (bbox &&
|
|
1599
|
+
breadcrumbsOptions.position.align === 'right' &&
|
|
1600
|
+
breadcrumbsOptions.relativeTo === 'plotBox') {
|
|
1601
|
+
chart.breadcrumbs.alignBreadcrumbsGroup(-bbox.width - breadcrumbsOptions.buttonSpacing);
|
|
1602
|
+
}
|
|
1603
|
+
}
|
|
1604
|
+
});
|
|
1605
|
+
// After zooming out, shift the drillUpButton
|
|
1606
|
+
// to the previous position, #8095.
|
|
1607
|
+
addEvent(Chart, 'selection', function (event) {
|
|
1608
|
+
if (event.resetSelection === true &&
|
|
1609
|
+
this.breadcrumbs) {
|
|
1610
|
+
this.breadcrumbs.alignBreadcrumbsGroup();
|
|
1611
|
+
}
|
|
1612
|
+
});
|
|
1613
|
+
}
|
|
1614
|
+
/* *
|
|
1615
|
+
*
|
|
1616
|
+
* Default Export
|
|
1617
|
+
*
|
|
1618
|
+
* */
|
|
1619
|
+
/* *
|
|
1620
|
+
*
|
|
1621
|
+
* API Declarations
|
|
1622
|
+
*
|
|
1623
|
+
* */
|
|
1624
|
+
/**
|
|
1625
|
+
* Callback function to react on button clicks.
|
|
1626
|
+
*
|
|
1627
|
+
* @callback Highcharts.BreadcrumbsClickCallbackFunction
|
|
1628
|
+
*
|
|
1629
|
+
* @param {Highcharts.Event} event
|
|
1630
|
+
* Event.
|
|
1631
|
+
*
|
|
1632
|
+
* @param {Highcharts.BreadcrumbOptions} options
|
|
1633
|
+
* Breadcrumb options.
|
|
1634
|
+
*
|
|
1635
|
+
* @param {global.Event} e
|
|
1636
|
+
* Event arguments.
|
|
1637
|
+
*/
|
|
1638
|
+
/**
|
|
1639
|
+
* Callback function to format the breadcrumb text from scratch.
|
|
1640
|
+
*
|
|
1641
|
+
* @callback Highcharts.BreadcrumbsFormatterCallbackFunction
|
|
1642
|
+
*
|
|
1643
|
+
* @param {Highcharts.Event} event
|
|
1644
|
+
* Event.
|
|
1645
|
+
*
|
|
1646
|
+
* @param {Highcharts.BreadcrumbOptions} options
|
|
1647
|
+
* Breadcrumb options.
|
|
1648
|
+
*
|
|
1649
|
+
* @return {string}
|
|
1650
|
+
* Formatted text or false
|
|
1651
|
+
*/
|
|
1652
|
+
/**
|
|
1653
|
+
* Options for the one breadcrumb.
|
|
1654
|
+
*
|
|
1655
|
+
* @interface Highcharts.BreadcrumbOptions
|
|
1656
|
+
*/
|
|
1657
|
+
/**
|
|
1658
|
+
* Level connected to a specific breadcrumb.
|
|
1659
|
+
* @name Highcharts.BreadcrumbOptions#level
|
|
1660
|
+
* @type {number}
|
|
1661
|
+
*/
|
|
1662
|
+
/**
|
|
1663
|
+
* Options for series or point connected to a specific breadcrumb.
|
|
1664
|
+
* @name Highcharts.BreadcrumbOptions#levelOptions
|
|
1665
|
+
* @type {SeriesOptions|PointOptionsObject}
|
|
1666
|
+
*/
|
|
1667
|
+
/**
|
|
1668
|
+
* Options for aligning breadcrumbs group.
|
|
1669
|
+
*
|
|
1670
|
+
* @interface Highcharts.BreadcrumbsAlignOptions
|
|
1671
|
+
*/
|
|
1672
|
+
/**
|
|
1673
|
+
* Align of a Breadcrumb group.
|
|
1674
|
+
* @default right
|
|
1675
|
+
* @name Highcharts.BreadcrumbsAlignOptions#align
|
|
1676
|
+
* @type {AlignValue}
|
|
1677
|
+
*/
|
|
1678
|
+
/**
|
|
1679
|
+
* Vertical align of a Breadcrumb group.
|
|
1680
|
+
* @default top
|
|
1681
|
+
* @name Highcharts.BreadcrumbsAlignOptions#verticalAlign
|
|
1682
|
+
* @type {VerticalAlignValue}
|
|
1683
|
+
*/
|
|
1684
|
+
/**
|
|
1685
|
+
* X offset of a Breadcrumbs group.
|
|
1686
|
+
* @name Highcharts.BreadcrumbsAlignOptions#x
|
|
1687
|
+
* @type {number}
|
|
1688
|
+
*/
|
|
1689
|
+
/**
|
|
1690
|
+
* Y offset of a Breadcrumbs group.
|
|
1691
|
+
* @name Highcharts.BreadcrumbsAlignOptions#y
|
|
1692
|
+
* @type {number}
|
|
1693
|
+
*/
|
|
1694
|
+
/**
|
|
1695
|
+
* Options for all breadcrumbs.
|
|
1696
|
+
*
|
|
1697
|
+
* @interface Highcharts.BreadcrumbsOptions
|
|
1698
|
+
*/
|
|
1699
|
+
/**
|
|
1700
|
+
* Button theme.
|
|
1701
|
+
* @name Highcharts.BreadcrumbsOptions#buttonTheme
|
|
1702
|
+
* @type { SVGAttributes | undefined }
|
|
1703
|
+
*/
|
|
1704
|
+
(''); // Keeps doclets above in JS file
|
|
1705
|
+
|
|
1706
|
+
return Breadcrumbs;
|
|
1707
|
+
});
|
|
739
1708
|
_registerModule(_modules, 'Series/Treemap/TreemapComposition.js', [_modules['Core/Series/SeriesRegistry.js'], _modules['Series/Treemap/TreemapUtilities.js'], _modules['Core/Utilities.js']], function (SeriesRegistry, TreemapUtilities, U) {
|
|
740
1709
|
/* *
|
|
741
1710
|
*
|
|
@@ -797,7 +1766,7 @@
|
|
|
797
1766
|
});
|
|
798
1767
|
|
|
799
1768
|
});
|
|
800
|
-
_registerModule(_modules, 'Series/Treemap/TreemapSeries.js', [_modules['Core/Color/Color.js'], _modules['Series/
|
|
1769
|
+
_registerModule(_modules, 'Series/Treemap/TreemapSeries.js', [_modules['Core/Color/Color.js'], _modules['Series/ColorMapComposition.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Series/Treemap/TreemapAlgorithmGroup.js'], _modules['Series/Treemap/TreemapPoint.js'], _modules['Series/Treemap/TreemapUtilities.js'], _modules['Series/TreeUtilities.js'], _modules['Extensions/Breadcrumbs.js'], _modules['Core/Utilities.js']], function (Color, ColorMapComposition, H, LegendSymbol, SeriesRegistry, TreemapAlgorithmGroup, TreemapPoint, TreemapUtilities, TU, Breadcrumbs, U) {
|
|
801
1770
|
/* *
|
|
802
1771
|
*
|
|
803
1772
|
* (c) 2014-2021 Highsoft AS
|
|
@@ -842,6 +1811,7 @@
|
|
|
842
1811
|
extend = U.extend,
|
|
843
1812
|
fireEvent = U.fireEvent,
|
|
844
1813
|
isArray = U.isArray,
|
|
1814
|
+
isNumber = U.isNumber,
|
|
845
1815
|
isObject = U.isObject,
|
|
846
1816
|
isString = U.isString,
|
|
847
1817
|
merge = U.merge,
|
|
@@ -882,6 +1852,7 @@
|
|
|
882
1852
|
_this.points = void 0;
|
|
883
1853
|
_this.rootNode = void 0;
|
|
884
1854
|
_this.tree = void 0;
|
|
1855
|
+
_this.level = void 0;
|
|
885
1856
|
return _this;
|
|
886
1857
|
/* eslint-enable valid-jsdoc */
|
|
887
1858
|
}
|
|
@@ -1138,6 +2109,46 @@
|
|
|
1138
2109
|
}
|
|
1139
2110
|
});
|
|
1140
2111
|
};
|
|
2112
|
+
/**
|
|
2113
|
+
* Create level list.
|
|
2114
|
+
*
|
|
2115
|
+
* @requires modules/breadcrumbs
|
|
2116
|
+
*
|
|
2117
|
+
* @function TreemapSeries#createList
|
|
2118
|
+
* @param {TreemapSeries} this
|
|
2119
|
+
* Treemap Series class.
|
|
2120
|
+
*/
|
|
2121
|
+
TreemapSeries.prototype.createList = function (e) {
|
|
2122
|
+
var chart = this.chart,
|
|
2123
|
+
breadcrumbs = chart.breadcrumbs,
|
|
2124
|
+
list = [];
|
|
2125
|
+
if (breadcrumbs) {
|
|
2126
|
+
var currentLevelNumber_1 = 0;
|
|
2127
|
+
list.push({
|
|
2128
|
+
level: currentLevelNumber_1,
|
|
2129
|
+
levelOptions: chart.series[0]
|
|
2130
|
+
});
|
|
2131
|
+
var node = e.target.nodeMap[e.newRootId];
|
|
2132
|
+
var extraNodes = [];
|
|
2133
|
+
// When the root node is set and has parent,
|
|
2134
|
+
// recreate the path from the node tree.
|
|
2135
|
+
while (node.parent || node.parent === '') {
|
|
2136
|
+
extraNodes.push(node);
|
|
2137
|
+
node = e.target.nodeMap[node.parent];
|
|
2138
|
+
}
|
|
2139
|
+
extraNodes.reverse().forEach(function (node) {
|
|
2140
|
+
list.push({
|
|
2141
|
+
level: ++currentLevelNumber_1,
|
|
2142
|
+
levelOptions: node
|
|
2143
|
+
});
|
|
2144
|
+
});
|
|
2145
|
+
// If the list has only first element, we should clear it
|
|
2146
|
+
if (list.length <= 1) {
|
|
2147
|
+
list.length = 0;
|
|
2148
|
+
}
|
|
2149
|
+
}
|
|
2150
|
+
return list;
|
|
2151
|
+
};
|
|
1141
2152
|
/**
|
|
1142
2153
|
* Extend drawDataLabels with logic to handle custom options related to
|
|
1143
2154
|
* the treemap series:
|
|
@@ -1388,9 +2399,9 @@
|
|
|
1388
2399
|
};
|
|
1389
2400
|
TreemapSeries.prototype.init = function (chart, options) {
|
|
1390
2401
|
var series = this,
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
2402
|
+
breadcrumbsOptions = merge(options.drillUpButton,
|
|
2403
|
+
options.breadcrumbs);
|
|
2404
|
+
var setOptionsEvent;
|
|
1394
2405
|
setOptionsEvent = addEvent(series, 'setOptions', function (event) {
|
|
1395
2406
|
var options = event.userOptions;
|
|
1396
2407
|
if (defined(options.allowDrillToNode) &&
|
|
@@ -1411,7 +2422,38 @@
|
|
|
1411
2422
|
series.eventsToUnbind.push(setOptionsEvent);
|
|
1412
2423
|
if (series.options.allowTraversingTree) {
|
|
1413
2424
|
series.eventsToUnbind.push(addEvent(series, 'click', series.onClickDrillToNode));
|
|
2425
|
+
series.eventsToUnbind.push(addEvent(series, 'setRootNode', function (e) {
|
|
2426
|
+
var chart = series.chart;
|
|
2427
|
+
if (chart.breadcrumbs) {
|
|
2428
|
+
// Create a list using the event after drilldown.
|
|
2429
|
+
chart.breadcrumbs.updateProperties(series.createList(e));
|
|
2430
|
+
}
|
|
2431
|
+
}));
|
|
2432
|
+
series.eventsToUnbind.push(addEvent(series, 'update', function (e, redraw) {
|
|
2433
|
+
var breadcrumbs = this.chart.breadcrumbs;
|
|
2434
|
+
if (breadcrumbs && e.options.breadcrumbs) {
|
|
2435
|
+
breadcrumbs.update(e.options.breadcrumbs);
|
|
2436
|
+
}
|
|
2437
|
+
}));
|
|
2438
|
+
series.eventsToUnbind.push(addEvent(series, 'destroy', function destroyEvents(e) {
|
|
2439
|
+
var chart = this.chart;
|
|
2440
|
+
if (chart.breadcrumbs) {
|
|
2441
|
+
chart.breadcrumbs.destroy();
|
|
2442
|
+
if (!e.keepEventsForUpdate) {
|
|
2443
|
+
chart.breadcrumbs = void 0;
|
|
2444
|
+
}
|
|
2445
|
+
}
|
|
2446
|
+
}));
|
|
1414
2447
|
}
|
|
2448
|
+
if (!chart.breadcrumbs) {
|
|
2449
|
+
chart.breadcrumbs = new Breadcrumbs(chart, breadcrumbsOptions);
|
|
2450
|
+
}
|
|
2451
|
+
series.eventsToUnbind.push(addEvent(chart.breadcrumbs, 'up', function (e) {
|
|
2452
|
+
var drillUpsNumber = this.level - e.newLevel;
|
|
2453
|
+
for (var i = 0; i < drillUpsNumber; i++) {
|
|
2454
|
+
series.drillUp();
|
|
2455
|
+
}
|
|
2456
|
+
}));
|
|
1415
2457
|
};
|
|
1416
2458
|
/**
|
|
1417
2459
|
* Add drilling on the suitable points.
|
|
@@ -1439,7 +2481,7 @@
|
|
|
1439
2481
|
level = point && mapOptionsToLevel[point.node.level] || {},
|
|
1440
2482
|
options = this.options,
|
|
1441
2483
|
attr,
|
|
1442
|
-
stateOptions =
|
|
2484
|
+
stateOptions = state && options.states && options.states[state] || {},
|
|
1443
2485
|
className = (point && point.getClassName()) || '',
|
|
1444
2486
|
opacity;
|
|
1445
2487
|
// Set attributes by precedence. Point trumps level trumps series.
|
|
@@ -1479,47 +2521,6 @@
|
|
|
1479
2521
|
}
|
|
1480
2522
|
return attr;
|
|
1481
2523
|
};
|
|
1482
|
-
TreemapSeries.prototype.renderTraverseUpButton = function (rootId) {
|
|
1483
|
-
var series = this,
|
|
1484
|
-
nodeMap = series.nodeMap,
|
|
1485
|
-
node = nodeMap[rootId],
|
|
1486
|
-
name = node.name,
|
|
1487
|
-
buttonOptions = series.options
|
|
1488
|
-
.traverseUpButton,
|
|
1489
|
-
backText = pick(buttonOptions.text,
|
|
1490
|
-
name, '◁ Back'),
|
|
1491
|
-
attr,
|
|
1492
|
-
states;
|
|
1493
|
-
if (rootId === '' || (series.is('sunburst') &&
|
|
1494
|
-
series.tree.children.length === 1 &&
|
|
1495
|
-
rootId === series.tree.children[0].id)) {
|
|
1496
|
-
if (series.drillUpButton) {
|
|
1497
|
-
series.drillUpButton = series.drillUpButton.destroy();
|
|
1498
|
-
}
|
|
1499
|
-
}
|
|
1500
|
-
else if (!this.drillUpButton) {
|
|
1501
|
-
attr = buttonOptions.theme;
|
|
1502
|
-
states = attr && attr.states;
|
|
1503
|
-
this.drillUpButton = this.chart.renderer
|
|
1504
|
-
.button(backText, 0, 0, function () {
|
|
1505
|
-
series.drillUp();
|
|
1506
|
-
}, attr, states && states.hover, states && states.select)
|
|
1507
|
-
.addClass('highcharts-drillup-button')
|
|
1508
|
-
.attr({
|
|
1509
|
-
align: buttonOptions.position.align,
|
|
1510
|
-
zIndex: 7
|
|
1511
|
-
})
|
|
1512
|
-
.add()
|
|
1513
|
-
.align(buttonOptions.position, false, buttonOptions.relativeTo || 'plotBox');
|
|
1514
|
-
}
|
|
1515
|
-
else {
|
|
1516
|
-
this.drillUpButton.placed = false;
|
|
1517
|
-
this.drillUpButton.attr({
|
|
1518
|
-
text: backText
|
|
1519
|
-
})
|
|
1520
|
-
.align();
|
|
1521
|
-
}
|
|
1522
|
-
};
|
|
1523
2524
|
/**
|
|
1524
2525
|
* Set the node's color recursively, from the parent down.
|
|
1525
2526
|
* @private
|
|
@@ -1762,7 +2763,6 @@
|
|
|
1762
2763
|
rootId = series.rootNode;
|
|
1763
2764
|
rootNode = series.nodeMap[rootId];
|
|
1764
2765
|
}
|
|
1765
|
-
series.renderTraverseUpButton(rootId);
|
|
1766
2766
|
series.mapOptionsToLevel = getLevelOptions({
|
|
1767
2767
|
from: rootNode.level + 1,
|
|
1768
2768
|
levels: options.levels,
|
|
@@ -1832,7 +2832,7 @@
|
|
|
1832
2832
|
* Treemap
|
|
1833
2833
|
*
|
|
1834
2834
|
* @extends plotOptions.scatter
|
|
1835
|
-
* @excluding
|
|
2835
|
+
* @excluding cluster, connectEnds, connectNulls, dataSorting, dragDrop, jitter, marker
|
|
1836
2836
|
* @product highcharts
|
|
1837
2837
|
* @requires modules/treemap
|
|
1838
2838
|
* @optionparent plotOptions.treemap
|
|
@@ -1869,6 +2869,16 @@
|
|
|
1869
2869
|
* The border radius for each treemap item.
|
|
1870
2870
|
*/
|
|
1871
2871
|
borderRadius: 0,
|
|
2872
|
+
/**
|
|
2873
|
+
* Options for the breadcrumbs, the navigation at the top leading the
|
|
2874
|
+
* way up through the traversed levels.
|
|
2875
|
+
*
|
|
2876
|
+
*
|
|
2877
|
+
* @since 10.0.0
|
|
2878
|
+
* @product highcharts
|
|
2879
|
+
* @extends navigation.breadcrumbs
|
|
2880
|
+
* @optionparent plotOptions.treemap.breadcrumbs
|
|
2881
|
+
*/
|
|
1872
2882
|
/**
|
|
1873
2883
|
* When the series contains less points than the crop threshold, all
|
|
1874
2884
|
* points are drawn, event if the points fall outside the visible plot
|
|
@@ -2032,52 +3042,12 @@
|
|
|
2032
3042
|
*/
|
|
2033
3043
|
levelIsConstant: true,
|
|
2034
3044
|
/**
|
|
2035
|
-
* Options for the button appearing when
|
|
2036
|
-
*
|
|
2037
|
-
*
|
|
3045
|
+
* Options for the button appearing when traversing down in a treemap.
|
|
3046
|
+
*
|
|
3047
|
+
* Since v9.3.3 the `traverseUpButton` is replaced by `breadcrumbs`.
|
|
2038
3048
|
*
|
|
2039
3049
|
* @deprecated
|
|
2040
3050
|
*/
|
|
2041
|
-
drillUpButton: {
|
|
2042
|
-
/**
|
|
2043
|
-
* The position of the button.
|
|
2044
|
-
*
|
|
2045
|
-
* @deprecated
|
|
2046
|
-
*/
|
|
2047
|
-
position: {
|
|
2048
|
-
/**
|
|
2049
|
-
* Vertical alignment of the button.
|
|
2050
|
-
*
|
|
2051
|
-
* @deprecated
|
|
2052
|
-
* @type {Highcharts.VerticalAlignValue}
|
|
2053
|
-
* @default top
|
|
2054
|
-
* @product highcharts
|
|
2055
|
-
* @apioption plotOptions.treemap.drillUpButton.position.verticalAlign
|
|
2056
|
-
*/
|
|
2057
|
-
/**
|
|
2058
|
-
* Horizontal alignment of the button.
|
|
2059
|
-
*
|
|
2060
|
-
* @deprecated
|
|
2061
|
-
* @type {Highcharts.AlignValue}
|
|
2062
|
-
*/
|
|
2063
|
-
align: 'right',
|
|
2064
|
-
/**
|
|
2065
|
-
* Horizontal offset of the button.
|
|
2066
|
-
*
|
|
2067
|
-
* @deprecated
|
|
2068
|
-
*/
|
|
2069
|
-
x: -10,
|
|
2070
|
-
/**
|
|
2071
|
-
* Vertical offset of the button.
|
|
2072
|
-
*
|
|
2073
|
-
* @deprecated
|
|
2074
|
-
*/
|
|
2075
|
-
y: 10
|
|
2076
|
-
}
|
|
2077
|
-
},
|
|
2078
|
-
/**
|
|
2079
|
-
* Options for the button appearing when traversing down in a treemap.
|
|
2080
|
-
*/
|
|
2081
3051
|
traverseUpButton: {
|
|
2082
3052
|
/**
|
|
2083
3053
|
* The position of the button.
|
|
@@ -2238,7 +3208,7 @@
|
|
|
2238
3208
|
*
|
|
2239
3209
|
* @type {Highcharts.ColorString}
|
|
2240
3210
|
*/
|
|
2241
|
-
borderColor: "#e6e6e6" /* neutralColor10 */,
|
|
3211
|
+
borderColor: "#e6e6e6" /* Palette.neutralColor10 */,
|
|
2242
3212
|
/**
|
|
2243
3213
|
* The width of the border surrounding each tree map item.
|
|
2244
3214
|
*/
|
|
@@ -2267,7 +3237,7 @@
|
|
|
2267
3237
|
/**
|
|
2268
3238
|
* The border color for the hovered state.
|
|
2269
3239
|
*/
|
|
2270
|
-
borderColor: "#999999" /* neutralColor40 */,
|
|
3240
|
+
borderColor: "#999999" /* Palette.neutralColor40 */,
|
|
2271
3241
|
/**
|
|
2272
3242
|
* Brightness for the hovered point. Defaults to 0 if the
|
|
2273
3243
|
* heatmap series is loaded first, otherwise 0.1.
|
|
@@ -2298,6 +3268,7 @@
|
|
|
2298
3268
|
}(ScatterSeries));
|
|
2299
3269
|
extend(TreemapSeries.prototype, {
|
|
2300
3270
|
buildKDTree: noop,
|
|
3271
|
+
colorAttribs: ColorMapComposition.seriesMembers.colorAttribs,
|
|
2301
3272
|
colorKey: 'colorValue',
|
|
2302
3273
|
directTouch: true,
|
|
2303
3274
|
drawLegendSymbol: LegendSymbol.drawRectangle,
|
|
@@ -2312,6 +3283,7 @@
|
|
|
2312
3283
|
recursive: TreemapUtilities.recursive
|
|
2313
3284
|
}
|
|
2314
3285
|
});
|
|
3286
|
+
ColorMapComposition.compose(TreemapSeries);
|
|
2315
3287
|
SeriesRegistry.registerSeriesType('treemap', TreemapSeries);
|
|
2316
3288
|
/* *
|
|
2317
3289
|
*
|
|
@@ -2409,8 +3381,10 @@
|
|
|
2409
3381
|
|
|
2410
3382
|
return TreemapSeries;
|
|
2411
3383
|
});
|
|
2412
|
-
_registerModule(_modules, 'masters/modules/treemap.src.js', [], function () {
|
|
3384
|
+
_registerModule(_modules, 'masters/modules/treemap.src.js', [_modules['Core/Globals.js'], _modules['Extensions/Breadcrumbs.js']], function (Highcharts, Breadcrumbs) {
|
|
2413
3385
|
|
|
3386
|
+
var G = Highcharts;
|
|
3387
|
+
G.Breadcrumbs = Breadcrumbs;
|
|
2414
3388
|
|
|
2415
3389
|
});
|
|
2416
3390
|
}));
|