highcharts 9.3.1 → 10.0.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/annotations/popup.css +1 -1
- package/css/highcharts.css +21 -4
- package/css/highcharts.scss +18 -3
- package/css/stocktools/gui.css +1 -1
- package/css/themes/dark-unica.css +21 -4
- package/css/themes/grid-light.css +21 -4
- package/css/themes/sand-signika.css +21 -4
- package/es-modules/Accessibility/A11yI18n.js +1 -5
- package/es-modules/Accessibility/Accessibility.js +12 -6
- package/es-modules/Accessibility/AccessibilityComponent.js +1 -1
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +9 -5
- package/es-modules/Accessibility/Components/ContainerComponent.js +1 -1
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -19
- package/es-modules/Accessibility/Components/LegendComponent.js +196 -98
- package/es-modules/Accessibility/Components/MenuComponent.js +16 -15
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +11 -14
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +22 -12
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +9 -5
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +19 -44
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +77 -56
- package/es-modules/Accessibility/Components/ZoomComponent.js +148 -67
- package/es-modules/Accessibility/FocusBorder.js +0 -5
- package/es-modules/Accessibility/HighContrastMode.js +4 -3
- package/es-modules/Accessibility/KeyboardNavigation.js +117 -101
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -5
- package/es-modules/Accessibility/Options/LangOptions.js +3 -3
- package/es-modules/Accessibility/ProxyElement.js +26 -12
- package/es-modules/Accessibility/ProxyProvider.js +10 -5
- package/es-modules/Accessibility/Utils/Announcer.js +2 -2
- package/es-modules/Accessibility/Utils/ChartUtilities.js +17 -32
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +0 -12
- package/es-modules/Core/Animation/Fx.js +5 -14
- package/es-modules/Core/Axis/Axis.js +189 -111
- package/es-modules/Core/Axis/Axis3D.js +10 -4
- package/es-modules/Core/Axis/BrokenAxis.js +17 -11
- package/es-modules/Core/Axis/Color/ColorAxis.js +28 -8
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
- package/es-modules/Core/Axis/GridAxis.js +34 -23
- package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
- package/es-modules/Core/Axis/OrdinalAxis.js +83 -79
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
- package/es-modules/Core/Axis/RadialAxis.js +7 -28
- package/es-modules/Core/Axis/ScrollbarAxis.js +18 -10
- package/es-modules/Core/Axis/StackingAxis.js +2 -1
- package/es-modules/Core/Axis/Tick.js +2 -4
- package/es-modules/Core/Axis/TreeGridAxis.js +26 -17
- package/es-modules/Core/Axis/TreeGridTick.js +15 -1
- package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
- package/es-modules/Core/Axis/ZAxis.js +1 -1
- package/es-modules/Core/Chart/Chart.js +42 -44
- package/es-modules/Core/Chart/Chart3D.js +24 -21
- package/es-modules/Core/Chart/ChartDefaults.js +32 -11
- package/es-modules/Core/Chart/GanttChart.js +4 -4
- package/es-modules/Core/Chart/MapChart.js +4 -9
- package/es-modules/Core/Chart/StockChart.js +10 -23
- package/es-modules/Core/DefaultOptions.js +5 -2
- package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
- package/es-modules/Core/Geometry/PolygonClip.js +84 -0
- package/es-modules/Core/Globals.js +4 -18
- package/es-modules/Core/HttpUtilities.js +18 -12
- package/es-modules/Core/Legend/Legend.js +22 -21
- package/es-modules/Core/Navigator.js +43 -28
- package/es-modules/Core/Pointer.js +28 -20
- package/es-modules/Core/Renderer/HTML/AST.js +88 -18
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +4 -2
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
- package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGElement.js +33 -57
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -28
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +25 -17
- package/es-modules/Core/Responsive.js +2 -3
- package/es-modules/Core/Scrollbar.js +14 -12
- package/es-modules/Core/Series/DataLabel.js +26 -13
- package/es-modules/Core/Series/Point.js +19 -18
- package/es-modules/Core/Series/Series.js +77 -88
- package/es-modules/Core/Series/SeriesDefaults.js +9 -5
- package/es-modules/Core/Time.js +14 -11
- package/es-modules/Core/Tooltip.js +30 -64
- package/es-modules/Core/Utilities.js +33 -45
- package/es-modules/Data/DataConverter.js +0 -6
- package/es-modules/Data/DataSeriesConverter.js +9 -5
- package/es-modules/Data/DataTable.js +2 -1
- package/es-modules/Data/Modifiers/DataModifier.js +1 -1
- package/es-modules/Data/Parsers/CSVParser.js +3 -2
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +5 -2
- package/es-modules/Data/Stores/CSVStore.js +2 -2
- package/es-modules/Data/Stores/DataStore.js +1 -1
- 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 +18 -10
- package/es-modules/Extensions/Annotations/ControlPoint.js +0 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +6 -3
- package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
- package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +34 -29
- package/es-modules/Extensions/Annotations/Popup.js +40 -32
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +15 -11
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +2 -1
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +8 -4
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +10 -5
- package/es-modules/Extensions/Boost/BoostInit.js +6 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
- package/es-modules/Extensions/Boost/BoostOverrides.js +3 -9
- package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
- package/es-modules/Extensions/Boost/Boostables.js +1 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +64 -49
- package/es-modules/Extensions/Boost/WGLShader.js +13 -11
- package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
- package/es-modules/Extensions/Breadcrumbs.js +874 -0
- package/es-modules/Extensions/Data.js +30 -62
- package/es-modules/Extensions/DataGrouping.js +27 -17
- package/es-modules/Extensions/DraggablePoints.js +16 -15
- package/es-modules/Extensions/Drilldown.js +148 -90
- package/es-modules/Extensions/ExportData.js +6 -5
- package/es-modules/Extensions/Exporting/Exporting.js +32 -44
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
- package/es-modules/Extensions/FullScreen.js +4 -3
- package/es-modules/Extensions/GeoJSON.js +152 -127
- package/es-modules/Extensions/MarkerClusters.js +37 -21
- package/es-modules/Extensions/Math3D.js +4 -4
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +133 -46
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +13 -77
- package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
- package/es-modules/Extensions/Pane.js +6 -6
- package/es-modules/Extensions/ParallelCoordinates.js +5 -3
- package/es-modules/Extensions/PatternFill.js +17 -11
- package/es-modules/Extensions/Polar.js +6 -3
- package/es-modules/Extensions/PriceIndication.js +2 -1
- package/es-modules/Extensions/RangeSelector.js +19 -55
- package/es-modules/Extensions/ScrollablePlotArea.js +7 -3
- package/es-modules/Extensions/SeriesLabel.js +1 -1
- package/es-modules/Extensions/Sonification/ChartSonify.js +32 -26
- package/es-modules/Extensions/Sonification/Instrument.js +12 -15
- package/es-modules/Extensions/Sonification/PointSonify.js +12 -8
- package/es-modules/Extensions/Sonification/SeriesSonify.js +33 -18
- package/es-modules/Extensions/Sonification/SignalHandler.js +4 -6
- package/es-modules/Extensions/Sonification/Sonification.js +1 -1
- package/es-modules/Extensions/Sonification/SonificationUtilities.js +11 -7
- package/es-modules/Extensions/Sonification/Timeline.js +2 -7
- package/es-modules/Extensions/Sonification/TimelineEvent.js +0 -1
- package/es-modules/Extensions/Sonification/TimelinePath.js +8 -8
- package/es-modules/Extensions/Stacking.js +8 -25
- package/es-modules/Extensions/Themes/BrandDark.js +293 -0
- package/es-modules/Extensions/Themes/BrandLight.js +259 -0
- package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
- package/es-modules/Extensions/Themes/Grid.js +4 -2
- package/es-modules/Extensions/Themes/GridLight.js +4 -2
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Gantt/Connection.js +2 -2
- package/es-modules/Gantt/Pathfinder.js +6 -5
- package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
- package/es-modules/Maps/MapNavigation.js +54 -14
- package/es-modules/Maps/MapPointer.js +18 -1
- package/es-modules/Maps/MapSymbols.js +23 -3
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +606 -135
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
- package/es-modules/Maps/Projection.js +169 -77
- 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 +77 -0
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
- package/es-modules/Series/Area/AreaSeries.js +13 -13
- package/es-modules/Series/Area3DSeries.js +4 -2
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +24 -12
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -1
- package/es-modules/Series/Bubble/BubbleLegendItem.js +2 -12
- package/es-modules/Series/Candlestick/CandlestickSeries.js +0 -1
- package/es-modules/Series/ColorMapMixin.js +84 -0
- package/es-modules/Series/Column/ColumnSeries.js +20 -17
- package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +5 -2
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
- package/es-modules/Series/DataModifyComposition.js +1 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -3
- package/es-modules/Series/DrawPointComposition.js +7 -4
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +0 -3
- package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
- package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
- package/es-modules/Series/Gantt/GanttPoint.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +1 -6
- package/es-modules/Series/Heatmap/HeatmapPoint.js +10 -10
- package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -10
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +8 -6
- package/es-modules/Series/Histogram/HistogramSeries.js +4 -4
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +19 -20
- package/es-modules/Series/Item/ItemSeries.js +4 -5
- package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
- package/es-modules/Series/Map/MapPoint.js +30 -1
- package/es-modules/Series/Map/MapSeries.js +216 -190
- package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
- package/es-modules/Series/MapLine/MapLineSeries.js +0 -4
- package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
- package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
- package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
- package/es-modules/Series/Networkgraph/Integrations.js +8 -22
- package/es-modules/Series/Networkgraph/Networkgraph.js +1 -5
- package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
- package/es-modules/Series/NodesComposition.js +60 -12
- package/es-modules/Series/OHLC/OHLCPoint.js +0 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +8 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +81 -25
- package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +2 -4
- package/es-modules/Series/Pie/PiePoint.js +14 -7
- package/es-modules/Series/Pie/PieSeries.js +1 -1
- package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
- package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +20 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
- package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
- package/es-modules/Series/Sankey/SankeySeries.js +10 -126
- package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
- package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
- package/es-modules/Series/Spline/SplineSeries.js +0 -8
- package/es-modules/Series/Sunburst/SunburstSeries.js +15 -4
- package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
- package/es-modules/Series/Tilemap/TilemapPoint.js +0 -2
- package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
- package/es-modules/Series/TreeUtilities.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +104 -99
- package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
- package/es-modules/Series/Venn/VennSeries.js +6 -9
- package/es-modules/Series/Venn/VennUtils.js +8 -7
- package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -3
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -10
- package/es-modules/Series/XRange/XRangePoint.js +6 -12
- package/es-modules/Series/XRange/XRangeSeries.js +4 -20
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +12 -0
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -0
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +12 -0
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +9 -5
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +2 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +12 -0
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -3
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +30 -12
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -1
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +70 -6
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +11 -0
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +11 -5
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -3
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
- package/es-modules/Stock/StockToolsBindings.js +13 -6
- package/es-modules/Stock/StockToolsGui.js +34 -23
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/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 +2 -2
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +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 +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +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 +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +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 +14 -0
- package/es-modules/masters/themes/brand-light.src.js +14 -0
- 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 +114 -54
- package/highcharts-gantt.js +805 -800
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +1102 -973
- package/highcharts-more.js +195 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +85 -104
- package/highcharts.d.ts +8196 -2661
- package/highcharts.js +590 -585
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +8196 -2661
- package/highcharts.src.js +872 -745
- package/highmaps.js +757 -727
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +3983 -2601
- package/highstock.js +792 -788
- package/highstock.js.map +1 -1
- package/highstock.src.js +1118 -1001
- package/indicators/acceleration-bands.d.ts +17 -1
- package/indicators/acceleration-bands.js +12 -10
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +17 -1
- package/indicators/acceleration-bands.src.js +98 -7
- 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 +11 -2
- 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 +17 -1
- package/indicators/aroon-oscillator.js +10 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +17 -1
- package/indicators/aroon-oscillator.src.js +86 -7
- package/indicators/aroon.d.ts +17 -1
- package/indicators/aroon.js +11 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +17 -1
- package/indicators/aroon.src.js +87 -7
- 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 +17 -1
- package/indicators/bollinger-bands.js +12 -10
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +17 -1
- package/indicators/bollinger-bands.src.js +98 -7
- 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 +46 -17
- 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 +13 -3
- package/indicators/dmi.js +12 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +95 -12
- 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 +17 -8
- package/indicators/indicators-all.d.ts +17 -1
- package/indicators/indicators-all.js +199 -197
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +17 -1
- package/indicators/indicators-all.src.js +266 -69
- package/indicators/indicators.js +13 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +23 -8
- package/indicators/keltner-channels.d.ts +17 -1
- package/indicators/keltner-channels.js +12 -10
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +17 -1
- package/indicators/keltner-channels.src.js +98 -7
- package/indicators/klinger.js +14 -12
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +94 -10
- package/indicators/macd.js +12 -11
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +12 -3
- 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 +13 -3
- 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 +17 -1
- package/indicators/price-channel.js +11 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +17 -1
- package/indicators/price-channel.src.js +97 -7
- 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 +41 -14
- 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 +13 -3
- 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 +17 -1
- package/indicators/stochastic.js +12 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +17 -1
- package/indicators/stochastic.src.js +89 -8
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +11 -2
- 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 +14 -5
- package/indicators/vwap.js +5 -5
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +30 -9
- 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.d.ts +0 -35
- package/modules/accessibility.js +232 -226
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +0 -35
- package/modules/accessibility.src.js +792 -613
- package/modules/annotations-advanced.js +175 -175
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +175 -129
- package/modules/annotations.js +124 -124
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +130 -102
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +770 -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 +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +11 -2
- package/modules/boost.js +80 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +103 -85
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +28 -13
- package/modules/bullet.js +9 -9
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +11 -2
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +42 -13
- package/modules/current-date-indicator.js +5 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +11 -2
- package/modules/cylinder.js +11 -11
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +47 -6
- package/modules/data.d.ts +6 -6
- package/modules/data.js +34 -33
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +6 -6
- package/modules/data.src.js +68 -84
- package/modules/datagrouping.js +21 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +38 -19
- package/modules/debugger.js +6 -6
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +11 -2
- package/modules/dependency-wheel.js +12 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +15 -6
- 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 +11 -2
- package/modules/draggable-points.js +35 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +27 -17
- 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 +1091 -101
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +11 -6
- package/modules/export-data.js +22 -21
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +17 -7
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +114 -62
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +15 -5
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +11 -2
- package/modules/funnel3d.js +21 -21
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +27 -11
- package/modules/gantt.js +217 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +241 -230
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +46 -27
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +119 -117
- package/modules/heikinashi.js +8 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +19 -8
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +17 -7
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +31 -26
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +16 -7
- 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 +82 -43
- package/modules/map.js +169 -144
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +82 -43
- package/modules/map.src.js +8003 -6739
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +50 -24
- package/modules/networkgraph.d.ts +5 -0
- package/modules/networkgraph.js +49 -48
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +5 -0
- package/modules/networkgraph.src.js +87 -48
- 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 +11 -2
- package/modules/offline-exporting.js +20 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +149 -53
- 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 +29 -80
- package/modules/organization.js +16 -14
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +168 -32
- 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 +16 -5
- 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 +31 -21
- package/modules/pattern-fill.js +14 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +28 -13
- package/modules/price-indicator.js +5 -5
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +13 -3
- package/modules/pyramid3d.js +4 -4
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +13 -3
- package/modules/sankey.d.ts +5 -0
- package/modules/sankey.js +32 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +5 -0
- package/modules/sankey.src.js +340 -156
- package/modules/series-label.js +18 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +12 -3
- package/modules/solid-gauge.js +10 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +27 -3
- package/modules/sonification.js +59 -59
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +131 -104
- 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 +107 -107
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +137 -98
- package/modules/stock.js +162 -162
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +257 -258
- 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 -61
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.d.ts +3 -0
- package/modules/sunburst.src.js +1128 -205
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +11 -11
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +11 -2
- package/modules/treegrid.js +57 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +106 -58
- package/modules/treemap.d.ts +3 -0
- package/modules/treemap.js +53 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.d.ts +3 -0
- package/modules/treemap.src.js +1113 -200
- 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 +17 -4
- 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 +34 -23
- 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 +26 -18
- package/modules/xrange.js +16 -16
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +21 -34
- 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 +16 -0
- package/themes/brand-dark.js.map +1 -0
- package/themes/brand-dark.src.js +337 -0
- package/themes/brand-light.js +15 -0
- package/themes/brand-light.js.map +1 -0
- package/themes/brand-light.src.js +303 -0
- 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 +15 -4
- 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 +15 -4
- package/themes/grid.js +5 -5
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +15 -4
- 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/Maps/ProjectionDefinition.js +0 -9
- package/es-modules/Series/ColorMapComposition.js +0 -109
package/modules/treemap.src.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS
|
|
2
|
+
* @license Highcharts JS v10.0.0 (2022-03-07)
|
|
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/ColorMapMixin.js', [_modules['Core/Globals.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js']], function (H, Point, U) {
|
|
31
40
|
/* *
|
|
32
41
|
*
|
|
33
42
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -37,79 +46,66 @@
|
|
|
37
46
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
38
47
|
*
|
|
39
48
|
* */
|
|
49
|
+
// @todo cleanup & reduction - consider composition
|
|
50
|
+
var noop = H.noop,
|
|
51
|
+
seriesTypes = H.seriesTypes;
|
|
40
52
|
var defined = U.defined,
|
|
41
|
-
|
|
53
|
+
addEvent = U.addEvent;
|
|
54
|
+
// Move points to the top of the z-index order when hovered
|
|
55
|
+
addEvent(Point, 'afterSetState', function (e) {
|
|
56
|
+
var point = this;
|
|
57
|
+
if (point.moveToTopOnHover && point.graphic) {
|
|
58
|
+
point.graphic.attr({
|
|
59
|
+
zIndex: e && e.state === 'hover' ? 1 : 0
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Mixin for maps and heatmaps
|
|
65
|
+
*
|
|
66
|
+
* @private
|
|
67
|
+
* @mixin Highcharts.colorMapPointMixin
|
|
68
|
+
*/
|
|
69
|
+
var PointMixin = {
|
|
70
|
+
dataLabelOnNull: true,
|
|
71
|
+
moveToTopOnHover: true,
|
|
72
|
+
/* eslint-disable valid-jsdoc */
|
|
73
|
+
/**
|
|
74
|
+
* Color points have a value option that determines whether or not it is
|
|
75
|
+
* a null point
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
isValid: function () {
|
|
79
|
+
// undefined is allowed
|
|
80
|
+
return (this.value !== null &&
|
|
81
|
+
this.value !== Infinity &&
|
|
82
|
+
this.value !== -Infinity);
|
|
83
|
+
}
|
|
84
|
+
/* eslint-enable valid-jsdoc */
|
|
85
|
+
};
|
|
42
86
|
/**
|
|
43
87
|
* @private
|
|
44
88
|
* @mixin Highcharts.colorMapSeriesMixin
|
|
45
89
|
*/
|
|
46
|
-
var
|
|
90
|
+
var SeriesMixin = {
|
|
47
91
|
pointArrayMap: ['value'],
|
|
48
92
|
axisTypes: ['xAxis', 'yAxis', 'colorAxis'],
|
|
49
93
|
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
|
50
|
-
|
|
94
|
+
getSymbol: noop,
|
|
51
95
|
parallelArrays: ['x', 'y', 'value'],
|
|
52
|
-
colorKey: 'value'
|
|
53
|
-
|
|
96
|
+
colorKey: 'value',
|
|
97
|
+
pointAttribs: seriesTypes.column.prototype.pointAttribs,
|
|
54
98
|
/* eslint-disable valid-jsdoc */
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
*
|
|
66
|
-
* Constants
|
|
67
|
-
*
|
|
68
|
-
* */
|
|
69
|
-
var composedClasses = [];
|
|
70
|
-
/* *
|
|
71
|
-
*
|
|
72
|
-
* Functions
|
|
73
|
-
*
|
|
74
|
-
* */
|
|
75
|
-
/* eslint-disable valid-jsdoc */
|
|
76
|
-
/**
|
|
77
|
-
* @private
|
|
78
|
-
*/
|
|
79
|
-
function compose(SeriesClass, PointClass) {
|
|
80
|
-
if (PointClass && composedClasses.indexOf(PointClass) === -1) {
|
|
81
|
-
composedClasses.push(PointClass);
|
|
82
|
-
var pointProto = PointClass.prototype;
|
|
83
|
-
pointProto.dataLabelOnNull = true;
|
|
84
|
-
pointProto.moveToTopOnHover = true;
|
|
85
|
-
pointProto.isValid = pointIsValid;
|
|
86
|
-
}
|
|
87
|
-
if (composedClasses.indexOf(SeriesClass) === -1) {
|
|
88
|
-
composedClasses.push(SeriesClass);
|
|
89
|
-
var seriesProto = SeriesClass.prototype;
|
|
90
|
-
seriesProto.colorAttribs = seriesColorAttribs;
|
|
91
|
-
wrap(seriesProto, 'pointAttribs', seriesWrapPointAttribs);
|
|
92
|
-
}
|
|
93
|
-
return SeriesClass;
|
|
94
|
-
}
|
|
95
|
-
ColorMapComposition.compose = compose;
|
|
96
|
-
/**
|
|
97
|
-
* Color points have a value option that determines whether or not it is
|
|
98
|
-
* a null point
|
|
99
|
-
* @private
|
|
100
|
-
*/
|
|
101
|
-
function pointIsValid() {
|
|
102
|
-
// undefined is allowed
|
|
103
|
-
return (this.value !== null &&
|
|
104
|
-
this.value !== Infinity &&
|
|
105
|
-
this.value !== -Infinity);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get the color attibutes to apply on the graphic
|
|
109
|
-
* @private
|
|
110
|
-
*/
|
|
111
|
-
function seriesColorAttribs(point) {
|
|
112
|
-
var ret = {};
|
|
99
|
+
/**
|
|
100
|
+
* Get the color attibutes to apply on the graphic
|
|
101
|
+
* @private
|
|
102
|
+
* @function Highcharts.colorMapSeriesMixin.colorAttribs
|
|
103
|
+
* @param {Highcharts.Point} point
|
|
104
|
+
* @return {Highcharts.SVGAttributes}
|
|
105
|
+
* The SVG attributes
|
|
106
|
+
*/
|
|
107
|
+
colorAttribs: function (point) {
|
|
108
|
+
var ret = {};
|
|
113
109
|
if (defined(point.color) &&
|
|
114
110
|
(!point.state || point.state === 'normal') // #15746
|
|
115
111
|
) {
|
|
@@ -117,28 +113,13 @@
|
|
|
117
113
|
}
|
|
118
114
|
return ret;
|
|
119
115
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
function seriesWrapPointAttribs(original, point, state) {
|
|
126
|
-
var attribs = original.call(this,
|
|
127
|
-
point,
|
|
128
|
-
state);
|
|
129
|
-
if (point.moveToTopOnHover) {
|
|
130
|
-
attribs.zIndex = state === 'hover' ? 1 : 0;
|
|
131
|
-
}
|
|
132
|
-
return attribs;
|
|
133
|
-
}
|
|
134
|
-
})(ColorMapComposition || (ColorMapComposition = {}));
|
|
135
|
-
/* *
|
|
136
|
-
*
|
|
137
|
-
* Default Export
|
|
138
|
-
*
|
|
139
|
-
* */
|
|
116
|
+
};
|
|
117
|
+
var ColorMapMixin = {
|
|
118
|
+
PointMixin: PointMixin,
|
|
119
|
+
SeriesMixin: SeriesMixin
|
|
120
|
+
};
|
|
140
121
|
|
|
141
|
-
return
|
|
122
|
+
return ColorMapMixin;
|
|
142
123
|
});
|
|
143
124
|
_registerModule(_modules, 'Series/Treemap/TreemapAlgorithmGroup.js', [], function () {
|
|
144
125
|
/* *
|
|
@@ -309,12 +290,15 @@
|
|
|
309
290
|
params.attribs['class'] = this.getClassName();
|
|
310
291
|
if (this.shouldDraw()) {
|
|
311
292
|
if (!graphic) {
|
|
312
|
-
this.graphic = graphic =
|
|
313
|
-
renderer
|
|
314
|
-
|
|
293
|
+
this.graphic = graphic = params.shapeType === 'text' ?
|
|
294
|
+
renderer.text() :
|
|
295
|
+
renderer[params.shapeType](params.shapeArgs || {});
|
|
296
|
+
graphic.add(params.group);
|
|
297
|
+
}
|
|
298
|
+
if (css) {
|
|
299
|
+
graphic.css(css);
|
|
315
300
|
}
|
|
316
301
|
graphic
|
|
317
|
-
.css(css)
|
|
318
302
|
.attr(params.attribs)
|
|
319
303
|
.animate(animatableAttribs, params.isNew ? false : animation, onComplete);
|
|
320
304
|
}
|
|
@@ -617,7 +601,7 @@
|
|
|
617
601
|
*
|
|
618
602
|
* @private
|
|
619
603
|
*
|
|
620
|
-
* @param {
|
|
604
|
+
* @param {Object} params
|
|
621
605
|
* Object containing parameters.
|
|
622
606
|
* - `defaults` Object containing default options. The default options are
|
|
623
607
|
* merged with the userOptions to get the final options for a specific
|
|
@@ -727,7 +711,7 @@
|
|
|
727
711
|
*
|
|
728
712
|
* @private
|
|
729
713
|
*
|
|
730
|
-
* @param {
|
|
714
|
+
* @param {Object} series
|
|
731
715
|
* The series to operate on.
|
|
732
716
|
*
|
|
733
717
|
* @return {string}
|
|
@@ -764,6 +748,933 @@
|
|
|
764
748
|
|
|
765
749
|
return TreeUtilities;
|
|
766
750
|
});
|
|
751
|
+
_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) {
|
|
752
|
+
/* *
|
|
753
|
+
*
|
|
754
|
+
* Highcharts Breadcrumbs module
|
|
755
|
+
*
|
|
756
|
+
* Authors: Grzegorz Blachlinski, Karol Kolodziej
|
|
757
|
+
*
|
|
758
|
+
* License: www.highcharts.com/license
|
|
759
|
+
*
|
|
760
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
761
|
+
*
|
|
762
|
+
* */
|
|
763
|
+
var defaultOptions = D.defaultOptions;
|
|
764
|
+
var format = F.format;
|
|
765
|
+
var addEvent = U.addEvent,
|
|
766
|
+
objectEach = U.objectEach,
|
|
767
|
+
extend = U.extend,
|
|
768
|
+
fireEvent = U.fireEvent,
|
|
769
|
+
merge = U.merge,
|
|
770
|
+
pick = U.pick,
|
|
771
|
+
defined = U.defined,
|
|
772
|
+
isString = U.isString;
|
|
773
|
+
// Add language support.
|
|
774
|
+
extend(defaultOptions.lang,
|
|
775
|
+
/**
|
|
776
|
+
* @optionparent lang
|
|
777
|
+
*/
|
|
778
|
+
{
|
|
779
|
+
/**
|
|
780
|
+
* @since 10.0.0
|
|
781
|
+
* @product highcharts
|
|
782
|
+
*/
|
|
783
|
+
mainBreadcrumb: 'Main'
|
|
784
|
+
});
|
|
785
|
+
/**
|
|
786
|
+
* The Breadcrumbs class
|
|
787
|
+
*
|
|
788
|
+
* @private
|
|
789
|
+
* @class
|
|
790
|
+
* @name Highcharts.Breadcrumbs
|
|
791
|
+
*
|
|
792
|
+
* @param {Highcharts.Chart} chart
|
|
793
|
+
* Chart object
|
|
794
|
+
* @param {Highcharts.Options} userOptions
|
|
795
|
+
* User options
|
|
796
|
+
*/
|
|
797
|
+
var Breadcrumbs = /** @class */ (function () {
|
|
798
|
+
function Breadcrumbs(chart, userOptions) {
|
|
799
|
+
/* *
|
|
800
|
+
*
|
|
801
|
+
* Properties
|
|
802
|
+
*
|
|
803
|
+
* */
|
|
804
|
+
this.group = void 0;
|
|
805
|
+
this.list = [];
|
|
806
|
+
this.elementList = {};
|
|
807
|
+
this.isDirty = true;
|
|
808
|
+
this.level = 0;
|
|
809
|
+
this.options = void 0;
|
|
810
|
+
var chartOptions = merge(chart.options.drilldown &&
|
|
811
|
+
chart.options.drilldown.drillUpButton,
|
|
812
|
+
Breadcrumbs.defaultBreadcrumbsOptions,
|
|
813
|
+
chart.options.navigation && chart.options.navigation.breadcrumbs,
|
|
814
|
+
userOptions);
|
|
815
|
+
this.chart = chart;
|
|
816
|
+
this.options = chartOptions || {};
|
|
817
|
+
}
|
|
818
|
+
/**
|
|
819
|
+
* Update Breadcrumbs properties, like level and list.
|
|
820
|
+
*
|
|
821
|
+
* @requires modules/breadcrumbs
|
|
822
|
+
*
|
|
823
|
+
* @function Highcharts.Breadcrumbs#updateProperties
|
|
824
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
825
|
+
* Breadcrumbs class.
|
|
826
|
+
*/
|
|
827
|
+
Breadcrumbs.prototype.updateProperties = function (list) {
|
|
828
|
+
this.setList(list);
|
|
829
|
+
this.setLevel();
|
|
830
|
+
this.isDirty = true;
|
|
831
|
+
};
|
|
832
|
+
/**
|
|
833
|
+
* Set breadcrumbs list.
|
|
834
|
+
* @function Highcharts.Breadcrumbs#setList
|
|
835
|
+
*
|
|
836
|
+
* @requires modules/breadcrumbs
|
|
837
|
+
*
|
|
838
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
839
|
+
* Breadcrumbs class.
|
|
840
|
+
* @param {Highcharts.BreadcrumbsOptions} list
|
|
841
|
+
* Breadcrumbs list.
|
|
842
|
+
*/
|
|
843
|
+
Breadcrumbs.prototype.setList = function (list) {
|
|
844
|
+
this.list = list;
|
|
845
|
+
};
|
|
846
|
+
/**
|
|
847
|
+
* Calcule level on which chart currently is.
|
|
848
|
+
*
|
|
849
|
+
* @requires modules/breadcrumbs
|
|
850
|
+
*
|
|
851
|
+
* @function Highcharts.Breadcrumbs#setLevel
|
|
852
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
853
|
+
* Breadcrumbs class.
|
|
854
|
+
*/
|
|
855
|
+
Breadcrumbs.prototype.setLevel = function () {
|
|
856
|
+
this.level = this.list.length && this.list.length - 1;
|
|
857
|
+
};
|
|
858
|
+
/**
|
|
859
|
+
* Get Breadcrumbs level
|
|
860
|
+
*
|
|
861
|
+
* @requires modules/breadcrumbs
|
|
862
|
+
*
|
|
863
|
+
* @function Highcharts.Breadcrumbs#getLevel
|
|
864
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
865
|
+
* Breadcrumbs class.
|
|
866
|
+
*/
|
|
867
|
+
Breadcrumbs.prototype.getLevel = function () {
|
|
868
|
+
return this.level;
|
|
869
|
+
};
|
|
870
|
+
/**
|
|
871
|
+
* Default button text formatter.
|
|
872
|
+
*
|
|
873
|
+
* @requires modules/breadcrumbs
|
|
874
|
+
*
|
|
875
|
+
* @function Highcharts.Breadcrumbs#getButtonText
|
|
876
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
877
|
+
* Breadcrumbs class.
|
|
878
|
+
* @param {Highcharts.Breadcrumbs} breadcrumb
|
|
879
|
+
* Breadcrumb.
|
|
880
|
+
* @return {string}
|
|
881
|
+
* Formatted text.
|
|
882
|
+
*/
|
|
883
|
+
Breadcrumbs.prototype.getButtonText = function (breadcrumb) {
|
|
884
|
+
var breadcrumbs = this,
|
|
885
|
+
chart = breadcrumbs.chart,
|
|
886
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
887
|
+
lang = chart.options.lang,
|
|
888
|
+
textFormat = pick(breadcrumbsOptions.format,
|
|
889
|
+
breadcrumbsOptions.showFullPath ?
|
|
890
|
+
'{level.name}' : '← {level.name}'),
|
|
891
|
+
defaultText = lang && pick(lang.drillUpText,
|
|
892
|
+
lang.mainBreadcrumb);
|
|
893
|
+
var returnText = breadcrumbsOptions.formatter &&
|
|
894
|
+
breadcrumbsOptions.formatter(breadcrumb) ||
|
|
895
|
+
format(textFormat, { level: breadcrumb.levelOptions },
|
|
896
|
+
chart) || '';
|
|
897
|
+
if (((isString(returnText) &&
|
|
898
|
+
!returnText.length) ||
|
|
899
|
+
returnText === '← ') &&
|
|
900
|
+
defined(defaultText)) {
|
|
901
|
+
returnText = !breadcrumbsOptions.showFullPath ?
|
|
902
|
+
'← ' + defaultText :
|
|
903
|
+
defaultText;
|
|
904
|
+
}
|
|
905
|
+
return returnText;
|
|
906
|
+
};
|
|
907
|
+
/**
|
|
908
|
+
* Redraw.
|
|
909
|
+
*
|
|
910
|
+
* @requires modules/breadcrums
|
|
911
|
+
*
|
|
912
|
+
* @function Highcharts.Breadcrumbs#redraw
|
|
913
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
914
|
+
* Breadcrumbs class.
|
|
915
|
+
*/
|
|
916
|
+
Breadcrumbs.prototype.redraw = function () {
|
|
917
|
+
if (this.isDirty) {
|
|
918
|
+
this.render();
|
|
919
|
+
}
|
|
920
|
+
if (this.group) {
|
|
921
|
+
this.group.align();
|
|
922
|
+
}
|
|
923
|
+
this.isDirty = false;
|
|
924
|
+
};
|
|
925
|
+
/**
|
|
926
|
+
* Create a group, then draw breadcrumbs together with the separators.
|
|
927
|
+
*
|
|
928
|
+
* @requires modules/breadcrumbs
|
|
929
|
+
*
|
|
930
|
+
* @function Highcharts.Breadcrumbs#render
|
|
931
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
932
|
+
* Breadcrumbs class.
|
|
933
|
+
*/
|
|
934
|
+
Breadcrumbs.prototype.render = function () {
|
|
935
|
+
var breadcrumbs = this,
|
|
936
|
+
chart = breadcrumbs.chart,
|
|
937
|
+
breadcrumbsOptions = breadcrumbs.options;
|
|
938
|
+
// A main group for the breadcrumbs.
|
|
939
|
+
if (!breadcrumbs.group && breadcrumbsOptions) {
|
|
940
|
+
breadcrumbs.group = chart.renderer
|
|
941
|
+
.g('breadcrumbs-group')
|
|
942
|
+
.addClass('highcharts-no-tooltip highcharts-breadcrumbs')
|
|
943
|
+
.attr({
|
|
944
|
+
zIndex: breadcrumbsOptions.zIndex
|
|
945
|
+
})
|
|
946
|
+
.add();
|
|
947
|
+
}
|
|
948
|
+
// Draw breadcrumbs.
|
|
949
|
+
if (breadcrumbsOptions.showFullPath) {
|
|
950
|
+
this.renderFullPathButtons();
|
|
951
|
+
}
|
|
952
|
+
else {
|
|
953
|
+
this.renderSingleButton();
|
|
954
|
+
}
|
|
955
|
+
this.alignBreadcrumbsGroup();
|
|
956
|
+
};
|
|
957
|
+
/**
|
|
958
|
+
* Draw breadcrumbs together with the separators.
|
|
959
|
+
*
|
|
960
|
+
* @requires modules/breadcrumbs
|
|
961
|
+
*
|
|
962
|
+
* @function Highcharts.Breadcrumbs#renderFullPathButtons
|
|
963
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
964
|
+
* Breadcrumbs class.
|
|
965
|
+
*/
|
|
966
|
+
Breadcrumbs.prototype.renderFullPathButtons = function () {
|
|
967
|
+
// Make sure that only one type of button is visible.
|
|
968
|
+
this.destroySingleButton();
|
|
969
|
+
this.resetElementListState();
|
|
970
|
+
this.updateListElements();
|
|
971
|
+
this.destroyListElements();
|
|
972
|
+
};
|
|
973
|
+
/**
|
|
974
|
+
* Render Single button - when showFullPath is not used. The button is
|
|
975
|
+
* similar to the old drillUpButton
|
|
976
|
+
*
|
|
977
|
+
* @requires modules/breadcrumbs
|
|
978
|
+
*
|
|
979
|
+
* @function Highcharts.Breadcrumbs#renderSingleButton
|
|
980
|
+
* @param {Highcharts.Breadcrumbs} this Breadcrumbs class.
|
|
981
|
+
*/
|
|
982
|
+
Breadcrumbs.prototype.renderSingleButton = function () {
|
|
983
|
+
var breadcrumbs = this,
|
|
984
|
+
chart = breadcrumbs.chart,
|
|
985
|
+
list = breadcrumbs.list,
|
|
986
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
987
|
+
buttonSpacing = breadcrumbsOptions.buttonSpacing;
|
|
988
|
+
// Make sure that only one type of button is visible.
|
|
989
|
+
this.destroyListElements();
|
|
990
|
+
// Draw breadcrumbs. Inital position for calculating the breadcrumbs
|
|
991
|
+
// group.
|
|
992
|
+
var posX = breadcrumbs.group ?
|
|
993
|
+
breadcrumbs.group.getBBox().width :
|
|
994
|
+
buttonSpacing,
|
|
995
|
+
posY = buttonSpacing;
|
|
996
|
+
var previousBreadcrumb = list[list.length - 2];
|
|
997
|
+
if (!chart.drillUpButton && (this.level > 0)) {
|
|
998
|
+
chart.drillUpButton = breadcrumbs.renderButton(previousBreadcrumb, posX, posY);
|
|
999
|
+
}
|
|
1000
|
+
else if (chart.drillUpButton) {
|
|
1001
|
+
if (this.level > 0) {
|
|
1002
|
+
// Update button.
|
|
1003
|
+
this.updateSingleButton();
|
|
1004
|
+
}
|
|
1005
|
+
else {
|
|
1006
|
+
this.destroySingleButton();
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
};
|
|
1010
|
+
/**
|
|
1011
|
+
* Update group position based on align and it's width.
|
|
1012
|
+
*
|
|
1013
|
+
* @requires modules/breadcrumbs
|
|
1014
|
+
*
|
|
1015
|
+
* @function Highcharts.Breadcrumbs#renderSingleButton
|
|
1016
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1017
|
+
* Breadcrumbs class.
|
|
1018
|
+
*/
|
|
1019
|
+
Breadcrumbs.prototype.alignBreadcrumbsGroup = function (xOffset) {
|
|
1020
|
+
var breadcrumbs = this;
|
|
1021
|
+
if (breadcrumbs.group) {
|
|
1022
|
+
var breadcrumbsOptions = breadcrumbs.options,
|
|
1023
|
+
buttonTheme = breadcrumbsOptions.buttonTheme,
|
|
1024
|
+
positionOptions = breadcrumbsOptions.position,
|
|
1025
|
+
alignTo = (breadcrumbsOptions.relativeTo === 'chart' ||
|
|
1026
|
+
breadcrumbsOptions.relativeTo === 'spacingBox' ?
|
|
1027
|
+
void 0 :
|
|
1028
|
+
'scrollablePlotBox'),
|
|
1029
|
+
bBox = breadcrumbs.group.getBBox(),
|
|
1030
|
+
additionalSpace = 2 * (buttonTheme.padding || 0) +
|
|
1031
|
+
breadcrumbsOptions.buttonSpacing;
|
|
1032
|
+
// Store positionOptions
|
|
1033
|
+
positionOptions.width = bBox.width + additionalSpace;
|
|
1034
|
+
positionOptions.height = bBox.height + additionalSpace;
|
|
1035
|
+
var newPositions = merge(positionOptions);
|
|
1036
|
+
// Add x offset if specified.
|
|
1037
|
+
if (xOffset) {
|
|
1038
|
+
newPositions.x += xOffset;
|
|
1039
|
+
}
|
|
1040
|
+
newPositions.y = pick(newPositions.y, this.yOffset, 0);
|
|
1041
|
+
breadcrumbs.group.align(newPositions, true, alignTo);
|
|
1042
|
+
}
|
|
1043
|
+
};
|
|
1044
|
+
/**
|
|
1045
|
+
* Render a button.
|
|
1046
|
+
*
|
|
1047
|
+
* @requires modules/breadcrums
|
|
1048
|
+
*
|
|
1049
|
+
* @function Highcharts.Breadcrumbs#renderButton
|
|
1050
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1051
|
+
* Breadcrumbs class.
|
|
1052
|
+
* @param {Highcharts.Breadcrumbs} breadcrumb
|
|
1053
|
+
* Current breadcrumb
|
|
1054
|
+
* @param {Highcharts.Breadcrumbs} posX
|
|
1055
|
+
* Initial horizontal position
|
|
1056
|
+
* @param {Highcharts.Breadcrumbs} posY
|
|
1057
|
+
* Initial vertical position
|
|
1058
|
+
* @return {SVGElement|void}
|
|
1059
|
+
* Returns the SVG button
|
|
1060
|
+
*/
|
|
1061
|
+
Breadcrumbs.prototype.renderButton = function (breadcrumb, posX, posY) {
|
|
1062
|
+
var breadcrumbs = this,
|
|
1063
|
+
chart = this.chart,
|
|
1064
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
1065
|
+
buttonTheme = merge(breadcrumbsOptions.buttonTheme),
|
|
1066
|
+
states = buttonTheme.states;
|
|
1067
|
+
delete buttonTheme.states;
|
|
1068
|
+
var button = chart.renderer
|
|
1069
|
+
.button(breadcrumbs.getButtonText(breadcrumb),
|
|
1070
|
+
posX,
|
|
1071
|
+
posY,
|
|
1072
|
+
function (e) {
|
|
1073
|
+
// Extract events from button object and call
|
|
1074
|
+
var buttonEvents = breadcrumbsOptions.events &&
|
|
1075
|
+
breadcrumbsOptions.events.click;
|
|
1076
|
+
var callDefaultEvent;
|
|
1077
|
+
if (buttonEvents) {
|
|
1078
|
+
callDefaultEvent = buttonEvents.call(breadcrumbs, e, breadcrumb);
|
|
1079
|
+
}
|
|
1080
|
+
// (difference in behaviour of showFullPath and drillUp)
|
|
1081
|
+
if (callDefaultEvent !== false) {
|
|
1082
|
+
// For single button we are not going to the button
|
|
1083
|
+
// level, but the one level up
|
|
1084
|
+
if (!breadcrumbsOptions.showFullPath) {
|
|
1085
|
+
e.newLevel = breadcrumbs.level - 1;
|
|
1086
|
+
}
|
|
1087
|
+
else {
|
|
1088
|
+
e.newLevel = breadcrumb.level;
|
|
1089
|
+
}
|
|
1090
|
+
fireEvent(breadcrumbs, 'up', e);
|
|
1091
|
+
}
|
|
1092
|
+
}, buttonTheme, states && states.hover, states && states.select, states && states.disabled)
|
|
1093
|
+
.addClass('highcharts-breadcrumbs-button')
|
|
1094
|
+
.add(breadcrumbs.group);
|
|
1095
|
+
if (!chart.styledMode) {
|
|
1096
|
+
button.attr(breadcrumbsOptions.style);
|
|
1097
|
+
}
|
|
1098
|
+
return button;
|
|
1099
|
+
};
|
|
1100
|
+
/**
|
|
1101
|
+
* Render a separator.
|
|
1102
|
+
*
|
|
1103
|
+
* @requires modules/breadcrums
|
|
1104
|
+
*
|
|
1105
|
+
* @function Highcharts.Breadcrumbs#renderSeparator
|
|
1106
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1107
|
+
* Breadcrumbs class.
|
|
1108
|
+
* @param {Highcharts.Breadcrumbs} posX
|
|
1109
|
+
* Initial horizontal position
|
|
1110
|
+
* @param {Highcharts.Breadcrumbs} posY
|
|
1111
|
+
* Initial vertical position
|
|
1112
|
+
* @return {Highcharts.SVGElement}
|
|
1113
|
+
* Returns the SVG button
|
|
1114
|
+
*/
|
|
1115
|
+
Breadcrumbs.prototype.renderSeparator = function (posX, posY) {
|
|
1116
|
+
var breadcrumbs = this,
|
|
1117
|
+
chart = this.chart,
|
|
1118
|
+
breadcrumbsOptions = breadcrumbs.options,
|
|
1119
|
+
separatorOptions = breadcrumbsOptions.separator;
|
|
1120
|
+
var separator = chart.renderer
|
|
1121
|
+
.label(separatorOptions.text,
|
|
1122
|
+
posX,
|
|
1123
|
+
posY,
|
|
1124
|
+
void 0,
|
|
1125
|
+
void 0,
|
|
1126
|
+
void 0,
|
|
1127
|
+
false)
|
|
1128
|
+
.addClass('highcharts-breadcrumbs-separator')
|
|
1129
|
+
.add(breadcrumbs.group);
|
|
1130
|
+
if (!chart.styledMode) {
|
|
1131
|
+
separator.css(separatorOptions.style);
|
|
1132
|
+
}
|
|
1133
|
+
return separator;
|
|
1134
|
+
};
|
|
1135
|
+
/**
|
|
1136
|
+
* Update.
|
|
1137
|
+
* @function Highcharts.Breadcrumbs#update
|
|
1138
|
+
*
|
|
1139
|
+
* @requires modules/breadcrumbs
|
|
1140
|
+
*
|
|
1141
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1142
|
+
* Breadcrumbs class.
|
|
1143
|
+
* @param {Highcharts.BreadcrumbsOptions} options
|
|
1144
|
+
* Breadcrumbs class.
|
|
1145
|
+
* @param {boolean} redraw
|
|
1146
|
+
* Redraw flag
|
|
1147
|
+
*/
|
|
1148
|
+
Breadcrumbs.prototype.update = function (options) {
|
|
1149
|
+
merge(true, this.options, options);
|
|
1150
|
+
this.destroy();
|
|
1151
|
+
this.isDirty = true;
|
|
1152
|
+
};
|
|
1153
|
+
/**
|
|
1154
|
+
* Update button text when the showFullPath set to false.
|
|
1155
|
+
* @function Highcharts.Breadcrumbs#updateSingleButton
|
|
1156
|
+
*
|
|
1157
|
+
* @requires modules/breadcrumbs
|
|
1158
|
+
*
|
|
1159
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1160
|
+
* Breadcrumbs class.
|
|
1161
|
+
*/
|
|
1162
|
+
Breadcrumbs.prototype.updateSingleButton = function () {
|
|
1163
|
+
var chart = this.chart,
|
|
1164
|
+
currentBreadcrumb = this.list[this.level - 1];
|
|
1165
|
+
if (chart.drillUpButton) {
|
|
1166
|
+
chart.drillUpButton.attr({
|
|
1167
|
+
text: this.getButtonText(currentBreadcrumb)
|
|
1168
|
+
});
|
|
1169
|
+
}
|
|
1170
|
+
};
|
|
1171
|
+
/**
|
|
1172
|
+
* Destroy the chosen breadcrumbs group
|
|
1173
|
+
*
|
|
1174
|
+
* @requires modules/breadcrumbs
|
|
1175
|
+
*
|
|
1176
|
+
* @function Highcharts.Breadcrumbs#destroy
|
|
1177
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1178
|
+
* Breadcrumbs class.
|
|
1179
|
+
*/
|
|
1180
|
+
Breadcrumbs.prototype.destroy = function () {
|
|
1181
|
+
this.destroySingleButton();
|
|
1182
|
+
// Destroy elements one by one. It's necessary beacause
|
|
1183
|
+
// g().destroy() does not remove added HTML
|
|
1184
|
+
this.destroyListElements(true);
|
|
1185
|
+
// Then, destroy the group itself.
|
|
1186
|
+
if (this.group) {
|
|
1187
|
+
this.group.destroy();
|
|
1188
|
+
}
|
|
1189
|
+
this.group = void 0;
|
|
1190
|
+
};
|
|
1191
|
+
/**
|
|
1192
|
+
* Destroy the elements' buttons and separators.
|
|
1193
|
+
*
|
|
1194
|
+
* @requires modules/breadcrumbs
|
|
1195
|
+
*
|
|
1196
|
+
* @function Highcharts.Breadcrumbs#destroyListElements
|
|
1197
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1198
|
+
* Breadcrumbs class.
|
|
1199
|
+
*/
|
|
1200
|
+
Breadcrumbs.prototype.destroyListElements = function (force) {
|
|
1201
|
+
var elementList = this.elementList;
|
|
1202
|
+
objectEach(elementList, function (element, level) {
|
|
1203
|
+
if (force ||
|
|
1204
|
+
!elementList[level].updated) {
|
|
1205
|
+
element = elementList[level];
|
|
1206
|
+
element.button && element.button.destroy();
|
|
1207
|
+
element.separator && element.separator.destroy();
|
|
1208
|
+
delete element.button;
|
|
1209
|
+
delete element.separator;
|
|
1210
|
+
delete elementList[level];
|
|
1211
|
+
}
|
|
1212
|
+
});
|
|
1213
|
+
if (force) {
|
|
1214
|
+
this.elementList = {};
|
|
1215
|
+
}
|
|
1216
|
+
};
|
|
1217
|
+
/**
|
|
1218
|
+
* Destroy the single button if exists.
|
|
1219
|
+
*
|
|
1220
|
+
* @requires modules/breadcrumbs
|
|
1221
|
+
*
|
|
1222
|
+
* @function Highcharts.Breadcrumbs#destroySingleButton
|
|
1223
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1224
|
+
* Breadcrumbs class.
|
|
1225
|
+
*/
|
|
1226
|
+
Breadcrumbs.prototype.destroySingleButton = function () {
|
|
1227
|
+
if (this.chart.drillUpButton) {
|
|
1228
|
+
this.chart.drillUpButton.destroy();
|
|
1229
|
+
this.chart.drillUpButton = void 0;
|
|
1230
|
+
}
|
|
1231
|
+
};
|
|
1232
|
+
/**
|
|
1233
|
+
* Reset state for all buttons in elementList.
|
|
1234
|
+
*
|
|
1235
|
+
* @requires modules/breadcrumbs
|
|
1236
|
+
*
|
|
1237
|
+
* @function Highcharts.Breadcrumbs#resetElementListState
|
|
1238
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1239
|
+
* Breadcrumbs class.
|
|
1240
|
+
*/
|
|
1241
|
+
Breadcrumbs.prototype.resetElementListState = function () {
|
|
1242
|
+
objectEach(this.elementList, function (element) {
|
|
1243
|
+
element.updated = false;
|
|
1244
|
+
});
|
|
1245
|
+
};
|
|
1246
|
+
/**
|
|
1247
|
+
* Update rendered elements inside the elementList.
|
|
1248
|
+
*
|
|
1249
|
+
* @requires modules/breadcrumbs
|
|
1250
|
+
*
|
|
1251
|
+
* @function Highcharts.Breadcrumbs#updateListElements
|
|
1252
|
+
* @param {Highcharts.Breadcrumbs} this
|
|
1253
|
+
* Breadcrumbs class.
|
|
1254
|
+
*/
|
|
1255
|
+
Breadcrumbs.prototype.updateListElements = function () {
|
|
1256
|
+
var updateXPosition = function (element,
|
|
1257
|
+
spacing) {
|
|
1258
|
+
return element.getBBox().width + spacing;
|
|
1259
|
+
}, breadcrumbs = this, elementList = breadcrumbs.elementList, buttonSpacing = breadcrumbs.options.buttonSpacing, list = breadcrumbs.list;
|
|
1260
|
+
// Inital position for calculating the breadcrumbs group.
|
|
1261
|
+
var posX = breadcrumbs.group ?
|
|
1262
|
+
updateXPosition(breadcrumbs.group,
|
|
1263
|
+
buttonSpacing) :
|
|
1264
|
+
buttonSpacing,
|
|
1265
|
+
posY = buttonSpacing,
|
|
1266
|
+
currentBreadcrumb;
|
|
1267
|
+
list.forEach(function (breadcrumb, index) {
|
|
1268
|
+
var isLast = index === list.length - 1;
|
|
1269
|
+
var button,
|
|
1270
|
+
separator;
|
|
1271
|
+
if (elementList[breadcrumb.level]) {
|
|
1272
|
+
currentBreadcrumb = elementList[breadcrumb.level];
|
|
1273
|
+
button = currentBreadcrumb.button;
|
|
1274
|
+
// Render a separator if it was not created before.
|
|
1275
|
+
if (!currentBreadcrumb.separator &&
|
|
1276
|
+
!isLast) {
|
|
1277
|
+
// Add spacing for the next separator
|
|
1278
|
+
posX += buttonSpacing;
|
|
1279
|
+
currentBreadcrumb.separator =
|
|
1280
|
+
breadcrumbs.renderSeparator(posX, posY);
|
|
1281
|
+
posX += updateXPosition(currentBreadcrumb.separator, buttonSpacing);
|
|
1282
|
+
}
|
|
1283
|
+
else if (currentBreadcrumb.separator &&
|
|
1284
|
+
isLast) {
|
|
1285
|
+
currentBreadcrumb.separator.destroy();
|
|
1286
|
+
delete currentBreadcrumb.separator;
|
|
1287
|
+
}
|
|
1288
|
+
elementList[breadcrumb.level].updated = true;
|
|
1289
|
+
}
|
|
1290
|
+
else {
|
|
1291
|
+
// Render a button.
|
|
1292
|
+
button = breadcrumbs.renderButton(breadcrumb, posX, posY);
|
|
1293
|
+
posX += updateXPosition(button, buttonSpacing);
|
|
1294
|
+
// Render a separator.
|
|
1295
|
+
if (!isLast) {
|
|
1296
|
+
separator = breadcrumbs.renderSeparator(posX, posY);
|
|
1297
|
+
posX += updateXPosition(separator, buttonSpacing);
|
|
1298
|
+
}
|
|
1299
|
+
elementList[breadcrumb.level] = {
|
|
1300
|
+
button: button,
|
|
1301
|
+
separator: separator,
|
|
1302
|
+
updated: true
|
|
1303
|
+
};
|
|
1304
|
+
}
|
|
1305
|
+
if (button) {
|
|
1306
|
+
button.setState(isLast ? 2 : 0);
|
|
1307
|
+
}
|
|
1308
|
+
});
|
|
1309
|
+
};
|
|
1310
|
+
/**
|
|
1311
|
+
* Options for breadcrumbs. Breadcrumbs general options are defined in
|
|
1312
|
+
* `navigation.breadcrumbs`. Specific options for drilldown are set in
|
|
1313
|
+
* `drilldown.breadcrumbs` and for tree-like series traversing, in
|
|
1314
|
+
* `plotOptions[series].breadcrumbs`.
|
|
1315
|
+
*
|
|
1316
|
+
* @since 10.0.0
|
|
1317
|
+
* @product highcharts
|
|
1318
|
+
* @optionparent navigation.breadcrumbs
|
|
1319
|
+
*/
|
|
1320
|
+
Breadcrumbs.defaultBreadcrumbsOptions = {
|
|
1321
|
+
/**
|
|
1322
|
+
* A collection of attributes for the buttons. The object takes SVG
|
|
1323
|
+
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
|
|
1324
|
+
* a collection of CSS properties for the text.
|
|
1325
|
+
*
|
|
1326
|
+
* The object can also be extended with states, so you can set
|
|
1327
|
+
* presentational options for `hover`, `select` or `disabled` button
|
|
1328
|
+
* states.
|
|
1329
|
+
*
|
|
1330
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
1331
|
+
* Themed, single button
|
|
1332
|
+
*
|
|
1333
|
+
* @type {Highcharts.SVGAttributes}
|
|
1334
|
+
* @since 10.0.0
|
|
1335
|
+
* @product highcharts
|
|
1336
|
+
*/
|
|
1337
|
+
buttonTheme: {
|
|
1338
|
+
/** @ignore */
|
|
1339
|
+
fill: 'none',
|
|
1340
|
+
/** @ignore */
|
|
1341
|
+
height: 18,
|
|
1342
|
+
/** @ignore */
|
|
1343
|
+
padding: 2,
|
|
1344
|
+
/** @ignore */
|
|
1345
|
+
'stroke-width': 0,
|
|
1346
|
+
/** @ignore */
|
|
1347
|
+
zIndex: 7,
|
|
1348
|
+
/** @ignore */
|
|
1349
|
+
states: {
|
|
1350
|
+
select: {
|
|
1351
|
+
fill: 'none'
|
|
1352
|
+
}
|
|
1353
|
+
},
|
|
1354
|
+
style: {
|
|
1355
|
+
color: "#335cad" /* highlightColor80 */
|
|
1356
|
+
}
|
|
1357
|
+
},
|
|
1358
|
+
/**
|
|
1359
|
+
* The default padding for each button and separator in each direction.
|
|
1360
|
+
*
|
|
1361
|
+
* @type {number}
|
|
1362
|
+
* @since 10.0.0
|
|
1363
|
+
*/
|
|
1364
|
+
buttonSpacing: 5,
|
|
1365
|
+
/**
|
|
1366
|
+
* Fires when clicking on the breadcrumbs button. Two arguments are
|
|
1367
|
+
* passed to the function. First breadcrumb button as an SVG element.
|
|
1368
|
+
* Second is the breadcrumbs class, containing reference to the chart,
|
|
1369
|
+
* series etc.
|
|
1370
|
+
*
|
|
1371
|
+
* ```js
|
|
1372
|
+
* click: function(button, breadcrumbs) {
|
|
1373
|
+
* console.log(button);
|
|
1374
|
+
* }
|
|
1375
|
+
* ```
|
|
1376
|
+
*
|
|
1377
|
+
* Return false to stop default buttons click action.
|
|
1378
|
+
*
|
|
1379
|
+
* @type {Highcharts.BreadcrumbsClickCallbackFunction}
|
|
1380
|
+
* @since 10.0.0
|
|
1381
|
+
* @apioption navigation.breadcrumbs.events.click
|
|
1382
|
+
*/
|
|
1383
|
+
/**
|
|
1384
|
+
* When the breadcrumbs are floating, the plot area will not move to
|
|
1385
|
+
* make space for it. By default, the chart will not make space for the
|
|
1386
|
+
* buttons. This property won't work when positioned in the middle.
|
|
1387
|
+
*
|
|
1388
|
+
* @sample highcharts/breadcrumbs/single-button
|
|
1389
|
+
* Floating button
|
|
1390
|
+
* @type {boolean}
|
|
1391
|
+
* @since 10.0.0
|
|
1392
|
+
*/
|
|
1393
|
+
floating: false,
|
|
1394
|
+
/**
|
|
1395
|
+
* A format string for the breadcrumbs button. Variables are enclosed by
|
|
1396
|
+
* curly brackets. Available values are passed in the declared point
|
|
1397
|
+
* options.
|
|
1398
|
+
*
|
|
1399
|
+
* @type {string|undefined}
|
|
1400
|
+
* @since 10.0.0
|
|
1401
|
+
* @default undefined
|
|
1402
|
+
* @sample {highcharts} highcharts/breadcrumbs/format Display custom
|
|
1403
|
+
* values in breadcrumb button.
|
|
1404
|
+
*/
|
|
1405
|
+
format: void 0,
|
|
1406
|
+
/**
|
|
1407
|
+
* Callback function to format the breadcrumb text from scratch.
|
|
1408
|
+
*
|
|
1409
|
+
* @type {Highcharts.BreadcrumbsFormatterCallbackFunction}
|
|
1410
|
+
* @since 10.0.0
|
|
1411
|
+
* @default undefined
|
|
1412
|
+
* @apioption navigation.breadcrumbs.formatter
|
|
1413
|
+
*/
|
|
1414
|
+
/**
|
|
1415
|
+
* What box to align the button to. Can be either `plotBox` or
|
|
1416
|
+
* `spacingBox`.
|
|
1417
|
+
*
|
|
1418
|
+
* @type {Highcharts.ButtonRelativeToValue}
|
|
1419
|
+
* @default plotBox
|
|
1420
|
+
* @since 10.0.0
|
|
1421
|
+
* @product highcharts highmaps
|
|
1422
|
+
*/
|
|
1423
|
+
relativeTo: 'plotBox',
|
|
1424
|
+
/**
|
|
1425
|
+
* Positioning for the button row. The breadcrumbs buttons will be
|
|
1426
|
+
* aligned properly for the default chart layout (title, subtitle,
|
|
1427
|
+
* legend, range selector) for the custom chart layout set the position
|
|
1428
|
+
* properties.
|
|
1429
|
+
* @type {Highcharts.BreadcrumbsAlignOptions}
|
|
1430
|
+
* @since 10.0.0
|
|
1431
|
+
* @product highcharts highmaps
|
|
1432
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
1433
|
+
* Single, right aligned button
|
|
1434
|
+
*/
|
|
1435
|
+
position: {
|
|
1436
|
+
/**
|
|
1437
|
+
* Horizontal alignment of the breadcrumbs buttons.
|
|
1438
|
+
*
|
|
1439
|
+
* @type {Highcharts.AlignValue}
|
|
1440
|
+
*/
|
|
1441
|
+
align: 'left',
|
|
1442
|
+
/**
|
|
1443
|
+
* Vertical alignment of the breadcrumbs buttons.
|
|
1444
|
+
*
|
|
1445
|
+
* @type {Highcharts.VerticalAlignValue}
|
|
1446
|
+
*/
|
|
1447
|
+
verticalAlign: 'top',
|
|
1448
|
+
/**
|
|
1449
|
+
* The X offset of the breadcrumbs button group.
|
|
1450
|
+
*
|
|
1451
|
+
* @type {number}
|
|
1452
|
+
*/
|
|
1453
|
+
x: 0,
|
|
1454
|
+
/**
|
|
1455
|
+
* The Y offset of the breadcrumbs button group. When `undefined`,
|
|
1456
|
+
* and `floating` is `false`, the `y` position is adapted so that
|
|
1457
|
+
* the breadcrumbs are rendered outside the target area.
|
|
1458
|
+
*
|
|
1459
|
+
* @type {number|undefined}
|
|
1460
|
+
*/
|
|
1461
|
+
y: void 0
|
|
1462
|
+
},
|
|
1463
|
+
/**
|
|
1464
|
+
* Options object for Breadcrumbs separator.
|
|
1465
|
+
*
|
|
1466
|
+
* @since 10.0.0
|
|
1467
|
+
*/
|
|
1468
|
+
separator: {
|
|
1469
|
+
/**
|
|
1470
|
+
* @type {string}
|
|
1471
|
+
* @since 10.0.0
|
|
1472
|
+
* @product highcharts
|
|
1473
|
+
*/
|
|
1474
|
+
text: '/',
|
|
1475
|
+
/**
|
|
1476
|
+
* CSS styles for the breadcrumbs separator.
|
|
1477
|
+
*
|
|
1478
|
+
* In styled mode, the breadcrumbs separators are styled by the
|
|
1479
|
+
* `.highcharts-separator` rule with its different states.
|
|
1480
|
+
* @type {Highcharts.CSSObject}
|
|
1481
|
+
* @since 10.0.0
|
|
1482
|
+
*/
|
|
1483
|
+
style: {
|
|
1484
|
+
color: "#666666" /* neutralColor60 */
|
|
1485
|
+
}
|
|
1486
|
+
},
|
|
1487
|
+
/**
|
|
1488
|
+
* Show full path or only a single button.
|
|
1489
|
+
*
|
|
1490
|
+
* @type {boolean}
|
|
1491
|
+
* @since 10.0.0
|
|
1492
|
+
* @sample {highcharts} highcharts/breadcrumbs/single-button
|
|
1493
|
+
* Single, styled button
|
|
1494
|
+
*/
|
|
1495
|
+
showFullPath: true,
|
|
1496
|
+
/**
|
|
1497
|
+
* CSS styles for all breadcrumbs.
|
|
1498
|
+
*
|
|
1499
|
+
* In styled mode, the breadcrumbs buttons are styled by the
|
|
1500
|
+
* `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
|
|
1501
|
+
* different states.
|
|
1502
|
+
* @type {Highcharts.SVGAttributes}
|
|
1503
|
+
* @since 10.0.0
|
|
1504
|
+
*/
|
|
1505
|
+
style: {},
|
|
1506
|
+
/**
|
|
1507
|
+
* Whether to use HTML to render the breadcrumbs items texts.
|
|
1508
|
+
*
|
|
1509
|
+
* @type {boolean}
|
|
1510
|
+
* @since 10.0.0
|
|
1511
|
+
*/
|
|
1512
|
+
useHTML: false,
|
|
1513
|
+
/**
|
|
1514
|
+
* The z index of the breadcrumbs group.
|
|
1515
|
+
*
|
|
1516
|
+
* @type {number}
|
|
1517
|
+
* @since 10.0.0
|
|
1518
|
+
*/
|
|
1519
|
+
zIndex: 7
|
|
1520
|
+
};
|
|
1521
|
+
return Breadcrumbs;
|
|
1522
|
+
}());
|
|
1523
|
+
/* eslint-disable no-invalid-this */
|
|
1524
|
+
if (!H.Breadcrumbs) {
|
|
1525
|
+
H.Breadcrumbs = Breadcrumbs;
|
|
1526
|
+
// Logic for making space for the buttons above the plot area
|
|
1527
|
+
addEvent(Chart, 'getMargins', function () {
|
|
1528
|
+
var breadcrumbs = this.breadcrumbs;
|
|
1529
|
+
if (breadcrumbs &&
|
|
1530
|
+
!breadcrumbs.options.floating &&
|
|
1531
|
+
breadcrumbs.level) {
|
|
1532
|
+
var breadcrumbsOptions = breadcrumbs.options,
|
|
1533
|
+
buttonTheme = breadcrumbsOptions.buttonTheme,
|
|
1534
|
+
breadcrumbsHeight = ((buttonTheme.height || 0) +
|
|
1535
|
+
2 * (buttonTheme.padding || 0) +
|
|
1536
|
+
breadcrumbsOptions.buttonSpacing),
|
|
1537
|
+
verticalAlign = breadcrumbsOptions.position.verticalAlign;
|
|
1538
|
+
if (verticalAlign === 'bottom') {
|
|
1539
|
+
this.marginBottom = (this.marginBottom || 0) + breadcrumbsHeight;
|
|
1540
|
+
breadcrumbs.yOffset = breadcrumbsHeight;
|
|
1541
|
+
}
|
|
1542
|
+
else if (verticalAlign !== 'middle') {
|
|
1543
|
+
this.plotTop += breadcrumbsHeight;
|
|
1544
|
+
breadcrumbs.yOffset = -breadcrumbsHeight;
|
|
1545
|
+
}
|
|
1546
|
+
else {
|
|
1547
|
+
breadcrumbs.yOffset = void 0;
|
|
1548
|
+
}
|
|
1549
|
+
}
|
|
1550
|
+
});
|
|
1551
|
+
addEvent(Chart, 'redraw', function () {
|
|
1552
|
+
this.breadcrumbs && this.breadcrumbs.redraw();
|
|
1553
|
+
});
|
|
1554
|
+
// Remove resize/afterSetExtremes at chart destroy
|
|
1555
|
+
addEvent(Chart, 'destroy', function destroyEvents() {
|
|
1556
|
+
if (this.breadcrumbs) {
|
|
1557
|
+
this.breadcrumbs.destroy();
|
|
1558
|
+
this.breadcrumbs = void 0;
|
|
1559
|
+
}
|
|
1560
|
+
});
|
|
1561
|
+
// Shift the drillUpButton to make the space for resetZoomButton, #8095.
|
|
1562
|
+
addEvent(Chart, 'afterShowResetZoom', function () {
|
|
1563
|
+
var chart = this;
|
|
1564
|
+
if (chart.breadcrumbs) {
|
|
1565
|
+
var bbox = chart.resetZoomButton &&
|
|
1566
|
+
chart.resetZoomButton.getBBox(),
|
|
1567
|
+
breadcrumbsOptions = chart.breadcrumbs.options;
|
|
1568
|
+
if (bbox &&
|
|
1569
|
+
breadcrumbsOptions.position.align === 'right' &&
|
|
1570
|
+
breadcrumbsOptions.relativeTo === 'plotBox') {
|
|
1571
|
+
chart.breadcrumbs.alignBreadcrumbsGroup(-bbox.width - breadcrumbsOptions.buttonSpacing);
|
|
1572
|
+
}
|
|
1573
|
+
}
|
|
1574
|
+
});
|
|
1575
|
+
// After zooming out, shift the drillUpButton
|
|
1576
|
+
// to the previous position, #8095.
|
|
1577
|
+
addEvent(Chart, 'selection', function (event) {
|
|
1578
|
+
if (event.resetSelection === true &&
|
|
1579
|
+
this.breadcrumbs) {
|
|
1580
|
+
this.breadcrumbs.alignBreadcrumbsGroup();
|
|
1581
|
+
}
|
|
1582
|
+
});
|
|
1583
|
+
}
|
|
1584
|
+
/* *
|
|
1585
|
+
*
|
|
1586
|
+
* Default Export
|
|
1587
|
+
*
|
|
1588
|
+
* */
|
|
1589
|
+
/* *
|
|
1590
|
+
*
|
|
1591
|
+
* API Declarations
|
|
1592
|
+
*
|
|
1593
|
+
* */
|
|
1594
|
+
/**
|
|
1595
|
+
* Callback function to react on button clicks.
|
|
1596
|
+
*
|
|
1597
|
+
* @callback Highcharts.BreadcrumbsClickCallbackFunction
|
|
1598
|
+
*
|
|
1599
|
+
* @param {Highcharts.Event} event
|
|
1600
|
+
* Event.
|
|
1601
|
+
*
|
|
1602
|
+
* @param {Highcharts.BreadcrumbOptions} options
|
|
1603
|
+
* Breadcrumb options.
|
|
1604
|
+
*
|
|
1605
|
+
* @param {global.Event} e
|
|
1606
|
+
* Event arguments.
|
|
1607
|
+
*/
|
|
1608
|
+
/**
|
|
1609
|
+
* Callback function to format the breadcrumb text from scratch.
|
|
1610
|
+
*
|
|
1611
|
+
* @callback Highcharts.BreadcrumbsFormatterCallbackFunction
|
|
1612
|
+
*
|
|
1613
|
+
* @param {Highcharts.Event} event
|
|
1614
|
+
* Event.
|
|
1615
|
+
*
|
|
1616
|
+
* @param {Highcharts.BreadcrumbOptions} options
|
|
1617
|
+
* Breadcrumb options.
|
|
1618
|
+
*
|
|
1619
|
+
* @return {string}
|
|
1620
|
+
* Formatted text or false
|
|
1621
|
+
*/
|
|
1622
|
+
/**
|
|
1623
|
+
* Options for the one breadcrumb.
|
|
1624
|
+
*
|
|
1625
|
+
* @interface Highcharts.BreadcrumbOptions
|
|
1626
|
+
*/
|
|
1627
|
+
/**
|
|
1628
|
+
* Level connected to a specific breadcrumb.
|
|
1629
|
+
* @name Highcharts.BreadcrumbOptions#level
|
|
1630
|
+
* @type {number}
|
|
1631
|
+
*/
|
|
1632
|
+
/**
|
|
1633
|
+
* Options for series or point connected to a specific breadcrumb.
|
|
1634
|
+
* @name Highcharts.BreadcrumbOptions#levelOptions
|
|
1635
|
+
* @type {SeriesOptions|PointOptionsObject}
|
|
1636
|
+
*/
|
|
1637
|
+
/**
|
|
1638
|
+
* Options for aligning breadcrumbs group.
|
|
1639
|
+
*
|
|
1640
|
+
* @interface Highcharts.BreadcrumbsAlignOptions
|
|
1641
|
+
*/
|
|
1642
|
+
/**
|
|
1643
|
+
* Align of a Breadcrumb group.
|
|
1644
|
+
* @default right
|
|
1645
|
+
* @name Highcharts.BreadcrumbsAlignOptions#align
|
|
1646
|
+
* @type {AlignValue}
|
|
1647
|
+
*/
|
|
1648
|
+
/**
|
|
1649
|
+
* Vertical align of a Breadcrumb group.
|
|
1650
|
+
* @default top
|
|
1651
|
+
* @name Highcharts.BreadcrumbsAlignOptions#verticalAlign
|
|
1652
|
+
* @type {VerticalAlignValue}
|
|
1653
|
+
*/
|
|
1654
|
+
/**
|
|
1655
|
+
* X offset of a Breadcrumbs group.
|
|
1656
|
+
* @name Highcharts.BreadcrumbsAlignOptions#x
|
|
1657
|
+
* @type {number}
|
|
1658
|
+
*/
|
|
1659
|
+
/**
|
|
1660
|
+
* Y offset of a Breadcrumbs group.
|
|
1661
|
+
* @name Highcharts.BreadcrumbsAlignOptions#y
|
|
1662
|
+
* @type {number}
|
|
1663
|
+
*/
|
|
1664
|
+
/**
|
|
1665
|
+
* Options for all breadcrumbs.
|
|
1666
|
+
*
|
|
1667
|
+
* @interface Highcharts.BreadcrumbsOptions
|
|
1668
|
+
*/
|
|
1669
|
+
/**
|
|
1670
|
+
* Button theme.
|
|
1671
|
+
* @name Highcharts.BreadcrumbsOptions#buttonTheme
|
|
1672
|
+
* @type { SVGAttributes | undefined }
|
|
1673
|
+
*/
|
|
1674
|
+
(''); // Keeps doclets above in JS file
|
|
1675
|
+
|
|
1676
|
+
return Breadcrumbs;
|
|
1677
|
+
});
|
|
767
1678
|
_registerModule(_modules, 'Series/Treemap/TreemapComposition.js', [_modules['Core/Series/SeriesRegistry.js'], _modules['Series/Treemap/TreemapUtilities.js'], _modules['Core/Utilities.js']], function (SeriesRegistry, TreemapUtilities, U) {
|
|
768
1679
|
/* *
|
|
769
1680
|
*
|
|
@@ -825,7 +1736,7 @@
|
|
|
825
1736
|
});
|
|
826
1737
|
|
|
827
1738
|
});
|
|
828
|
-
_registerModule(_modules, 'Series/Treemap/TreemapSeries.js', [_modules['Core/Color/Color.js'], _modules['Series/
|
|
1739
|
+
_registerModule(_modules, 'Series/Treemap/TreemapSeries.js', [_modules['Core/Color/Color.js'], _modules['Series/ColorMapMixin.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, ColorMapMixin, H, LegendSymbol, SeriesRegistry, TreemapAlgorithmGroup, TreemapPoint, TreemapUtilities, TU, Breadcrumbs, U) {
|
|
829
1740
|
/* *
|
|
830
1741
|
*
|
|
831
1742
|
* (c) 2014-2021 Highsoft AS
|
|
@@ -854,7 +1765,6 @@
|
|
|
854
1765
|
};
|
|
855
1766
|
})();
|
|
856
1767
|
var color = Color.parse;
|
|
857
|
-
var colorMapSeriesMixin = ColorMapComposition.colorMapSeriesMixin;
|
|
858
1768
|
var noop = H.noop;
|
|
859
1769
|
var Series = SeriesRegistry.series,
|
|
860
1770
|
_a = SeriesRegistry.seriesTypes,
|
|
@@ -871,6 +1781,7 @@
|
|
|
871
1781
|
extend = U.extend,
|
|
872
1782
|
fireEvent = U.fireEvent,
|
|
873
1783
|
isArray = U.isArray,
|
|
1784
|
+
isNumber = U.isNumber,
|
|
874
1785
|
isObject = U.isObject,
|
|
875
1786
|
isString = U.isString,
|
|
876
1787
|
merge = U.merge,
|
|
@@ -911,6 +1822,7 @@
|
|
|
911
1822
|
_this.points = void 0;
|
|
912
1823
|
_this.rootNode = void 0;
|
|
913
1824
|
_this.tree = void 0;
|
|
1825
|
+
_this.level = void 0;
|
|
914
1826
|
return _this;
|
|
915
1827
|
/* eslint-enable valid-jsdoc */
|
|
916
1828
|
}
|
|
@@ -1121,11 +2033,11 @@
|
|
|
1121
2033
|
* @private
|
|
1122
2034
|
* @function Highcharts.Series#calculateChildrenAreas
|
|
1123
2035
|
*
|
|
1124
|
-
* @param {
|
|
1125
|
-
*
|
|
2036
|
+
* @param {Object} node
|
|
2037
|
+
* The node which is parent to the children.
|
|
1126
2038
|
*
|
|
1127
|
-
* @param {
|
|
1128
|
-
*
|
|
2039
|
+
* @param {Object} area
|
|
2040
|
+
* The rectangular area of the parent.
|
|
1129
2041
|
*/
|
|
1130
2042
|
TreemapSeries.prototype.calculateChildrenAreas = function (parent, area) {
|
|
1131
2043
|
var series = this,
|
|
@@ -1167,6 +2079,46 @@
|
|
|
1167
2079
|
}
|
|
1168
2080
|
});
|
|
1169
2081
|
};
|
|
2082
|
+
/**
|
|
2083
|
+
* Create level list.
|
|
2084
|
+
*
|
|
2085
|
+
* @requires modules/breadcrumbs
|
|
2086
|
+
*
|
|
2087
|
+
* @function TreemapSeries#createList
|
|
2088
|
+
* @param {TreemapSeries} this
|
|
2089
|
+
* Treemap Series class.
|
|
2090
|
+
*/
|
|
2091
|
+
TreemapSeries.prototype.createList = function (e) {
|
|
2092
|
+
var chart = this.chart,
|
|
2093
|
+
breadcrumbs = chart.breadcrumbs,
|
|
2094
|
+
list = [];
|
|
2095
|
+
if (breadcrumbs) {
|
|
2096
|
+
var currentLevelNumber_1 = 0;
|
|
2097
|
+
list.push({
|
|
2098
|
+
level: currentLevelNumber_1,
|
|
2099
|
+
levelOptions: chart.series[0]
|
|
2100
|
+
});
|
|
2101
|
+
var node = e.target.nodeMap[e.newRootId];
|
|
2102
|
+
var extraNodes = [];
|
|
2103
|
+
// When the root node is set and has parent,
|
|
2104
|
+
// recreate the path from the node tree.
|
|
2105
|
+
while (node.parent || node.parent === '') {
|
|
2106
|
+
extraNodes.push(node);
|
|
2107
|
+
node = e.target.nodeMap[node.parent];
|
|
2108
|
+
}
|
|
2109
|
+
extraNodes.reverse().forEach(function (node) {
|
|
2110
|
+
list.push({
|
|
2111
|
+
level: ++currentLevelNumber_1,
|
|
2112
|
+
levelOptions: node
|
|
2113
|
+
});
|
|
2114
|
+
});
|
|
2115
|
+
// If the list has only first element, we should clear it
|
|
2116
|
+
if (list.length <= 1) {
|
|
2117
|
+
list.length = 0;
|
|
2118
|
+
}
|
|
2119
|
+
}
|
|
2120
|
+
return list;
|
|
2121
|
+
};
|
|
1170
2122
|
/**
|
|
1171
2123
|
* Extend drawDataLabels with logic to handle custom options related to
|
|
1172
2124
|
* the treemap series:
|
|
@@ -1366,7 +2318,7 @@
|
|
|
1366
2318
|
* @param {Array<string>} [existingIds]
|
|
1367
2319
|
* List of all point ids.
|
|
1368
2320
|
*
|
|
1369
|
-
* @return {
|
|
2321
|
+
* @return {Object}
|
|
1370
2322
|
* Map from parent id to children index in data.
|
|
1371
2323
|
*/
|
|
1372
2324
|
TreemapSeries.prototype.getListOfParents = function (data, existingIds) {
|
|
@@ -1417,11 +2369,11 @@
|
|
|
1417
2369
|
};
|
|
1418
2370
|
TreemapSeries.prototype.init = function (chart, options) {
|
|
1419
2371
|
var series = this,
|
|
1420
|
-
|
|
2372
|
+
breadcrumbsOptions = merge(options.drillUpButton,
|
|
2373
|
+
options.breadcrumbs);
|
|
2374
|
+
var setOptionsEvent;
|
|
1421
2375
|
// If color series logic is loaded, add some properties
|
|
1422
|
-
|
|
1423
|
-
this.colorAttribs = ColorMapComposition.seriesColorAttribs;
|
|
1424
|
-
}
|
|
2376
|
+
this.colorAttribs = ColorMapMixin.SeriesMixin.colorAttribs;
|
|
1425
2377
|
setOptionsEvent = addEvent(series, 'setOptions', function (event) {
|
|
1426
2378
|
var options = event.userOptions;
|
|
1427
2379
|
if (defined(options.allowDrillToNode) &&
|
|
@@ -1442,7 +2394,38 @@
|
|
|
1442
2394
|
series.eventsToUnbind.push(setOptionsEvent);
|
|
1443
2395
|
if (series.options.allowTraversingTree) {
|
|
1444
2396
|
series.eventsToUnbind.push(addEvent(series, 'click', series.onClickDrillToNode));
|
|
2397
|
+
series.eventsToUnbind.push(addEvent(series, 'setRootNode', function (e) {
|
|
2398
|
+
var chart = series.chart;
|
|
2399
|
+
if (chart.breadcrumbs) {
|
|
2400
|
+
// Create a list using the event after drilldown.
|
|
2401
|
+
chart.breadcrumbs.updateProperties(series.createList(e));
|
|
2402
|
+
}
|
|
2403
|
+
}));
|
|
2404
|
+
series.eventsToUnbind.push(addEvent(series, 'update', function (e, redraw) {
|
|
2405
|
+
var breadcrumbs = this.chart.breadcrumbs;
|
|
2406
|
+
if (breadcrumbs && e.options.breadcrumbs) {
|
|
2407
|
+
breadcrumbs.update(e.options.breadcrumbs);
|
|
2408
|
+
}
|
|
2409
|
+
}));
|
|
2410
|
+
series.eventsToUnbind.push(addEvent(series, 'destroy', function destroyEvents(e) {
|
|
2411
|
+
var chart = this.chart;
|
|
2412
|
+
if (chart.breadcrumbs) {
|
|
2413
|
+
chart.breadcrumbs.destroy();
|
|
2414
|
+
if (!e.keepEventsForUpdate) {
|
|
2415
|
+
chart.breadcrumbs = void 0;
|
|
2416
|
+
}
|
|
2417
|
+
}
|
|
2418
|
+
}));
|
|
1445
2419
|
}
|
|
2420
|
+
if (!chart.breadcrumbs) {
|
|
2421
|
+
chart.breadcrumbs = new Breadcrumbs(chart, breadcrumbsOptions);
|
|
2422
|
+
}
|
|
2423
|
+
series.eventsToUnbind.push(addEvent(chart.breadcrumbs, 'up', function (e) {
|
|
2424
|
+
var drillUpsNumber = this.level - e.newLevel;
|
|
2425
|
+
for (var i = 0; i < drillUpsNumber; i++) {
|
|
2426
|
+
series.drillUp();
|
|
2427
|
+
}
|
|
2428
|
+
}));
|
|
1446
2429
|
};
|
|
1447
2430
|
/**
|
|
1448
2431
|
* Add drilling on the suitable points.
|
|
@@ -1510,46 +2493,6 @@
|
|
|
1510
2493
|
}
|
|
1511
2494
|
return attr;
|
|
1512
2495
|
};
|
|
1513
|
-
TreemapSeries.prototype.renderTraverseUpButton = function (rootId) {
|
|
1514
|
-
var series = this,
|
|
1515
|
-
nodeMap = series.nodeMap,
|
|
1516
|
-
node = nodeMap[rootId],
|
|
1517
|
-
name = node.name,
|
|
1518
|
-
buttonOptions = series.options.traverseUpButton,
|
|
1519
|
-
backText = pick(buttonOptions.text,
|
|
1520
|
-
name, '◁ Back'),
|
|
1521
|
-
attr,
|
|
1522
|
-
states;
|
|
1523
|
-
if (rootId === '' || (series.is('sunburst') &&
|
|
1524
|
-
series.tree.children.length === 1 &&
|
|
1525
|
-
rootId === series.tree.children[0].id)) {
|
|
1526
|
-
if (series.drillUpButton) {
|
|
1527
|
-
series.drillUpButton = series.drillUpButton.destroy();
|
|
1528
|
-
}
|
|
1529
|
-
}
|
|
1530
|
-
else if (!this.drillUpButton) {
|
|
1531
|
-
attr = buttonOptions.theme;
|
|
1532
|
-
states = attr && attr.states;
|
|
1533
|
-
this.drillUpButton = this.chart.renderer
|
|
1534
|
-
.button(backText, 0, 0, function () {
|
|
1535
|
-
series.drillUp();
|
|
1536
|
-
}, attr, states && states.hover, states && states.select)
|
|
1537
|
-
.addClass('highcharts-drillup-button')
|
|
1538
|
-
.attr({
|
|
1539
|
-
align: buttonOptions.position.align,
|
|
1540
|
-
zIndex: 7
|
|
1541
|
-
})
|
|
1542
|
-
.add()
|
|
1543
|
-
.align(buttonOptions.position, false, buttonOptions.relativeTo || 'plotBox');
|
|
1544
|
-
}
|
|
1545
|
-
else {
|
|
1546
|
-
this.drillUpButton.placed = false;
|
|
1547
|
-
this.drillUpButton.attr({
|
|
1548
|
-
text: backText
|
|
1549
|
-
})
|
|
1550
|
-
.align();
|
|
1551
|
-
}
|
|
1552
|
-
};
|
|
1553
2496
|
/**
|
|
1554
2497
|
* Set the node's color recursively, from the parent down.
|
|
1555
2498
|
* @private
|
|
@@ -1647,7 +2590,7 @@
|
|
|
1647
2590
|
* @param {boolean} [redraw=true]
|
|
1648
2591
|
* Wether to redraw the chart or not.
|
|
1649
2592
|
*
|
|
1650
|
-
* @param {
|
|
2593
|
+
* @param {Object} [eventArguments]
|
|
1651
2594
|
* Arguments to be accessed in event handler.
|
|
1652
2595
|
*
|
|
1653
2596
|
* @param {string} [eventArguments.newRootId]
|
|
@@ -1659,14 +2602,14 @@
|
|
|
1659
2602
|
* @param {boolean} [eventArguments.redraw]
|
|
1660
2603
|
* Wether to redraw the chart after.
|
|
1661
2604
|
*
|
|
1662
|
-
* @param {
|
|
2605
|
+
* @param {Object} [eventArguments.series]
|
|
1663
2606
|
* The series to update the root of.
|
|
1664
2607
|
*
|
|
1665
2608
|
* @param {string} [eventArguments.trigger]
|
|
1666
2609
|
* The action which triggered the event. Undefined if the setRootNode is
|
|
1667
2610
|
* called directly.
|
|
1668
2611
|
*
|
|
1669
|
-
* @
|
|
2612
|
+
* @emits Highcharts.Series#event:setRootNode
|
|
1670
2613
|
*/
|
|
1671
2614
|
TreemapSeries.prototype.setRootNode = function (id, redraw, eventArguments) {
|
|
1672
2615
|
var series = this,
|
|
@@ -1682,16 +2625,15 @@
|
|
|
1682
2625
|
* The default functionality of the setRootNode event.
|
|
1683
2626
|
*
|
|
1684
2627
|
* @private
|
|
1685
|
-
* @param {
|
|
2628
|
+
* @param {Object} args The event arguments.
|
|
1686
2629
|
* @param {string} args.newRootId Id of the new root.
|
|
1687
2630
|
* @param {string} args.previousRootId Id of the previous root.
|
|
1688
2631
|
* @param {boolean} args.redraw Wether to redraw the chart after.
|
|
1689
|
-
* @param {
|
|
2632
|
+
* @param {Object} args.series The series to update the root of.
|
|
1690
2633
|
* @param {string} [args.trigger=undefined] The action which
|
|
1691
2634
|
* triggered the event. Undefined if the setRootNode is called
|
|
1692
2635
|
* directly.
|
|
1693
|
-
|
|
1694
|
-
*/
|
|
2636
|
+
*/
|
|
1695
2637
|
var defaultFn = function (args) {
|
|
1696
2638
|
var series = args.series;
|
|
1697
2639
|
// Store previous and new root ids on the series.
|
|
@@ -1793,7 +2735,6 @@
|
|
|
1793
2735
|
rootId = series.rootNode;
|
|
1794
2736
|
rootNode = series.nodeMap[rootId];
|
|
1795
2737
|
}
|
|
1796
|
-
series.renderTraverseUpButton(rootId);
|
|
1797
2738
|
series.mapOptionsToLevel = getLevelOptions({
|
|
1798
2739
|
from: rootNode.level + 1,
|
|
1799
2740
|
levels: options.levels,
|
|
@@ -1863,7 +2804,7 @@
|
|
|
1863
2804
|
* Treemap
|
|
1864
2805
|
*
|
|
1865
2806
|
* @extends plotOptions.scatter
|
|
1866
|
-
* @excluding
|
|
2807
|
+
* @excluding cluster, connectEnds, connectNulls, dataSorting, dragDrop, jitter, marker
|
|
1867
2808
|
* @product highcharts
|
|
1868
2809
|
* @requires modules/treemap
|
|
1869
2810
|
* @optionparent plotOptions.treemap
|
|
@@ -1900,6 +2841,16 @@
|
|
|
1900
2841
|
* The border radius for each treemap item.
|
|
1901
2842
|
*/
|
|
1902
2843
|
borderRadius: 0,
|
|
2844
|
+
/**
|
|
2845
|
+
* Options for the breadcrumbs, the navigation at the top leading the
|
|
2846
|
+
* way up through the traversed levels.
|
|
2847
|
+
*
|
|
2848
|
+
*
|
|
2849
|
+
* @since 10.0.0
|
|
2850
|
+
* @product highcharts
|
|
2851
|
+
* @extends navigation.breadcrumbs
|
|
2852
|
+
* @optionparent plotOptions.treemap.breadcrumbs
|
|
2853
|
+
*/
|
|
1903
2854
|
/**
|
|
1904
2855
|
* When the series contains less points than the crop threshold, all
|
|
1905
2856
|
* points are drawn, event if the points fall outside the visible plot
|
|
@@ -1922,10 +2873,11 @@
|
|
|
1922
2873
|
* additional properties `newRootId`, `previousRootId`, `redraw` and
|
|
1923
2874
|
* `trigger`.
|
|
1924
2875
|
*
|
|
1925
|
-
* @type {function}
|
|
1926
|
-
* @default undefined
|
|
1927
2876
|
* @sample {highcharts} highcharts/plotoptions/treemap-events-setrootnode/
|
|
1928
2877
|
* Alert update information on setRootNode event.
|
|
2878
|
+
*
|
|
2879
|
+
* @type {Function}
|
|
2880
|
+
* @default undefined
|
|
1929
2881
|
* @since 7.0.3
|
|
1930
2882
|
* @product highcharts
|
|
1931
2883
|
* @apioption plotOptions.treemap.events.setRootNode
|
|
@@ -2062,52 +3014,12 @@
|
|
|
2062
3014
|
*/
|
|
2063
3015
|
levelIsConstant: true,
|
|
2064
3016
|
/**
|
|
2065
|
-
* Options for the button appearing when
|
|
2066
|
-
*
|
|
2067
|
-
*
|
|
3017
|
+
* Options for the button appearing when traversing down in a treemap.
|
|
3018
|
+
*
|
|
3019
|
+
* Since v9.3.3 the `traverseUpButton` is replaced by `breadcrumbs`.
|
|
2068
3020
|
*
|
|
2069
3021
|
* @deprecated
|
|
2070
3022
|
*/
|
|
2071
|
-
drillUpButton: {
|
|
2072
|
-
/**
|
|
2073
|
-
* The position of the button.
|
|
2074
|
-
*
|
|
2075
|
-
* @deprecated
|
|
2076
|
-
*/
|
|
2077
|
-
position: {
|
|
2078
|
-
/**
|
|
2079
|
-
* Vertical alignment of the button.
|
|
2080
|
-
*
|
|
2081
|
-
* @deprecated
|
|
2082
|
-
* @type {Highcharts.VerticalAlignValue}
|
|
2083
|
-
* @default top
|
|
2084
|
-
* @product highcharts
|
|
2085
|
-
* @apioption plotOptions.treemap.drillUpButton.position.verticalAlign
|
|
2086
|
-
*/
|
|
2087
|
-
/**
|
|
2088
|
-
* Horizontal alignment of the button.
|
|
2089
|
-
*
|
|
2090
|
-
* @deprecated
|
|
2091
|
-
* @type {Highcharts.AlignValue}
|
|
2092
|
-
*/
|
|
2093
|
-
align: 'right',
|
|
2094
|
-
/**
|
|
2095
|
-
* Horizontal offset of the button.
|
|
2096
|
-
*
|
|
2097
|
-
* @deprecated
|
|
2098
|
-
*/
|
|
2099
|
-
x: -10,
|
|
2100
|
-
/**
|
|
2101
|
-
* Vertical offset of the button.
|
|
2102
|
-
*
|
|
2103
|
-
* @deprecated
|
|
2104
|
-
*/
|
|
2105
|
-
y: 10
|
|
2106
|
-
}
|
|
2107
|
-
},
|
|
2108
|
-
/**
|
|
2109
|
-
* Options for the button appearing when traversing down in a treemap.
|
|
2110
|
-
*/
|
|
2111
3023
|
traverseUpButton: {
|
|
2112
3024
|
/**
|
|
2113
3025
|
* The position of the button.
|
|
@@ -2342,7 +3254,6 @@
|
|
|
2342
3254
|
recursive: TreemapUtilities.recursive
|
|
2343
3255
|
}
|
|
2344
3256
|
});
|
|
2345
|
-
ColorMapComposition.compose(TreemapSeries);
|
|
2346
3257
|
SeriesRegistry.registerSeriesType('treemap', TreemapSeries);
|
|
2347
3258
|
/* *
|
|
2348
3259
|
*
|
|
@@ -2440,8 +3351,10 @@
|
|
|
2440
3351
|
|
|
2441
3352
|
return TreemapSeries;
|
|
2442
3353
|
});
|
|
2443
|
-
_registerModule(_modules, 'masters/modules/treemap.src.js', [], function () {
|
|
3354
|
+
_registerModule(_modules, 'masters/modules/treemap.src.js', [_modules['Core/Globals.js'], _modules['Extensions/Breadcrumbs.js']], function (Highcharts, Breadcrumbs) {
|
|
2444
3355
|
|
|
3356
|
+
var G = Highcharts;
|
|
3357
|
+
G.Breadcrumbs = Breadcrumbs;
|
|
2445
3358
|
|
|
2446
3359
|
});
|
|
2447
3360
|
}));
|