highcharts 11.3.0 → 11.4.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/README.md +1 -1
- package/bower.json +1 -1
- package/css/annotations/popup.css +27 -19
- package/css/stocktools/gui.css +19 -7
- package/es-modules/Accessibility/A11yI18n.js +4 -6
- package/es-modules/Accessibility/Accessibility.js +8 -6
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +11 -6
- package/es-modules/Accessibility/Components/LegendComponent.js +4 -4
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -6
- package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -3
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -7
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +18 -3
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +5 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +4 -4
- package/es-modules/Accessibility/FocusBorder.js +5 -5
- package/es-modules/Accessibility/HighContrastMode.js +22 -13
- package/es-modules/Accessibility/HighContrastTheme.js +2 -6
- package/es-modules/Accessibility/KeyboardNavigation.js +17 -8
- package/es-modules/Accessibility/Options/A11yDefaults.js +11 -1
- package/es-modules/Accessibility/ProxyElement.js +4 -4
- package/es-modules/Accessibility/ProxyProvider.js +8 -2
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +8 -0
- package/es-modules/Accessibility/Utils/EventProvider.js +9 -0
- package/es-modules/Core/Animation/Fx.js +3 -3
- package/es-modules/Core/Axis/Axis.js +43 -97
- package/es-modules/Core/Axis/Axis3DComposition.js +5 -5
- package/es-modules/Core/Axis/Axis3DDefaults.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +18 -7
- package/es-modules/Core/Axis/BrokenAxis.js +4 -6
- package/es-modules/Core/Axis/Color/ColorAxis.js +2 -1
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -5
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -5
- package/es-modules/Core/Axis/GridAxis.js +7 -7
- package/es-modules/Core/Axis/LogarithmicAxis.js +2 -4
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +26 -22
- package/es-modules/Core/Axis/OrdinalAxis.js +97 -53
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +4 -5
- package/es-modules/Core/Axis/RadialAxis.js +5 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +2 -2
- package/es-modules/Core/Axis/Stacking/StackItem.js +8 -4
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +3 -5
- package/es-modules/Core/Axis/Tick.js +16 -7
- package/es-modules/Core/Axis/Tick3DComposition.js +2 -2
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +4 -8
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -6
- package/es-modules/Core/Axis/WaterfallAxis.js +3 -3
- package/es-modules/Core/Axis/ZAxis.js +6 -11
- package/es-modules/Core/Chart/Chart.js +201 -176
- package/es-modules/Core/Chart/Chart3D.js +1 -1
- package/es-modules/Core/Chart/ChartDefaults.js +7 -0
- package/es-modules/Core/Chart/GanttChart.js +2 -2
- package/es-modules/Core/Chart/MapChart.js +12 -2
- package/es-modules/Core/Chart/StockChart.js +12 -11
- package/es-modules/Core/Color/Color.js +3 -3
- package/es-modules/Core/Color/Palettes.js +2 -2
- package/es-modules/Core/Defaults.js +18 -15
- package/es-modules/Core/Geometry/CircleUtilities.js +3 -3
- package/es-modules/Core/Globals.js +2 -2
- package/es-modules/Core/HttpUtilities.js +4 -4
- package/es-modules/Core/Legend/Legend.js +6 -6
- package/es-modules/Core/MSPointer.js +7 -7
- package/es-modules/Core/Pointer.js +230 -245
- package/es-modules/Core/Renderer/HTML/AST.js +1 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +213 -26
- package/es-modules/Core/Renderer/RendererUtilities.js +1 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +85 -52
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +14 -11
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -14
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +8 -7
- package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Responsive.js +5 -6
- package/es-modules/Core/Series/DataLabel.js +70 -90
- package/es-modules/Core/Series/DataSeriesComposition.js +1 -1
- package/es-modules/Core/Series/DataSeriesConverter.js +2 -2
- package/es-modules/Core/Series/Point.js +48 -40
- package/es-modules/Core/Series/Series.js +61 -51
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Series/SeriesRegistry.js +10 -2
- package/es-modules/Core/Templating.js +1 -1
- package/es-modules/Core/Time.js +12 -7
- package/es-modules/Core/Tooltip.js +19 -17
- package/es-modules/Core/Utilities.js +54 -26
- package/es-modules/Data/Connectors/CSVConnector.js +2 -2
- package/es-modules/Data/Connectors/DataConnector.js +4 -2
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
- package/es-modules/Data/Connectors/HTMLTableConnector.js +2 -2
- package/es-modules/Data/Connectors/JSONConnector.js +3 -5
- package/es-modules/Data/Converters/CSVConverter.js +1 -3
- package/es-modules/Data/Converters/DataConverter.js +8 -2
- package/es-modules/Data/Converters/HTMLTableConverter.js +1 -3
- package/es-modules/Data/Converters/JSONConverter.js +1 -0
- package/es-modules/Data/DataTable.js +1 -2
- package/es-modules/Data/Formula/FormulaProcessor.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +15 -3
- package/es-modules/Extensions/Annotations/Annotation.js +6 -7
- package/es-modules/Extensions/Annotations/AnnotationChart.js +4 -5
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
- package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/ControlTarget.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/Controllable.js +7 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +3 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +8 -9
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -4
- package/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
- package/es-modules/Extensions/Annotations/NavigationBindings.js +29 -18
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +6 -6
- package/es-modules/Extensions/Annotations/Popup/Popup.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -6
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +31 -31
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +1 -1
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +14 -11
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +1 -1
- package/es-modules/Extensions/ArrowSymbols.js +7 -13
- package/es-modules/Extensions/Boost/Boost.js +39 -7
- package/es-modules/Extensions/Boost/BoostChart.js +4 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +58 -13
- package/es-modules/Extensions/Boost/WGLRenderer.js +3 -3
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +1 -1
- package/es-modules/Extensions/BoostCanvas.js +5 -4
- package/es-modules/Extensions/BorderRadius.js +5 -4
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +9 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +11 -11
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +8 -9
- package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +6 -7
- package/es-modules/Extensions/Debugger/Debugger.js +1 -1
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DragPanes/AxisResizer.js +13 -16
- package/es-modules/Extensions/DragPanes/DragPanes.js +2 -4
- package/es-modules/Extensions/DraggablePoints/DragDropDefaults.js +2 -1
- package/es-modules/Extensions/DraggablePoints/DragDropUtilities.js +1 -1
- package/es-modules/Extensions/DraggablePoints/DraggableChart.js +4 -4
- package/es-modules/Extensions/DraggablePoints/DraggablePoints.js +8 -9
- package/es-modules/Extensions/Drilldown/Drilldown.js +11 -9
- package/es-modules/Extensions/Drilldown/DrilldownSeries.js +5 -6
- package/es-modules/Extensions/ExportData/ExportData.js +27 -18
- package/es-modules/Extensions/Exporting/Exporting.js +25 -20
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +1 -1
- package/es-modules/Extensions/Exporting/Fullscreen.js +5 -10
- package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +26 -21
- package/es-modules/Extensions/MarkerClusters/MarkerClusterSymbols.js +2 -12
- package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +3 -3
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +51 -161
- package/es-modules/Extensions/NoDataToDisplay/NoDataToDisplay.js +3 -5
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -6
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +21 -49
- package/es-modules/Extensions/Pane/PaneComposition.js +3 -5
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -4
- package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +5 -6
- package/es-modules/Extensions/ParallelCoordinates/ParallelSeries.js +1 -1
- package/es-modules/Extensions/PatternFill.js +19 -22
- package/es-modules/Extensions/PriceIndication.js +1 -1
- package/es-modules/Extensions/ScrollablePlotArea.js +218 -292
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +26 -18
- package/es-modules/Extensions/Sonification/Options.js +1 -0
- package/es-modules/Extensions/Sonification/SonificationSpeaker.js +2 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
- package/es-modules/Extensions/StaticScale.js +3 -5
- package/es-modules/Gantt/Legacy.js +1 -1
- package/es-modules/Gantt/Pathfinder.js +2 -2
- package/es-modules/Gantt/PathfinderComposition.js +3 -5
- package/es-modules/Gantt/Tree.js +3 -3
- package/es-modules/Maps/GeoJSONComposition.js +20 -13
- package/es-modules/Maps/MapNavigation.js +2 -2
- package/es-modules/Maps/MapPointer.js +3 -19
- package/es-modules/Maps/MapSymbols.js +3 -9
- package/es-modules/Maps/MapView.js +134 -74
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +5 -4
- package/es-modules/Series/Area/AreaSeries.js +2 -4
- package/es-modules/Series/Area3D/Area3DSeries.js +1 -1
- package/es-modules/Series/AreaRange/AreaRangePoint.js +2 -2
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +2 -3
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
- package/es-modules/Series/Bar/BarSeries.js +1 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +1 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +4 -0
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +2 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
- package/es-modules/Series/Bullet/BulletSeriesDefaults.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeries.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -5
- package/es-modules/Series/ColorMapComposition.js +1 -1
- package/es-modules/Series/Column/ColumnDataLabel.js +2 -2
- package/es-modules/Series/Column/ColumnSeries.js +20 -22
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
- package/es-modules/Series/Column3D/Column3DComposition.js +1 -1
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +9 -9
- package/es-modules/Series/DataModifyComposition.js +5 -5
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -2
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +1 -1
- package/es-modules/Series/DragNodesComposition.js +7 -7
- package/es-modules/Series/DrawPointUtilities.js +0 -2
- package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +1 -1
- package/es-modules/Series/Funnel/FunnelSeries.js +1 -1
- package/es-modules/Series/Funnel3D/Funnel3DComposition.js +6 -6
- package/es-modules/Series/Funnel3D/Funnel3DSeriesDefaults.js +2 -2
- package/es-modules/Series/Funnel3D/SVGElement3DFunnel.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +0 -1
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
- package/es-modules/Series/GraphLayoutComposition.js +1 -1
- package/es-modules/Series/Heatmap/HeatmapSeries.js +2 -2
- package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -3
- package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +2 -2
- package/es-modules/Series/Item/ItemSeries.js +1 -1
- package/es-modules/Series/Line/LineSeries.js +1 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
- package/es-modules/Series/Map/MapPoint.js +5 -1
- package/es-modules/Series/Map/MapSeries.js +32 -7
- package/es-modules/Series/Map/MapSeriesDefaults.js +5 -3
- package/es-modules/Series/Networkgraph/EulerIntegration.js +5 -5
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -4
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +5 -5
- package/es-modules/Series/Networkgraph/QuadTree.js +1 -1
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +1 -1
- package/es-modules/Series/Networkgraph/VerletIntegration.js +9 -9
- package/es-modules/Series/NodesComposition.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +1 -1
- package/es-modules/Series/OnSeriesComposition.js +1 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +1 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +22 -10
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +15 -2
- package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -5
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +6 -10
- package/es-modules/Series/Pictorial/PictorialSeries.js +2 -2
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PiePoint.js +1 -1
- package/es-modules/Series/Pie/PieSeries.js +10 -1
- package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +2 -2
- package/es-modules/Series/PolarComposition.js +22 -20
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +1 -1
- package/es-modules/Series/Sankey/SankeySeries.js +8 -8
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +57 -13
- package/es-modules/Series/SeriesOnPointComposition.js +3 -3
- package/es-modules/Series/Spline/SplineSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +2 -7
- package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +3 -3
- package/es-modules/Series/Sunburst/SunburstUtilities.js +1 -1
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +23 -25
- package/es-modules/Series/Tilemap/TilemapSeries.js +2 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +2 -2
- package/es-modules/Series/TreeUtilities.js +23 -1
- package/es-modules/Series/Treegraph/TreegraphLayout.js +7 -11
- package/es-modules/Series/Treegraph/TreegraphPoint.js +1 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +8 -8
- package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +39 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +4 -2
- package/es-modules/Series/Treemap/TreemapUtilities.js +0 -7
- package/es-modules/Series/Variwide/VariwideComposition.js +6 -2
- package/es-modules/Series/Variwide/VariwideSeries.js +1 -1
- package/es-modules/Series/Venn/VennSeries.js +4 -4
- package/es-modules/Series/Venn/VennUtils.js +5 -6
- package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +1 -1
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -4
- package/es-modules/Series/XRange/XRangePoint.js +2 -2
- package/es-modules/Series/XRange/XRangeSeries.js +1 -1
- package/es-modules/Shared/BaseForm.js +1 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +2 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +7 -7
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +9 -9
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -2
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +16 -17
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +4 -5
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +5 -5
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +188 -0
- package/es-modules/Stock/Navigator/Navigator.js +42 -27
- package/es-modules/Stock/Navigator/NavigatorComposition.js +10 -149
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +16 -2
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +334 -0
- package/es-modules/Stock/Navigator/StandaloneNavigatorDefaults.js +64 -0
- package/es-modules/Stock/RangeSelector/RangeSelector.js +28 -16
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
- package/es-modules/Stock/Scrollbar/Scrollbar.js +10 -10
- package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
- package/es-modules/Stock/StockTools/StockToolbar.js +6 -5
- package/es-modules/Stock/StockTools/StockTools.js +10 -13
- package/es-modules/Stock/StockTools/StockToolsBindings.js +35 -35
- package/es-modules/Stock/StockTools/StockToolsDefaults.js +2 -1
- package/es-modules/Stock/StockTools/StockToolsGui.js +7 -8
- package/es-modules/Stock/StockTools/StockToolsUtilities.js +8 -9
- package/es-modules/Stock/Utilities/StockUtilities.js +41 -0
- package/es-modules/masters/highcharts-3d.src.js +2 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +2 -1
- package/es-modules/masters/highcharts.src.js +41 -40
- 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 +3 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +3 -1
- package/es-modules/masters/indicators/ao.src.js +3 -1
- package/es-modules/masters/indicators/apo.src.js +3 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +3 -1
- package/es-modules/masters/indicators/aroon.src.js +3 -1
- package/es-modules/masters/indicators/atr.src.js +3 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +3 -1
- package/es-modules/masters/indicators/cci.src.js +3 -1
- package/es-modules/masters/indicators/chaikin.src.js +3 -1
- package/es-modules/masters/indicators/cmf.src.js +3 -1
- package/es-modules/masters/indicators/cmo.src.js +3 -1
- package/es-modules/masters/indicators/dema.src.js +3 -1
- package/es-modules/masters/indicators/disparity-index.src.js +3 -1
- package/es-modules/masters/indicators/dmi.src.js +3 -1
- package/es-modules/masters/indicators/dpo.src.js +3 -1
- package/es-modules/masters/indicators/ema.src.js +2 -0
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +3 -1
- package/es-modules/masters/indicators/indicators-all.src.js +3 -1
- package/es-modules/masters/indicators/indicators.src.js +7 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +3 -1
- package/es-modules/masters/indicators/klinger.src.js +3 -1
- package/es-modules/masters/indicators/macd.src.js +3 -1
- package/es-modules/masters/indicators/mfi.src.js +3 -1
- package/es-modules/masters/indicators/momentum.src.js +3 -1
- package/es-modules/masters/indicators/natr.src.js +3 -1
- package/es-modules/masters/indicators/obv.src.js +3 -1
- package/es-modules/masters/indicators/pivot-points.src.js +3 -1
- package/es-modules/masters/indicators/ppo.src.js +3 -1
- package/es-modules/masters/indicators/price-channel.src.js +3 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +3 -1
- package/es-modules/masters/indicators/psar.src.js +3 -1
- package/es-modules/masters/indicators/regressions.src.js +3 -1
- package/es-modules/masters/indicators/roc.src.js +3 -1
- package/es-modules/masters/indicators/rsi.src.js +3 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +3 -1
- package/es-modules/masters/indicators/stochastic.src.js +3 -1
- package/es-modules/masters/indicators/supertrend.src.js +3 -1
- package/es-modules/masters/indicators/tema.src.js +3 -1
- package/es-modules/masters/indicators/trendline.src.js +3 -1
- package/es-modules/masters/indicators/trix.src.js +3 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +3 -1
- package/es-modules/masters/indicators/vwap.src.js +3 -1
- package/es-modules/masters/indicators/williams-r.src.js +3 -1
- package/es-modules/masters/indicators/wma.src.js +3 -1
- package/es-modules/masters/indicators/zigzag.src.js +3 -1
- package/es-modules/masters/modules/accessibility.src.js +4 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -5
- package/es-modules/masters/modules/annotations.src.js +6 -3
- package/es-modules/masters/modules/arc-diagram.src.js +3 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +2 -1
- package/es-modules/masters/modules/boost-canvas.src.js +2 -1
- package/es-modules/masters/modules/boost.src.js +3 -2
- package/es-modules/masters/modules/broken-axis.src.js +4 -3
- package/es-modules/masters/modules/bullet.src.js +3 -1
- package/es-modules/masters/modules/coloraxis.src.js +4 -3
- package/es-modules/masters/modules/current-date-indicator.src.js +2 -1
- package/es-modules/masters/modules/cylinder.src.js +3 -1
- package/es-modules/masters/modules/data-tools.src.js +9 -8
- package/es-modules/masters/modules/data.src.js +9 -8
- package/es-modules/masters/modules/datagrouping.src.js +7 -5
- package/es-modules/masters/modules/debugger.src.js +3 -2
- package/es-modules/masters/modules/dependency-wheel.src.js +3 -1
- package/es-modules/masters/modules/dotplot.src.js +3 -1
- package/es-modules/masters/modules/drag-panes.src.js +2 -1
- package/es-modules/masters/modules/draggable-points.src.js +2 -1
- package/es-modules/masters/modules/drilldown.src.js +3 -2
- package/es-modules/masters/modules/dumbbell.src.js +3 -1
- package/es-modules/masters/modules/export-data.src.js +5 -4
- package/es-modules/masters/modules/exporting.src.js +6 -5
- package/es-modules/masters/modules/flowmap.src.js +3 -1
- package/es-modules/masters/modules/full-screen.src.js +4 -3
- package/es-modules/masters/modules/funnel.src.js +2 -1
- package/es-modules/masters/modules/funnel3d.src.js +4 -3
- package/es-modules/masters/modules/gantt.src.js +15 -17
- package/es-modules/masters/modules/geoheatmap.src.js +3 -1
- package/es-modules/masters/modules/grid-axis.src.js +2 -1
- package/es-modules/masters/modules/heatmap.src.js +3 -5
- package/es-modules/masters/modules/heikinashi.src.js +2 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +3 -1
- package/es-modules/masters/modules/item-series.src.js +3 -1
- package/es-modules/masters/modules/lollipop.src.js +3 -1
- package/es-modules/masters/modules/map.src.js +15 -10
- package/es-modules/masters/modules/marker-clusters.src.js +2 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +4 -2
- package/es-modules/masters/modules/navigator.src.d.ts +1 -0
- package/es-modules/masters/modules/navigator.src.js +19 -0
- package/es-modules/masters/modules/networkgraph.src.js +2 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +2 -1
- package/es-modules/masters/modules/offline-exporting.src.js +4 -3
- package/es-modules/masters/modules/organization.src.js +3 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +4 -2
- package/es-modules/masters/modules/parallel-coordinates.src.js +2 -1
- package/es-modules/masters/modules/pareto.src.js +3 -1
- package/es-modules/masters/modules/pathfinder.src.js +4 -3
- package/es-modules/masters/modules/pattern-fill.src.js +2 -1
- package/es-modules/masters/modules/pictorial.src.js +3 -1
- package/es-modules/masters/modules/price-indicator.src.js +2 -1
- package/es-modules/masters/modules/pyramid3d.src.js +3 -1
- package/es-modules/masters/modules/sankey.src.js +3 -1
- package/es-modules/masters/modules/series-label.src.js +2 -1
- package/es-modules/masters/modules/series-on-point.src.js +2 -1
- package/es-modules/masters/modules/solid-gauge.src.js +3 -1
- package/es-modules/masters/modules/sonification.src.js +2 -1
- package/es-modules/masters/modules/static-scale.src.js +2 -1
- package/es-modules/masters/modules/stock-tools.src.js +5 -3
- package/es-modules/masters/modules/stock.src.js +20 -15
- package/es-modules/masters/modules/streamgraph.src.js +3 -1
- package/es-modules/masters/modules/sunburst.src.js +4 -3
- package/es-modules/masters/modules/tiledwebmap.src.js +5 -4
- package/es-modules/masters/modules/tilemap.src.js +2 -1
- package/es-modules/masters/modules/timeline.src.js +3 -1
- package/es-modules/masters/modules/treegraph.src.js +3 -1
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +5 -4
- package/es-modules/masters/modules/variable-pie.src.js +3 -1
- package/es-modules/masters/modules/variwide.src.js +2 -1
- package/es-modules/masters/modules/vector.src.js +3 -1
- package/es-modules/masters/modules/venn.src.js +3 -1
- package/es-modules/masters/modules/windbarb.src.js +3 -1
- package/es-modules/masters/modules/wordcloud.src.js +3 -1
- package/es-modules/masters/modules/xrange.src.js +2 -1
- package/es-modules/masters/standalone-navigator.src.js +13 -0
- package/es-modules/masters/themes/avocado.src.js +2 -1
- package/es-modules/masters/themes/brand-dark.src.js +2 -1
- package/es-modules/masters/themes/brand-light.src.js +2 -1
- package/es-modules/masters/themes/dark-blue.src.js +2 -1
- package/es-modules/masters/themes/dark-green.src.js +2 -1
- package/es-modules/masters/themes/dark-unica.src.js +2 -1
- package/es-modules/masters/themes/gray.src.js +2 -1
- package/es-modules/masters/themes/grid-light.src.js +2 -1
- package/es-modules/masters/themes/grid.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +2 -1
- package/es-modules/masters/themes/sand-signika.src.js +2 -1
- package/es-modules/masters/themes/skies.src.js +2 -1
- package/es-modules/masters/themes/sunset.src.js +2 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -0
- package/globals.d.ts +9 -0
- package/globals.src.d.ts +9 -0
- package/highcharts-3d.js +3 -3
- package/highcharts-3d.src.js +32 -33
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +5703 -5639
- package/highcharts-more.d.ts +4 -0
- package/highcharts-more.js +3 -3
- package/highcharts-more.src.d.ts +4 -0
- package/highcharts-more.src.js +88 -87
- package/highcharts.d.ts +834 -5365
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +834 -5365
- package/highcharts.src.js +1583 -1682
- package/highmaps.js +4 -4
- package/highmaps.src.js +1837 -1835
- package/highstock.js +4 -4
- package/highstock.src.js +12488 -12510
- package/indicators/acceleration-bands.js +3 -3
- package/indicators/acceleration-bands.src.js +12 -11
- package/indicators/accumulation-distribution.js +3 -3
- package/indicators/accumulation-distribution.src.js +6 -3
- package/indicators/ao.js +3 -3
- package/indicators/ao.src.js +3 -2
- package/indicators/apo.js +3 -3
- package/indicators/apo.src.js +4 -3
- package/indicators/aroon-oscillator.js +3 -3
- package/indicators/aroon-oscillator.src.js +12 -11
- package/indicators/aroon.js +3 -3
- package/indicators/aroon.src.js +13 -12
- package/indicators/atr.js +3 -3
- package/indicators/atr.src.js +3 -2
- package/indicators/bollinger-bands.js +3 -3
- package/indicators/bollinger-bands.src.js +12 -11
- package/indicators/cci.js +3 -3
- package/indicators/cci.src.js +3 -2
- package/indicators/chaikin.js +3 -3
- package/indicators/chaikin.src.js +7 -4
- package/indicators/cmf.js +3 -3
- package/indicators/cmf.src.js +4 -3
- package/indicators/cmo.js +3 -3
- package/indicators/cmo.src.js +5 -4
- package/indicators/dema.js +3 -3
- package/indicators/dema.src.js +3 -2
- package/indicators/disparity-index.js +3 -3
- package/indicators/disparity-index.src.js +3 -2
- package/indicators/dmi.js +3 -3
- package/indicators/dmi.src.js +12 -11
- package/indicators/dpo.js +3 -3
- package/indicators/dpo.src.js +4 -3
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +2 -1
- package/indicators/ichimoku-kinko-hyo.js +3 -3
- package/indicators/ichimoku-kinko-hyo.src.js +3 -2
- package/indicators/indicators-all.js +3 -3
- package/indicators/indicators-all.src.js +63 -60
- package/indicators/indicators.js +3 -3
- package/indicators/indicators.src.js +286 -3
- package/indicators/keltner-channels.js +3 -3
- package/indicators/keltner-channels.src.js +12 -11
- package/indicators/klinger.js +3 -3
- package/indicators/klinger.src.js +13 -12
- package/indicators/macd.js +3 -3
- package/indicators/macd.src.js +3 -2
- package/indicators/mfi.js +3 -3
- package/indicators/mfi.src.js +3 -2
- package/indicators/momentum.js +3 -3
- package/indicators/momentum.src.js +3 -2
- package/indicators/natr.js +3 -3
- package/indicators/natr.src.js +3 -2
- package/indicators/obv.js +3 -3
- package/indicators/obv.src.js +4 -3
- package/indicators/pivot-points.js +3 -3
- package/indicators/pivot-points.src.js +5 -4
- package/indicators/ppo.js +3 -3
- package/indicators/ppo.src.js +4 -3
- package/indicators/price-channel.js +3 -3
- package/indicators/price-channel.src.js +12 -11
- package/indicators/price-envelopes.js +3 -3
- package/indicators/price-envelopes.src.js +12 -11
- package/indicators/psar.js +3 -3
- package/indicators/psar.src.js +3 -2
- package/indicators/regressions.js +3 -3
- package/indicators/regressions.src.js +10 -9
- package/indicators/roc.js +3 -3
- package/indicators/roc.src.js +3 -2
- package/indicators/rsi.js +3 -3
- package/indicators/rsi.src.js +3 -2
- package/indicators/slow-stochastic.js +3 -3
- package/indicators/slow-stochastic.src.js +3 -2
- package/indicators/stochastic.js +3 -3
- package/indicators/stochastic.src.js +12 -11
- package/indicators/supertrend.js +3 -3
- package/indicators/supertrend.src.js +20 -19
- package/indicators/tema.js +3 -3
- package/indicators/tema.src.js +3 -2
- package/indicators/trendline.js +3 -3
- package/indicators/trendline.src.js +3 -2
- package/indicators/trix.js +3 -3
- package/indicators/trix.src.js +3 -2
- package/indicators/volume-by-price.js +3 -3
- package/indicators/volume-by-price.src.js +8 -7
- package/indicators/vwap.js +3 -3
- package/indicators/vwap.src.js +3 -2
- package/indicators/williams-r.js +3 -3
- package/indicators/williams-r.src.js +4 -3
- package/indicators/wma.js +3 -3
- package/indicators/wma.src.js +3 -2
- package/indicators/zigzag.js +3 -3
- package/indicators/zigzag.src.js +8 -7
- package/lib/svg2pdf.js +7 -7
- package/lib/svg2pdf.src.js +185 -150
- package/modules/accessibility.js +3 -3
- package/modules/accessibility.src.js +664 -2793
- package/modules/annotations-advanced.d.ts +3 -0
- package/modules/annotations-advanced.js +3 -3
- package/modules/annotations-advanced.src.d.ts +3 -0
- package/modules/annotations-advanced.src.js +2949 -2920
- package/modules/annotations.d.ts +0 -3
- package/modules/annotations.js +3 -3
- package/modules/annotations.src.d.ts +0 -3
- package/modules/annotations.src.js +2926 -2905
- package/modules/arc-diagram.js +3 -3
- package/modules/arc-diagram.src.js +8 -6
- package/modules/arrow-symbols.js +3 -3
- package/modules/arrow-symbols.src.js +10 -13
- package/modules/boost-canvas.js +3 -3
- package/modules/boost-canvas.src.js +73 -26
- package/modules/boost.js +3 -3
- package/modules/boost.src.js +108 -30
- package/modules/broken-axis.js +3 -3
- package/modules/broken-axis.src.js +9 -9
- package/modules/bullet.js +3 -3
- package/modules/bullet.src.js +5 -4
- package/modules/coloraxis.js +3 -3
- package/modules/coloraxis.src.js +10 -9
- package/modules/current-date-indicator.js +3 -3
- package/modules/current-date-indicator.src.js +3 -2
- package/modules/cylinder.js +3 -3
- package/modules/cylinder.src.js +12 -11
- package/modules/data-tools.js +3 -3
- package/modules/data-tools.src.js +53 -36
- package/modules/data.d.ts +2 -2
- package/modules/data.js +3 -3
- package/modules/data.src.d.ts +2 -2
- package/modules/data.src.js +24 -23
- package/modules/datagrouping.js +3 -3
- package/modules/datagrouping.src.js +25 -23
- package/modules/debugger.js +3 -3
- package/modules/debugger.src.js +6 -5
- package/modules/dependency-wheel.js +3 -3
- package/modules/dependency-wheel.src.js +7 -5
- package/modules/dotplot.js +3 -3
- package/modules/dotplot.src.js +3 -2
- package/modules/drag-panes.js +3 -3
- package/modules/drag-panes.src.js +19 -21
- package/modules/draggable-points.js +3 -3
- package/modules/draggable-points.src.js +18 -16
- package/modules/drilldown.js +3 -3
- package/modules/drilldown.src.js +29 -26
- package/modules/dumbbell.js +3 -3
- package/modules/dumbbell.src.js +5 -4
- package/modules/export-data.js +3 -3
- package/modules/export-data.src.js +33 -22
- package/modules/exporting.d.ts +1 -1
- package/modules/exporting.js +3 -3
- package/modules/exporting.src.d.ts +1 -1
- package/modules/exporting.src.js +40 -39
- package/modules/flowmap.js +3 -3
- package/modules/flowmap.src.js +3 -2
- package/modules/full-screen.js +3 -3
- package/modules/full-screen.src.js +9 -13
- package/modules/funnel.js +3 -3
- package/modules/funnel.src.js +3 -2
- package/modules/funnel3d.js +3 -3
- package/modules/funnel3d.src.js +12 -12
- package/modules/gantt.d.ts +3 -4
- package/modules/gantt.js +3 -3
- package/modules/gantt.src.d.ts +3 -4
- package/modules/gantt.src.js +4165 -4002
- package/modules/geoheatmap.js +3 -3
- package/modules/geoheatmap.src.js +8 -7
- package/modules/grid-axis.js +3 -3
- package/modules/grid-axis.src.js +9 -8
- package/modules/heatmap.d.ts +2 -2
- package/modules/heatmap.js +3 -3
- package/modules/heatmap.src.d.ts +2 -2
- package/modules/heatmap.src.js +21 -15
- package/modules/heikinashi.js +3 -3
- package/modules/heikinashi.src.js +9 -6
- package/modules/histogram-bellcurve.js +3 -3
- package/modules/histogram-bellcurve.src.js +4 -3
- package/modules/hollowcandlestick.js +3 -3
- package/modules/hollowcandlestick.src.js +5 -4
- package/modules/item-series.js +3 -3
- package/modules/item-series.src.js +4 -3
- package/modules/lollipop.js +3 -3
- package/modules/lollipop.src.js +6 -3
- package/modules/map.d.ts +22 -1
- package/modules/map.js +3 -3
- package/modules/map.src.d.ts +22 -1
- package/modules/map.src.js +256 -155
- package/modules/marker-clusters.js +3 -3
- package/modules/marker-clusters.src.js +35 -37
- package/modules/mouse-wheel-zoom.js +3 -3
- package/modules/mouse-wheel-zoom.src.js +55 -163
- package/modules/navigator.d.ts +148 -0
- package/modules/navigator.js +9 -0
- package/modules/navigator.src.d.ts +148 -0
- package/modules/navigator.src.js +3921 -0
- package/modules/networkgraph.d.ts +2 -2
- package/modules/networkgraph.js +3 -3
- package/modules/networkgraph.src.d.ts +2 -2
- package/modules/networkgraph.src.js +36 -35
- package/modules/no-data-to-display.js +3 -3
- package/modules/no-data-to-display.src.js +6 -6
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.src.js +10 -10
- package/modules/organization.js +3 -3
- package/modules/organization.src.js +41 -15
- package/modules/overlapping-datalabels.js +3 -3
- package/modules/overlapping-datalabels.src.js +4 -2
- package/modules/parallel-coordinates.js +3 -3
- package/modules/parallel-coordinates.src.js +12 -12
- package/modules/pareto.js +3 -3
- package/modules/pareto.src.js +3 -2
- package/modules/pathfinder.js +3 -3
- package/modules/pathfinder.src.js +18 -22
- package/modules/pattern-fill.js +3 -3
- package/modules/pattern-fill.src.js +22 -23
- package/modules/pictorial.js +3 -3
- package/modules/pictorial.src.js +25 -26
- package/modules/price-indicator.js +3 -3
- package/modules/price-indicator.src.js +3 -2
- package/modules/pyramid3d.js +3 -3
- package/modules/pyramid3d.src.js +3 -2
- package/modules/sankey.js +3 -3
- package/modules/sankey.src.js +93 -26
- package/modules/series-label.js +3 -3
- package/modules/series-label.src.js +28 -19
- package/modules/series-on-point.js +3 -3
- package/modules/series-on-point.src.js +5 -4
- package/modules/solid-gauge.js +3 -3
- package/modules/solid-gauge.src.js +3 -2
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +3 -3
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +8 -6
- package/modules/static-scale.js +3 -3
- package/modules/static-scale.src.js +6 -6
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +109 -96
- package/modules/stock.d.ts +1 -1
- package/modules/stock.js +3 -3
- package/modules/stock.src.d.ts +1 -1
- package/modules/stock.src.js +10762 -10685
- package/modules/streamgraph.js +3 -3
- package/modules/streamgraph.src.js +3 -2
- package/modules/sunburst.js +3 -3
- package/modules/sunburst.src.js +50 -37
- package/modules/tiledwebmap.js +4 -4
- package/modules/tiledwebmap.src.js +28 -29
- package/modules/tilemap.js +3 -3
- package/modules/tilemap.src.js +4 -3
- package/modules/timeline.js +3 -3
- package/modules/timeline.src.js +5 -4
- package/modules/treegraph.js +3 -3
- package/modules/treegraph.src.js +58 -23
- package/modules/treegrid.js +3 -3
- package/modules/treegrid.src.js +49 -33
- package/modules/treemap.js +3 -3
- package/modules/treemap.src.js +44 -26
- package/modules/variable-pie.js +3 -3
- package/modules/variable-pie.src.js +3 -2
- package/modules/variwide.js +3 -3
- package/modules/variwide.src.js +9 -4
- package/modules/vector.js +3 -3
- package/modules/vector.src.js +3 -2
- package/modules/venn.js +3 -3
- package/modules/venn.src.js +16 -17
- package/modules/windbarb.js +3 -3
- package/modules/windbarb.src.js +5 -4
- package/modules/wordcloud.js +3 -3
- package/modules/wordcloud.src.js +10 -8
- package/modules/xrange.js +3 -3
- package/modules/xrange.src.js +5 -4
- package/package.json +1 -1
- package/standalone-navigator.js +2 -0
- package/standalone-navigator.src.js +49402 -0
- package/themes/avocado.js +3 -3
- package/themes/avocado.src.js +2 -1
- package/themes/brand-dark.js +3 -3
- package/themes/brand-dark.src.js +2 -1
- package/themes/brand-light.js +3 -3
- package/themes/brand-light.src.js +2 -1
- package/themes/dark-blue.js +3 -3
- package/themes/dark-blue.src.js +2 -1
- package/themes/dark-green.js +3 -3
- package/themes/dark-green.src.js +2 -1
- package/themes/dark-unica.js +3 -3
- package/themes/dark-unica.src.js +2 -1
- package/themes/gray.js +3 -3
- package/themes/gray.src.js +2 -1
- package/themes/grid-light.js +3 -3
- package/themes/grid-light.src.js +2 -1
- package/themes/grid.js +3 -3
- package/themes/grid.src.js +2 -1
- package/themes/high-contrast-dark.js +3 -3
- package/themes/high-contrast-dark.src.js +2 -1
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.src.js +2 -1
- package/themes/sand-signika.js +3 -3
- package/themes/sand-signika.src.js +2 -1
- package/themes/skies.js +3 -3
- package/themes/skies.src.js +2 -1
- package/themes/sunset.js +3 -3
- package/themes/sunset.src.js +2 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +0 -259
- package/lib/canvg.js +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.
|
|
2
|
+
* @license Highcharts JS v11.4.0 (2024-03-05)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2009-2024
|
|
5
5
|
*
|
|
@@ -605,8 +605,8 @@
|
|
|
605
605
|
*
|
|
606
606
|
* */
|
|
607
607
|
/** @private */
|
|
608
|
-
function
|
|
609
|
-
const twm = (
|
|
608
|
+
function onRecommendMapView(e) {
|
|
609
|
+
const { geoBounds, chart } = e, twm = (chart.options.series || []).filter((s) => s.type === 'tiledwebmap')[0];
|
|
610
610
|
if (twm && twm.provider && twm.provider.type && !twm.provider.url) {
|
|
611
611
|
const ProviderDefinition = TilesProvidersRegistry[twm.provider.type];
|
|
612
612
|
if (!defined(ProviderDefinition)) {
|
|
@@ -615,25 +615,23 @@
|
|
|
615
615
|
}
|
|
616
616
|
else {
|
|
617
617
|
const def = new ProviderDefinition(), { initialProjectionName: providerProjectionName } = def;
|
|
618
|
-
if (
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
};
|
|
636
|
-
}
|
|
618
|
+
if (geoBounds) {
|
|
619
|
+
const { x1, y1, x2, y2 } = geoBounds;
|
|
620
|
+
this.recommendedMapView = {
|
|
621
|
+
projection: {
|
|
622
|
+
name: providerProjectionName,
|
|
623
|
+
parallels: [y1, y2],
|
|
624
|
+
rotation: [-(x1 + x2) / 2]
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
this.recommendedMapView = {
|
|
630
|
+
projection: {
|
|
631
|
+
name: providerProjectionName
|
|
632
|
+
},
|
|
633
|
+
minZoom: 0
|
|
634
|
+
};
|
|
637
635
|
}
|
|
638
636
|
return false;
|
|
639
637
|
}
|
|
@@ -670,9 +668,9 @@
|
|
|
670
668
|
* Static Functions
|
|
671
669
|
*
|
|
672
670
|
* */
|
|
673
|
-
static compose(
|
|
674
|
-
if (pushUnique(composed,
|
|
675
|
-
addEvent(
|
|
671
|
+
static compose(MapViewClass) {
|
|
672
|
+
if (pushUnique(composed, 'TiledWebMapSeries')) {
|
|
673
|
+
addEvent(MapViewClass, 'onRecommendMapView', onRecommendMapView);
|
|
676
674
|
}
|
|
677
675
|
}
|
|
678
676
|
/* *
|
|
@@ -1061,7 +1059,7 @@
|
|
|
1061
1059
|
this.transformGroups = [];
|
|
1062
1060
|
}
|
|
1063
1061
|
if (mapView &&
|
|
1064
|
-
!defined(
|
|
1062
|
+
!defined(chart.userOptions.mapView?.projection) &&
|
|
1065
1063
|
provider &&
|
|
1066
1064
|
provider.type) {
|
|
1067
1065
|
const ProviderDefinition = TilesProvidersRegistry[provider.type];
|
|
@@ -1087,11 +1085,12 @@
|
|
|
1087
1085
|
|
|
1088
1086
|
return TiledWebMapSeries;
|
|
1089
1087
|
});
|
|
1090
|
-
_registerModule(_modules, 'masters/modules/tiledwebmap.src.js', [_modules['Core/Globals.js'], _modules['
|
|
1088
|
+
_registerModule(_modules, 'masters/modules/tiledwebmap.src.js', [_modules['Core/Globals.js'], _modules['Maps/TilesProviders/TilesProviderRegistry.js'], _modules['Series/TiledWebMap/TiledWebMapSeries.js']], function (Highcharts, TilesProviderRegistry, TiledWebMapSeries) {
|
|
1091
1089
|
|
|
1092
1090
|
const G = Highcharts;
|
|
1093
|
-
G.TilesProviderRegistry = TilesProviderRegistry;
|
|
1094
|
-
TiledWebMapSeries.compose(G.
|
|
1091
|
+
G.TilesProviderRegistry = G.TilesProviderRegistry || TilesProviderRegistry;
|
|
1092
|
+
TiledWebMapSeries.compose(G.MapView);
|
|
1095
1093
|
|
|
1094
|
+
return Highcharts;
|
|
1096
1095
|
});
|
|
1097
1096
|
}));
|
package/modules/tilemap.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
* Highmaps JS v11.
|
|
1
|
+
!/**
|
|
2
|
+
* Highmaps JS v11.4.0 (2024-03-04)
|
|
3
3
|
*
|
|
4
4
|
* Tilemap module
|
|
5
5
|
*
|
|
6
6
|
* (c) 2010-2024 Highsoft AS
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
|
|
9
|
+
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/tilemap",["highcharts","highcharts/modules/map"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function a(e,t,a,i){e.hasOwnProperty(t)||(e[t]=i.apply(null,a),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}a(t,"Series/Tilemap/TilemapPoint.js",[t["Core/Axis/Color/ColorAxisComposition.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,a){let{series:{prototype:{pointClass:i}},seriesTypes:{heatmap:{prototype:{pointClass:s}}}}=t,{extend:n}=a;class r extends s{haloPath(){return this.series.tileShape.haloPath.apply(this,arguments)}}return n(r.prototype,{setState:i.prototype.setState,setVisible:e.pointSetVisible}),r}),a(t,"Series/Tilemap/TilemapSeriesDefaults.js",[],function(){return{marker:null,states:{hover:{halo:{enabled:!0,size:2,opacity:.5,attributes:{zIndex:3}}}},pointPadding:2,tileShape:"hexagon"}}),a(t,"Series/Tilemap/TilemapShapes.js",[t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,a){let{noop:i}=e,{heatmap:s,scatter:n}=t.seriesTypes,{clamp:r,pick:l}=a;function o(e,t,a){let i=e.options;return{xPad:-((i.colsize||1)/t),yPad:-((i.rowsize||1)/a)}}return{hexagon:{alignDataLabel:n.prototype.alignDataLabel,getSeriesPadding:function(e){return o(e,3,2)},haloPath:function(e){if(!e)return[];let t=this.tileEdges;return[["M",t.x2-e,t.y1+e],["L",t.x3+e,t.y1+e],["L",t.x4+1.5*e,t.y2],["L",t.x3+e,t.y3-e],["L",t.x2-e,t.y3-e],["L",t.x1-1.5*e,t.y2],["Z"]]},translate:function(){let e;let t=this.options,a=this.xAxis,i=this.yAxis,s=t.pointPadding||0,n=(t.colsize||1)/3,o=(t.rowsize||1)/2;for(let t of(this.generatePoints(),this.points)){let p=r(Math.floor(a.len-a.translate(t.x-2*n,0,1,0,1)),-a.len,2*a.len),h=r(Math.floor(a.len-a.translate(t.x-n,0,1,0,1)),-a.len,2*a.len),d=r(Math.floor(a.len-a.translate(t.x+n,0,1,0,1)),-a.len,2*a.len),u=r(Math.floor(a.len-a.translate(t.x+2*n,0,1,0,1)),-a.len,2*a.len),g=r(Math.floor(i.translate(t.y-o,0,1,0,1)),-i.len,2*i.len),c=r(Math.floor(i.translate(t.y,0,1,0,1)),-i.len,2*i.len),y=r(Math.floor(i.translate(t.y+o,0,1,0,1)),-i.len,2*i.len),x=l(t.pointPadding,s),f=x*Math.abs(h-p)/Math.abs(y-c),m=a.reversed?-f:f,P=a.reversed?-x:x,S=i.reversed?-x:x;t.x%2&&(e=e||Math.round(Math.abs(y-g)/2)*(i.reversed?-1:1),g+=e,c+=e,y+=e),t.plotX=t.clientX=(h+d)/2,t.plotY=c,p+=m+P,h+=P,d-=P,u-=m+P,g-=S,y+=S,t.tileEdges={x1:p,x2:h,x3:d,x4:u,y1:g,y2:c,y3:y},t.shapeType="path",t.shapeArgs={d:[["M",h,g],["L",d,g],["L",u,c],["L",d,y],["L",h,y],["L",p,c],["Z"]]}}this.translateColors()}},diamond:{alignDataLabel:n.prototype.alignDataLabel,getSeriesPadding:function(e){return o(e,2,2)},haloPath:function(e){if(!e)return[];let t=this.tileEdges;return[["M",t.x2,t.y1+e],["L",t.x3+e,t.y2],["L",t.x2,t.y3-e],["L",t.x1-e,t.y2],["Z"]]},translate:function(){let e;let t=this.options,a=this.xAxis,i=this.yAxis,s=t.pointPadding||0,n=t.colsize||1,o=(t.rowsize||1)/2;for(let t of(this.generatePoints(),this.points)){let p=r(Math.round(a.len-a.translate(t.x-n,0,1,0,0)),-a.len,2*a.len),h=r(Math.round(a.len-a.translate(t.x+n,0,1,0,0)),-a.len,2*a.len),d=r(Math.round(i.translate(t.y-o,0,1,0,0)),-i.len,2*i.len),u=r(Math.round(i.translate(t.y,0,1,0,0)),-i.len,2*i.len),g=r(Math.round(i.translate(t.y+o,0,1,0,0)),-i.len,2*i.len),c=r(Math.round(a.len-a.translate(t.x,0,1,0,0)),-a.len,2*a.len),y=l(t.pointPadding,s),x=y*Math.abs(c-p)/Math.abs(g-u),f=a.reversed?-x:x,m=i.reversed?-y:y;t.x%2&&(e=Math.abs(g-d)/2*(i.reversed?-1:1),d+=e,u+=e,g+=e),t.plotX=t.clientX=c,t.plotY=u,p+=f,h-=f,d-=m,g+=m,t.tileEdges={x1:p,x2:c,x3:h,y1:d,y2:u,y3:g},t.shapeType="path",t.shapeArgs={d:[["M",c,d],["L",h,u],["L",c,g],["L",p,u],["Z"]]}}this.translateColors()}},circle:{alignDataLabel:n.prototype.alignDataLabel,getSeriesPadding:function(e){return o(e,2,2)},haloPath:function(e){return n.prototype.pointClass.prototype.haloPath.call(this,e+(e&&this.radius))},translate:function(){let e=this.options,t=this.xAxis,a=this.yAxis,i=e.pointPadding||0,s=(e.rowsize||1)/2,n=e.colsize||1,l,o,p,h,d=!1;for(let e of(this.generatePoints(),this.points)){let u=r(Math.round(t.len-t.translate(e.x,0,1,0,0)),-t.len,2*t.len),g=r(Math.round(a.translate(e.y,0,1,0,0)),-a.len,2*a.len),c=i,y=!1;void 0!==e.pointPadding&&(c=e.pointPadding,y=!0,d=!0),(!h||d)&&(p=Math.floor(Math.sqrt((l=Math.abs(r(Math.floor(t.len-t.translate(e.x+n,0,1,0,0)),-t.len,2*t.len)-u))*l+(o=Math.abs(r(Math.floor(a.translate(e.y+s,0,1,0,0)),-a.len,2*a.len)-g))*o)/2),h=Math.min(l,p,o)-c,d&&!y&&(d=!1)),e.x%2&&(g+=o*(a.reversed?-1:1)),e.plotX=e.clientX=u,e.plotY=g,e.radius=h,e.shapeType="circle",e.shapeArgs={x:u,y:g,r:h}}this.translateColors()}},square:{alignDataLabel:s.prototype.alignDataLabel,translate:s.prototype.translate,getSeriesPadding:i,haloPath:s.prototype.pointClass.prototype.haloPath}}}),a(t,"Series/Tilemap/TilemapSeries.js",[t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Tilemap/TilemapPoint.js"],t["Series/Tilemap/TilemapSeriesDefaults.js"],t["Series/Tilemap/TilemapShapes.js"],t["Core/Utilities.js"]],function(e,t,a,i,s,n){let{composed:r,noop:l}=e,{column:o,heatmap:p,scatter:h}=t.seriesTypes,{addEvent:d,extend:u,merge:g,pushUnique:c}=n;function y(){if(this.recomputingForTilemap||"colorAxis"===this.coll)return;let e=this,t=e.series.map(function(t){return t.getSeriesPixelPadding&&t.getSeriesPixelPadding(e)}).reduce(function(e,t){return(e&&e.padding)>(t&&t.padding)?e:t},void 0)||{padding:0,axisLengthFactor:1},a=Math.round(t.padding*t.axisLengthFactor);t.padding&&(e.len-=a,e.recomputingForTilemap=!0,e.setAxisTranslation(),delete e.recomputingForTilemap,e.minPixelPadding+=t.padding,e.len+=a)}class x extends p{static compose(e){c(r,"TilemapSeries")&&d(e,"afterSetAxisTranslation",y)}alignDataLabel(){return this.tileShape.alignDataLabel.apply(this,arguments)}drawPoints(){for(let e of(o.prototype.drawPoints.call(this),this.points))e.graphic&&e.graphic[this.chart.styledMode?"css":"animate"](this.colorAttribs(e))}getSeriesPixelPadding(e){let t=e.isXAxis,a=this.tileShape.getSeriesPadding(this);if(!a)return{padding:0,axisLengthFactor:1};let i=Math.round(e.translate(t?2*a.xPad:a.yPad,0,1,0,1)),s=Math.round(e.translate(t?a.xPad:0,0,1,0,1));return{padding:(e.single?Math.abs(i-s)/2:Math.abs(i-s))||0,axisLengthFactor:t?2:1.1}}setOptions(){let e=super.setOptions.apply(this,arguments);return this.tileShape=s[e.tileShape],e}translate(){return this.tileShape.translate.apply(this,arguments)}}return x.defaultOptions=g(p.defaultOptions,i),u(x.prototype,{getSymbol:l,markerAttribs:h.prototype.markerAttribs,pointAttribs:o.prototype.pointAttribs,pointClass:a}),t.registerSeriesType("tilemap",x),x}),a(t,"masters/modules/tilemap.src.js",[t["Core/Globals.js"],t["Series/Tilemap/TilemapSeries.js"]],function(e,t){return t.compose(e.Axis),e})});
|
package/modules/tilemap.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highmaps JS v11.
|
|
2
|
+
* @license Highmaps JS v11.4.0 (2024-03-05)
|
|
3
3
|
*
|
|
4
4
|
* Tilemap module
|
|
5
5
|
*
|
|
@@ -663,7 +663,7 @@
|
|
|
663
663
|
*
|
|
664
664
|
* */
|
|
665
665
|
static compose(AxisClass) {
|
|
666
|
-
if (pushUnique(composed,
|
|
666
|
+
if (pushUnique(composed, 'TilemapSeries')) {
|
|
667
667
|
addEvent(AxisClass, 'afterSetAxisTranslation', onAxisAfterSetAxisTranslation);
|
|
668
668
|
}
|
|
669
669
|
}
|
|
@@ -750,7 +750,7 @@
|
|
|
750
750
|
getSymbol: noop,
|
|
751
751
|
// Use drawPoints, markerAttribs, pointAttribs methods from the old
|
|
752
752
|
// heatmap implementation.
|
|
753
|
-
// TODO: Consider
|
|
753
|
+
// TODO: Consider standardizing heatmap and tilemap into more
|
|
754
754
|
// consistent form.
|
|
755
755
|
markerAttribs: ScatterSeries.prototype.markerAttribs,
|
|
756
756
|
pointAttribs: ColumnSeries.prototype.pointAttribs,
|
|
@@ -779,5 +779,6 @@
|
|
|
779
779
|
const G = Highcharts;
|
|
780
780
|
TilemapSeries.compose(G.Axis);
|
|
781
781
|
|
|
782
|
+
return Highcharts;
|
|
782
783
|
});
|
|
783
784
|
}));
|
package/modules/timeline.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
* Highcharts JS v11.
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v11.4.0 (2024-03-04)
|
|
3
3
|
*
|
|
4
4
|
* Timeline series
|
|
5
5
|
*
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* Author: Daniel Studencki
|
|
8
8
|
*
|
|
9
9
|
* License: www.highcharts.com/license
|
|
10
|
-
|
|
10
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/timeline",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Series/Timeline/TimelinePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{line:{prototype:{pointClass:s}},pie:{prototype:{pointClass:n}}}=e.seriesTypes,{defined:o,isNumber:r,merge:a,objectEach:l,pick:h}=i;return class extends s{alignConnector(){let t=this.series,e=this.dataLabel,i=e.connector,s=e.options||{},n=s.connectorWidth||0,r=this.series.chart,a=i.getBBox(),l={x:a.x+(e.translateX||0),y:a.y+(e.translateY||0)};r.inverted?l.y-=n/2:l.x+=n/2,i[r.isInsidePlot(l.x,l.y)?"animate":"attr"]({d:this.getConnectorPath()}),i.addClass("highcharts-color-"+this.colorIndex),t.chart.styledMode||i.attr({stroke:s.connectorColor||this.color,"stroke-width":s.connectorWidth,opacity:e[o(e.newOpacity)?"newOpacity":"opacity"]})}drawConnector(){let{dataLabel:t,series:e}=this;t&&(t.connector||(t.connector=e.chart.renderer.path(this.getConnectorPath()).attr({zIndex:-1}).add(t)),this.series.chart.isInsidePlot(t.x||0,t.y||0)&&this.alignConnector())}getConnectorPath(){let{plotX:t=0,plotY:e=0,series:i,dataLabel:s}=this,n=i.chart,o=i.xAxis.len,a=n.inverted,h=a?"x2":"y2";if(s){let d=s.targetPosition,p=(s.alignAttr||s)[h[0]]<i.yAxis.len/2,c={x1:t,y1:e,x2:t,y2:r(d.y)?d.y:s.y};return a&&(c={x1:e,y1:o-t,x2:d.x||s.x,y2:o-t}),p&&(c[h]+=s[a?"width":"height"]||0),l(c,(t,e)=>{c[e]-=(s.alignAttr||s)[e[0]]}),n.renderer.crispLine([["M",c.x1,c.y1],["L",c.x2,c.y2]],s.options?.connectorWidth||0)}return[]}constructor(t,e){super(t,e),this.name??(this.name="Event"),this.y=1}isValid(){return null!==this.options.y}setState(){let t=super.setState;this.isNull||t.apply(this,arguments)}setVisible(t,e){let i=this.series;e=h(e,i.options.ignoreHiddenPoint),n.prototype.setVisible.call(this,t,!1),i.processData(),e&&i.chart.redraw()}applyOptions(e,i){return e=t.prototype.optionsToObject.call(this,e),this.userDLOptions=a(this.userDLOptions,e.dataLabels),super.applyOptions(e,i)}}}),i(e,"Series/Timeline/TimelineSeriesDefaults.js",[],function(){return{colorByPoint:!0,stickyTracking:!1,ignoreHiddenPoint:!0,legendType:"point",lineWidth:4,tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {point.key}</span><br/>',pointFormat:"{point.description}"},states:{hover:{lineWidthPlus:0}},dataLabels:{enabled:!0,allowOverlap:!0,alternate:!0,backgroundColor:"#ffffff",borderWidth:1,borderColor:"#999999",borderRadius:3,color:"#333333",connectorWidth:1,distance:void 0,formatter:function(){return(this.series.chart.styledMode?'<span class="highcharts-color-'+this.point.colorIndex+'">● </span>':'<span style="color:'+this.point.color+'">● </span>')+('<span class="highcharts-strong">'+(this.key||""))+"</span><br/>"+(this.point.label||"")},style:{textOutline:"none",fontWeight:"normal",fontSize:"0.8em"},shadow:!1,verticalAlign:"middle"},marker:{enabledThreshold:0,symbol:"square",radius:6,lineWidth:2,height:15},showInLegend:!1,colorKey:"x",legendSymbol:"rectangle"}}),i(e,"Series/Timeline/TimelineSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Series/Timeline/TimelinePoint.js"],e["Series/Timeline/TimelineSeriesDefaults.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{column:n,line:o}=t.seriesTypes,{addEvent:r,arrayMax:a,arrayMin:l,defined:h,extend:d,merge:p,pick:c}=s;class u extends o{alignDataLabel(t,e,i,s){let n,o,r;let a=this.chart.inverted,l=this.visibilityMap.filter(t=>!!t),h=this.visiblePointsCount||0,d=l.indexOf(t),p=this.options.dataLabels,u=t.userDLOptions||{},y=p.alternate?d&&d!==h-1?2:1.5:1,f=Math.floor(this.xAxis.len/h),g=e.padding;t.visible&&(n=Math.abs(u.x||t.options.dataLabels.x),a?(o=(n-g)*2-(t.itemHeight||0)/2,r={width:c(p.style?.width,`${.4*this.yAxis.len}px`),textOverflow:(e.width||0)/o*(e.height||0)/2>f*y?"ellipsis":"none"}):r={width:(u.width||p.width||f*y-2*g)+"px"},e.css(r),this.chart.styledMode||e.shadow(p.shadow)),super.alignDataLabel.apply(this,arguments)}bindAxes(){super.bindAxes(),this.xAxis.userOptions.type||(this.xAxis.categories=this.xAxis.hasNames=!0)}distributeDL(){let t=this.options.dataLabels,e=this.chart.inverted,i=1;if(t){let s=c(t.distance,e?20:100);for(let n of this.points){let o={[e?"x":"y"]:t.alternate&&i%2?-s:s};e&&(o.align=t.alternate&&i%2?"right":"left"),n.options.dataLabels=p(o,n.userDLOptions),i++}}}generatePoints(){super.generatePoints();let t=this.points;for(let e=0,i=t.length;e<i;++e)t[e].applyOptions({x:this.xData[e]},this.xData[e])}getVisibilityMap(){return(this.data.length?this.data:this.userOptions.data||[]).map(t=>!!t&&!1!==t.visible&&!t.isNull&&t)}getXExtremes(t){let e=this,i=t.filter((t,i)=>e.points[i].isValid()&&e.points[i].visible);return{min:l(i),max:a(i)}}init(){let t=this;super.init.apply(t,arguments),t.eventsToUnbind.push(r(t,"afterTranslate",function(){let e,i=Number.MAX_VALUE;for(let s of t.points)s.isInside=s.isInside&&s.visible,s.visible&&!s.isNull&&(h(e)&&(i=Math.min(i,Math.abs(s.plotX-e))),e=s.plotX);t.closestPointRangePx=i})),t.eventsToUnbind.push(r(t,"drawDataLabels",function(){t.distributeDL()})),t.eventsToUnbind.push(r(t,"afterDrawDataLabels",function(){let e;for(let i of t.points)(e=i.dataLabel)&&(e.animate=function(t){return this.targetPosition&&(this.targetPosition=t),this.renderer.Element.prototype.animate.apply(this,arguments)},e.targetPosition||(e.targetPosition={}),i.drawConnector())})),t.eventsToUnbind.push(r(t.chart,"afterHideOverlappingLabel",function(){for(let e of t.points)e.dataLabel&&e.dataLabel.connector&&e.dataLabel.oldOpacity!==e.dataLabel.newOpacity&&e.alignConnector()}))}markerAttribs(t,e){let i=this.options.marker,s=t.marker||{},n=s.symbol||i.symbol,o=c(s.width,i.width,this.closestPointRangePx),r=c(s.height,i.height),a,l=0;if(this.xAxis.dateTime)return super.markerAttribs(t,e);e&&(a=i.states[e]||{},l=c((s.states&&s.states[e]||{}).radius,a.radius,l+(a.radiusPlus||0))),t.hasImage=n&&0===n.indexOf("url");let h={x:Math.floor(t.plotX)-o/2-l/2,y:t.plotY-r/2-l/2,width:o+l,height:r+l};return this.chart.inverted?{y:h.x&&h.width&&this.xAxis.len-h.x-h.width,x:h.y&&h.y,width:h.height,height:h.width}:h}processData(){let t=0,e;for(let e of(this.visibilityMap=this.getVisibilityMap(),this.visibilityMap))e&&t++;for(e=0,this.visiblePointsCount=t;e<this.xData.length;e++)this.yData[e]=1;super.processData.call(this,arguments)}}return u.defaultOptions=p(o.defaultOptions,i),d(u.prototype,{drawTracker:n.prototype.drawTracker,pointClass:e,trackerGroups:["markerGroup","dataLabelsGroup"]}),t.registerSeriesType("timeline",u),u}),i(e,"masters/modules/timeline.src.js",[e["Core/Globals.js"]],function(t){return t})});
|
package/modules/timeline.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.
|
|
2
|
+
* @license Highcharts JS v11.4.0 (2024-03-05)
|
|
3
3
|
*
|
|
4
4
|
* Timeline series
|
|
5
5
|
*
|
|
@@ -610,8 +610,8 @@
|
|
|
610
610
|
// Initialize the targetPosition field within data label
|
|
611
611
|
// object. It's necessary because there is need to know
|
|
612
612
|
// expected position of specific data label, when
|
|
613
|
-
// aligning connectors. This field is
|
|
614
|
-
// of SVGElement.animate() wrapped
|
|
613
|
+
// aligning connectors. This field is overridden inside
|
|
614
|
+
// of SVGElement.animate() wrapped method.
|
|
615
615
|
if (!dataLabel.targetPosition) {
|
|
616
616
|
dataLabel.targetPosition = {};
|
|
617
617
|
}
|
|
@@ -731,8 +731,9 @@
|
|
|
731
731
|
|
|
732
732
|
return TimelineSeries;
|
|
733
733
|
});
|
|
734
|
-
_registerModule(_modules, 'masters/modules/timeline.src.js', [], function () {
|
|
734
|
+
_registerModule(_modules, 'masters/modules/timeline.src.js', [_modules['Core/Globals.js']], function (Highcharts) {
|
|
735
735
|
|
|
736
736
|
|
|
737
|
+
return Highcharts;
|
|
737
738
|
});
|
|
738
739
|
}));
|
package/modules/treegraph.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
* Highcharts JS v11.
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v11.4.0 (2024-03-04)
|
|
3
3
|
* Treegraph chart series type
|
|
4
4
|
*
|
|
5
5
|
* (c) 2010-2024 Pawel Lysy Grzegorz Blachlinski
|
|
6
6
|
*
|
|
7
7
|
* License: www.highcharts.com/license
|
|
8
|
-
*/!function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/treegraph",["highcharts","highcharts/modules/treemap"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}i(t,"Series/PathUtilities.js",[],function(){function e(e,t){let i=[];for(let s=0;s<e.length;s++){let o=e[s][1],r=e[s][2];if("number"==typeof o&&"number"==typeof r){if(0===s)i.push(["M",o,r]);else if(s===e.length-1)i.push(["L",o,r]);else if(t){let l=e[s-1],n=e[s+1];if(l&&n){let e=l[1],s=l[2],a=n[1],h=n[2];if("number"==typeof e&&"number"==typeof a&&"number"==typeof s&&"number"==typeof h&&e!==a&&s!==h){let l=e<a?1:-1,n=s<h?1:-1;i.push(["L",o-l*Math.min(Math.abs(o-e),t),r-n*Math.min(Math.abs(r-s),t)],["C",o,r,o,r,o+l*Math.min(Math.abs(o-a),t),r+n*Math.min(Math.abs(r-h),t)])}}}else i.push(["L",o,r])}}return i}return{applyRadius:e,getLinkPath:{default:function(t){let{x1:i,y1:s,x2:o,y2:r,width:l=0,inverted:n=!1,radius:a,parentVisible:h}=t,p=[["M",i,s],["L",i,s],["C",i,s,i,r,i,r],["L",i,r],["C",i,s,i,r,i,r],["L",i,r]];return h?e([["M",i,s],["L",i+l*(n?-.5:.5),s],["L",i+l*(n?-.5:.5),r],["L",o,r]],a):p},straight:function(e){let{x1:t,y1:i,x2:s,y2:o,width:r=0,inverted:l=!1,parentVisible:n}=e;return n?[["M",t,i],["L",t+r*(l?-1:1),o],["L",s,o]]:[["M",t,i],["L",t,o],["L",t,o]]},curved:function(e){let{x1:t,y1:i,x2:s,y2:o,offset:r=0,width:l=0,inverted:n=!1,parentVisible:a}=e;return a?[["M",t,i],["C",t+r,i,t-r+l*(n?-1:1),o,t+l*(n?-1:1),o],["L",s,o]]:[["M",t,i],["C",t,i,t,o,t,o],["L",s,o]]}}}}),i(t,"Series/Treegraph/TreegraphNode.js",[t["Core/Series/SeriesRegistry.js"]],function(e){let{seriesTypes:{treemap:{prototype:{NodeClass:t}}}}=e;return class extends t{constructor(){super(...arguments),this.mod=0,this.shift=0,this.change=0,this.children=[],this.preX=0,this.hidden=!1,this.wasVisited=!1,this.collapsed=!1}nextLeft(){return this.getLeftMostChild()||this.thread}nextRight(){return this.getRightMostChild()||this.thread}getAncestor(e,t){let i=e.ancestor;return i.children[0]===this.children[0]?e.ancestor:t}getLeftMostSibling(){let e=this.getParent();if(e){for(let t of e.children)if(t&&t.point.visible)return t}}hasChildren(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return!0;return!1}getLeftSibling(){let e=this.getParent();if(e){let t=e.children;for(let e=this.relativeXPosition-1;e>=0;e--)if(t[e]&&t[e].point.visible)return t[e]}}getLeftMostChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}getRightMostChild(){let e=this.children;for(let t=e.length-1;t>=0;t--)if(e[t].point.visible)return e[t]}getParent(){return this.parentNode}getFirstChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}}}),i(t,"Series/Treegraph/TreegraphPoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{seriesTypes:{treemap:{prototype:{pointClass:s}}}}=t,{addEvent:o,fireEvent:r,merge:l}=i;class n extends s{constructor(){super(...arguments),this.isLink=!1,this.setState=e.prototype.setState}draw(){super.draw.apply(this,arguments);let e=this.graphic;e&&e.animate({visibility:this.visible?"inherit":"hidden"}),this.renderCollapseButton()}renderCollapseButton(){let e=this.series,t=this.graphic&&this.graphic.parentGroup,i=e.mapOptionsToLevel[this.node.level||0]||{},s=l(e.options.collapseButton,i.collapseButton,this.options.collapseButton),{width:o,height:r,shape:n,style:a}=s,h=this.series.chart,p=this.visible&&(this.collapsed||!s.onlyOnHover||"hover"===this.state)?1:0;if(this.shapeArgs){if(this.collapseButtonOptions=s,this.collapseButton){if(this.node.children.length&&s.enabled){let{x:e,y:t}=this.getCollapseBtnPosition(s);this.collapseButton.attr({text:this.collapsed?"+":"-",rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,visibility:this.visible?"inherit":"hidden"}).animate({x:e,y:t,opacity:p})}else this.collapseButton.destroy(),delete this.collapseButton}else{if(!this.node.children.length||!s.enabled)return;let{x:e,y:i}=this.getCollapseBtnPosition(s),d=s.fillColor||this.color||"#cccccc";this.collapseButton=h.renderer.label(this.collapsed?"+":"-",e,i,n).attr({height:r-4,width:o-4,padding:2,fill:d,rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,stroke:s.lineColor||"#ffffff","stroke-width":s.lineWidth,"text-align":"center",align:"center",zIndex:1,opacity:p,visibility:this.visible?"inherit":"hidden"}).addClass("highcharts-tracker").addClass("highcharts-collapse-button").removeClass("highcharts-no-tooltip").css(l({color:"string"==typeof d?h.renderer.getContrast(d):"#333333"},a)).add(t),this.collapseButton.element.point=this}}}toggleCollapse(e){let t=this.series;this.update({collapsed:e??!this.collapsed},!1,void 0,!1),r(t,"toggleCollapse"),t.redraw()}destroy(){this.collapseButton&&(this.collapseButton.destroy(),delete this.collapseButton,this.collapseButton=void 0),this.linkToParent&&(this.linkToParent.destroy(),delete this.linkToParent),super.destroy.apply(this,arguments)}getCollapseBtnPosition(e){let t=this.series.chart,i=t.inverted,s=e.width,o=e.height,{x:r=0,y:l=0,width:n=0,height:a=0}=this.shapeArgs||{};return{x:r+e.x+(i?-(.3*o):n+-.3*s),y:l+a/2-o/2+e.y}}}return o(n,"mouseOut",function(){let e=this.collapseButton,t=this.collapseButtonOptions;e&&t?.onlyOnHover&&!this.collapsed&&e.animate({opacity:0})}),o(n,"mouseOver",function(){this.collapseButton&&this.visible&&this.collapseButton.animate({opacity:1},this.series.options.states?.hover?.animation)}),o(n,"click",function(){this.toggleCollapse()}),n}),i(t,"Series/Treegraph/TreegraphLink.js",[t["Core/Series/Point.js"],t["Core/Utilities.js"],t["Core/Series/SeriesRegistry.js"]],function(e,t,i){let{pick:s,extend:o}=t,{seriesTypes:{column:{prototype:{pointClass:r}}}}=i;return class extends r{constructor(e,t,i,s){super(e,t,i),this.isLink=!0,this.node={},this.formatPrefix="link",this.dataLabelOnNull=!0,this.formatPrefix="link",this.dataLabelOnNull=!0,s&&(this.fromNode=s.node.parentNode.point,this.visible=s.visible,this.toNode=s,this.id=this.toNode.id+"-"+this.fromNode.id)}update(t,i,r,l){let n={id:this.id,formatPrefix:this.formatPrefix};e.prototype.update.call(this,t,!this.isLink&&i,r,l),this.visible=this.toNode.visible,o(this,n),s(i,!0)&&this.series.chart.redraw(r)}}}),i(t,"Series/Treegraph/TreegraphLayout.js",[t["Series/Treegraph/TreegraphNode.js"]],function(e){class t{static createDummyNode(t,i,s,o){let r=new e;return r.id=t.id+"-"+s,r.ancestor=t,r.children.push(i),r.parent=t.id,r.parentNode=t,r.point=i.point,r.level=i.level-s,r.relativeXPosition=i.relativeXPosition,r.visible=i.visible,t.children[i.relativeXPosition]=r,i.oldParentNode=t,i.relativeXPosition=0,i.parentNode=r,i.parent=r.id,r}calculatePositions(e){let t=e.nodeList;this.resetValues(t);let i=e.tree;i&&(this.calculateRelativeX(i,0),this.beforeLayout(t),this.firstWalk(i),this.secondWalk(i,-i.preX),this.afterLayout(t))}beforeLayout(e){for(let i of e){let e=0;for(let s of i.children){if(s&&s.level-i.level>1){let o=s.level-i.level-1;for(;o>0;)s=t.createDummyNode(i,s,o,e),o--}++e}}}resetValues(e){for(let t of e)t.mod=0,t.ancestor=t,t.shift=0,t.thread=void 0,t.change=0,t.preX=0}calculateRelativeX(e,t){let i=e.children;for(let e=0,t=i.length;e<t;++e)this.calculateRelativeX(i[e],e);e.relativeXPosition=t}firstWalk(e){let t;if(e.hasChildren()){let i=e.getLeftMostChild();for(let t of e.children)this.firstWalk(t),i=this.apportion(t,i);this.executeShifts(e);let s=e.getLeftMostChild(),o=e.getRightMostChild(),r=(s.preX+o.preX)/2;(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX-r):e.preX=r}else(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX):e.preX=0}secondWalk(e,t){for(let i of(e.yPosition=e.preX+t,e.xPosition=e.level,e.children))this.secondWalk(i,t+e.mod)}executeShifts(e){let t=0,i=0;for(let s=e.children.length-1;s>=0;s--){let o=e.children[s];o.preX+=t,o.mod+=t,i+=o.change,t+=o.shift+i}}apportion(e,t){let i=e.getLeftSibling();if(i){let s=e,o=e,r=i,l=s.getLeftMostSibling(),n=s.mod,a=o.mod,h=r.mod,p=l.mod;for(;r&&r.nextRight()&&s&&s.nextLeft();){r=r.nextRight(),l=l.nextLeft(),s=s.nextLeft(),(o=o.nextRight()).ancestor=e;let i=r.preX+h-(s.preX+n)+1;i>0&&(this.moveSubtree(e.getAncestor(r,t),e,i),n+=i,a+=i),h+=r.mod,n+=s.mod,p+=l.mod,a+=o.mod}r&&r.nextRight()&&!o.nextRight()&&(o.thread=r.nextRight(),o.mod+=h-a),s&&s.nextLeft()&&!l.nextLeft()&&(l.thread=s.nextLeft(),l.mod+=n-p),t=e}return t}moveSubtree(e,t,i){let s=t.relativeXPosition-e.relativeXPosition;t.change-=i/s,t.shift+=i,t.preX+=i,t.mod+=i,e.change+=i/s}afterLayout(e){for(let t of e)t.oldParentNode&&(t.relativeXPosition=t.parentNode.relativeXPosition,t.parent=t.oldParentNode.parent,t.parentNode=t.oldParentNode,delete t.oldParentNode.children[t.relativeXPosition],t.oldParentNode.children[t.relativeXPosition]=t,t.oldParentNode=void 0)}}return t}),i(t,"Series/Treegraph/TreegraphSeriesDefaults.js",[],function(){return{reversed:!1,marker:{radius:10,lineWidth:0,symbol:"circle",fillOpacity:1,states:{}},link:{color:"#666666",lineWidth:1,radius:10,cursor:"default",type:"curved"},collapseButton:{onlyOnHover:!0,enabled:!0,lineWidth:1,x:0,y:0,height:18,width:18,shape:"circle",style:{cursor:"pointer",fontWeight:"bold",fontSize:"1em"}},fillSpace:!1,tooltip:{linkFormat:"{point.fromNode.id} → {point.toNode.id}",pointFormat:"{point.id}"},dataLabels:{defer:!0,linkTextPath:{attributes:{startOffset:"50%"}},enabled:!0,linkFormatter:()=>"",style:{textOverflow:"none"}}}}),i(t,"Series/Treegraph/TreegraphSeries.js",[t["Series/PathUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Series/Treegraph/TreegraphNode.js"],t["Series/Treegraph/TreegraphPoint.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"],t["Series/Treegraph/TreegraphLink.js"],t["Series/Treegraph/TreegraphLayout.js"],t["Series/Treegraph/TreegraphSeriesDefaults.js"]],function(e,t,i,s,o,r,l,n,a,h){let{getLinkPath:p}=e,{series:{prototype:d},seriesTypes:{treemap:c,column:u}}=t,{prototype:{symbols:f}}=i,{getLevelOptions:g}=r,{extend:y,merge:m,pick:v,relativeLength:k,splat:b}=l;class L extends c{constructor(){super(...arguments),this.nodeList=[],this.links=[]}init(){super.init.apply(this,arguments),this.layoutAlgorythm=new a}getLayoutModifiers(){let e=this.chart,t=this,i=e.plotSizeX,s=e.plotSizeY,o=1/0,r=-1/0,l=1/0,n=-1/0,a=0,h=0,p=0,d=0;this.points.forEach(e=>{if(this.options.fillSpace&&!e.visible)return;let c=e.node,u=t.mapOptionsToLevel[e.node.level]||{},f=m(this.options.marker,u.marker,e.options.marker),g=k(f.radius||0,Math.min(i,s)),y=f.symbol,v="circle"!==y&&f.height?k(f.height,s):2*g,b="circle"!==y&&f.width?k(f.width,i):2*g;c.nodeSizeX=b,c.nodeSizeY=v,c.xPosition<=o&&(o=c.xPosition,h=Math.max(b+(f.lineWidth||0),h)),c.xPosition>=r&&(r=c.xPosition,a=Math.max(b+(f.lineWidth||0),a)),c.yPosition<=l&&(l=c.yPosition,d=Math.max(v+(f.lineWidth||0),d)),c.yPosition>=n&&(n=c.yPosition,p=Math.max(v+(f.lineWidth||0),p))});let c=n===l?1:(s-(d+p)/2)/(n-l),u=n===l?s/2:-c*l+d/2,f=r===o?1:(i-(a+a)/2)/(r-o),g=r===o?i/2:-f*o+h/2;return{ax:f,bx:g,ay:c,by:u}}getLinks(){let e=this,t=[];return this.data.forEach((i,s)=>{let o=e.mapOptionsToLevel[i.node.level||0]||{};if(i.node.parent){let s=m(o,i.options);if(!i.linkToParent||i.linkToParent.destroyed){let t=new e.LinkClass(e,s,void 0,i);i.linkToParent=t}else i.collapsed=v(i.collapsed,(this.mapOptionsToLevel[i.node.level]||{}).collapsed),i.linkToParent.visible=i.linkToParent.toNode.visible;i.linkToParent.index=t.push(i.linkToParent)-1}else i.linkToParent&&(e.links.splice(i.linkToParent.index),i.linkToParent.destroy(),delete i.linkToParent)}),t}buildTree(e,t,i,s,o){let r=this.points[t];return i=r&&r.level||i,super.buildTree.call(this,e,t,i,s,o)}markerAttribs(){return{}}setCollapsedStatus(e,t){let i=e.point;i&&(i.collapsed=v(i.collapsed,(this.mapOptionsToLevel[e.level]||{}).collapsed),i.visible=t,t=!1!==t&&!i.collapsed),e.children.forEach(e=>{this.setCollapsedStatus(e,t)})}drawTracker(){u.prototype.drawTracker.apply(this,arguments),u.prototype.drawTracker.call(this,this.links)}translate(){let e=this.options,t=r.updateRootId(this),i;d.translate.call(this);let s=this.tree=this.getTree();i=this.nodeMap[t],""===t||i&&i.children.length||(this.setRootNode("",!1),t=this.rootNode,i=this.nodeMap[t]),this.mapOptionsToLevel=g({from:i.level+1,levels:e.levels,to:s.height,defaults:{levelIsConstant:this.options.levelIsConstant,colorByPoint:e.colorByPoint}}),this.setCollapsedStatus(s,!0),this.links=this.getLinks(),this.setTreeValues(s),this.layoutAlgorythm.calculatePositions(this),this.layoutModifier=this.getLayoutModifiers(),this.points.forEach(e=>{this.translateNode(e)}),this.points.forEach(e=>{e.linkToParent&&this.translateLink(e.linkToParent)}),e.colorByPoint||this.setColorRecursive(this.tree)}translateLink(e){let t=e.fromNode,i=e.toNode,s=this.options.link.lineWidth,o=Math.round(s)%2/2,r=v(this.options.link.curveFactor,.5),l=v(e.options.link&&e.options.link.type,this.options.link.type);if(t.shapeArgs&&i.shapeArgs){let n=t.shapeArgs.width||0,a=this.chart.inverted,h=Math.floor((t.shapeArgs.y||0)+(t.shapeArgs.height||0)/2)+o,d=Math.floor((i.shapeArgs.y||0)+(i.shapeArgs.height||0)/2)+o,c=Math.floor((t.shapeArgs.x||0)+n)+o,u=Math.floor(i.shapeArgs.x||0)+o;a&&(c-=n,u+=i.shapeArgs.width||0);let f=i.node.xPosition-t.node.xPosition;e.shapeType="path";let g=Math.abs(u-c)+n,y=g/f-n,m=y*r*(a?-1:1),v=Math.floor((u+c)/2)+o;e.plotX=v,e.plotY=d,e.shapeArgs={d:p[l]({x1:c,y1:h,x2:u,y2:d,width:y,offset:m,inverted:a,parentVisible:i.visible,radius:this.options.link.radius})},e.dlBox={x:(c+u)/2,y:(h+d)/2,height:s,width:0},e.tooltipPos=a?[(this.chart.plotSizeY||0)-e.dlBox.y,(this.chart.plotSizeX||0)-e.dlBox.x]:[e.dlBox.x,e.dlBox.y]}}drawNodeLabels(e){let t,i;let s=this.mapOptionsToLevel;for(let o of e)i=s[o.node.level],t={style:{}},i&&i.dataLabels&&(t=m(t,i.dataLabels),this.hasDataLabels=()=>!0),o.shapeArgs&&!b(this.options.dataLabels)[0].style.width&&(t.style.width=o.shapeArgs.width,o.dataLabel&&o.dataLabel.css({width:o.shapeArgs.width+"px"})),o.dlOptions=m(t,o.options.dataLabels);d.drawDataLabels.call(this,e)}alignDataLabel(e,t){let i=e.visible;e.visible=!0,super.alignDataLabel.apply(this,arguments),t.animate({opacity:!1===i?0:1},void 0,function(){i||t.hide()}),e.visible=i}drawDataLabels(){this.options.dataLabels&&(this.options.dataLabels=b(this.options.dataLabels),this.drawNodeLabels(this.points),d.drawDataLabels.call(this,this.links))}destroy(){if(this.links){for(let e of this.links)e.destroy();this.links.length=0}return d.destroy.apply(this,arguments)}pointAttribs(e,t){let i=e&&this.mapOptionsToLevel[e.node.level||0]||{},s=e&&e.options,o=i.states&&i.states[t]||{};e&&(e.options.marker=m(this.options.marker,i.marker,e.options.marker));let r=v(o&&o.link&&o.link.color,s&&s.link&&s.link.color,i&&i.link&&i.link.color,this.options.link&&this.options.link.color),l=v(o&&o.link&&o.link.lineWidth,s&&s.link&&s.link.lineWidth,i&&i.link&&i.link.lineWidth,this.options.link&&this.options.link.lineWidth),n=d.pointAttribs.call(this,e,t);return e&&(e.isLink&&(n.stroke=r,n["stroke-width"]=l,delete n.fill),e.visible||(n.opacity=0)),n}drawPoints(){c.prototype.drawPoints.apply(this,arguments),u.prototype.drawPoints.call(this,this.links)}translateNode(e){let t=this.chart,i=e.node,s=t.plotSizeY,o=t.plotSizeX,{ax:r,bx:l,ay:n,by:a}=this.layoutModifier,h=r*i.xPosition+l,p=n*i.yPosition+a,d=this.mapOptionsToLevel[i.level]||{},c=m(this.options.marker,d.marker,e.options.marker),u=c.symbol,g=i.nodeSizeY,k=i.nodeSizeX,b=this.options.reversed,L=i.x=t.inverted?o-k/2-h:h-k/2,P=i.y=b?p-g/2:s-p-g/2,T=v(e.options.borderRadius,d.borderRadius,this.options.borderRadius),x=f[u||"circle"];if(void 0===x?(e.hasImage=!0,e.shapeType="image",e.imageUrl=u.match(/^url\((.*?)\)$/)[1]):e.shapeType="path",!e.visible&&e.linkToParent){let t=e.linkToParent.fromNode;if(t){let i=t.shapeArgs||{},{x:s=0,y:o=0,width:r=0,height:l=0}=i;e.shapeArgs||(e.shapeArgs={}),e.hasImage||y(e.shapeArgs,{d:x(s,o,r,l,T?{r:T}:void 0)}),y(e.shapeArgs,{x:s,y:o}),e.plotX=t.plotX,e.plotY=t.plotY}}else e.plotX=L,e.plotY=P,e.shapeArgs={x:L,y:P,width:k,height:g,cursor:e.node.isLeaf?"default":"pointer"},e.hasImage||(e.shapeArgs.d=x(L,P,k,g,T?{r:T}:void 0));e.tooltipPos=t.inverted?[s-P-g/2,o-L-k/2]:[L+k/2,P]}}return L.defaultOptions=m(c.defaultOptions,h),y(L.prototype,{pointClass:o,NodeClass:s,LinkClass:n}),t.registerSeriesType("treegraph",L),L}),i(t,"masters/modules/treegraph.src.js",[],function(){})});
|
|
8
|
+
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/treegraph",["highcharts","highcharts/modules/treemap"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}i(t,"Series/PathUtilities.js",[],function(){function e(e,t){let i=[];for(let s=0;s<e.length;s++){let o=e[s][1],r=e[s][2];if("number"==typeof o&&"number"==typeof r){if(0===s)i.push(["M",o,r]);else if(s===e.length-1)i.push(["L",o,r]);else if(t){let l=e[s-1],n=e[s+1];if(l&&n){let e=l[1],s=l[2],a=n[1],h=n[2];if("number"==typeof e&&"number"==typeof a&&"number"==typeof s&&"number"==typeof h&&e!==a&&s!==h){let l=e<a?1:-1,n=s<h?1:-1;i.push(["L",o-l*Math.min(Math.abs(o-e),t),r-n*Math.min(Math.abs(r-s),t)],["C",o,r,o,r,o+l*Math.min(Math.abs(o-a),t),r+n*Math.min(Math.abs(r-h),t)])}}}else i.push(["L",o,r])}}return i}return{applyRadius:e,getLinkPath:{default:function(t){let{x1:i,y1:s,x2:o,y2:r,width:l=0,inverted:n=!1,radius:a,parentVisible:h}=t,d=[["M",i,s],["L",i,s],["C",i,s,i,r,i,r],["L",i,r],["C",i,s,i,r,i,r],["L",i,r]];return h?e([["M",i,s],["L",i+l*(n?-.5:.5),s],["L",i+l*(n?-.5:.5),r],["L",o,r]],a):d},straight:function(e){let{x1:t,y1:i,x2:s,y2:o,width:r=0,inverted:l=!1,parentVisible:n}=e;return n?[["M",t,i],["L",t+r*(l?-1:1),o],["L",s,o]]:[["M",t,i],["L",t,o],["L",t,o]]},curved:function(e){let{x1:t,y1:i,x2:s,y2:o,offset:r=0,width:l=0,inverted:n=!1,parentVisible:a}=e;return a?[["M",t,i],["C",t+r,i,t-r+l*(n?-1:1),o,t+l*(n?-1:1),o],["L",s,o]]:[["M",t,i],["C",t,i,t,o,t,o],["L",s,o]]}}}}),i(t,"Series/Treegraph/TreegraphNode.js",[t["Core/Series/SeriesRegistry.js"]],function(e){let{seriesTypes:{treemap:{prototype:{NodeClass:t}}}}=e;return class extends t{constructor(){super(...arguments),this.mod=0,this.shift=0,this.change=0,this.children=[],this.preX=0,this.hidden=!1,this.wasVisited=!1,this.collapsed=!1}nextLeft(){return this.getLeftMostChild()||this.thread}nextRight(){return this.getRightMostChild()||this.thread}getAncestor(e,t){return e.ancestor.children[0]===this.children[0]?e.ancestor:t}getLeftMostSibling(){let e=this.getParent();if(e){for(let t of e.children)if(t&&t.point.visible)return t}}hasChildren(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return!0;return!1}getLeftSibling(){let e=this.getParent();if(e){let t=e.children;for(let e=this.relativeXPosition-1;e>=0;e--)if(t[e]&&t[e].point.visible)return t[e]}}getLeftMostChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}getRightMostChild(){let e=this.children;for(let t=e.length-1;t>=0;t--)if(e[t].point.visible)return e[t]}getParent(){return this.parentNode}getFirstChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}}}),i(t,"Series/Treegraph/TreegraphPoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{seriesTypes:{treemap:{prototype:{pointClass:s}}}}=t,{addEvent:o,fireEvent:r,merge:l}=i;class n extends s{constructor(){super(...arguments),this.dataLabelOnHidden=!0,this.isLink=!1,this.setState=e.prototype.setState}draw(){super.draw.apply(this,arguments);let e=this.graphic;e&&e.animate({visibility:this.visible?"inherit":"hidden"}),this.renderCollapseButton()}renderCollapseButton(){let e=this.series,t=this.graphic&&this.graphic.parentGroup,i=e.mapOptionsToLevel[this.node.level||0]||{},s=l(e.options.collapseButton,i.collapseButton,this.options.collapseButton),{width:o,height:r,shape:n,style:a}=s,h=this.series.chart,d=this.visible&&(this.collapsed||!s.onlyOnHover||"hover"===this.state)?1:0;if(this.shapeArgs){if(this.collapseButtonOptions=s,this.collapseButton){if(this.node.children.length&&s.enabled){let{x:e,y:t}=this.getCollapseBtnPosition(s);this.collapseButton.attr({text:this.collapsed?"+":"-",rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,visibility:this.visible?"inherit":"hidden"}).animate({x:e,y:t,opacity:d})}else this.collapseButton.destroy(),delete this.collapseButton}else{if(!this.node.children.length||!s.enabled)return;let{x:e,y:i}=this.getCollapseBtnPosition(s),p=s.fillColor||this.color||"#cccccc";this.collapseButton=h.renderer.label(this.collapsed?"+":"-",e,i,n).attr({height:r-4,width:o-4,padding:2,fill:p,rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,stroke:s.lineColor||"#ffffff","stroke-width":s.lineWidth,"text-align":"center",align:"center",zIndex:1,opacity:d,visibility:this.visible?"inherit":"hidden"}).addClass("highcharts-tracker").addClass("highcharts-collapse-button").removeClass("highcharts-no-tooltip").css(l({color:"string"==typeof p?h.renderer.getContrast(p):"#333333"},a)).add(t),this.collapseButton.element.point=this}}}toggleCollapse(e){let t=this.series;this.update({collapsed:e??!this.collapsed},!1,void 0,!1),r(t,"toggleCollapse"),t.redraw()}destroy(){this.collapseButton&&(this.collapseButton.destroy(),delete this.collapseButton,this.collapseButton=void 0),this.linkToParent&&(this.linkToParent.destroy(),delete this.linkToParent),super.destroy.apply(this,arguments)}getCollapseBtnPosition(e){let t=this.series.chart.inverted,i=e.width,s=e.height,{x:o=0,y:r=0,width:l=0,height:n=0}=this.shapeArgs||{};return{x:o+e.x+(t?-(.3*s):l+-.3*i),y:r+n/2-s/2+e.y}}}return o(n,"mouseOut",function(){let e=this.collapseButton,t=this.collapseButtonOptions;e&&t?.onlyOnHover&&!this.collapsed&&e.animate({opacity:0})}),o(n,"mouseOver",function(){this.collapseButton&&this.visible&&this.collapseButton.animate({opacity:1},this.series.options.states?.hover?.animation)}),o(n,"click",function(){this.toggleCollapse()}),n}),i(t,"Series/Treegraph/TreegraphLink.js",[t["Core/Series/Point.js"],t["Core/Utilities.js"],t["Core/Series/SeriesRegistry.js"]],function(e,t,i){let{pick:s,extend:o}=t,{seriesTypes:{column:{prototype:{pointClass:r}}}}=i;return class extends r{constructor(e,t,i,s){super(e,t,i),this.isLink=!0,this.node={},this.formatPrefix="link",this.dataLabelOnNull=!0,this.formatPrefix="link",this.dataLabelOnNull=!0,s&&(this.fromNode=s.node.parentNode.point,this.visible=s.visible,this.toNode=s,this.id=this.toNode.id+"-"+this.fromNode.id)}update(t,i,r,l){let n={id:this.id,formatPrefix:this.formatPrefix};e.prototype.update.call(this,t,!this.isLink&&i,r,l),this.visible=this.toNode.visible,o(this,n),s(i,!0)&&this.series.chart.redraw(r)}}}),i(t,"Series/Treegraph/TreegraphLayout.js",[t["Series/Treegraph/TreegraphNode.js"]],function(e){class t{static createDummyNode(t,i,s){let o=new e;return o.id=t.id+"-"+s,o.ancestor=t,o.children.push(i),o.parent=t.id,o.parentNode=t,o.point=i.point,o.level=i.level-s,o.relativeXPosition=i.relativeXPosition,o.visible=i.visible,t.children[i.relativeXPosition]=o,i.oldParentNode=t,i.relativeXPosition=0,i.parentNode=o,i.parent=o.id,o}calculatePositions(e){let t=e.nodeList;this.resetValues(t);let i=e.tree;i&&(this.calculateRelativeX(i,0),this.beforeLayout(t),this.firstWalk(i),this.secondWalk(i,-i.preX),this.afterLayout(t))}beforeLayout(e){for(let i of e)for(let e of i.children)if(e&&e.level-i.level>1){let s=e.level-i.level-1;for(;s>0;)e=t.createDummyNode(i,e,s),s--}}resetValues(e){for(let t of e)t.mod=0,t.ancestor=t,t.shift=0,t.thread=void 0,t.change=0,t.preX=0}calculateRelativeX(e,t){let i=e.children;for(let e=0,t=i.length;e<t;++e)this.calculateRelativeX(i[e],e);e.relativeXPosition=t}firstWalk(e){let t;if(e.hasChildren()){let i=e.getLeftMostChild();for(let t of e.children)this.firstWalk(t),i=this.apportion(t,i);this.executeShifts(e);let s=e.getLeftMostChild(),o=e.getRightMostChild(),r=(s.preX+o.preX)/2;(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX-r):e.preX=r}else(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX):e.preX=0}secondWalk(e,t){for(let i of(e.yPosition=e.preX+t,e.xPosition=e.level,e.children))this.secondWalk(i,t+e.mod)}executeShifts(e){let t=0,i=0;for(let s=e.children.length-1;s>=0;s--){let o=e.children[s];o.preX+=t,o.mod+=t,i+=o.change,t+=o.shift+i}}apportion(e,t){let i=e.getLeftSibling();if(i){let s=e,o=e,r=i,l=s.getLeftMostSibling(),n=s.mod,a=o.mod,h=r.mod,d=l.mod;for(;r&&r.nextRight()&&s&&s.nextLeft();){r=r.nextRight(),l=l.nextLeft(),s=s.nextLeft(),(o=o.nextRight()).ancestor=e;let i=r.preX+h-(s.preX+n)+1;i>0&&(this.moveSubtree(e.getAncestor(r,t),e,i),n+=i,a+=i),h+=r.mod,n+=s.mod,d+=l.mod,a+=o.mod}r&&r.nextRight()&&!o.nextRight()&&(o.thread=r.nextRight(),o.mod+=h-a),s&&s.nextLeft()&&!l.nextLeft()&&(l.thread=s.nextLeft(),l.mod+=n-d),t=e}return t}moveSubtree(e,t,i){let s=t.relativeXPosition-e.relativeXPosition;t.change-=i/s,t.shift+=i,t.preX+=i,t.mod+=i,e.change+=i/s}afterLayout(e){for(let t of e)t.oldParentNode&&(t.relativeXPosition=t.parentNode.relativeXPosition,t.parent=t.oldParentNode.parent,t.parentNode=t.oldParentNode,delete t.oldParentNode.children[t.relativeXPosition],t.oldParentNode.children[t.relativeXPosition]=t,t.oldParentNode=void 0)}}return t}),i(t,"Series/Treegraph/TreegraphSeriesDefaults.js",[],function(){return{reversed:!1,marker:{radius:10,lineWidth:0,symbol:"circle",fillOpacity:1,states:{}},link:{color:"#666666",lineWidth:1,radius:10,cursor:"default",type:"curved"},collapseButton:{onlyOnHover:!0,enabled:!0,lineWidth:1,x:0,y:0,height:18,width:18,shape:"circle",style:{cursor:"pointer",fontWeight:"bold",fontSize:"1em"}},fillSpace:!1,tooltip:{linkFormat:"{point.fromNode.id} → {point.toNode.id}",pointFormat:"{point.id}"},dataLabels:{defer:!0,linkTextPath:{attributes:{startOffset:"50%"}},enabled:!0,linkFormatter:()=>"",style:{textOverflow:"none"}},nodeDistance:30,nodeWidth:void 0}}),i(t,"Series/Treegraph/TreegraphSeries.js",[t["Series/PathUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Series/Treegraph/TreegraphNode.js"],t["Series/Treegraph/TreegraphPoint.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"],t["Series/Treegraph/TreegraphLink.js"],t["Series/Treegraph/TreegraphLayout.js"],t["Series/Treegraph/TreegraphSeriesDefaults.js"]],function(e,t,i,s,o,r,l,n,a,h){let{getLinkPath:d}=e,{series:{prototype:p},seriesTypes:{treemap:c,column:u}}=t,{prototype:{symbols:f}}=i,{getLevelOptions:g,getNodeWidth:m}=r,{arrayMax:y,extend:v,merge:k,pick:b,relativeLength:L,splat:P}=l;class T extends c{constructor(){super(...arguments),this.nodeList=[],this.links=[]}init(){super.init.apply(this,arguments),this.layoutAlgorythm=new a}getLayoutModifiers(){let e=this.chart,t=this,i=e.plotSizeX,s=e.plotSizeY,o=y(this.points.map(e=>e.node.xPosition)),r=1/0,l=-1/0,n=1/0,a=-1/0,h=0,d=0,p=0,c=0;this.points.forEach(e=>{if(this.options.fillSpace&&!e.visible)return;let u=e.node,f=t.mapOptionsToLevel[e.node.level]||{},g=k(this.options.marker,f.marker,e.options.marker),y=g.width??m(this,o),v=L(g.radius||0,Math.min(i,s)),b=g.symbol,P="circle"!==b&&g.height?L(g.height,s):2*v,T="circle"!==b&&y?L(y,i):2*v;u.nodeSizeX=T,u.nodeSizeY=P,u.xPosition<=r&&(r=u.xPosition,d=Math.max(T+(g.lineWidth||0),d)),u.xPosition>=l&&(l=u.xPosition,h=Math.max(T+(g.lineWidth||0),h)),u.yPosition<=n&&(n=u.yPosition,c=Math.max(P+(g.lineWidth||0),c)),u.yPosition>=a&&(a=u.yPosition,p=Math.max(P+(g.lineWidth||0),p))});let u=a===n?1:(s-(c+p)/2)/(a-n),f=a===n?s/2:-u*n+c/2,g=l===r?1:(i-(h+h)/2)/(l-r),v=l===r?i/2:-g*r+d/2;return{ax:g,bx:v,ay:u,by:f}}getLinks(){let e=this,t=[];return this.data.forEach(i=>{let s=e.mapOptionsToLevel[i.node.level||0]||{};if(i.node.parent){let o=k(s,i.options);if(!i.linkToParent||i.linkToParent.destroyed){let t=new e.LinkClass(e,o,void 0,i);i.linkToParent=t}else i.collapsed=b(i.collapsed,(this.mapOptionsToLevel[i.node.level]||{}).collapsed),i.linkToParent.visible=i.linkToParent.toNode.visible;i.linkToParent.index=t.push(i.linkToParent)-1}else i.linkToParent&&(e.links.splice(i.linkToParent.index),i.linkToParent.destroy(),delete i.linkToParent)}),t}buildTree(e,t,i,s,o){let r=this.points[t];return i=r&&r.level||i,super.buildTree.call(this,e,t,i,s,o)}markerAttribs(){return{}}setCollapsedStatus(e,t){let i=e.point;i&&(i.collapsed=b(i.collapsed,(this.mapOptionsToLevel[e.level]||{}).collapsed),i.visible=t,t=!1!==t&&!i.collapsed),e.children.forEach(e=>{this.setCollapsedStatus(e,t)})}drawTracker(){u.prototype.drawTracker.apply(this,arguments),u.prototype.drawTracker.call(this,this.links)}translate(){let e=this.options,t=r.updateRootId(this),i;p.translate.call(this);let s=this.tree=this.getTree();i=this.nodeMap[t],""===t||i&&i.children.length||(this.setRootNode("",!1),t=this.rootNode,i=this.nodeMap[t]),this.mapOptionsToLevel=g({from:i.level+1,levels:e.levels,to:s.height,defaults:{levelIsConstant:this.options.levelIsConstant,colorByPoint:e.colorByPoint}}),this.setCollapsedStatus(s,!0),this.links=this.getLinks(),this.setTreeValues(s),this.layoutAlgorythm.calculatePositions(this),this.layoutModifier=this.getLayoutModifiers(),this.points.forEach(e=>{this.translateNode(e)}),this.points.forEach(e=>{e.linkToParent&&this.translateLink(e.linkToParent)}),e.colorByPoint||this.setColorRecursive(this.tree)}translateLink(e){let t=e.fromNode,i=e.toNode,s=this.options.link.lineWidth,o=Math.round(s)%2/2,r=b(this.options.link.curveFactor,.5),l=b(e.options.link&&e.options.link.type,this.options.link.type);if(t.shapeArgs&&i.shapeArgs){let n=t.shapeArgs.width||0,a=this.chart.inverted,h=Math.floor((t.shapeArgs.y||0)+(t.shapeArgs.height||0)/2)+o,p=Math.floor((i.shapeArgs.y||0)+(i.shapeArgs.height||0)/2)+o,c=Math.floor((t.shapeArgs.x||0)+n)+o,u=Math.floor(i.shapeArgs.x||0)+o;a&&(c-=n,u+=i.shapeArgs.width||0);let f=i.node.xPosition-t.node.xPosition;e.shapeType="path";let g=(Math.abs(u-c)+n)/f-n,m=Math.floor((u+c)/2)+o;e.plotX=m,e.plotY=p,e.shapeArgs={d:d[l]({x1:c,y1:h,x2:u,y2:p,width:g,offset:g*r*(a?-1:1),inverted:a,parentVisible:i.visible,radius:this.options.link.radius})},e.dlBox={x:(c+u)/2,y:(h+p)/2,height:s,width:0},e.tooltipPos=a?[(this.chart.plotSizeY||0)-e.dlBox.y,(this.chart.plotSizeX||0)-e.dlBox.x]:[e.dlBox.x,e.dlBox.y]}}drawNodeLabels(e){let t,i;let s=this.mapOptionsToLevel;for(let o of e)i=s[o.node.level],t={style:{}},i&&i.dataLabels&&(t=k(t,i.dataLabels),this.hasDataLabels=()=>!0),o.shapeArgs&&!P(this.options.dataLabels)[0].style.width&&(t.style.width=o.shapeArgs.width,o.dataLabel&&o.dataLabel.css({width:o.shapeArgs.width+"px"})),o.dlOptions=k(t,o.options.dataLabels);p.drawDataLabels.call(this,e)}alignDataLabel(e,t){let i=e.visible;e.visible=!0,super.alignDataLabel.apply(this,arguments),t.animate({opacity:!1===i?0:1},void 0,function(){i||t.hide()}),e.visible=i}drawDataLabels(){this.options.dataLabels&&(this.options.dataLabels=P(this.options.dataLabels),this.drawNodeLabels(this.points),p.drawDataLabels.call(this,this.links))}destroy(){if(this.links){for(let e of this.links)e.destroy();this.links.length=0}return p.destroy.apply(this,arguments)}pointAttribs(e,t){let i=e&&this.mapOptionsToLevel[e.node.level||0]||{},s=e&&e.options,o=i.states&&i.states[t]||{};e&&(e.options.marker=k(this.options.marker,i.marker,e.options.marker));let r=b(o&&o.link&&o.link.color,s&&s.link&&s.link.color,i&&i.link&&i.link.color,this.options.link&&this.options.link.color),l=b(o&&o.link&&o.link.lineWidth,s&&s.link&&s.link.lineWidth,i&&i.link&&i.link.lineWidth,this.options.link&&this.options.link.lineWidth),n=p.pointAttribs.call(this,e,t);return e&&(e.isLink&&(n.stroke=r,n["stroke-width"]=l,delete n.fill),e.visible||(n.opacity=0)),n}drawPoints(){c.prototype.drawPoints.apply(this,arguments),u.prototype.drawPoints.call(this,this.links)}translateNode(e){let t=this.chart,i=e.node,s=t.plotSizeY,o=t.plotSizeX,{ax:r,bx:l,ay:n,by:a}=this.layoutModifier,h=r*i.xPosition+l,d=n*i.yPosition+a,p=this.mapOptionsToLevel[i.level]||{},c=k(this.options.marker,p.marker,e.options.marker).symbol,u=i.nodeSizeY,g=i.nodeSizeX,m=this.options.reversed,y=i.x=t.inverted?o-g/2-h:h-g/2,L=i.y=m?d-u/2:s-d-u/2,P=b(e.options.borderRadius,p.borderRadius,this.options.borderRadius),T=f[c||"circle"];if(void 0===T?(e.hasImage=!0,e.shapeType="image",e.imageUrl=c.match(/^url\((.*?)\)$/)[1]):e.shapeType="path",!e.visible&&e.linkToParent){let t=e.linkToParent.fromNode;if(t){let{x:i=0,y:s=0,width:o=0,height:r=0}=t.shapeArgs||{};e.shapeArgs||(e.shapeArgs={}),e.hasImage||v(e.shapeArgs,{d:T(i,s,o,r,P?{r:P}:void 0)}),v(e.shapeArgs,{x:i,y:s}),e.plotX=t.plotX,e.plotY=t.plotY}}else e.plotX=y,e.plotY=L,e.shapeArgs={x:y,y:L,width:g,height:u,cursor:e.node.isLeaf?"default":"pointer"},e.hasImage||(e.shapeArgs.d=T(y,L,g,u,P?{r:P}:void 0));e.tooltipPos=t.inverted?[s-L-u/2,o-y-g/2]:[y+g/2,L]}}return T.defaultOptions=k(c.defaultOptions,h),v(T.prototype,{pointClass:o,NodeClass:s,LinkClass:n}),t.registerSeriesType("treegraph",T),T}),i(t,"masters/modules/treegraph.src.js",[t["Core/Globals.js"]],function(e){return e})});
|
package/modules/treegraph.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.
|
|
2
|
+
* @license Highcharts JS v11.4.0 (2024-03-05)
|
|
3
3
|
* Treegraph chart series type
|
|
4
4
|
*
|
|
5
5
|
* (c) 2010-2024 Pawel Lysy Grzegorz Blachlinski
|
|
@@ -381,6 +381,7 @@
|
|
|
381
381
|
*
|
|
382
382
|
* */
|
|
383
383
|
super(...arguments);
|
|
384
|
+
this.dataLabelOnHidden = true;
|
|
384
385
|
this.isLink = false;
|
|
385
386
|
this.setState = Point.prototype.setState;
|
|
386
387
|
}
|
|
@@ -623,14 +624,12 @@
|
|
|
623
624
|
* @param {TreegraphNode} child
|
|
624
625
|
* Child node, which should be connected to dummyNode.
|
|
625
626
|
* @param {number} gapSize
|
|
626
|
-
*
|
|
627
|
-
* @param {number} index
|
|
628
|
-
* The index of the link.
|
|
627
|
+
* Remaining gap size.
|
|
629
628
|
*
|
|
630
629
|
* @return {TreegraphNode}
|
|
631
630
|
* DummyNode as a parent of nodes, which column changes.
|
|
632
631
|
*/
|
|
633
|
-
static createDummyNode(parent, child, gapSize
|
|
632
|
+
static createDummyNode(parent, child, gapSize) {
|
|
634
633
|
// Initialise dummy node.
|
|
635
634
|
const dummyNode = new TreegraphNode();
|
|
636
635
|
dummyNode.id = parent.id + '-' + gapSize;
|
|
@@ -684,7 +683,6 @@
|
|
|
684
683
|
*/
|
|
685
684
|
beforeLayout(nodes) {
|
|
686
685
|
for (const node of nodes) {
|
|
687
|
-
let index = 0;
|
|
688
686
|
for (let child of node.children) {
|
|
689
687
|
// Support for children placed in distant columns.
|
|
690
688
|
if (child && child.level - node.level > 1) {
|
|
@@ -693,16 +691,15 @@
|
|
|
693
691
|
let gapSize = child.level - node.level - 1;
|
|
694
692
|
// parent -> dummyNode -> child
|
|
695
693
|
while (gapSize > 0) {
|
|
696
|
-
child = TreegraphLayout.createDummyNode(node, child, gapSize
|
|
694
|
+
child = TreegraphLayout.createDummyNode(node, child, gapSize);
|
|
697
695
|
gapSize--;
|
|
698
696
|
}
|
|
699
697
|
}
|
|
700
|
-
++index;
|
|
701
698
|
}
|
|
702
699
|
}
|
|
703
700
|
}
|
|
704
701
|
/**
|
|
705
|
-
* Reset the
|
|
702
|
+
* Reset the calculated values from the previous run.
|
|
706
703
|
* @param {TreegraphNode[]} nodes all of the nodes.
|
|
707
704
|
*/
|
|
708
705
|
resetValues(nodes) {
|
|
@@ -757,7 +754,7 @@
|
|
|
757
754
|
else {
|
|
758
755
|
// If the node has children, perform the recursive first walk for
|
|
759
756
|
// its children, and then calculate its shift in the apportion
|
|
760
|
-
// function (most crucial part
|
|
757
|
+
// function (most crucial part of the algorithm).
|
|
761
758
|
let defaultAncestor = node.getLeftMostChild();
|
|
762
759
|
for (const child of node.children) {
|
|
763
760
|
treeLayout.firstWalk(child);
|
|
@@ -822,9 +819,9 @@
|
|
|
822
819
|
* are left(right)Int(Out)node where Int means internal and Out means
|
|
823
820
|
* outernal. For summing up the modifiers along the contour we use the
|
|
824
821
|
* `left(right)Int(Out)mod` variable. Whenever two nodes of the inside
|
|
825
|
-
* contours are in conflict we
|
|
822
|
+
* contours are in conflict we commute the left one of the greatest uncommon
|
|
826
823
|
* ancestors using the getAncestor function and we call the moveSubtree
|
|
827
|
-
* method to shift the subtree and prepare the shifts of smaller
|
|
824
|
+
* method to shift the subtree and prepare the shifts of smaller subtrees.
|
|
828
825
|
* Finally we add a new thread (if necessary) and we adjust ancestor of
|
|
829
826
|
* right outernal node or defaultAncestor.
|
|
830
827
|
*
|
|
@@ -948,7 +945,7 @@
|
|
|
948
945
|
* @extends plotOptions.treemap
|
|
949
946
|
* @excluding layoutAlgorithm, dashStyle, linecap, lineWidth,
|
|
950
947
|
* negativeColor, threshold, zones, zoneAxis, colorAxis,
|
|
951
|
-
* colorKey, compare, dataGrouping,
|
|
948
|
+
* colorKey, compare, dataGrouping, endAngle, gapSize, gapUnit,
|
|
952
949
|
* ignoreHiddenPoint, innerSize, joinBy, legendType, linecap,
|
|
953
950
|
* minSize, navigatorOptions, pointRange, allowTraversingTree,
|
|
954
951
|
* alternateStartingDirection, borderRadius, breadcrumbs,
|
|
@@ -1159,7 +1156,44 @@
|
|
|
1159
1156
|
style: {
|
|
1160
1157
|
textOverflow: 'none'
|
|
1161
1158
|
}
|
|
1162
|
-
}
|
|
1159
|
+
},
|
|
1160
|
+
/**
|
|
1161
|
+
* The distance between nodes in a tree graph in the longitudinal direction.
|
|
1162
|
+
* The longitudinal direction means the direction that the chart flows - in
|
|
1163
|
+
* a horizontal chart the distance is horizontal, in an inverted chart
|
|
1164
|
+
* (vertical), the distance is vertical.
|
|
1165
|
+
*
|
|
1166
|
+
* If a number is given, it denotes pixels. If a percentage string is given,
|
|
1167
|
+
* the distance is a percentage of the rendered node width. A `nodeDistance`
|
|
1168
|
+
* of `100%` will render equal widths for the nodes and the gaps between
|
|
1169
|
+
* them.
|
|
1170
|
+
*
|
|
1171
|
+
* This option applies only when the `nodeWidth` option is `auto`, making
|
|
1172
|
+
* the node width respond to the number of columns.
|
|
1173
|
+
*
|
|
1174
|
+
* @since 11.4.0
|
|
1175
|
+
* @sample highcharts/series-treegraph/node-distance
|
|
1176
|
+
* Node distance of 100% means equal to node width
|
|
1177
|
+
* @type {number|string}
|
|
1178
|
+
*/
|
|
1179
|
+
nodeDistance: 30,
|
|
1180
|
+
/**
|
|
1181
|
+
* The pixel width of each node in a, or the height in case the chart is
|
|
1182
|
+
* inverted. For tree graphs, the node width is only applied if the marker
|
|
1183
|
+
* symbol is `rect`, otherwise the `marker` sizing options apply.
|
|
1184
|
+
*
|
|
1185
|
+
* Can be a number or a percentage string, or `auto`. If `auto`, the nodes
|
|
1186
|
+
* are sized to fill up the plot area in the longitudinal direction,
|
|
1187
|
+
* regardless of the number of levels.
|
|
1188
|
+
*
|
|
1189
|
+
* @since 11.4.0
|
|
1190
|
+
* @see [treegraph.nodeDistance](#nodeDistance)
|
|
1191
|
+
* @sample highcharts/series-treegraph/node-distance
|
|
1192
|
+
* Node width is auto and combined with node distance
|
|
1193
|
+
*
|
|
1194
|
+
* @type {number|string}
|
|
1195
|
+
*/
|
|
1196
|
+
nodeWidth: void 0
|
|
1163
1197
|
};
|
|
1164
1198
|
/* *
|
|
1165
1199
|
*
|
|
@@ -1182,8 +1216,8 @@
|
|
|
1182
1216
|
const { getLinkPath } = PU;
|
|
1183
1217
|
const { series: { prototype: seriesProto }, seriesTypes: { treemap: TreemapSeries, column: ColumnSeries } } = SeriesRegistry;
|
|
1184
1218
|
const { prototype: { symbols } } = SVGRenderer;
|
|
1185
|
-
const { getLevelOptions } = TU;
|
|
1186
|
-
const { extend, merge, pick, relativeLength, splat } = U;
|
|
1219
|
+
const { getLevelOptions, getNodeWidth } = TU;
|
|
1220
|
+
const { arrayMax, extend, merge, pick, relativeLength, splat } = U;
|
|
1187
1221
|
/* *
|
|
1188
1222
|
*
|
|
1189
1223
|
* Class
|
|
@@ -1225,7 +1259,7 @@
|
|
|
1225
1259
|
* @return {LayoutModifiers} `a` and `b` parameter for x and y direction.
|
|
1226
1260
|
*/
|
|
1227
1261
|
getLayoutModifiers() {
|
|
1228
|
-
const chart = this.chart, series = this, plotSizeX = chart.plotSizeX, plotSizeY = chart.plotSizeY;
|
|
1262
|
+
const chart = this.chart, series = this, plotSizeX = chart.plotSizeX, plotSizeY = chart.plotSizeY, columnCount = arrayMax(this.points.map((p) => p.node.xPosition));
|
|
1229
1263
|
let minX = Infinity, maxX = -Infinity, minY = Infinity, maxY = -Infinity, maxXSize = 0, minXSize = 0, maxYSize = 0, minYSize = 0;
|
|
1230
1264
|
this.points.forEach((point) => {
|
|
1231
1265
|
// When fillSpace is on, stop the layout calculation when the hidden
|
|
@@ -1233,11 +1267,11 @@
|
|
|
1233
1267
|
if (this.options.fillSpace && !point.visible) {
|
|
1234
1268
|
return;
|
|
1235
1269
|
}
|
|
1236
|
-
const node = point.node, level = series.mapOptionsToLevel[point.node.level] || {}, markerOptions = merge(this.options.marker, level.marker, point.options.marker), radius = relativeLength(markerOptions.radius || 0, Math.min(plotSizeX, plotSizeY)), symbol = markerOptions.symbol, nodeSizeY = (symbol === 'circle' || !markerOptions.height) ?
|
|
1270
|
+
const node = point.node, level = series.mapOptionsToLevel[point.node.level] || {}, markerOptions = merge(this.options.marker, level.marker, point.options.marker), nodeWidth = markerOptions.width ?? getNodeWidth(this, columnCount), radius = relativeLength(markerOptions.radius || 0, Math.min(plotSizeX, plotSizeY)), symbol = markerOptions.symbol, nodeSizeY = (symbol === 'circle' || !markerOptions.height) ?
|
|
1237
1271
|
radius * 2 :
|
|
1238
|
-
relativeLength(markerOptions.height, plotSizeY), nodeSizeX = symbol === 'circle' || !
|
|
1272
|
+
relativeLength(markerOptions.height, plotSizeY), nodeSizeX = symbol === 'circle' || !nodeWidth ?
|
|
1239
1273
|
radius * 2 :
|
|
1240
|
-
relativeLength(
|
|
1274
|
+
relativeLength(nodeWidth, plotSizeX);
|
|
1241
1275
|
node.nodeSizeX = nodeSizeX;
|
|
1242
1276
|
node.nodeSizeY = nodeSizeY;
|
|
1243
1277
|
let lineWidth;
|
|
@@ -1274,7 +1308,7 @@
|
|
|
1274
1308
|
getLinks() {
|
|
1275
1309
|
const series = this;
|
|
1276
1310
|
const links = [];
|
|
1277
|
-
this.data.forEach((point
|
|
1311
|
+
this.data.forEach((point) => {
|
|
1278
1312
|
const levelOptions = series.mapOptionsToLevel[point.node.level || 0] || {};
|
|
1279
1313
|
if (point.node.parent) {
|
|
1280
1314
|
const pointOptions = merge(levelOptions, point.options);
|
|
@@ -1643,7 +1677,7 @@
|
|
|
1643
1677
|
* points can be given in the following ways:
|
|
1644
1678
|
*
|
|
1645
1679
|
* 1. The array of arrays, with `keys` property, which defines how the fields in
|
|
1646
|
-
* array should be
|
|
1680
|
+
* array should be interpreted
|
|
1647
1681
|
* ```js
|
|
1648
1682
|
* keys: ['id', 'parent'],
|
|
1649
1683
|
* data: [
|
|
@@ -1693,8 +1727,9 @@
|
|
|
1693
1727
|
|
|
1694
1728
|
return TreegraphSeries;
|
|
1695
1729
|
});
|
|
1696
|
-
_registerModule(_modules, 'masters/modules/treegraph.src.js', [], function () {
|
|
1730
|
+
_registerModule(_modules, 'masters/modules/treegraph.src.js', [_modules['Core/Globals.js']], function (Highcharts) {
|
|
1697
1731
|
|
|
1698
1732
|
|
|
1733
|
+
return Highcharts;
|
|
1699
1734
|
});
|
|
1700
1735
|
}));
|