highcharts 10.0.0 → 10.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/highcharts.css +10 -20
- package/css/themes/dark-unica.css +10 -20
- package/css/themes/grid-light.css +10 -20
- package/css/themes/sand-signika.css +10 -20
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +8 -3
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
- package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
- package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +1 -1
- package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
- package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
- package/es-modules/Core/Animation/Fx.js +1 -1
- package/es-modules/Core/Axis/Axis.js +51 -46
- package/es-modules/Core/Axis/Axis3D.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +9 -9
- package/es-modules/Core/Axis/BrokenAxis.js +1 -1
- package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +821 -822
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/RadialAxis.js +1 -1
- package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
- package/es-modules/Core/Axis/Tick.js +22 -18
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
- package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
- package/es-modules/Core/Axis/ZAxis.js +76 -71
- package/es-modules/Core/Chart/Chart.js +42 -9
- package/es-modules/Core/Chart/Chart3D.js +2 -2
- package/es-modules/Core/Chart/ChartDefaults.js +165 -5
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +3 -1
- package/es-modules/Core/Chart/StockChart.js +12 -8
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +19 -16
- package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
- package/es-modules/Core/Globals.js +2 -1
- package/es-modules/Core/HttpUtilities.js +39 -37
- package/es-modules/Core/Legend/Legend.js +4 -4
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/{Extensions → Core}/Math3D.js +48 -43
- package/es-modules/Core/Navigator.js +31 -14
- package/es-modules/Core/Pointer.js +8 -10
- package/es-modules/Core/Renderer/HTML/AST.js +13 -7
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
- package/es-modules/Core/Scrollbar.js +12 -6
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +63 -40
- package/es-modules/Core/Series/Point.js +11 -2
- package/es-modules/Core/Series/Series.js +60 -43
- package/es-modules/Core/Series/Series3D.js +4 -2
- package/es-modules/Core/Series/SeriesDefaults.js +11 -6
- package/es-modules/Core/Series/SeriesRegistry.js +6 -29
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +17 -6
- package/es-modules/Core/Utilities.js +7 -9
- package/es-modules/Data/DataConverter.js +6 -1
- package/es-modules/Data/DataPromise.js +1 -1
- package/es-modules/Data/DataSeriesComposition.js +288 -0
- package/es-modules/Data/DataSeriesConverter.js +1 -1
- package/es-modules/Data/DataTable.js +14 -12
- package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +1 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
- package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
- package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
- package/es-modules/Data/Modifiers/SortModifier.js +4 -2
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +2 -2
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
- package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
- package/es-modules/Data/Stores/CSVStore.js +8 -5
- package/es-modules/Data/Stores/DataStore.js +1 -1
- package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/Annotation.js +652 -0
- package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
- package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
- package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
- package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +95 -63
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
- package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
- package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
- package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -663
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
- package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +23 -23
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
- package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
- package/es-modules/Extensions/Boost/Boost.js +320 -15
- package/es-modules/Extensions/Boost/BoostChart.js +245 -0
- package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
- package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
- package/es-modules/Extensions/Boost/Boostables.js +13 -2
- package/es-modules/Extensions/Boost/NamedColors.js +15 -6
- package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
- package/es-modules/Extensions/Boost/WGLShader.js +370 -376
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
- package/es-modules/Extensions/BoostCanvas.js +70 -48
- package/es-modules/Extensions/Breadcrumbs.js +37 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +638 -602
- package/es-modules/Extensions/DataGrouping.js +68 -28
- package/es-modules/Extensions/Debugger/Debugger.js +60 -22
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DownloadURL.js +3 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +4 -3
- package/es-modules/Extensions/Drilldown.js +15 -14
- package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
- package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
- package/es-modules/Extensions/Exporting/Exporting.js +30 -17
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
- package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
- package/es-modules/Extensions/GeoJSON.js +3 -4
- package/es-modules/Extensions/MarkerClusters.js +5 -3
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -2
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Pane.js +3 -3
- package/es-modules/Extensions/ParallelCoordinates.js +12 -8
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
- package/es-modules/Maps/MapNavigation.js +3 -7
- package/es-modules/Maps/MapPointer.js +1 -1
- package/es-modules/Maps/MapView.js +31 -19
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
- package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
- package/es-modules/Maps/Projection.js +13 -11
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
- package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
- package/es-modules/Series/Bar/BarSeries.js +3 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
- package/es-modules/Series/Bullet/BulletPoint.js +3 -1
- package/es-modules/Series/Bullet/BulletSeries.js +4 -3
- package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
- package/es-modules/Series/CenteredUtilities.js +8 -2
- package/es-modules/Series/ColorMapComposition.js +111 -0
- package/es-modules/Series/Column/ColumnSeries.js +8 -4
- package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- package/es-modules/Series/DragNodesComposition.js +166 -0
- package/es-modules/Series/DrawPointUtilities.js +87 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
- package/es-modules/Series/Flags/FlagsPoint.js +4 -1
- package/es-modules/Series/Flags/FlagsSeries.js +13 -16
- package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
- package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +4 -2
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
- package/es-modules/Series/GraphLayoutComposition.js +130 -0
- package/es-modules/Series/HLC/HLCPoint.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +4 -2
- package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
- package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
- package/es-modules/Series/Item/ItemPoint.js +3 -1
- package/es-modules/Series/Item/ItemSeries.js +3 -1
- package/es-modules/Series/Line/LineSeries.js +4 -2
- package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
- package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
- package/es-modules/Series/Map/MapPoint.js +8 -6
- package/es-modules/Series/Map/MapSeries.js +115 -28
- package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
- package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
- package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
- package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
- package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
- package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
- package/es-modules/Series/NodesComposition.js +45 -40
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
- package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
- package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
- package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +4 -2
- package/es-modules/Series/Pie/PiePoint.js +3 -1
- package/es-modules/Series/Pie/PieSeries.js +54 -38
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
- package/es-modules/Series/PolarComposition.js +819 -0
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
- package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
- package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
- package/es-modules/Series/Sankey/SankeySeries.js +38 -10
- package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
- package/es-modules/Series/SeriesOnPointComposition.js +395 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
- package/es-modules/Series/Spline/SplineSeries.js +13 -4
- package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
- package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
- package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
- package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
- package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
- package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
- package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
- package/es-modules/Series/Vector/VectorSeries.js +5 -5
- package/es-modules/Series/Venn/VennPoint.js +5 -5
- package/es-modules/Series/Venn/VennSeries.js +9 -6
- package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
- package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
- package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
- package/es-modules/Series/XRange/XRangePoint.js +57 -46
- package/es-modules/Series/XRange/XRangeSeries.js +124 -274
- package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
- package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
- package/es-modules/Stock/StockToolbar.js +568 -0
- package/es-modules/Stock/StockTools.js +256 -0
- package/es-modules/Stock/StockToolsBindings.js +140 -647
- package/es-modules/Stock/StockToolsDefaults.js +1190 -0
- package/es-modules/Stock/StockToolsGui.js +150 -1771
- package/es-modules/Stock/StockToolsUtilities.js +423 -0
- package/es-modules/masters/highcharts-3d.src.js +5 -4
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +7 -6
- package/es-modules/masters/highcharts.src.js +5 -2
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +5 -7
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +5 -5
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
- package/es-modules/masters/modules/annotations.src.js +6 -4
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +6 -2
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +2 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +5 -3
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +5 -2
- package/es-modules/masters/modules/exporting.src.js +1 -2
- package/es-modules/masters/modules/full-screen.src.js +6 -2
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +3 -2
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +2 -2
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +5 -2
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +5 -2
- package/es-modules/masters/modules/series-on-point.src.js +16 -0
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +2 -6
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +10 -3
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +5 -2
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +98 -99
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +233 -212
- package/highcharts-gantt.js +809 -805
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +3817 -3470
- package/highcharts-more.d.ts +15 -8
- package/highcharts-more.js +201 -195
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +15 -8
- package/highcharts-more.src.js +7994 -7461
- package/highcharts.d.ts +11364 -1136
- package/highcharts.js +593 -591
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +11364 -1136
- package/highcharts.src.js +1408 -1117
- package/highmaps.js +762 -758
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2237 -1721
- package/highstock.js +796 -792
- package/highstock.js.map +1 -1
- package/highstock.src.js +1617 -1224
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -12
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +99 -101
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +6 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +25 -16
- package/indicators/apo.js +1 -1
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +6 -1
- package/indicators/aroon-oscillator.d.ts +1 -17
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +1 -17
- package/indicators/aroon-oscillator.src.js +95 -101
- package/indicators/aroon.d.ts +1 -17
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +1 -17
- package/indicators/aroon.src.js +104 -101
- package/indicators/atr.js +1 -1
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +17 -4
- package/indicators/bollinger-bands.d.ts +1 -17
- package/indicators/bollinger-bands.js +11 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +1 -17
- package/indicators/bollinger-bands.src.js +97 -103
- package/indicators/cci.js +1 -1
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +17 -4
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +13 -5
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +21 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +16 -2
- package/indicators/dema.js +1 -1
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +26 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +104 -105
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +20 -9
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +35 -16
- package/indicators/indicators-all.d.ts +1 -17
- package/indicators/indicators-all.js +200 -199
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +882 -284
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +12 -2
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -12
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +114 -99
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +101 -102
- package/indicators/macd.js +10 -9
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +46 -25
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +24 -11
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +31 -3
- package/indicators/natr.js +1 -1
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +17 -3
- package/indicators/obv.js +1 -1
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +32 -19
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +15 -5
- package/indicators/price-channel.d.ts +1 -17
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +1 -17
- package/indicators/price-channel.src.js +102 -107
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +26 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +17 -4
- package/indicators/regressions.js +12 -11
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +50 -15
- package/indicators/roc.js +1 -1
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +16 -3
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +21 -3
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +26 -1
- package/indicators/stochastic.d.ts +1 -17
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +1 -17
- package/indicators/stochastic.src.js +104 -99
- package/indicators/supertrend.js +7 -7
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +21 -9
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +15 -5
- package/indicators/trix.js +1 -1
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +26 -1
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +38 -10
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +12 -2
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +31 -3
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +12 -2
- package/modules/accessibility.js +246 -242
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +797 -664
- package/modules/annotations-advanced.d.ts +1 -1
- package/modules/annotations-advanced.js +193 -192
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +1 -1
- package/modules/annotations-advanced.src.js +9229 -8589
- package/modules/annotations.d.ts +1 -1
- package/modules/annotations.js +128 -126
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.d.ts +1 -1
- package/modules/annotations.src.js +6190 -5528
- package/modules/arc-diagram.js +7 -7
- package/modules/arc-diagram.js.map +1 -1
- package/modules/arc-diagram.src.js +10 -2
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.d.ts +19 -0
- package/modules/boost-canvas.js +81 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.d.ts +19 -0
- package/modules/boost-canvas.src.js +3342 -52
- package/modules/boost.d.ts +8 -26
- package/modules/boost.js +88 -80
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.d.ts +8 -26
- package/modules/boost.src.js +2435 -1889
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +2 -2
- package/modules/bullet.js +1 -1
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +2 -5
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +9 -5
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +2 -2
- package/modules/cylinder.js +9 -9
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +2 -2
- package/modules/data.d.ts +12 -12
- package/modules/data.js +33 -34
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +862 -829
- package/modules/datagrouping.d.ts +22 -0
- package/modules/datagrouping.js +9 -9
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +22 -0
- package/modules/datagrouping.src.js +69 -29
- package/modules/debugger.js +8 -6
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +85 -40
- package/modules/dependency-wheel.js +12 -12
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +41 -14
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +2 -2
- package/modules/draggable-points.js +5 -5
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +5 -4
- package/modules/drilldown.d.ts +0 -10
- package/modules/drilldown.js +37 -37
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +0 -10
- package/modules/drilldown.src.js +59 -25
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +24 -12
- package/modules/export-data.js +25 -22
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +641 -469
- package/modules/exporting.d.ts +8 -8
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +8 -8
- package/modules/exporting.src.js +442 -319
- package/modules/full-screen.js +8 -8
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +196 -78
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +3 -3
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +2 -2
- package/modules/gantt.js +219 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +2420 -2364
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +890 -891
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +137 -108
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +9 -9
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +6 -6
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +37 -22
- package/modules/map.d.ts +3 -3
- package/modules/map.js +171 -169
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +3 -3
- package/modules/map.src.js +830 -605
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +4 -6
- package/modules/networkgraph.d.ts +1 -17
- package/modules/networkgraph.js +55 -50
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -17
- package/modules/networkgraph.src.js +2339 -2008
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +5 -5
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +3 -3
- package/modules/organization.js +15 -15
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +12 -4
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +14 -9
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +15 -2
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.d.ts +1 -17
- package/modules/sankey.js +32 -32
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -17
- package/modules/sankey.src.js +102 -57
- package/modules/series-label.js +18 -18
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +474 -387
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +468 -0
- package/modules/solid-gauge.js +4 -4
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +6 -6
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +1 -1
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +4 -8
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.d.ts +1 -23
- package/modules/stock-tools.js +109 -179
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.d.ts +1 -23
- package/modules/stock-tools.src.js +2652 -6347
- package/modules/stock.d.ts +8 -0
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +8 -0
- package/modules/stock.src.js +208 -106
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +73 -73
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +251 -193
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +6 -4
- package/modules/treegrid.js +57 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +1908 -1901
- package/modules/treemap.js +54 -53
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +217 -183
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +2 -2
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +3 -5
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +82 -111
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +84 -113
- package/modules/xrange.js +17 -17
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +411 -397
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +2 -2
- package/themes/high-contrast-dark.src.js +11 -11
- package/themes/high-contrast-light.js +2 -2
- package/themes/high-contrast-light.src.js +10 -10
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Axis/StackingAxis.js +0 -216
- package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
- package/es-modules/Core/Axis/TreeGridTick.js +0 -317
- package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
- package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
- package/es-modules/Extensions/Annotations/Popup.js +0 -1123
- package/es-modules/Extensions/Boost/BoostAttach.js +0 -150
- package/es-modules/Extensions/Boost/BoostInit.js +0 -323
- package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
- package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
- package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
- package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
- package/es-modules/Extensions/FullScreen.js +0 -240
- package/es-modules/Extensions/Polar.js +0 -740
- package/es-modules/Extensions/Stacking.js +0 -517
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -114
- package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
- package/es-modules/Series/Networkgraph/Integrations.js +0 -348
- package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1178
- package/es-modules/Series/XRange/XRangeComposition.js +0 -49
package/modules/map.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highmaps JS v10.
|
|
2
|
+
* @license Highmaps JS v10.2.1 (2022-08-29)
|
|
3
3
|
*
|
|
4
4
|
* Highmaps as a plugin for Highcharts or Highcharts Stock.
|
|
5
5
|
*
|
|
@@ -638,7 +638,7 @@
|
|
|
638
638
|
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
639
639
|
* @product highcharts highstock highmaps
|
|
640
640
|
*/
|
|
641
|
-
color: "#999999" /* neutralColor40 */
|
|
641
|
+
color: "#999999" /* Palette.neutralColor40 */
|
|
642
642
|
},
|
|
643
643
|
/**
|
|
644
644
|
* The axis labels show the number for each tick.
|
|
@@ -680,7 +680,7 @@
|
|
|
680
680
|
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
681
681
|
* @product highcharts highstock highmaps
|
|
682
682
|
*/
|
|
683
|
-
minColor: "#e6ebf5" /* highlightColor10 */,
|
|
683
|
+
minColor: "#e6ebf5" /* Palette.highlightColor10 */,
|
|
684
684
|
/**
|
|
685
685
|
* The color to represent the maximum of the color axis. Unless
|
|
686
686
|
* [dataClasses](#colorAxis.dataClasses) or
|
|
@@ -699,7 +699,7 @@
|
|
|
699
699
|
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
700
700
|
* @product highcharts highstock highmaps
|
|
701
701
|
*/
|
|
702
|
-
maxColor: "#003399" /* highlightColor100 */,
|
|
702
|
+
maxColor: "#003399" /* Palette.highlightColor100 */,
|
|
703
703
|
/**
|
|
704
704
|
* Color stops for the gradient of a scalar color axis. Use this in
|
|
705
705
|
* cases where a linear gradient between a `minColor` and `maxColor`
|
|
@@ -707,6 +707,10 @@
|
|
|
707
707
|
* first item is a float between 0 and 1 assigning the relative
|
|
708
708
|
* position in the gradient, and the second item is the color.
|
|
709
709
|
*
|
|
710
|
+
* @sample highcharts/coloraxis/coloraxis-stops/
|
|
711
|
+
* Color axis stops
|
|
712
|
+
* @sample highcharts/coloraxis/color-key-with-stops/
|
|
713
|
+
* Color axis stops with custom colorKey
|
|
710
714
|
* @sample {highmaps} maps/demo/heatmap/
|
|
711
715
|
* Heatmap with three color stops
|
|
712
716
|
*
|
|
@@ -1440,7 +1444,7 @@
|
|
|
1440
1444
|
setState: noop,
|
|
1441
1445
|
isDataClass: true,
|
|
1442
1446
|
setVisible: function () {
|
|
1443
|
-
vis = axis.visible = !vis;
|
|
1447
|
+
this.visible = vis = axis.visible = !vis;
|
|
1444
1448
|
axis.series.forEach(function (series) {
|
|
1445
1449
|
series.points.forEach(function (point) {
|
|
1446
1450
|
if (point.dataClass === i) {
|
|
@@ -1776,7 +1780,6 @@
|
|
|
1776
1780
|
* */
|
|
1777
1781
|
var doc = H.doc;
|
|
1778
1782
|
var addEvent = U.addEvent,
|
|
1779
|
-
defined = U.defined,
|
|
1780
1783
|
extend = U.extend,
|
|
1781
1784
|
isNumber = U.isNumber,
|
|
1782
1785
|
merge = U.merge,
|
|
@@ -1841,9 +1844,6 @@
|
|
|
1841
1844
|
chart = this.chart,
|
|
1842
1845
|
o = chart.options.mapNavigation,
|
|
1843
1846
|
attr,
|
|
1844
|
-
states,
|
|
1845
|
-
hoverStates,
|
|
1846
|
-
selectStates,
|
|
1847
1847
|
outerHandler = function (e) {
|
|
1848
1848
|
this.handler.call(chart,
|
|
1849
1849
|
e);
|
|
@@ -1872,13 +1872,9 @@
|
|
|
1872
1872
|
attr = buttonOptions.theme;
|
|
1873
1873
|
attr.style = merge(buttonOptions.theme.style, buttonOptions.style // #3203
|
|
1874
1874
|
);
|
|
1875
|
-
states = attr.states;
|
|
1876
|
-
hoverStates = states && states.hover;
|
|
1877
|
-
selectStates = states && states.select;
|
|
1878
|
-
delete attr.states;
|
|
1879
1875
|
}
|
|
1880
1876
|
var button = chart.renderer
|
|
1881
|
-
.button(buttonOptions.text || '', 0, 0, outerHandler, attr,
|
|
1877
|
+
.button(buttonOptions.text || '', 0, 0, outerHandler, attr, void 0, void 0, void 0, n === 'zoomIn' ? 'topbutton' : 'bottombutton')
|
|
1882
1878
|
.addClass('highcharts-map-navigation highcharts-' + {
|
|
1883
1879
|
zoomIn: 'zoom-in',
|
|
1884
1880
|
zoomOut: 'zoom-out'
|
|
@@ -2188,7 +2184,7 @@
|
|
|
2188
2184
|
var mapNavigation = this.chart.options.mapNavigation;
|
|
2189
2185
|
// Pinch status
|
|
2190
2186
|
if (pick(mapNavigation.enableTouchZoom, mapNavigation.enabled)) {
|
|
2191
|
-
this.chart.options.chart.pinchType = 'xy';
|
|
2187
|
+
this.chart.options.chart.zooming.pinchType = 'xy';
|
|
2192
2188
|
}
|
|
2193
2189
|
proceed.apply(this, [].slice.call(arguments, 1));
|
|
2194
2190
|
});
|
|
@@ -2204,7 +2200,7 @@
|
|
|
2204
2200
|
});
|
|
2205
2201
|
|
|
2206
2202
|
});
|
|
2207
|
-
_registerModule(_modules, 'Series/
|
|
2203
|
+
_registerModule(_modules, 'Series/ColorMapComposition.js', [_modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (SeriesRegistry, U) {
|
|
2208
2204
|
/* *
|
|
2209
2205
|
*
|
|
2210
2206
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -2214,66 +2210,92 @@
|
|
|
2214
2210
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
2215
2211
|
*
|
|
2216
2212
|
* */
|
|
2217
|
-
|
|
2218
|
-
var
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
addEvent = U.addEvent;
|
|
2222
|
-
// Move points to the top of the z-index order when hovered
|
|
2223
|
-
addEvent(Point, 'afterSetState', function (e) {
|
|
2224
|
-
var point = this;
|
|
2225
|
-
if (point.moveToTopOnHover && point.graphic) {
|
|
2226
|
-
point.graphic.attr({
|
|
2227
|
-
zIndex: e && e.state === 'hover' ? 1 : 0
|
|
2228
|
-
});
|
|
2229
|
-
}
|
|
2230
|
-
});
|
|
2231
|
-
/**
|
|
2232
|
-
* Mixin for maps and heatmaps
|
|
2213
|
+
var columnProto = SeriesRegistry.seriesTypes.column.prototype;
|
|
2214
|
+
var addEvent = U.addEvent,
|
|
2215
|
+
defined = U.defined;
|
|
2216
|
+
/* *
|
|
2233
2217
|
*
|
|
2234
|
-
*
|
|
2235
|
-
*
|
|
2236
|
-
*/
|
|
2237
|
-
var
|
|
2218
|
+
* Composition
|
|
2219
|
+
*
|
|
2220
|
+
* */
|
|
2221
|
+
var ColorMapComposition;
|
|
2222
|
+
(function (ColorMapComposition) {
|
|
2223
|
+
/* *
|
|
2224
|
+
*
|
|
2225
|
+
* Declarations
|
|
2226
|
+
*
|
|
2227
|
+
* */
|
|
2228
|
+
/* *
|
|
2229
|
+
*
|
|
2230
|
+
* Constants
|
|
2231
|
+
*
|
|
2232
|
+
* */
|
|
2233
|
+
var composedClasses = [];
|
|
2234
|
+
ColorMapComposition.pointMembers = {
|
|
2238
2235
|
dataLabelOnNull: true,
|
|
2239
2236
|
moveToTopOnHover: true,
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
* @private
|
|
2245
|
-
*/
|
|
2246
|
-
isValid: function () {
|
|
2247
|
-
// undefined is allowed
|
|
2248
|
-
return (this.value !== null &&
|
|
2249
|
-
this.value !== Infinity &&
|
|
2250
|
-
this.value !== -Infinity);
|
|
2251
|
-
}
|
|
2252
|
-
/* eslint-enable valid-jsdoc */
|
|
2253
|
-
};
|
|
2254
|
-
/**
|
|
2255
|
-
* @private
|
|
2256
|
-
* @mixin Highcharts.colorMapSeriesMixin
|
|
2257
|
-
*/
|
|
2258
|
-
var SeriesMixin = {
|
|
2259
|
-
pointArrayMap: ['value'],
|
|
2237
|
+
isValid: pointIsValid
|
|
2238
|
+
};
|
|
2239
|
+
ColorMapComposition.seriesMembers = {
|
|
2240
|
+
colorKey: 'value',
|
|
2260
2241
|
axisTypes: ['xAxis', 'yAxis', 'colorAxis'],
|
|
2261
|
-
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
|
2262
|
-
getSymbol: noop,
|
|
2263
2242
|
parallelArrays: ['x', 'y', 'value'],
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2243
|
+
pointArrayMap: ['value'],
|
|
2244
|
+
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
|
2245
|
+
colorAttribs: seriesColorAttribs,
|
|
2246
|
+
pointAttribs: columnProto.pointAttribs
|
|
2247
|
+
};
|
|
2248
|
+
/* *
|
|
2249
|
+
*
|
|
2250
|
+
* Functions
|
|
2251
|
+
*
|
|
2252
|
+
* */
|
|
2253
|
+
/**
|
|
2254
|
+
* @private
|
|
2255
|
+
*/
|
|
2256
|
+
function compose(SeriesClass) {
|
|
2257
|
+
var PointClass = SeriesClass.prototype.pointClass;
|
|
2258
|
+
if (composedClasses.indexOf(PointClass) === -1) {
|
|
2259
|
+
composedClasses.push(PointClass);
|
|
2260
|
+
addEvent(PointClass, 'afterSetState', onPointAfterSetState);
|
|
2261
|
+
}
|
|
2262
|
+
return SeriesClass;
|
|
2263
|
+
}
|
|
2264
|
+
ColorMapComposition.compose = compose;
|
|
2265
|
+
/**
|
|
2266
|
+
* Move points to the top of the z-index order when hovered.
|
|
2267
|
+
* @private
|
|
2268
|
+
*/
|
|
2269
|
+
function onPointAfterSetState(e) {
|
|
2270
|
+
var point = this;
|
|
2271
|
+
if (point.moveToTopOnHover && point.graphic) {
|
|
2272
|
+
point.graphic.attr({
|
|
2273
|
+
zIndex: e && e.state === 'hover' ? 1 : 0
|
|
2274
|
+
});
|
|
2275
|
+
}
|
|
2276
|
+
}
|
|
2277
|
+
/**
|
|
2278
|
+
* Color points have a value option that determines whether or not it is
|
|
2279
|
+
* a null point
|
|
2280
|
+
* @private
|
|
2281
|
+
*/
|
|
2282
|
+
function pointIsValid() {
|
|
2283
|
+
return (this.value !== null &&
|
|
2284
|
+
this.value !== Infinity &&
|
|
2285
|
+
this.value !== -Infinity &&
|
|
2286
|
+
// undefined is allowed, but NaN is not (#17279)
|
|
2287
|
+
(this.value === void 0 || !isNaN(this.value)));
|
|
2288
|
+
}
|
|
2289
|
+
/**
|
|
2290
|
+
* Get the color attibutes to apply on the graphic
|
|
2291
|
+
* @private
|
|
2292
|
+
* @function Highcharts.colorMapSeriesMixin.colorAttribs
|
|
2293
|
+
* @param {Highcharts.Point} point
|
|
2294
|
+
* @return {Highcharts.SVGAttributes}
|
|
2295
|
+
* The SVG attributes
|
|
2296
|
+
*/
|
|
2297
|
+
function seriesColorAttribs(point) {
|
|
2298
|
+
var ret = {};
|
|
2277
2299
|
if (defined(point.color) &&
|
|
2278
2300
|
(!point.state || point.state === 'normal') // #15746
|
|
2279
2301
|
) {
|
|
@@ -2281,13 +2303,14 @@
|
|
|
2281
2303
|
}
|
|
2282
2304
|
return ret;
|
|
2283
2305
|
}
|
|
2284
|
-
};
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2306
|
+
})(ColorMapComposition || (ColorMapComposition = {}));
|
|
2307
|
+
/* *
|
|
2308
|
+
*
|
|
2309
|
+
* Default Export
|
|
2310
|
+
*
|
|
2311
|
+
* */
|
|
2289
2312
|
|
|
2290
|
-
return
|
|
2313
|
+
return ColorMapComposition;
|
|
2291
2314
|
});
|
|
2292
2315
|
_registerModule(_modules, 'Maps/MapSymbols.js', [_modules['Core/Renderer/SVG/SVGRenderer.js']], function (SVGRenderer) {
|
|
2293
2316
|
/* *
|
|
@@ -2616,7 +2639,7 @@
|
|
|
2616
2639
|
|
|
2617
2640
|
return MapUtilities;
|
|
2618
2641
|
});
|
|
2619
|
-
_registerModule(_modules, 'Series/Map/MapPoint.js', [_modules['Series/
|
|
2642
|
+
_registerModule(_modules, 'Series/Map/MapPoint.js', [_modules['Series/ColorMapComposition.js'], _modules['Maps/MapUtilities.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (ColorMapComposition, MapUtilities, SeriesRegistry, U) {
|
|
2620
2643
|
/* *
|
|
2621
2644
|
*
|
|
2622
2645
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -2747,7 +2770,7 @@
|
|
|
2747
2770
|
*/
|
|
2748
2771
|
MapPoint.prototype.onMouseOver = function (e) {
|
|
2749
2772
|
U.clearTimeout(this.colorInterval);
|
|
2750
|
-
if (this.
|
|
2773
|
+
if (!this.isNull || this.series.options.nullInteraction) {
|
|
2751
2774
|
_super.prototype.onMouseOver.call(this, e);
|
|
2752
2775
|
}
|
|
2753
2776
|
else {
|
|
@@ -2777,9 +2800,9 @@
|
|
|
2777
2800
|
return MapPoint;
|
|
2778
2801
|
}(ScatterSeries.prototype.pointClass));
|
|
2779
2802
|
extend(MapPoint.prototype, {
|
|
2780
|
-
dataLabelOnNull:
|
|
2781
|
-
|
|
2782
|
-
|
|
2803
|
+
dataLabelOnNull: ColorMapComposition.pointMembers.dataLabelOnNull,
|
|
2804
|
+
moveToTopOnHover: ColorMapComposition.pointMembers.moveToTopOnHover,
|
|
2805
|
+
isValid: ColorMapComposition.pointMembers.isValid
|
|
2783
2806
|
});
|
|
2784
2807
|
/* *
|
|
2785
2808
|
*
|
|
@@ -2872,8 +2895,10 @@
|
|
|
2872
2895
|
* @type {string}
|
|
2873
2896
|
* @sample maps/mapview/projection-explorer
|
|
2874
2897
|
* Projection explorer
|
|
2875
|
-
* @sample maps/mapview/projection-custom
|
|
2898
|
+
* @sample maps/mapview/projection-custom-proj4js
|
|
2876
2899
|
* Custom UTM projection definition
|
|
2900
|
+
* @sample maps/mapview/projection-custom-d3geo
|
|
2901
|
+
* Custom Robinson projection definition
|
|
2877
2902
|
* @sample maps/demo/topojson-projection
|
|
2878
2903
|
* Orthographic projection
|
|
2879
2904
|
*/
|
|
@@ -2962,7 +2987,7 @@
|
|
|
2962
2987
|
* Inset border options
|
|
2963
2988
|
* @type {Highcharts.ColorType}
|
|
2964
2989
|
*/
|
|
2965
|
-
borderColor: "#cccccc" /* neutralColor20 */,
|
|
2990
|
+
borderColor: "#cccccc" /* Palette.neutralColor20 */,
|
|
2966
2991
|
/**
|
|
2967
2992
|
* The pixel border width of the insets.
|
|
2968
2993
|
*
|
|
@@ -3086,7 +3111,7 @@
|
|
|
3086
3111
|
|
|
3087
3112
|
return defaultOptions;
|
|
3088
3113
|
});
|
|
3089
|
-
_registerModule(_modules, 'Extensions/GeoJSON.js', [_modules['Core/Chart/Chart.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['
|
|
3114
|
+
_registerModule(_modules, 'Extensions/GeoJSON.js', [_modules['Core/Chart/Chart.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Chart, F, H, U) {
|
|
3090
3115
|
/* *
|
|
3091
3116
|
*
|
|
3092
3117
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -3098,7 +3123,6 @@
|
|
|
3098
3123
|
* */
|
|
3099
3124
|
var format = F.format;
|
|
3100
3125
|
var win = H.win;
|
|
3101
|
-
var pointInPolygon = MU.pointInPolygon;
|
|
3102
3126
|
var error = U.error,
|
|
3103
3127
|
extend = U.extend,
|
|
3104
3128
|
merge = U.merge,
|
|
@@ -3369,7 +3393,7 @@
|
|
|
3369
3393
|
sinAngle = transform.sinAngle ||
|
|
3370
3394
|
(transform.rotation && Math.sin(transform.rotation)),
|
|
3371
3395
|
// Note: Inverted sinAngle to reverse rotation direction
|
|
3372
|
-
projected =
|
|
3396
|
+
projected = proj4(transform.crs, 'WGS84',
|
|
3373
3397
|
transform.rotation ? {
|
|
3374
3398
|
x: normalized.x * cosAngle + normalized.y * -sinAngle,
|
|
3375
3399
|
y: normalized.x * sinAngle + normalized.y * cosAngle
|
|
@@ -3484,7 +3508,8 @@
|
|
|
3484
3508
|
copyrightUrl: topology.copyrightUrl,
|
|
3485
3509
|
features: features,
|
|
3486
3510
|
'hc-recommended-mapview': object['hc-recommended-mapview'],
|
|
3487
|
-
bbox: topology.bbox
|
|
3511
|
+
bbox: topology.bbox,
|
|
3512
|
+
title: topology.title
|
|
3488
3513
|
};
|
|
3489
3514
|
object['hc-decoded-geojson'] = geojson;
|
|
3490
3515
|
return geojson;
|
|
@@ -3997,14 +4022,19 @@
|
|
|
3997
4022
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
3998
4023
|
*
|
|
3999
4024
|
* */
|
|
4000
|
-
var
|
|
4001
|
-
|
|
4002
|
-
|
|
4003
|
-
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4025
|
+
var __spreadArray = (this && this.__spreadArray) || function (to,
|
|
4026
|
+
from,
|
|
4027
|
+
pack) {
|
|
4028
|
+
if (pack || arguments.length === 2) for (var i = 0,
|
|
4029
|
+
l = from.length,
|
|
4030
|
+
ar; i < l; i++) {
|
|
4031
|
+
if (ar || !(i in from)) {
|
|
4032
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0,
|
|
4033
|
+
i);
|
|
4034
|
+
ar[i] = from[i];
|
|
4035
|
+
}
|
|
4036
|
+
}
|
|
4037
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
4008
4038
|
};
|
|
4009
4039
|
var clipLineString = PC.clipLineString,
|
|
4010
4040
|
clipPolygon = PC.clipPolygon;
|
|
@@ -4133,7 +4163,7 @@
|
|
|
4133
4163
|
var greatCircle = Projection.greatCircle(poly[i],
|
|
4134
4164
|
poly[i + 1]);
|
|
4135
4165
|
if (greatCircle.length) {
|
|
4136
|
-
poly.splice.apply(poly,
|
|
4166
|
+
poly.splice.apply(poly, __spreadArray([i + 1, 0], greatCircle, false));
|
|
4137
4167
|
}
|
|
4138
4168
|
}
|
|
4139
4169
|
}
|
|
@@ -4300,13 +4330,14 @@
|
|
|
4300
4330
|
var lonMinus = wrapLon(antimeridian -
|
|
4301
4331
|
intersections[i].direction * floatCorrection);
|
|
4302
4332
|
var slice = poly.splice.apply(poly,
|
|
4303
|
-
|
|
4333
|
+
__spreadArray([index,
|
|
4304
4334
|
intersections[i + 1].i - index],
|
|
4305
4335
|
Projection.greatCircle([lonPlus,
|
|
4306
4336
|
intersections[i].lat],
|
|
4307
4337
|
[lonPlus,
|
|
4308
4338
|
intersections[i + 1].lat],
|
|
4309
|
-
true)
|
|
4339
|
+
true),
|
|
4340
|
+
false));
|
|
4310
4341
|
// Add interpolated points close to the cut
|
|
4311
4342
|
slice.push.apply(slice, Projection.greatCircle([lonMinus, intersections[i + 1].lat], [lonMinus, intersections[i].lat], true));
|
|
4312
4343
|
polygons.push(slice);
|
|
@@ -4339,8 +4370,8 @@
|
|
|
4339
4370
|
polarSegment.push([lon, polarLatitude]);
|
|
4340
4371
|
}
|
|
4341
4372
|
polarSegment.push.apply(polarSegment, Projection.greatCircle([lon2, polarLatitude], [lon2, polarIntersection.lat], true));
|
|
4342
|
-
poly_1.splice.apply(poly_1,
|
|
4343
|
-
0], polarSegment));
|
|
4373
|
+
poly_1.splice.apply(poly_1, __spreadArray([indexOf,
|
|
4374
|
+
0], polarSegment, false));
|
|
4344
4375
|
break;
|
|
4345
4376
|
}
|
|
4346
4377
|
}
|
|
@@ -4607,14 +4638,19 @@
|
|
|
4607
4638
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
4608
4639
|
};
|
|
4609
4640
|
})();
|
|
4610
|
-
var
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
|
|
4617
|
-
|
|
4641
|
+
var __spreadArray = (this && this.__spreadArray) || function (to,
|
|
4642
|
+
from,
|
|
4643
|
+
pack) {
|
|
4644
|
+
if (pack || arguments.length === 2) for (var i = 0,
|
|
4645
|
+
l = from.length,
|
|
4646
|
+
ar; i < l; i++) {
|
|
4647
|
+
if (ar || !(i in from)) {
|
|
4648
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0,
|
|
4649
|
+
i);
|
|
4650
|
+
ar[i] = from[i];
|
|
4651
|
+
}
|
|
4652
|
+
}
|
|
4653
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
4618
4654
|
};
|
|
4619
4655
|
var topo2geo = GeoJSONModule.topo2geo;
|
|
4620
4656
|
var maps = MapChart.maps;
|
|
@@ -4622,7 +4658,6 @@
|
|
|
4622
4658
|
pointInPolygon = MU.pointInPolygon;
|
|
4623
4659
|
var addEvent = U.addEvent,
|
|
4624
4660
|
clamp = U.clamp,
|
|
4625
|
-
defined = U.defined,
|
|
4626
4661
|
fireEvent = U.fireEvent,
|
|
4627
4662
|
isArray = U.isArray,
|
|
4628
4663
|
isNumber = U.isNumber,
|
|
@@ -4633,7 +4668,8 @@
|
|
|
4633
4668
|
relativeLength = U.relativeLength;
|
|
4634
4669
|
/**
|
|
4635
4670
|
* The world size in terms of 10k meters in the Web Mercator projection, to
|
|
4636
|
-
* match a 256 square tile to zoom level 0
|
|
4671
|
+
* match a 256 square tile to zoom level 0.
|
|
4672
|
+
* @private
|
|
4637
4673
|
*/
|
|
4638
4674
|
var worldSize = 400.979322;
|
|
4639
4675
|
var tileSize = 256;
|
|
@@ -4693,9 +4729,10 @@
|
|
|
4693
4729
|
var recommendedProjection;
|
|
4694
4730
|
if (!(this instanceof MapViewInset)) {
|
|
4695
4731
|
// Handle the global map and series-level mapData
|
|
4696
|
-
var geoMaps =
|
|
4732
|
+
var geoMaps = __spreadArray([
|
|
4697
4733
|
chart.options.chart.map
|
|
4698
|
-
], (chart.options.series || []).map(function (s) { return s.mapData; })
|
|
4734
|
+
], (chart.options.series || []).map(function (s) { return s.mapData; }),
|
|
4735
|
+
true).map(function (mapData) { return _this.getGeoMap(mapData); });
|
|
4699
4736
|
var allGeoBounds_1 = [];
|
|
4700
4737
|
geoMaps.forEach(function (geoMap) {
|
|
4701
4738
|
if (geoMap) {
|
|
@@ -4779,7 +4816,11 @@
|
|
|
4779
4816
|
_this.minZoom === _this.zoom // When resizing the chart
|
|
4780
4817
|
) {
|
|
4781
4818
|
_this.fitToBounds(void 0, void 0, false);
|
|
4782
|
-
if (
|
|
4819
|
+
if (
|
|
4820
|
+
// Set zoom only when initializing the chart
|
|
4821
|
+
// (do not overwrite when zooming in/out, #17082)
|
|
4822
|
+
!_this.chart.hasRendered &&
|
|
4823
|
+
isNumber(_this.userOptions.zoom)) {
|
|
4783
4824
|
_this.zoom = _this.userOptions.zoom;
|
|
4784
4825
|
}
|
|
4785
4826
|
if (_this.userOptions.center) {
|
|
@@ -4794,7 +4835,7 @@
|
|
|
4794
4835
|
var toObject = function (insets) {
|
|
4795
4836
|
var ob = {};
|
|
4796
4837
|
insets.forEach(function (inset, i) {
|
|
4797
|
-
ob[inset && inset.id || "i"
|
|
4838
|
+
ob[inset && inset.id || "i".concat(i)] = inset;
|
|
4798
4839
|
});
|
|
4799
4840
|
return ob;
|
|
4800
4841
|
};
|
|
@@ -5097,7 +5138,10 @@
|
|
|
5097
5138
|
if (typeof this.options.maxZoom === 'number') {
|
|
5098
5139
|
zoom = Math.min(zoom, this.options.maxZoom);
|
|
5099
5140
|
}
|
|
5100
|
-
|
|
5141
|
+
// Use isNumber to prevent Infinity (#17205)
|
|
5142
|
+
if (isNumber(zoom)) {
|
|
5143
|
+
this.zoom = zoom;
|
|
5144
|
+
}
|
|
5101
5145
|
}
|
|
5102
5146
|
var bounds = this.getProjectedBounds();
|
|
5103
5147
|
if (bounds) {
|
|
@@ -5238,7 +5282,7 @@
|
|
|
5238
5282
|
}
|
|
5239
5283
|
if (typeof mouseDownX === 'number' &&
|
|
5240
5284
|
typeof mouseDownY === 'number') {
|
|
5241
|
-
var key = mouseDownX + ","
|
|
5285
|
+
var key = "" + mouseDownX + ",".concat(mouseDownY), _a = e.originalEvent, chartX = _a.chartX, chartY = _a.chartY;
|
|
5242
5286
|
// Reset starting position
|
|
5243
5287
|
if (key !== mouseDownKey) {
|
|
5244
5288
|
mouseDownKey = key;
|
|
@@ -5537,8 +5581,8 @@
|
|
|
5537
5581
|
merge(chart.plotBox, { x: 0,
|
|
5538
5582
|
y: 0 });
|
|
5539
5583
|
polygon = polygon.map(function (xy) { return [
|
|
5540
|
-
relativeLength(xy[0] + "%", relativeTo_1.width, relativeTo_1.x),
|
|
5541
|
-
relativeLength(xy[1] + "%", relativeTo_1.height, relativeTo_1.y)
|
|
5584
|
+
relativeLength("" + xy[0] + "%", relativeTo_1.width, relativeTo_1.x),
|
|
5585
|
+
relativeLength("" + xy[1] + "%", relativeTo_1.height, relativeTo_1.y)
|
|
5542
5586
|
]; });
|
|
5543
5587
|
}
|
|
5544
5588
|
return {
|
|
@@ -5603,8 +5647,8 @@
|
|
|
5603
5647
|
var x = point[0],
|
|
5604
5648
|
y = point[1];
|
|
5605
5649
|
if (options.units === 'percent') {
|
|
5606
|
-
x = chart.plotLeft + relativeLength(x + "%", field_1.width, field_1.x);
|
|
5607
|
-
y = chart.plotTop + relativeLength(y + "%", field_1.height, field_1.y);
|
|
5650
|
+
x = chart.plotLeft + relativeLength("" + x + "%", field_1.width, field_1.x);
|
|
5651
|
+
y = chart.plotTop + relativeLength("" + y + "%", field_1.height, field_1.y);
|
|
5608
5652
|
}
|
|
5609
5653
|
x = Math.floor(x) + crisp_1;
|
|
5610
5654
|
y = Math.floor(y) + crisp_1;
|
|
@@ -5633,7 +5677,7 @@
|
|
|
5633
5677
|
|
|
5634
5678
|
return MapView;
|
|
5635
5679
|
});
|
|
5636
|
-
_registerModule(_modules, 'Series/Map/MapSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Series/
|
|
5680
|
+
_registerModule(_modules, 'Series/Map/MapSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Series/ColorMapComposition.js'], _modules['Series/CenteredUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Chart/MapChart.js'], _modules['Series/Map/MapPoint.js'], _modules['Maps/MapView.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (A, ColorMapComposition, CU, H, LegendSymbol, MapChart, MapPoint, MapView, Series, SeriesRegistry, SVGRenderer, U) {
|
|
5637
5681
|
/* *
|
|
5638
5682
|
*
|
|
5639
5683
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -5846,12 +5890,13 @@
|
|
|
5846
5890
|
*/
|
|
5847
5891
|
MapSeries.prototype.drawPoints = function () {
|
|
5848
5892
|
var _this = this;
|
|
5849
|
-
var
|
|
5893
|
+
var series = this,
|
|
5894
|
+
_a = this,
|
|
5850
5895
|
chart = _a.chart,
|
|
5851
5896
|
group = _a.group,
|
|
5852
5897
|
_b = _a.transformGroups,
|
|
5853
|
-
transformGroups = _b === void 0 ? [] : _b
|
|
5854
|
-
|
|
5898
|
+
transformGroups = _b === void 0 ? [] : _b,
|
|
5899
|
+
mapView = chart.mapView,
|
|
5855
5900
|
renderer = chart.renderer;
|
|
5856
5901
|
if (!mapView) {
|
|
5857
5902
|
return;
|
|
@@ -5891,7 +5936,9 @@
|
|
|
5891
5936
|
ColumnSeries.prototype.drawPoints.apply(this);
|
|
5892
5937
|
// Add class names
|
|
5893
5938
|
this.points.forEach(function (point) {
|
|
5894
|
-
|
|
5939
|
+
var graphic = point.graphic;
|
|
5940
|
+
if (graphic) {
|
|
5941
|
+
var animate_1 = graphic.animate;
|
|
5895
5942
|
var className = '';
|
|
5896
5943
|
if (point.name) {
|
|
5897
5944
|
className +=
|
|
@@ -5904,12 +5951,49 @@
|
|
|
5904
5951
|
point.properties['hc-key'].toString().toLowerCase();
|
|
5905
5952
|
}
|
|
5906
5953
|
if (className) {
|
|
5907
|
-
|
|
5954
|
+
graphic.addClass(className);
|
|
5908
5955
|
}
|
|
5909
5956
|
// In styled mode, apply point colors by CSS
|
|
5910
5957
|
if (chart.styledMode) {
|
|
5911
|
-
|
|
5958
|
+
graphic.css(_this.pointAttribs(point, point.selected && 'select' || void 0));
|
|
5912
5959
|
}
|
|
5960
|
+
graphic.animate = function (params, options, complete) {
|
|
5961
|
+
var switchBack = false;
|
|
5962
|
+
// When strokeWidth is animating
|
|
5963
|
+
if (params['stroke-width']) {
|
|
5964
|
+
var strokeWidth = pick(series.getStrokeWidth(series.options), 1 // Styled mode
|
|
5965
|
+
),
|
|
5966
|
+
inheritedStrokeWidth = (strokeWidth /
|
|
5967
|
+
(chart.mapView &&
|
|
5968
|
+
chart.mapView.getScale() ||
|
|
5969
|
+
1));
|
|
5970
|
+
// For animating from inherit,
|
|
5971
|
+
// .attr() reads the property as the starting point
|
|
5972
|
+
if (graphic['stroke-width'] === 'inherit') {
|
|
5973
|
+
graphic['stroke-width'] = inheritedStrokeWidth;
|
|
5974
|
+
}
|
|
5975
|
+
// For animating to inherit
|
|
5976
|
+
if (params['stroke-width'] === 'inherit') {
|
|
5977
|
+
params['stroke-width'] = inheritedStrokeWidth;
|
|
5978
|
+
switchBack = true;
|
|
5979
|
+
}
|
|
5980
|
+
}
|
|
5981
|
+
var ret = animate_1.call(graphic,
|
|
5982
|
+
params,
|
|
5983
|
+
options,
|
|
5984
|
+
switchBack ? function () {
|
|
5985
|
+
// Switch back to "inherit" for zooming
|
|
5986
|
+
// to work with the existing logic + complete
|
|
5987
|
+
graphic.attr({
|
|
5988
|
+
'stroke-width': 'inherit'
|
|
5989
|
+
});
|
|
5990
|
+
// Proceed
|
|
5991
|
+
if (complete) {
|
|
5992
|
+
complete.apply(this, arguments);
|
|
5993
|
+
}
|
|
5994
|
+
} : complete);
|
|
5995
|
+
return ret;
|
|
5996
|
+
};
|
|
5913
5997
|
}
|
|
5914
5998
|
});
|
|
5915
5999
|
}
|
|
@@ -5917,8 +6001,7 @@
|
|
|
5917
6001
|
transformGroups.forEach(function (transformGroup, i) {
|
|
5918
6002
|
var view = i === 0 ? mapView : mapView.insets[i - 1],
|
|
5919
6003
|
svgTransform = view.getSVGTransform(),
|
|
5920
|
-
strokeWidth = pick(_this.
|
|
5921
|
-
_this.pointAttrToOptions['stroke-width']) || 'borderWidth'], 1 // Styled mode
|
|
6004
|
+
strokeWidth = pick(_this.getStrokeWidth(_this.options), 1 // Styled mode
|
|
5922
6005
|
);
|
|
5923
6006
|
/*
|
|
5924
6007
|
Animate or move to the new zoom level. In order to prevent
|
|
@@ -5973,8 +6056,7 @@
|
|
|
5973
6056
|
*/
|
|
5974
6057
|
MapSeries.prototype.getProjectedBounds = function () {
|
|
5975
6058
|
if (!this.bounds && this.chart.mapView) {
|
|
5976
|
-
var
|
|
5977
|
-
_a = this.chart.mapView,
|
|
6059
|
+
var _a = this.chart.mapView,
|
|
5978
6060
|
insets_1 = _a.insets,
|
|
5979
6061
|
projection_1 = _a.projection,
|
|
5980
6062
|
allBounds_1 = [];
|
|
@@ -6030,6 +6112,18 @@
|
|
|
6030
6112
|
}
|
|
6031
6113
|
return this.bounds;
|
|
6032
6114
|
};
|
|
6115
|
+
/**
|
|
6116
|
+
* Return the stroke-width either from a series options or point options
|
|
6117
|
+
* object. This function is used by both the map series where the
|
|
6118
|
+
* `borderWidth` sets the stroke-width, and the mapline series where the
|
|
6119
|
+
* `lineWidth` sets the stroke-width.
|
|
6120
|
+
* @private
|
|
6121
|
+
*/
|
|
6122
|
+
MapSeries.prototype.getStrokeWidth = function (options) {
|
|
6123
|
+
var pointAttrToOptions = this.pointAttrToOptions;
|
|
6124
|
+
return options[pointAttrToOptions &&
|
|
6125
|
+
pointAttrToOptions['stroke-width'] || 'borderWidth'];
|
|
6126
|
+
};
|
|
6033
6127
|
/**
|
|
6034
6128
|
* Define hasData function for non-cartesian series. Returns true if the
|
|
6035
6129
|
* series has points at all.
|
|
@@ -6054,15 +6148,25 @@
|
|
|
6054
6148
|
point,
|
|
6055
6149
|
state);
|
|
6056
6150
|
// Individual stroke width
|
|
6057
|
-
var pointStrokeWidth = point.options
|
|
6058
|
-
|
|
6151
|
+
var pointStrokeWidth = this.getStrokeWidth(point.options);
|
|
6152
|
+
// Handle state specific border or line width
|
|
6153
|
+
if (state) {
|
|
6154
|
+
var stateOptions = merge(this.options.states[state],
|
|
6155
|
+
point.options.states &&
|
|
6156
|
+
point.options.states[state] ||
|
|
6157
|
+
{});
|
|
6158
|
+
pointStrokeWidth = this.getStrokeWidth(stateOptions);
|
|
6159
|
+
}
|
|
6059
6160
|
if (pointStrokeWidth && mapView) {
|
|
6060
6161
|
pointStrokeWidth /= mapView.getScale();
|
|
6061
6162
|
}
|
|
6062
6163
|
// In order for dash style to avoid being scaled, set the transformed
|
|
6063
6164
|
// stroke width on the item
|
|
6064
|
-
|
|
6065
|
-
|
|
6165
|
+
var seriesStrokeWidth = this.getStrokeWidth(this.options);
|
|
6166
|
+
if (attr.dashstyle &&
|
|
6167
|
+
mapView &&
|
|
6168
|
+
isNumber(seriesStrokeWidth)) {
|
|
6169
|
+
pointStrokeWidth = seriesStrokeWidth / mapView.getScale();
|
|
6066
6170
|
}
|
|
6067
6171
|
attr['stroke-width'] = pick(pointStrokeWidth,
|
|
6068
6172
|
// By default set the stroke-width on the group element and let all
|
|
@@ -6071,14 +6175,29 @@
|
|
|
6071
6175
|
'inherit');
|
|
6072
6176
|
return attr;
|
|
6073
6177
|
};
|
|
6178
|
+
/**
|
|
6179
|
+
* @private
|
|
6180
|
+
*/
|
|
6181
|
+
MapSeries.prototype.updateData = function () {
|
|
6182
|
+
// #16782
|
|
6183
|
+
if (this.processedData) {
|
|
6184
|
+
return false;
|
|
6185
|
+
}
|
|
6186
|
+
return _super.prototype.updateData.apply(this, arguments);
|
|
6187
|
+
};
|
|
6074
6188
|
/**
|
|
6075
6189
|
* Extend setData to call processData and generatePoints immediately.
|
|
6076
6190
|
* @private
|
|
6077
6191
|
*/
|
|
6078
|
-
MapSeries.prototype.setData = function () {
|
|
6079
|
-
|
|
6192
|
+
MapSeries.prototype.setData = function (data, redraw, animation, updatePoints) {
|
|
6193
|
+
if (redraw === void 0) { redraw = true; }
|
|
6194
|
+
delete this.bounds;
|
|
6195
|
+
_super.prototype.setData.call(this, data, false, void 0, updatePoints);
|
|
6080
6196
|
this.processData();
|
|
6081
6197
|
this.generatePoints();
|
|
6198
|
+
if (redraw) {
|
|
6199
|
+
this.chart.redraw(animation);
|
|
6200
|
+
}
|
|
6082
6201
|
};
|
|
6083
6202
|
/**
|
|
6084
6203
|
* Extend processData to join in mapData. If the allAreas option is true,
|
|
@@ -6263,7 +6382,17 @@
|
|
|
6263
6382
|
this.processData();
|
|
6264
6383
|
this.generatePoints();
|
|
6265
6384
|
delete this.bounds;
|
|
6266
|
-
|
|
6385
|
+
if (mapView &&
|
|
6386
|
+
!mapView.userOptions.center &&
|
|
6387
|
+
!isNumber(mapView.userOptions.zoom)) {
|
|
6388
|
+
// Not only recalculate bounds but also fit view
|
|
6389
|
+
mapView.fitToBounds(void 0, void 0, false); // #17012
|
|
6390
|
+
}
|
|
6391
|
+
else {
|
|
6392
|
+
// If center and zoom is defined in user options, get bounds but
|
|
6393
|
+
// don't change view
|
|
6394
|
+
this.getProjectedBounds();
|
|
6395
|
+
}
|
|
6267
6396
|
}
|
|
6268
6397
|
if (mapView) {
|
|
6269
6398
|
var mainSvgTransform_1 = mapView.getSVGTransform();
|
|
@@ -6302,6 +6431,8 @@
|
|
|
6302
6431
|
* @excluding marker, cluster
|
|
6303
6432
|
* @product highmaps
|
|
6304
6433
|
* @optionparent plotOptions.map
|
|
6434
|
+
*
|
|
6435
|
+
* @private
|
|
6305
6436
|
*/
|
|
6306
6437
|
MapSeries.defaultOptions = merge(ScatterSeries.defaultOptions, {
|
|
6307
6438
|
/**
|
|
@@ -6312,6 +6443,8 @@
|
|
|
6312
6443
|
* US map with world map backdrop
|
|
6313
6444
|
*
|
|
6314
6445
|
* @since 10.0.0
|
|
6446
|
+
*
|
|
6447
|
+
* @private
|
|
6315
6448
|
*/
|
|
6316
6449
|
affectsMapView: true,
|
|
6317
6450
|
animation: false,
|
|
@@ -6346,7 +6479,7 @@
|
|
|
6346
6479
|
*
|
|
6347
6480
|
* @private
|
|
6348
6481
|
*/
|
|
6349
|
-
nullColor: "#f7f7f7" /* neutralColor3 */,
|
|
6482
|
+
nullColor: "#f7f7f7" /* Palette.neutralColor3 */,
|
|
6350
6483
|
/**
|
|
6351
6484
|
* Whether to allow pointer interaction like tooltips and mouse events
|
|
6352
6485
|
* on null points.
|
|
@@ -6400,7 +6533,7 @@
|
|
|
6400
6533
|
*
|
|
6401
6534
|
* @private
|
|
6402
6535
|
*/
|
|
6403
|
-
borderColor: "#cccccc" /* neutralColor20 */,
|
|
6536
|
+
borderColor: "#cccccc" /* Palette.neutralColor20 */,
|
|
6404
6537
|
/**
|
|
6405
6538
|
* The border width of each map area.
|
|
6406
6539
|
*
|
|
@@ -6535,7 +6668,7 @@
|
|
|
6535
6668
|
* @product highmaps
|
|
6536
6669
|
* @apioption plotOptions.series.states.select.color
|
|
6537
6670
|
*/
|
|
6538
|
-
color: "#cccccc" /* neutralColor20 */
|
|
6671
|
+
color: "#cccccc" /* Palette.neutralColor20 */
|
|
6539
6672
|
},
|
|
6540
6673
|
inactive: {
|
|
6541
6674
|
opacity: 1
|
|
@@ -6546,9 +6679,9 @@
|
|
|
6546
6679
|
}(ScatterSeries));
|
|
6547
6680
|
extend(MapSeries.prototype, {
|
|
6548
6681
|
type: 'map',
|
|
6549
|
-
axisTypes:
|
|
6550
|
-
colorAttribs:
|
|
6551
|
-
colorKey:
|
|
6682
|
+
axisTypes: ColorMapComposition.seriesMembers.axisTypes,
|
|
6683
|
+
colorAttribs: ColorMapComposition.seriesMembers.colorAttribs,
|
|
6684
|
+
colorKey: ColorMapComposition.seriesMembers.colorKey,
|
|
6552
6685
|
// When tooltip is not shared, this series (and derivatives) requires
|
|
6553
6686
|
// direct touch/hover. KD-tree does not apply.
|
|
6554
6687
|
directTouch: true,
|
|
@@ -6561,18 +6694,19 @@
|
|
|
6561
6694
|
forceDL: true,
|
|
6562
6695
|
getCenter: CU.getCenter,
|
|
6563
6696
|
getExtremesFromAll: true,
|
|
6564
|
-
getSymbol:
|
|
6697
|
+
getSymbol: noop,
|
|
6565
6698
|
isCartesian: false,
|
|
6566
|
-
parallelArrays:
|
|
6567
|
-
pointArrayMap:
|
|
6699
|
+
parallelArrays: ColorMapComposition.seriesMembers.parallelArrays,
|
|
6700
|
+
pointArrayMap: ColorMapComposition.seriesMembers.pointArrayMap,
|
|
6568
6701
|
pointClass: MapPoint,
|
|
6569
6702
|
// X axis and Y axis must have same translation slope
|
|
6570
6703
|
preserveAspectRatio: true,
|
|
6571
6704
|
searchPoint: noop,
|
|
6572
|
-
trackerGroups:
|
|
6705
|
+
trackerGroups: ColorMapComposition.seriesMembers.trackerGroups,
|
|
6573
6706
|
// Get axis extremes from paths, not values
|
|
6574
6707
|
useMapGeometry: true
|
|
6575
6708
|
});
|
|
6709
|
+
ColorMapComposition.compose(MapSeries);
|
|
6576
6710
|
SeriesRegistry.registerSeriesType('map', MapSeries);
|
|
6577
6711
|
/* *
|
|
6578
6712
|
*
|
|
@@ -6704,8 +6838,9 @@
|
|
|
6704
6838
|
* The geometry type. Can be one of `LineString`, `Polygon`, `MultiLineString`
|
|
6705
6839
|
* or `MultiPolygon`.
|
|
6706
6840
|
*
|
|
6841
|
+
* @declare Highcharts.MapGeometryTypeValue
|
|
6707
6842
|
* @type {string}
|
|
6708
|
-
* @since
|
|
6843
|
+
* @since 9.3.0
|
|
6709
6844
|
* @product highmaps
|
|
6710
6845
|
* @validvalue ["LineString", "Polygon", "MultiLineString", "MultiPolygon"]
|
|
6711
6846
|
* @apioption series.map.data.geometry.type
|
|
@@ -6992,6 +7127,21 @@
|
|
|
6992
7127
|
* @product highmaps
|
|
6993
7128
|
* @apioption series.mapline.data
|
|
6994
7129
|
*/
|
|
7130
|
+
/**
|
|
7131
|
+
* Pixel width of the mapline line.
|
|
7132
|
+
*
|
|
7133
|
+
* @type {number}
|
|
7134
|
+
* @since 10.2.0
|
|
7135
|
+
* @product highmaps
|
|
7136
|
+
* @apioption plotOptions.mapline.states.hover.lineWidth
|
|
7137
|
+
*/
|
|
7138
|
+
/**
|
|
7139
|
+
*
|
|
7140
|
+
* @type {number}
|
|
7141
|
+
* @product highmaps
|
|
7142
|
+
* @excluding borderWidth
|
|
7143
|
+
* @apioption plotOptions.mapline.states.hover
|
|
7144
|
+
*/
|
|
6995
7145
|
''; // adds doclets above to transpiled file
|
|
6996
7146
|
|
|
6997
7147
|
return MapLineSeries;
|
|
@@ -7023,8 +7173,7 @@
|
|
|
7023
7173
|
};
|
|
7024
7174
|
})();
|
|
7025
7175
|
var ScatterSeries = SeriesRegistry.seriesTypes.scatter;
|
|
7026
|
-
var isNumber = U.isNumber
|
|
7027
|
-
merge = U.merge;
|
|
7176
|
+
var isNumber = U.isNumber;
|
|
7028
7177
|
/* *
|
|
7029
7178
|
*
|
|
7030
7179
|
* Class
|
|
@@ -7177,6 +7326,10 @@
|
|
|
7177
7326
|
this.processData();
|
|
7178
7327
|
}
|
|
7179
7328
|
this.generatePoints();
|
|
7329
|
+
if (this.getProjectedBounds && this.isDirtyData) {
|
|
7330
|
+
delete this.bounds;
|
|
7331
|
+
this.getProjectedBounds(); // Added point needs bounds(#16598)
|
|
7332
|
+
}
|
|
7180
7333
|
// Create map based translation
|
|
7181
7334
|
if (mapView) {
|
|
7182
7335
|
var hasCoordinates_1 = mapView.projection.hasCoordinates;
|
|
@@ -7236,7 +7389,7 @@
|
|
|
7236
7389
|
overflow: false,
|
|
7237
7390
|
style: {
|
|
7238
7391
|
/** @internal */
|
|
7239
|
-
color: "#000000" /* neutralColor100 */
|
|
7392
|
+
color: "#000000" /* Palette.neutralColor100 */
|
|
7240
7393
|
}
|
|
7241
7394
|
}
|
|
7242
7395
|
});
|
|
@@ -7402,6 +7555,12 @@
|
|
|
7402
7555
|
* @product highmaps
|
|
7403
7556
|
* @apioption series.mappoint.data.y
|
|
7404
7557
|
*/
|
|
7558
|
+
/**
|
|
7559
|
+
* @type {number}
|
|
7560
|
+
* @product highmaps
|
|
7561
|
+
* @excluding borderColor, borderWidth
|
|
7562
|
+
* @apioption plotOptions.mappoint
|
|
7563
|
+
*/
|
|
7405
7564
|
''; // adds doclets above to transpiled file
|
|
7406
7565
|
|
|
7407
7566
|
return MapPointSeries;
|
|
@@ -7579,7 +7738,7 @@
|
|
|
7579
7738
|
/** @ignore-option */
|
|
7580
7739
|
fontSize: '10px',
|
|
7581
7740
|
/** @ignore-option */
|
|
7582
|
-
color: "#000000" /* neutralColor100 */
|
|
7741
|
+
color: "#000000" /* Palette.neutralColor100 */
|
|
7583
7742
|
},
|
|
7584
7743
|
/**
|
|
7585
7744
|
* The x position offset of the label relative to the
|
|
@@ -7708,28 +7867,11 @@
|
|
|
7708
7867
|
merge = U.merge,
|
|
7709
7868
|
pick = U.pick,
|
|
7710
7869
|
stableSort = U.stableSort;
|
|
7711
|
-
/**
|
|
7712
|
-
* @interface Highcharts.BubbleLegendFormatterContextObject
|
|
7713
|
-
*/ /**
|
|
7714
|
-
* The center y position of the range.
|
|
7715
|
-
* @name Highcharts.BubbleLegendFormatterContextObject#center
|
|
7716
|
-
* @type {number}
|
|
7717
|
-
*/ /**
|
|
7718
|
-
* The radius of the bubble range.
|
|
7719
|
-
* @name Highcharts.BubbleLegendFormatterContextObject#radius
|
|
7720
|
-
* @type {number}
|
|
7721
|
-
*/ /**
|
|
7722
|
-
* The bubble value.
|
|
7723
|
-
* @name Highcharts.BubbleLegendFormatterContextObject#value
|
|
7724
|
-
* @type {number}
|
|
7725
|
-
*/
|
|
7726
|
-
''; // detach doclets above
|
|
7727
7870
|
/* *
|
|
7728
7871
|
*
|
|
7729
7872
|
* Class
|
|
7730
7873
|
*
|
|
7731
7874
|
* */
|
|
7732
|
-
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
7733
7875
|
/**
|
|
7734
7876
|
* BubbleLegend class.
|
|
7735
7877
|
*
|
|
@@ -7743,7 +7885,17 @@
|
|
|
7743
7885
|
* Legend of item.
|
|
7744
7886
|
*/
|
|
7745
7887
|
var BubbleLegendItem = /** @class */ (function () {
|
|
7888
|
+
/* *
|
|
7889
|
+
*
|
|
7890
|
+
* Constructor
|
|
7891
|
+
*
|
|
7892
|
+
* */
|
|
7746
7893
|
function BubbleLegendItem(options, legend) {
|
|
7894
|
+
/* *
|
|
7895
|
+
*
|
|
7896
|
+
* Properties
|
|
7897
|
+
*
|
|
7898
|
+
* */
|
|
7747
7899
|
this.chart = void 0;
|
|
7748
7900
|
this.fontMetrics = void 0;
|
|
7749
7901
|
this.legend = void 0;
|
|
@@ -7762,15 +7914,14 @@
|
|
|
7762
7914
|
this.setState = noop;
|
|
7763
7915
|
this.init(options, legend);
|
|
7764
7916
|
}
|
|
7917
|
+
/* *
|
|
7918
|
+
*
|
|
7919
|
+
* Functions
|
|
7920
|
+
*
|
|
7921
|
+
* */
|
|
7765
7922
|
/**
|
|
7766
7923
|
* Create basic bubbleLegend properties similar to item in legend.
|
|
7767
|
-
*
|
|
7768
7924
|
* @private
|
|
7769
|
-
* @function Highcharts.BubbleLegend#init
|
|
7770
|
-
* @param {Highcharts.LegendBubbleLegendOptions} options
|
|
7771
|
-
* Bubble legend options
|
|
7772
|
-
* @param {Highcharts.Legend} legend
|
|
7773
|
-
* Legend
|
|
7774
7925
|
*/
|
|
7775
7926
|
BubbleLegendItem.prototype.init = function (options, legend) {
|
|
7776
7927
|
this.options = options;
|
|
@@ -7782,9 +7933,9 @@
|
|
|
7782
7933
|
* Depending on the position option, add bubbleLegend to legend items.
|
|
7783
7934
|
*
|
|
7784
7935
|
* @private
|
|
7785
|
-
*
|
|
7936
|
+
*
|
|
7786
7937
|
* @param {Array<(Highcharts.Point|Highcharts.Series)>} items
|
|
7787
|
-
*
|
|
7938
|
+
* All legend items
|
|
7788
7939
|
*/
|
|
7789
7940
|
BubbleLegendItem.prototype.addToLegend = function (items) {
|
|
7790
7941
|
// Insert bubbleLegend into legend items
|
|
@@ -7795,7 +7946,7 @@
|
|
|
7795
7946
|
* creation.
|
|
7796
7947
|
*
|
|
7797
7948
|
* @private
|
|
7798
|
-
*
|
|
7949
|
+
*
|
|
7799
7950
|
* @param {Highcharts.Legend} legend
|
|
7800
7951
|
* Legend instance
|
|
7801
7952
|
*/
|
|
@@ -7837,9 +7988,7 @@
|
|
|
7837
7988
|
};
|
|
7838
7989
|
/**
|
|
7839
7990
|
* Set style options for each bubbleLegend range.
|
|
7840
|
-
*
|
|
7841
7991
|
* @private
|
|
7842
|
-
* @function Highcharts.BubbleLegend#setOptions
|
|
7843
7992
|
*/
|
|
7844
7993
|
BubbleLegendItem.prototype.setOptions = function () {
|
|
7845
7994
|
var ranges = this.ranges,
|
|
@@ -7891,9 +8040,10 @@
|
|
|
7891
8040
|
* used code from BubbleSeries.js 'getRadius' method.
|
|
7892
8041
|
*
|
|
7893
8042
|
* @private
|
|
7894
|
-
*
|
|
8043
|
+
*
|
|
7895
8044
|
* @param {number} value
|
|
7896
8045
|
* Range value
|
|
8046
|
+
*
|
|
7897
8047
|
* @return {number|null}
|
|
7898
8048
|
* Radius for one range
|
|
7899
8049
|
*/
|
|
@@ -7909,9 +8059,7 @@
|
|
|
7909
8059
|
};
|
|
7910
8060
|
/**
|
|
7911
8061
|
* Render the legendSymbol group.
|
|
7912
|
-
*
|
|
7913
8062
|
* @private
|
|
7914
|
-
* @function Highcharts.BubbleLegend#render
|
|
7915
8063
|
*/
|
|
7916
8064
|
BubbleLegendItem.prototype.render = function () {
|
|
7917
8065
|
var renderer = this.chart.renderer,
|
|
@@ -7943,7 +8091,7 @@
|
|
|
7943
8091
|
* Render one range, consisting of bubble symbol, connector and label.
|
|
7944
8092
|
*
|
|
7945
8093
|
* @private
|
|
7946
|
-
*
|
|
8094
|
+
*
|
|
7947
8095
|
* @param {Highcharts.LegendBubbleLegendRangesOptions} range
|
|
7948
8096
|
* Range options
|
|
7949
8097
|
*/
|
|
@@ -8024,9 +8172,7 @@
|
|
|
8024
8172
|
};
|
|
8025
8173
|
/**
|
|
8026
8174
|
* Get the label which takes up the most space.
|
|
8027
|
-
*
|
|
8028
8175
|
* @private
|
|
8029
|
-
* @function Highcharts.BubbleLegend#getMaxLabelSize
|
|
8030
8176
|
*/
|
|
8031
8177
|
BubbleLegendItem.prototype.getMaxLabelSize = function () {
|
|
8032
8178
|
var labels = this.symbols.labels;
|
|
@@ -8048,9 +8194,10 @@
|
|
|
8048
8194
|
* Get formatted label for range.
|
|
8049
8195
|
*
|
|
8050
8196
|
* @private
|
|
8051
|
-
*
|
|
8197
|
+
*
|
|
8052
8198
|
* @param {Highcharts.LegendBubbleLegendRangesOptions} range
|
|
8053
8199
|
* Range options
|
|
8200
|
+
*
|
|
8054
8201
|
* @return {string}
|
|
8055
8202
|
* Range label text
|
|
8056
8203
|
*/
|
|
@@ -8066,9 +8213,7 @@
|
|
|
8066
8213
|
/**
|
|
8067
8214
|
* By using default chart 'hideOverlappingLabels' method, hide or show
|
|
8068
8215
|
* labels and connectors.
|
|
8069
|
-
*
|
|
8070
8216
|
* @private
|
|
8071
|
-
* @function Highcharts.BubbleLegend#hideOverlappingLabels
|
|
8072
8217
|
*/
|
|
8073
8218
|
BubbleLegendItem.prototype.hideOverlappingLabels = function () {
|
|
8074
8219
|
var chart = this.chart,
|
|
@@ -8091,7 +8236,7 @@
|
|
|
8091
8236
|
* Calculate ranges from created series.
|
|
8092
8237
|
*
|
|
8093
8238
|
* @private
|
|
8094
|
-
*
|
|
8239
|
+
*
|
|
8095
8240
|
* @return {Array<Highcharts.LegendBubbleLegendRangesOptions>}
|
|
8096
8241
|
* Array of range objects
|
|
8097
8242
|
*/
|
|
@@ -8143,7 +8288,7 @@
|
|
|
8143
8288
|
* Calculate bubble legend sizes from rendered series.
|
|
8144
8289
|
*
|
|
8145
8290
|
* @private
|
|
8146
|
-
*
|
|
8291
|
+
*
|
|
8147
8292
|
* @return {Array<number,number>}
|
|
8148
8293
|
* Calculated min and max bubble sizes
|
|
8149
8294
|
*/
|
|
@@ -8184,11 +8329,7 @@
|
|
|
8184
8329
|
};
|
|
8185
8330
|
/**
|
|
8186
8331
|
* Correct ranges with calculated sizes.
|
|
8187
|
-
*
|
|
8188
8332
|
* @private
|
|
8189
|
-
* @function Highcharts.BubbleLegend#updateRanges
|
|
8190
|
-
* @param {number} min
|
|
8191
|
-
* @param {number} max
|
|
8192
8333
|
*/
|
|
8193
8334
|
BubbleLegendItem.prototype.updateRanges = function (min, max) {
|
|
8194
8335
|
var bubbleLegendOptions = this.legend.options.bubbleLegend;
|
|
@@ -8200,9 +8341,7 @@
|
|
|
8200
8341
|
* Because of the possibility of creating another legend line, predicted
|
|
8201
8342
|
* bubble legend sizes may differ by a few pixels, so it is necessary to
|
|
8202
8343
|
* correct them.
|
|
8203
|
-
*
|
|
8204
8344
|
* @private
|
|
8205
|
-
* @function Highcharts.BubbleLegend#correctSizes
|
|
8206
8345
|
*/
|
|
8207
8346
|
BubbleLegendItem.prototype.correctSizes = function () {
|
|
8208
8347
|
var legend = this.legend,
|
|
@@ -8224,6 +8363,27 @@
|
|
|
8224
8363
|
* Default Export
|
|
8225
8364
|
*
|
|
8226
8365
|
* */
|
|
8366
|
+
/* *
|
|
8367
|
+
*
|
|
8368
|
+
* API Declarations
|
|
8369
|
+
*
|
|
8370
|
+
* */
|
|
8371
|
+
/**
|
|
8372
|
+
* @interface Highcharts.BubbleLegendFormatterContextObject
|
|
8373
|
+
*/ /**
|
|
8374
|
+
* The center y position of the range.
|
|
8375
|
+
* @name Highcharts.BubbleLegendFormatterContextObject#center
|
|
8376
|
+
* @type {number}
|
|
8377
|
+
*/ /**
|
|
8378
|
+
* The radius of the bubble range.
|
|
8379
|
+
* @name Highcharts.BubbleLegendFormatterContextObject#radius
|
|
8380
|
+
* @type {number}
|
|
8381
|
+
*/ /**
|
|
8382
|
+
* The bubble value.
|
|
8383
|
+
* @name Highcharts.BubbleLegendFormatterContextObject#value
|
|
8384
|
+
* @type {number}
|
|
8385
|
+
*/
|
|
8386
|
+
''; // detach doclets above
|
|
8227
8387
|
|
|
8228
8388
|
return BubbleLegendItem;
|
|
8229
8389
|
});
|
|
@@ -8245,282 +8405,274 @@
|
|
|
8245
8405
|
wrap = U.wrap;
|
|
8246
8406
|
/* *
|
|
8247
8407
|
*
|
|
8248
|
-
*
|
|
8408
|
+
* Constants
|
|
8249
8409
|
*
|
|
8250
8410
|
* */
|
|
8251
|
-
var
|
|
8252
|
-
|
|
8253
|
-
|
|
8254
|
-
|
|
8255
|
-
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
|
|
8259
|
-
|
|
8260
|
-
|
|
8261
|
-
|
|
8262
|
-
|
|
8263
|
-
|
|
8264
|
-
|
|
8265
|
-
|
|
8266
|
-
|
|
8267
|
-
|
|
8268
|
-
|
|
8269
|
-
|
|
8270
|
-
|
|
8271
|
-
|
|
8272
|
-
|
|
8273
|
-
|
|
8274
|
-
|
|
8275
|
-
|
|
8276
|
-
|
|
8277
|
-
|
|
8278
|
-
|
|
8279
|
-
|
|
8280
|
-
|
|
8411
|
+
var composedClasses = [];
|
|
8412
|
+
/* *
|
|
8413
|
+
*
|
|
8414
|
+
* Functions
|
|
8415
|
+
*
|
|
8416
|
+
* */
|
|
8417
|
+
/**
|
|
8418
|
+
* If ranges are not specified, determine ranges from rendered bubble series
|
|
8419
|
+
* and render legend again.
|
|
8420
|
+
*/
|
|
8421
|
+
function chartDrawChartBox(proceed, options, callback) {
|
|
8422
|
+
var chart = this,
|
|
8423
|
+
legend = chart.legend,
|
|
8424
|
+
bubbleSeries = getVisibleBubbleSeriesIndex(chart) >= 0;
|
|
8425
|
+
var bubbleLegendOptions,
|
|
8426
|
+
bubbleSizes;
|
|
8427
|
+
if (legend && legend.options.enabled && legend.bubbleLegend &&
|
|
8428
|
+
legend.options.bubbleLegend.autoRanges && bubbleSeries) {
|
|
8429
|
+
bubbleLegendOptions = legend.bubbleLegend.options;
|
|
8430
|
+
bubbleSizes = legend.bubbleLegend.predictBubbleSizes();
|
|
8431
|
+
legend.bubbleLegend.updateRanges(bubbleSizes[0], bubbleSizes[1]);
|
|
8432
|
+
// Disable animation on init
|
|
8433
|
+
if (!bubbleLegendOptions.placed) {
|
|
8434
|
+
legend.group.placed = false;
|
|
8435
|
+
legend.allItems.forEach(function (item) {
|
|
8436
|
+
item.legendGroup.translateY = null;
|
|
8437
|
+
});
|
|
8438
|
+
}
|
|
8439
|
+
// Create legend with bubbleLegend
|
|
8440
|
+
legend.render();
|
|
8441
|
+
chart.getMargins();
|
|
8442
|
+
chart.axes.forEach(function (axis) {
|
|
8443
|
+
if (axis.visible) { // #11448
|
|
8444
|
+
axis.render();
|
|
8445
|
+
}
|
|
8281
8446
|
if (!bubbleLegendOptions.placed) {
|
|
8282
|
-
|
|
8283
|
-
|
|
8284
|
-
|
|
8447
|
+
axis.setScale();
|
|
8448
|
+
axis.updateNames();
|
|
8449
|
+
// Disable axis animation on init
|
|
8450
|
+
objectEach(axis.ticks, function (tick) {
|
|
8451
|
+
tick.isNew = true;
|
|
8452
|
+
tick.isNewLabel = true;
|
|
8285
8453
|
});
|
|
8286
8454
|
}
|
|
8287
|
-
|
|
8455
|
+
});
|
|
8456
|
+
bubbleLegendOptions.placed = true;
|
|
8457
|
+
// After recalculate axes, calculate margins again.
|
|
8458
|
+
chart.getMargins();
|
|
8459
|
+
// Call default 'drawChartBox' method.
|
|
8460
|
+
proceed.call(chart, options, callback);
|
|
8461
|
+
// Check bubble legend sizes and correct them if necessary.
|
|
8462
|
+
legend.bubbleLegend.correctSizes();
|
|
8463
|
+
// Correct items positions with different dimensions in legend.
|
|
8464
|
+
retranslateItems(legend, getLinesHeights(legend));
|
|
8465
|
+
}
|
|
8466
|
+
else {
|
|
8467
|
+
proceed.call(chart, options, callback);
|
|
8468
|
+
// Allow color change on static bubble legend after click on legend
|
|
8469
|
+
if (legend && legend.options.enabled && legend.bubbleLegend) {
|
|
8288
8470
|
legend.render();
|
|
8289
|
-
chart.getMargins();
|
|
8290
|
-
chart.axes.forEach(function (axis) {
|
|
8291
|
-
if (axis.visible) { // #11448
|
|
8292
|
-
axis.render();
|
|
8293
|
-
}
|
|
8294
|
-
if (!bubbleLegendOptions.placed) {
|
|
8295
|
-
axis.setScale();
|
|
8296
|
-
axis.updateNames();
|
|
8297
|
-
// Disable axis animation on init
|
|
8298
|
-
objectEach(axis.ticks, function (tick) {
|
|
8299
|
-
tick.isNew = true;
|
|
8300
|
-
tick.isNewLabel = true;
|
|
8301
|
-
});
|
|
8302
|
-
}
|
|
8303
|
-
});
|
|
8304
|
-
bubbleLegendOptions.placed = true;
|
|
8305
|
-
// After recalculate axes, calculate margins again.
|
|
8306
|
-
chart.getMargins();
|
|
8307
|
-
// Call default 'drawChartBox' method.
|
|
8308
|
-
proceed.call(chart, options, callback);
|
|
8309
|
-
// Check bubble legend sizes and correct them if necessary.
|
|
8310
|
-
legend.bubbleLegend.correctSizes();
|
|
8311
|
-
// Correct items positions with different dimensions in legend.
|
|
8312
8471
|
retranslateItems(legend, getLinesHeights(legend));
|
|
8313
8472
|
}
|
|
8314
|
-
|
|
8315
|
-
|
|
8316
|
-
|
|
8317
|
-
|
|
8318
|
-
|
|
8319
|
-
|
|
8473
|
+
}
|
|
8474
|
+
}
|
|
8475
|
+
/**
|
|
8476
|
+
* Compose classes for use with Bubble series.
|
|
8477
|
+
* @private
|
|
8478
|
+
*
|
|
8479
|
+
* @param {Highcharts.Chart} ChartClass
|
|
8480
|
+
* Core chart class to use with Bubble series.
|
|
8481
|
+
*
|
|
8482
|
+
* @param {Highcharts.Legend} LegendClass
|
|
8483
|
+
* Core legend class to use with Bubble series.
|
|
8484
|
+
*
|
|
8485
|
+
* @param {Highcharts.Series} SeriesClass
|
|
8486
|
+
* Core series class to use with Bubble series.
|
|
8487
|
+
*/
|
|
8488
|
+
function compose(ChartClass, LegendClass, SeriesClass) {
|
|
8489
|
+
if (composedClasses.indexOf(ChartClass) === -1) {
|
|
8490
|
+
composedClasses.push(ChartClass);
|
|
8491
|
+
setOptions({
|
|
8492
|
+
// Set default bubble legend options
|
|
8493
|
+
legend: {
|
|
8494
|
+
bubbleLegend: BubbleLegendDefaults
|
|
8320
8495
|
}
|
|
8321
|
-
}
|
|
8496
|
+
});
|
|
8497
|
+
wrap(ChartClass.prototype, 'drawChartBox', chartDrawChartBox);
|
|
8322
8498
|
}
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
*
|
|
8327
|
-
* @param {Highcharts.Chart} ChartClass
|
|
8328
|
-
* Core chart class to use with Bubble series.
|
|
8329
|
-
*
|
|
8330
|
-
* @param {Highcharts.Legend} LegendClass
|
|
8331
|
-
* Core legend class to use with Bubble series.
|
|
8332
|
-
*
|
|
8333
|
-
* @param {Highcharts.Series} SeriesClass
|
|
8334
|
-
* Core series class to use with Bubble series.
|
|
8335
|
-
*/
|
|
8336
|
-
function compose(ChartClass, LegendClass, SeriesClass) {
|
|
8337
|
-
if (composedClasses.indexOf(ChartClass) === -1) {
|
|
8338
|
-
composedClasses.push(ChartClass);
|
|
8339
|
-
setOptions({
|
|
8340
|
-
// Set default bubble legend options
|
|
8341
|
-
legend: {
|
|
8342
|
-
bubbleLegend: BubbleLegendDefaults
|
|
8343
|
-
}
|
|
8344
|
-
});
|
|
8345
|
-
wrap(ChartClass.prototype, 'drawChartBox', chartDrawChartBox);
|
|
8346
|
-
}
|
|
8347
|
-
if (composedClasses.indexOf(LegendClass) === -1) {
|
|
8348
|
-
composedClasses.push(LegendClass);
|
|
8349
|
-
addEvent(LegendClass, 'afterGetAllItems', onLegendAfterGetAllItems);
|
|
8350
|
-
}
|
|
8351
|
-
if (composedClasses.indexOf(SeriesClass) === -1) {
|
|
8352
|
-
composedClasses.push(SeriesClass);
|
|
8353
|
-
addEvent(SeriesClass, 'legendItemClick', onSeriesLegendItemClick);
|
|
8354
|
-
}
|
|
8499
|
+
if (composedClasses.indexOf(LegendClass) === -1) {
|
|
8500
|
+
composedClasses.push(LegendClass);
|
|
8501
|
+
addEvent(LegendClass, 'afterGetAllItems', onLegendAfterGetAllItems);
|
|
8355
8502
|
}
|
|
8356
|
-
|
|
8357
|
-
|
|
8358
|
-
|
|
8359
|
-
*
|
|
8360
|
-
* @private
|
|
8361
|
-
* @function getVisibleBubbleSeriesIndex
|
|
8362
|
-
* @param {Highcharts.Chart} chart
|
|
8363
|
-
* Chart to check.
|
|
8364
|
-
* @return {number}
|
|
8365
|
-
* First visible bubble series index
|
|
8366
|
-
*/
|
|
8367
|
-
function getVisibleBubbleSeriesIndex(chart) {
|
|
8368
|
-
var series = chart.series;
|
|
8369
|
-
var i = 0;
|
|
8370
|
-
while (i < series.length) {
|
|
8371
|
-
if (series[i] &&
|
|
8372
|
-
series[i].isBubble &&
|
|
8373
|
-
series[i].visible &&
|
|
8374
|
-
series[i].zData.length) {
|
|
8375
|
-
return i;
|
|
8376
|
-
}
|
|
8377
|
-
i++;
|
|
8378
|
-
}
|
|
8379
|
-
return -1;
|
|
8503
|
+
if (composedClasses.indexOf(SeriesClass) === -1) {
|
|
8504
|
+
composedClasses.push(SeriesClass);
|
|
8505
|
+
addEvent(SeriesClass, 'legendItemClick', onSeriesLegendItemClick);
|
|
8380
8506
|
}
|
|
8381
|
-
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
|
|
8392
|
-
|
|
8393
|
-
|
|
8394
|
-
|
|
8395
|
-
|
|
8396
|
-
|
|
8397
|
-
|
|
8398
|
-
i
|
|
8399
|
-
|
|
8400
|
-
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
8408
|
-
|
|
8409
|
-
|
|
8410
|
-
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8507
|
+
}
|
|
8508
|
+
/**
|
|
8509
|
+
* Check if there is at least one visible bubble series.
|
|
8510
|
+
*
|
|
8511
|
+
* @private
|
|
8512
|
+
* @function getVisibleBubbleSeriesIndex
|
|
8513
|
+
* @param {Highcharts.Chart} chart
|
|
8514
|
+
* Chart to check.
|
|
8515
|
+
* @return {number}
|
|
8516
|
+
* First visible bubble series index
|
|
8517
|
+
*/
|
|
8518
|
+
function getVisibleBubbleSeriesIndex(chart) {
|
|
8519
|
+
var series = chart.series;
|
|
8520
|
+
var i = 0;
|
|
8521
|
+
while (i < series.length) {
|
|
8522
|
+
if (series[i] &&
|
|
8523
|
+
series[i].isBubble &&
|
|
8524
|
+
series[i].visible &&
|
|
8525
|
+
series[i].zData.length) {
|
|
8526
|
+
return i;
|
|
8527
|
+
}
|
|
8528
|
+
i++;
|
|
8529
|
+
}
|
|
8530
|
+
return -1;
|
|
8531
|
+
}
|
|
8532
|
+
/**
|
|
8533
|
+
* Calculate height for each row in legend.
|
|
8534
|
+
*
|
|
8535
|
+
* @private
|
|
8536
|
+
* @function getLinesHeights
|
|
8537
|
+
*
|
|
8538
|
+
* @param {Highcharts.Legend} legend
|
|
8539
|
+
* Legend to calculate from.
|
|
8540
|
+
*
|
|
8541
|
+
* @return {Array<Highcharts.Dictionary<number>>}
|
|
8542
|
+
* Informations about line height and items amount
|
|
8543
|
+
*/
|
|
8544
|
+
function getLinesHeights(legend) {
|
|
8545
|
+
var items = legend.allItems,
|
|
8546
|
+
lines = [],
|
|
8547
|
+
length = items.length;
|
|
8548
|
+
var lastLine,
|
|
8549
|
+
i = 0,
|
|
8550
|
+
j = 0;
|
|
8551
|
+
for (i = 0; i < length; i++) {
|
|
8552
|
+
if (items[i].legendItemHeight) {
|
|
8553
|
+
// for bubbleLegend
|
|
8554
|
+
items[i].itemHeight = items[i].legendItemHeight;
|
|
8555
|
+
}
|
|
8556
|
+
if ( // Line break
|
|
8557
|
+
items[i] === items[length - 1] ||
|
|
8558
|
+
items[i + 1] &&
|
|
8559
|
+
items[i]._legendItemPos[1] !==
|
|
8560
|
+
items[i + 1]._legendItemPos[1]) {
|
|
8561
|
+
lines.push({ height: 0 });
|
|
8562
|
+
lastLine = lines[lines.length - 1];
|
|
8563
|
+
// Find the highest item in line
|
|
8564
|
+
for (j; j <= i; j++) {
|
|
8565
|
+
if (items[j].itemHeight > lastLine.height) {
|
|
8566
|
+
lastLine.height = items[j].itemHeight;
|
|
8417
8567
|
}
|
|
8418
|
-
lastLine.step = i;
|
|
8419
8568
|
}
|
|
8569
|
+
lastLine.step = i;
|
|
8420
8570
|
}
|
|
8421
|
-
return lines;
|
|
8422
8571
|
}
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
if (bubbleSeriesIndex >= 0 &&
|
|
8444
|
-
legendOptions.enabled &&
|
|
8445
|
-
options.enabled) {
|
|
8446
|
-
options.seriesIndex = bubbleSeriesIndex;
|
|
8447
|
-
legend.bubbleLegend = new BubbleLegendItem(options, legend);
|
|
8448
|
-
legend.bubbleLegend.addToLegend(e.allItems);
|
|
8449
|
-
}
|
|
8572
|
+
return lines;
|
|
8573
|
+
}
|
|
8574
|
+
/**
|
|
8575
|
+
* Start the bubble legend creation process.
|
|
8576
|
+
*/
|
|
8577
|
+
function onLegendAfterGetAllItems(e) {
|
|
8578
|
+
var legend = this,
|
|
8579
|
+
bubbleLegend = legend.bubbleLegend,
|
|
8580
|
+
legendOptions = legend.options,
|
|
8581
|
+
options = legendOptions.bubbleLegend,
|
|
8582
|
+
bubbleSeriesIndex = getVisibleBubbleSeriesIndex(legend.chart);
|
|
8583
|
+
// Remove unnecessary element
|
|
8584
|
+
if (bubbleLegend && bubbleLegend.ranges && bubbleLegend.ranges.length) {
|
|
8585
|
+
// Allow change the way of calculating ranges in update
|
|
8586
|
+
if (options.ranges.length) {
|
|
8587
|
+
options.autoRanges =
|
|
8588
|
+
!!options.ranges[0].autoRanges;
|
|
8589
|
+
}
|
|
8590
|
+
// Update bubbleLegend dimensions in each redraw
|
|
8591
|
+
legend.destroyItem(bubbleLegend);
|
|
8450
8592
|
}
|
|
8451
|
-
|
|
8452
|
-
|
|
8453
|
-
|
|
8454
|
-
|
|
8455
|
-
|
|
8456
|
-
|
|
8457
|
-
|
|
8458
|
-
legend = series.chart.legend;
|
|
8459
|
-
var status;
|
|
8460
|
-
if (legend && legend.bubbleLegend) {
|
|
8461
|
-
// Temporary correct 'visible' property
|
|
8462
|
-
series.visible = !visible;
|
|
8463
|
-
// Save future status for getRanges method
|
|
8464
|
-
series.ignoreSeries = visible;
|
|
8465
|
-
// Check if at lest one bubble series is visible
|
|
8466
|
-
status = getVisibleBubbleSeriesIndex(chart) >= 0;
|
|
8467
|
-
// Hide bubble legend if all bubble series are disabled
|
|
8468
|
-
if (legend.bubbleLegend.visible !== status) {
|
|
8469
|
-
// Show or hide bubble legend
|
|
8470
|
-
legend.update({
|
|
8471
|
-
bubbleLegend: { enabled: status }
|
|
8472
|
-
});
|
|
8473
|
-
legend.bubbleLegend.visible = status; // Restore default status
|
|
8474
|
-
}
|
|
8475
|
-
series.visible = visible;
|
|
8476
|
-
}
|
|
8593
|
+
// Create bubble legend
|
|
8594
|
+
if (bubbleSeriesIndex >= 0 &&
|
|
8595
|
+
legendOptions.enabled &&
|
|
8596
|
+
options.enabled) {
|
|
8597
|
+
options.seriesIndex = bubbleSeriesIndex;
|
|
8598
|
+
legend.bubbleLegend = new BubbleLegendItem(options, legend);
|
|
8599
|
+
legend.bubbleLegend.addToLegend(e.allItems);
|
|
8477
8600
|
}
|
|
8478
|
-
|
|
8479
|
-
|
|
8480
|
-
|
|
8481
|
-
|
|
8482
|
-
|
|
8483
|
-
|
|
8484
|
-
|
|
8485
|
-
|
|
8486
|
-
|
|
8487
|
-
|
|
8488
|
-
|
|
8489
|
-
|
|
8490
|
-
|
|
8491
|
-
|
|
8492
|
-
|
|
8493
|
-
|
|
8494
|
-
|
|
8495
|
-
|
|
8496
|
-
|
|
8497
|
-
|
|
8498
|
-
|
|
8499
|
-
|
|
8500
|
-
movementX = item.movementX;
|
|
8501
|
-
if (movementX || (rtl && item.ranges)) {
|
|
8502
|
-
movementX = rtl ?
|
|
8503
|
-
orgTranslateX - item.options.maxSize / 2 :
|
|
8504
|
-
orgTranslateX + movementX;
|
|
8505
|
-
item.legendGroup.attr({ translateX: movementX });
|
|
8506
|
-
}
|
|
8507
|
-
if (index > lines[actualLine].step) {
|
|
8508
|
-
actualLine++;
|
|
8509
|
-
}
|
|
8510
|
-
item.legendGroup.attr({
|
|
8511
|
-
translateY: Math.round(orgTranslateY + lines[actualLine].height / 2)
|
|
8601
|
+
}
|
|
8602
|
+
/**
|
|
8603
|
+
* Toggle bubble legend depending on the visible status of bubble series.
|
|
8604
|
+
*/
|
|
8605
|
+
function onSeriesLegendItemClick() {
|
|
8606
|
+
var series = this,
|
|
8607
|
+
chart = series.chart,
|
|
8608
|
+
visible = series.visible,
|
|
8609
|
+
legend = series.chart.legend;
|
|
8610
|
+
var status;
|
|
8611
|
+
if (legend && legend.bubbleLegend) {
|
|
8612
|
+
// Temporary correct 'visible' property
|
|
8613
|
+
series.visible = !visible;
|
|
8614
|
+
// Save future status for getRanges method
|
|
8615
|
+
series.ignoreSeries = visible;
|
|
8616
|
+
// Check if at lest one bubble series is visible
|
|
8617
|
+
status = getVisibleBubbleSeriesIndex(chart) >= 0;
|
|
8618
|
+
// Hide bubble legend if all bubble series are disabled
|
|
8619
|
+
if (legend.bubbleLegend.visible !== status) {
|
|
8620
|
+
// Show or hide bubble legend
|
|
8621
|
+
legend.update({
|
|
8622
|
+
bubbleLegend: { enabled: status }
|
|
8512
8623
|
});
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
|
|
8624
|
+
legend.bubbleLegend.visible = status; // Restore default status
|
|
8625
|
+
}
|
|
8626
|
+
series.visible = visible;
|
|
8516
8627
|
}
|
|
8517
|
-
|
|
8518
|
-
|
|
8628
|
+
}
|
|
8629
|
+
/**
|
|
8630
|
+
* Correct legend items translation in case of different elements heights.
|
|
8631
|
+
*
|
|
8632
|
+
* @private
|
|
8633
|
+
* @function Highcharts.Legend#retranslateItems
|
|
8634
|
+
*
|
|
8635
|
+
* @param {Highcharts.Legend} legend
|
|
8636
|
+
* Legend to translate in.
|
|
8637
|
+
*
|
|
8638
|
+
* @param {Array<Highcharts.Dictionary<number>>} lines
|
|
8639
|
+
* Informations about line height and items amount
|
|
8640
|
+
*/
|
|
8641
|
+
function retranslateItems(legend, lines) {
|
|
8642
|
+
var items = legend.allItems,
|
|
8643
|
+
rtl = legend.options.rtl;
|
|
8644
|
+
var orgTranslateX,
|
|
8645
|
+
orgTranslateY,
|
|
8646
|
+
movementX,
|
|
8647
|
+
actualLine = 0;
|
|
8648
|
+
items.forEach(function (item, index) {
|
|
8649
|
+
orgTranslateX = item.legendGroup.translateX;
|
|
8650
|
+
orgTranslateY = item._legendItemPos[1];
|
|
8651
|
+
movementX = item.movementX;
|
|
8652
|
+
if (movementX || (rtl && item.ranges)) {
|
|
8653
|
+
movementX = rtl ?
|
|
8654
|
+
orgTranslateX - item.options.maxSize / 2 :
|
|
8655
|
+
orgTranslateX + movementX;
|
|
8656
|
+
item.legendGroup.attr({ translateX: movementX });
|
|
8657
|
+
}
|
|
8658
|
+
if (index > lines[actualLine].step) {
|
|
8659
|
+
actualLine++;
|
|
8660
|
+
}
|
|
8661
|
+
item.legendGroup.attr({
|
|
8662
|
+
translateY: Math.round(orgTranslateY + lines[actualLine].height / 2)
|
|
8663
|
+
});
|
|
8664
|
+
item._legendItemPos[1] = orgTranslateY +
|
|
8665
|
+
lines[actualLine].height / 2;
|
|
8666
|
+
});
|
|
8667
|
+
}
|
|
8519
8668
|
/* *
|
|
8520
8669
|
*
|
|
8521
8670
|
* Default Export
|
|
8522
8671
|
*
|
|
8523
8672
|
* */
|
|
8673
|
+
var BubbleLegendComposition = {
|
|
8674
|
+
compose: compose
|
|
8675
|
+
};
|
|
8524
8676
|
|
|
8525
8677
|
return BubbleLegendComposition;
|
|
8526
8678
|
});
|
|
@@ -8604,7 +8756,7 @@
|
|
|
8604
8756
|
|
|
8605
8757
|
return BubblePoint;
|
|
8606
8758
|
});
|
|
8607
|
-
_registerModule(_modules, 'Series/Bubble/BubbleSeries.js', [_modules['
|
|
8759
|
+
_registerModule(_modules, 'Series/Bubble/BubbleSeries.js', [_modules['Series/Bubble/BubbleLegendComposition.js'], _modules['Series/Bubble/BubblePoint.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (BubbleLegendComposition, BubblePoint, Color, H, SeriesRegistry, U) {
|
|
8608
8760
|
/* *
|
|
8609
8761
|
*
|
|
8610
8762
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -8632,8 +8784,9 @@
|
|
|
8632
8784
|
})();
|
|
8633
8785
|
var color = Color.parse;
|
|
8634
8786
|
var noop = H.noop;
|
|
8635
|
-
var
|
|
8636
|
-
|
|
8787
|
+
var Series = SeriesRegistry.series,
|
|
8788
|
+
_a = SeriesRegistry.seriesTypes,
|
|
8789
|
+
columnProto = _a.column.prototype,
|
|
8637
8790
|
ScatterSeries = _a.scatter;
|
|
8638
8791
|
var addEvent = U.addEvent,
|
|
8639
8792
|
arrayMax = U.arrayMax,
|
|
@@ -8643,6 +8796,77 @@
|
|
|
8643
8796
|
isNumber = U.isNumber,
|
|
8644
8797
|
merge = U.merge,
|
|
8645
8798
|
pick = U.pick;
|
|
8799
|
+
/* *
|
|
8800
|
+
*
|
|
8801
|
+
* Constants
|
|
8802
|
+
*
|
|
8803
|
+
* */
|
|
8804
|
+
var composedClasses = [];
|
|
8805
|
+
/* *
|
|
8806
|
+
*
|
|
8807
|
+
* Functions
|
|
8808
|
+
*
|
|
8809
|
+
* */
|
|
8810
|
+
/**
|
|
8811
|
+
* Add logic to pad each axis with the amount of pixels necessary to avoid the
|
|
8812
|
+
* bubbles to overflow.
|
|
8813
|
+
*/
|
|
8814
|
+
function axisBeforePadding() {
|
|
8815
|
+
var _this = this;
|
|
8816
|
+
var axisLength = this.len,
|
|
8817
|
+
chart = this.chart,
|
|
8818
|
+
isXAxis = this.isXAxis,
|
|
8819
|
+
dataKey = isXAxis ? 'xData' : 'yData',
|
|
8820
|
+
min = this.min,
|
|
8821
|
+
range = this.max - min;
|
|
8822
|
+
var pxMin = 0,
|
|
8823
|
+
pxMax = axisLength,
|
|
8824
|
+
transA = axisLength / range,
|
|
8825
|
+
hasActiveSeries;
|
|
8826
|
+
// Handle padding on the second pass, or on redraw
|
|
8827
|
+
this.series.forEach(function (series) {
|
|
8828
|
+
if (series.bubblePadding &&
|
|
8829
|
+
(series.visible || !chart.options.chart.ignoreHiddenSeries)) {
|
|
8830
|
+
// Correction for #1673
|
|
8831
|
+
_this.allowZoomOutside = true;
|
|
8832
|
+
hasActiveSeries = true;
|
|
8833
|
+
var data = series[dataKey];
|
|
8834
|
+
if (isXAxis) {
|
|
8835
|
+
(series.onPoint || series).getRadii(0, 0, series);
|
|
8836
|
+
if (series.onPoint) {
|
|
8837
|
+
series.radii = series.onPoint.radii;
|
|
8838
|
+
}
|
|
8839
|
+
}
|
|
8840
|
+
if (range > 0) {
|
|
8841
|
+
var i = data.length;
|
|
8842
|
+
while (i--) {
|
|
8843
|
+
if (isNumber(data[i]) &&
|
|
8844
|
+
_this.dataMin <= data[i] &&
|
|
8845
|
+
data[i] <= _this.max) {
|
|
8846
|
+
var radius = series.radii && series.radii[i] || 0;
|
|
8847
|
+
pxMin = Math.min(((data[i] - min) * transA) - radius, pxMin);
|
|
8848
|
+
pxMax = Math.max(((data[i] - min) * transA) + radius, pxMax);
|
|
8849
|
+
}
|
|
8850
|
+
}
|
|
8851
|
+
}
|
|
8852
|
+
}
|
|
8853
|
+
});
|
|
8854
|
+
// Apply the padding to the min and max properties
|
|
8855
|
+
if (hasActiveSeries && range > 0 && !this.logarithmic) {
|
|
8856
|
+
pxMax -= axisLength;
|
|
8857
|
+
transA *= (axisLength +
|
|
8858
|
+
Math.max(0, pxMin) - // #8901
|
|
8859
|
+
Math.min(pxMax, axisLength)) / axisLength;
|
|
8860
|
+
[
|
|
8861
|
+
['min', 'userMin', pxMin],
|
|
8862
|
+
['max', 'userMax', pxMax]
|
|
8863
|
+
].forEach(function (keys) {
|
|
8864
|
+
if (typeof pick(_this.options[keys[0]], _this[keys[1]]) === 'undefined') {
|
|
8865
|
+
_this[keys[0]] += keys[2] / transA;
|
|
8866
|
+
}
|
|
8867
|
+
});
|
|
8868
|
+
}
|
|
8869
|
+
}
|
|
8646
8870
|
/* *
|
|
8647
8871
|
*
|
|
8648
8872
|
* Class
|
|
@@ -8672,14 +8896,24 @@
|
|
|
8672
8896
|
_this.yData = void 0;
|
|
8673
8897
|
_this.zData = void 0;
|
|
8674
8898
|
return _this;
|
|
8675
|
-
/* eslint-enable valid-jsdoc */
|
|
8676
8899
|
}
|
|
8900
|
+
/* *
|
|
8901
|
+
*
|
|
8902
|
+
* Static Functions
|
|
8903
|
+
*
|
|
8904
|
+
* */
|
|
8905
|
+
BubbleSeries.compose = function (AxisClass, ChartClass, LegendClass, SeriesClass) {
|
|
8906
|
+
BubbleLegendComposition.compose(ChartClass, LegendClass, SeriesClass);
|
|
8907
|
+
if (composedClasses.indexOf(AxisClass) === -1) {
|
|
8908
|
+
composedClasses.push(AxisClass);
|
|
8909
|
+
AxisClass.prototype.beforePadding = axisBeforePadding;
|
|
8910
|
+
}
|
|
8911
|
+
};
|
|
8677
8912
|
/* *
|
|
8678
8913
|
*
|
|
8679
8914
|
* Functions
|
|
8680
8915
|
*
|
|
8681
8916
|
* */
|
|
8682
|
-
/* eslint-disable valid-jsdoc */
|
|
8683
8917
|
/**
|
|
8684
8918
|
* Perform animation on the bubbles
|
|
8685
8919
|
* @private
|
|
@@ -8714,11 +8948,11 @@
|
|
|
8714
8948
|
*/
|
|
8715
8949
|
BubbleSeries.prototype.getRadii = function () {
|
|
8716
8950
|
var _this = this;
|
|
8951
|
+
var zData = this.zData,
|
|
8952
|
+
yData = this.yData,
|
|
8953
|
+
radii = [];
|
|
8717
8954
|
var len,
|
|
8718
8955
|
i,
|
|
8719
|
-
zData = this.zData,
|
|
8720
|
-
yData = this.yData,
|
|
8721
|
-
radii = [],
|
|
8722
8956
|
value,
|
|
8723
8957
|
zExtremes = this.chart.bubbleZExtremes;
|
|
8724
8958
|
var _a = this.getPxExtremes(),
|
|
@@ -8734,7 +8968,7 @@
|
|
|
8734
8968
|
this.chart.series.forEach(function (otherSeries) {
|
|
8735
8969
|
if (otherSeries.bubblePadding && (otherSeries.visible ||
|
|
8736
8970
|
!_this.chart.options.chart.ignoreHiddenSeries)) {
|
|
8737
|
-
var zExtremes_1 = otherSeries.getZExtremes();
|
|
8971
|
+
var zExtremes_1 = (otherSeries.onPoint || otherSeries).getZExtremes();
|
|
8738
8972
|
if (zExtremes_1) {
|
|
8739
8973
|
zMin_1 = Math.min(zMin_1 || zExtremes_1.zMin, zExtremes_1.zMin);
|
|
8740
8974
|
zMax_1 = Math.max(zMax_1 || zExtremes_1.zMax, zExtremes_1.zMax);
|
|
@@ -8754,7 +8988,7 @@
|
|
|
8754
8988
|
for (i = 0, len = zData.length; i < len; i++) {
|
|
8755
8989
|
value = zData[i];
|
|
8756
8990
|
// Separate method to get individual radius for bubbleLegend
|
|
8757
|
-
radii.push(this.getRadius(zExtremes.zMin, zExtremes.zMax, minPxSize, maxPxSize, value, yData[i]));
|
|
8991
|
+
radii.push(this.getRadius(zExtremes.zMin, zExtremes.zMax, minPxSize, maxPxSize, value, yData && yData[i]));
|
|
8758
8992
|
}
|
|
8759
8993
|
this.radii = radii;
|
|
8760
8994
|
};
|
|
@@ -8765,8 +8999,8 @@
|
|
|
8765
8999
|
BubbleSeries.prototype.getRadius = function (zMin, zMax, minSize, maxSize, value, yValue) {
|
|
8766
9000
|
var options = this.options,
|
|
8767
9001
|
sizeByArea = options.sizeBy !== 'width',
|
|
8768
|
-
zThreshold = options.zThreshold
|
|
8769
|
-
|
|
9002
|
+
zThreshold = options.zThreshold;
|
|
9003
|
+
var zRange = zMax - zMin,
|
|
8770
9004
|
pos = 0.5;
|
|
8771
9005
|
// #8608 - bubble should be visible when z is undefined
|
|
8772
9006
|
if (yValue === null || value === null) {
|
|
@@ -8855,8 +9089,12 @@
|
|
|
8855
9089
|
};
|
|
8856
9090
|
}
|
|
8857
9091
|
else { // below zThreshold
|
|
8858
|
-
// #1691
|
|
8859
|
-
point.
|
|
9092
|
+
point.shapeArgs = point.dlBox = void 0; // #1691
|
|
9093
|
+
point.plotY = 0; // #17281
|
|
9094
|
+
point.marker = {
|
|
9095
|
+
width: 0,
|
|
9096
|
+
height: 0
|
|
9097
|
+
};
|
|
8860
9098
|
}
|
|
8861
9099
|
}
|
|
8862
9100
|
};
|
|
@@ -8895,7 +9133,6 @@
|
|
|
8895
9133
|
}
|
|
8896
9134
|
}
|
|
8897
9135
|
};
|
|
8898
|
-
BubbleSeries.compose = BubbleLegendComposition.compose;
|
|
8899
9136
|
/**
|
|
8900
9137
|
* A bubble series is a three dimensional series type where each point
|
|
8901
9138
|
* renders an X, Y and Z value. Each points is drawn as a bubble where the
|
|
@@ -9134,7 +9371,7 @@
|
|
|
9134
9371
|
return BubbleSeries;
|
|
9135
9372
|
}(ScatterSeries));
|
|
9136
9373
|
extend(BubbleSeries.prototype, {
|
|
9137
|
-
alignDataLabel:
|
|
9374
|
+
alignDataLabel: columnProto.alignDataLabel,
|
|
9138
9375
|
applyZones: noop,
|
|
9139
9376
|
bubblePadding: true,
|
|
9140
9377
|
buildKDTree: noop,
|
|
@@ -9151,67 +9388,10 @@
|
|
|
9151
9388
|
addEvent(BubbleSeries, 'updatedData', function (e) {
|
|
9152
9389
|
delete e.target.chart.bubbleZExtremes;
|
|
9153
9390
|
});
|
|
9154
|
-
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
* */
|
|
9159
|
-
// Add logic to pad each axis with the amount of pixels necessary to avoid the
|
|
9160
|
-
// bubbles to overflow.
|
|
9161
|
-
Axis.prototype.beforePadding = function () {
|
|
9162
|
-
var axis = this,
|
|
9163
|
-
axisLength = this.len,
|
|
9164
|
-
chart = this.chart,
|
|
9165
|
-
pxMin = 0,
|
|
9166
|
-
pxMax = axisLength,
|
|
9167
|
-
isXAxis = this.isXAxis,
|
|
9168
|
-
dataKey = isXAxis ? 'xData' : 'yData',
|
|
9169
|
-
min = this.min,
|
|
9170
|
-
range = this.max - min,
|
|
9171
|
-
transA = axisLength / range,
|
|
9172
|
-
hasActiveSeries;
|
|
9173
|
-
// Handle padding on the second pass, or on redraw
|
|
9174
|
-
this.series.forEach(function (series) {
|
|
9175
|
-
if (series.bubblePadding &&
|
|
9176
|
-
(series.visible || !chart.options.chart.ignoreHiddenSeries)) {
|
|
9177
|
-
// Correction for #1673
|
|
9178
|
-
axis.allowZoomOutside = true;
|
|
9179
|
-
hasActiveSeries = true;
|
|
9180
|
-
var data = series[dataKey];
|
|
9181
|
-
if (isXAxis) {
|
|
9182
|
-
series.getRadii(0, 0, series);
|
|
9183
|
-
}
|
|
9184
|
-
if (range > 0) {
|
|
9185
|
-
var i = data.length;
|
|
9186
|
-
while (i--) {
|
|
9187
|
-
if (isNumber(data[i]) &&
|
|
9188
|
-
axis.dataMin <= data[i] &&
|
|
9189
|
-
data[i] <= axis.max) {
|
|
9190
|
-
var radius = series.radii && series.radii[i] || 0;
|
|
9191
|
-
pxMin = Math.min(((data[i] - min) * transA) - radius, pxMin);
|
|
9192
|
-
pxMax = Math.max(((data[i] - min) * transA) + radius, pxMax);
|
|
9193
|
-
}
|
|
9194
|
-
}
|
|
9195
|
-
}
|
|
9196
|
-
}
|
|
9197
|
-
});
|
|
9198
|
-
// Apply the padding to the min and max properties
|
|
9199
|
-
if (hasActiveSeries && range > 0 && !this.logarithmic) {
|
|
9200
|
-
pxMax -= axisLength;
|
|
9201
|
-
transA *= (axisLength +
|
|
9202
|
-
Math.max(0, pxMin) - // #8901
|
|
9203
|
-
Math.min(pxMax, axisLength)) / axisLength;
|
|
9204
|
-
[
|
|
9205
|
-
['min', 'userMin', pxMin],
|
|
9206
|
-
['max', 'userMax', pxMax]
|
|
9207
|
-
].forEach(function (keys) {
|
|
9208
|
-
if (typeof pick(axis.options[keys[0]], axis[keys[1]]) === 'undefined') {
|
|
9209
|
-
axis[keys[0]] += keys[2] / transA;
|
|
9210
|
-
}
|
|
9211
|
-
});
|
|
9212
|
-
}
|
|
9213
|
-
/* eslint-enable valid-jsdoc */
|
|
9214
|
-
};
|
|
9391
|
+
// After removing series, delete the chart-level Z extremes cache, #17502.
|
|
9392
|
+
addEvent(BubbleSeries, 'remove', function (e) {
|
|
9393
|
+
delete e.target.chart.bubbleZExtremes;
|
|
9394
|
+
});
|
|
9215
9395
|
SeriesRegistry.registerSeriesType('bubble', BubbleSeries);
|
|
9216
9396
|
/* *
|
|
9217
9397
|
*
|
|
@@ -9319,7 +9499,7 @@
|
|
|
9319
9499
|
|
|
9320
9500
|
return BubbleSeries;
|
|
9321
9501
|
});
|
|
9322
|
-
_registerModule(_modules, 'Series/MapBubble/MapBubblePoint.js', [_modules['Series/
|
|
9502
|
+
_registerModule(_modules, 'Series/MapBubble/MapBubblePoint.js', [_modules['Series/Bubble/BubblePoint.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (BubblePoint, SeriesRegistry, U) {
|
|
9323
9503
|
/* *
|
|
9324
9504
|
*
|
|
9325
9505
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -9350,9 +9530,8 @@
|
|
|
9350
9530
|
* Imports
|
|
9351
9531
|
*
|
|
9352
9532
|
* */
|
|
9353
|
-
var
|
|
9354
|
-
|
|
9355
|
-
MapSeries = _a.map;
|
|
9533
|
+
var mapPointProto = SeriesRegistry.seriesTypes.map.prototype.pointClass.prototype;
|
|
9534
|
+
var extend = U.extend;
|
|
9356
9535
|
/* *
|
|
9357
9536
|
*
|
|
9358
9537
|
* Class
|
|
@@ -9361,27 +9540,22 @@
|
|
|
9361
9540
|
var MapBubblePoint = /** @class */ (function (_super) {
|
|
9362
9541
|
__extends(MapBubblePoint, _super);
|
|
9363
9542
|
function MapBubblePoint() {
|
|
9364
|
-
|
|
9365
|
-
*
|
|
9366
|
-
* Functions
|
|
9367
|
-
*
|
|
9368
|
-
* */
|
|
9369
|
-
var _this = _super !== null && _super.apply(this,
|
|
9370
|
-
arguments) || this;
|
|
9371
|
-
_this.applyOptions = MapSeries.prototype.pointClass.prototype.applyOptions;
|
|
9372
|
-
_this.getProjectedBounds = MapPoint.prototype.getProjectedBounds;
|
|
9373
|
-
return _this;
|
|
9374
|
-
/* eslint-enable valid-jsdoc */
|
|
9543
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
9375
9544
|
}
|
|
9376
|
-
/*
|
|
9377
|
-
|
|
9378
|
-
*
|
|
9379
|
-
|
|
9545
|
+
/* *
|
|
9546
|
+
*
|
|
9547
|
+
* Functions
|
|
9548
|
+
*
|
|
9549
|
+
* */
|
|
9380
9550
|
MapBubblePoint.prototype.isValid = function () {
|
|
9381
9551
|
return typeof this.z === 'number';
|
|
9382
9552
|
};
|
|
9383
9553
|
return MapBubblePoint;
|
|
9384
|
-
}(
|
|
9554
|
+
}(BubblePoint));
|
|
9555
|
+
extend(MapBubblePoint.prototype, {
|
|
9556
|
+
applyOptions: mapPointProto.applyOptions,
|
|
9557
|
+
getProjectedBounds: mapPointProto.getProjectedBounds
|
|
9558
|
+
});
|
|
9385
9559
|
/* *
|
|
9386
9560
|
*
|
|
9387
9561
|
* Default Export
|
|
@@ -9390,7 +9564,7 @@
|
|
|
9390
9564
|
|
|
9391
9565
|
return MapBubblePoint;
|
|
9392
9566
|
});
|
|
9393
|
-
_registerModule(_modules, 'Series/MapBubble/MapBubbleSeries.js', [_modules['Series/Bubble/BubbleSeries.js'], _modules['Series/MapBubble/MapBubblePoint.js'], _modules['
|
|
9567
|
+
_registerModule(_modules, 'Series/MapBubble/MapBubbleSeries.js', [_modules['Series/Bubble/BubbleSeries.js'], _modules['Series/MapBubble/MapBubblePoint.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (BubbleSeries, MapBubblePoint, SeriesRegistry, U) {
|
|
9394
9568
|
/* *
|
|
9395
9569
|
*
|
|
9396
9570
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -9416,8 +9590,9 @@
|
|
|
9416
9590
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
9417
9591
|
};
|
|
9418
9592
|
})();
|
|
9419
|
-
var
|
|
9420
|
-
|
|
9593
|
+
var _a = SeriesRegistry.seriesTypes,
|
|
9594
|
+
mapProto = _a.map.prototype,
|
|
9595
|
+
mapPointProto = _a.mappoint.prototype;
|
|
9421
9596
|
var extend = U.extend,
|
|
9422
9597
|
merge = U.merge;
|
|
9423
9598
|
/* *
|
|
@@ -9431,10 +9606,18 @@
|
|
|
9431
9606
|
* @name Highcharts.seriesTypes.mapbubble
|
|
9432
9607
|
*
|
|
9433
9608
|
* @augments Highcharts.Series
|
|
9609
|
+
*
|
|
9610
|
+
* @requires BubbleSeries
|
|
9611
|
+
* @requires MapPointSeries
|
|
9434
9612
|
*/
|
|
9435
9613
|
var MapBubbleSeries = /** @class */ (function (_super) {
|
|
9436
9614
|
__extends(MapBubbleSeries, _super);
|
|
9437
9615
|
function MapBubbleSeries() {
|
|
9616
|
+
/* *
|
|
9617
|
+
*
|
|
9618
|
+
* Static Properties
|
|
9619
|
+
*
|
|
9620
|
+
* */
|
|
9438
9621
|
var _this = _super !== null && _super.apply(this,
|
|
9439
9622
|
arguments) || this;
|
|
9440
9623
|
/* *
|
|
@@ -9454,16 +9637,10 @@
|
|
|
9454
9637
|
}, compareX, e);
|
|
9455
9638
|
};
|
|
9456
9639
|
MapBubbleSeries.prototype.translate = function () {
|
|
9457
|
-
|
|
9640
|
+
mapPointProto.translate.call(this);
|
|
9458
9641
|
this.getRadii();
|
|
9459
9642
|
this.translateBubble();
|
|
9460
9643
|
};
|
|
9461
|
-
/* *
|
|
9462
|
-
*
|
|
9463
|
-
* Static Properties
|
|
9464
|
-
*
|
|
9465
|
-
* */
|
|
9466
|
-
MapBubbleSeries.compose = BubbleSeries.compose;
|
|
9467
9644
|
/**
|
|
9468
9645
|
* A map bubble series is a bubble series laid out on top of a map
|
|
9469
9646
|
* series, where each bubble is tied to a specific map area.
|
|
@@ -9498,15 +9675,61 @@
|
|
|
9498
9675
|
* @apioption plotOptions.mapbubble.displayNegative
|
|
9499
9676
|
*/
|
|
9500
9677
|
/**
|
|
9501
|
-
*
|
|
9678
|
+
* Color of the line connecting bubbles. The default value is the same
|
|
9679
|
+
* as series' color.
|
|
9680
|
+
*
|
|
9681
|
+
* In styled mode, the color can be defined by the
|
|
9682
|
+
* [colorIndex](#plotOptions.series.colorIndex) option. Also, the series
|
|
9683
|
+
* color can be set with the `.highcharts-series`,
|
|
9684
|
+
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
|
|
9685
|
+
* `.highcharts-series-{n}` class, or individual classes given by the
|
|
9686
|
+
* `className` option.
|
|
9687
|
+
*
|
|
9688
|
+
*
|
|
9689
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
9690
|
+
* Spider map
|
|
9691
|
+
* @sample {highmaps} maps/plotoptions/spider-map-line-color/
|
|
9692
|
+
* Different line color
|
|
9693
|
+
*
|
|
9694
|
+
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
9695
|
+
* @apioption plotOptions.mapbubble.lineColor
|
|
9696
|
+
*/
|
|
9697
|
+
/**
|
|
9698
|
+
* Pixel width of the line connecting bubbles.
|
|
9699
|
+
*
|
|
9700
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
9701
|
+
* Spider map
|
|
9702
|
+
*
|
|
9703
|
+
* @product highmaps
|
|
9704
|
+
* @apioption plotOptions.mapbubble.lineWidth
|
|
9705
|
+
*/
|
|
9706
|
+
lineWidth: 0,
|
|
9707
|
+
/**
|
|
9708
|
+
* Maximum bubble size. Bubbles will automatically size between the
|
|
9709
|
+
* `minSize` and `maxSize` to reflect the `z` value of each bubble.
|
|
9710
|
+
* Can be either pixels (when no unit is given), or a percentage of
|
|
9711
|
+
* the smallest one of the plot width and height.
|
|
9712
|
+
*
|
|
9713
|
+
* @sample {highmaps} highcharts/plotoptions/bubble-size/
|
|
9502
9714
|
* Bubble size
|
|
9715
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
9716
|
+
* Spider map
|
|
9503
9717
|
*
|
|
9718
|
+
* @product highmaps
|
|
9504
9719
|
* @apioption plotOptions.mapbubble.maxSize
|
|
9505
9720
|
*/
|
|
9506
9721
|
/**
|
|
9722
|
+
* Minimum bubble size. Bubbles will automatically size between the
|
|
9723
|
+
* `minSize` and `maxSize` to reflect the `z` value of each bubble.
|
|
9724
|
+
* Can be either pixels (when no unit is given), or a percentage of
|
|
9725
|
+
* the smallest one of the plot width and height.
|
|
9726
|
+
*
|
|
9507
9727
|
* @sample {highmaps} maps/demo/map-bubble/
|
|
9508
9728
|
* Bubble size
|
|
9729
|
+
* @sample {highmaps} maps/demo/spider-map/
|
|
9730
|
+
* Spider map
|
|
9509
9731
|
*
|
|
9732
|
+
* @product highmaps
|
|
9510
9733
|
* @apioption plotOptions.mapbubble.minSize
|
|
9511
9734
|
*/
|
|
9512
9735
|
/**
|
|
@@ -9584,6 +9807,9 @@
|
|
|
9584
9807
|
* @default 0
|
|
9585
9808
|
* @apioption plotOptions.mapbubble.zThreshold
|
|
9586
9809
|
*/
|
|
9810
|
+
/**
|
|
9811
|
+
* @default 500
|
|
9812
|
+
*/
|
|
9587
9813
|
animationLimit: 500,
|
|
9588
9814
|
joinBy: 'hc-key',
|
|
9589
9815
|
tooltip: {
|
|
@@ -9595,15 +9821,16 @@
|
|
|
9595
9821
|
extend(MapBubbleSeries.prototype, {
|
|
9596
9822
|
type: 'mapbubble',
|
|
9597
9823
|
axisTypes: ['colorAxis'],
|
|
9598
|
-
getProjectedBounds:
|
|
9824
|
+
getProjectedBounds: mapProto.getProjectedBounds,
|
|
9599
9825
|
isCartesian: false,
|
|
9600
9826
|
// If one single value is passed, it is interpreted as z
|
|
9601
9827
|
pointArrayMap: ['z'],
|
|
9602
9828
|
pointClass: MapBubblePoint,
|
|
9603
|
-
processData:
|
|
9604
|
-
projectPoint:
|
|
9605
|
-
setData:
|
|
9606
|
-
setOptions:
|
|
9829
|
+
processData: mapProto.processData,
|
|
9830
|
+
projectPoint: mapPointProto.projectPoint,
|
|
9831
|
+
setData: mapProto.setData,
|
|
9832
|
+
setOptions: mapProto.setOptions,
|
|
9833
|
+
updateData: mapProto.updateData,
|
|
9607
9834
|
useMapGeometry: true,
|
|
9608
9835
|
xyFromShape: true
|
|
9609
9836
|
});
|
|
@@ -9767,27 +9994,27 @@
|
|
|
9767
9994
|
seriesOptions.pointPadding, 0),
|
|
9768
9995
|
cellAttr = {
|
|
9769
9996
|
x1: clamp(Math.round(xAxis.len -
|
|
9770
|
-
|
|
9997
|
+
xAxis.translate(point.x - xPad,
|
|
9771
9998
|
false,
|
|
9772
9999
|
true,
|
|
9773
10000
|
false,
|
|
9774
|
-
true, -pointPlacement)
|
|
10001
|
+
true, -pointPlacement)), -xAxis.len, 2 * xAxis.len),
|
|
9775
10002
|
x2: clamp(Math.round(xAxis.len -
|
|
9776
|
-
|
|
10003
|
+
xAxis.translate(point.x + xPad,
|
|
9777
10004
|
false,
|
|
9778
10005
|
true,
|
|
9779
10006
|
false,
|
|
9780
|
-
true, -pointPlacement)
|
|
9781
|
-
y1: clamp(Math.round(
|
|
10007
|
+
true, -pointPlacement)), -xAxis.len, 2 * xAxis.len),
|
|
10008
|
+
y1: clamp(Math.round(yAxis.translate(point.y - yPad,
|
|
9782
10009
|
false,
|
|
9783
10010
|
true,
|
|
9784
10011
|
false,
|
|
9785
|
-
true)
|
|
9786
|
-
y2: clamp(Math.round(
|
|
10012
|
+
true)), -yAxis.len, 2 * yAxis.len),
|
|
10013
|
+
y2: clamp(Math.round(yAxis.translate(point.y + yPad,
|
|
9787
10014
|
false,
|
|
9788
10015
|
true,
|
|
9789
10016
|
false,
|
|
9790
|
-
true)
|
|
10017
|
+
true)), -yAxis.len, 2 * yAxis.len)
|
|
9791
10018
|
};
|
|
9792
10019
|
var dimensions = [['width', 'x'], ['height', 'y']];
|
|
9793
10020
|
// Handle marker's fixed width, and height values including border
|
|
@@ -9865,7 +10092,7 @@
|
|
|
9865
10092
|
|
|
9866
10093
|
return HeatmapPoint;
|
|
9867
10094
|
});
|
|
9868
|
-
_registerModule(_modules, 'Series/Heatmap/HeatmapSeries.js', [_modules['Core/Color/Color.js'], _modules['Series/
|
|
10095
|
+
_registerModule(_modules, 'Series/Heatmap/HeatmapSeries.js', [_modules['Core/Color/Color.js'], _modules['Series/ColorMapComposition.js'], _modules['Series/Heatmap/HeatmapPoint.js'], _modules['Core/Legend/LegendSymbol.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (Color, ColorMapComposition, HeatmapPoint, LegendSymbol, SeriesRegistry, SVGRenderer, U) {
|
|
9869
10096
|
/* *
|
|
9870
10097
|
*
|
|
9871
10098
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -9956,25 +10183,6 @@
|
|
|
9956
10183
|
this.points.forEach(function (point) {
|
|
9957
10184
|
if (point.graphic) {
|
|
9958
10185
|
point.graphic[_this.chart.styledMode ? 'css' : 'animate'](_this.colorAttribs(point));
|
|
9959
|
-
// @todo
|
|
9960
|
-
// Applying the border radius here is not optimal. It should
|
|
9961
|
-
// be set in the shapeArgs or returned from `markerAttribs`.
|
|
9962
|
-
// However, Series.drawPoints does not pick up markerAttribs
|
|
9963
|
-
// to be passed over to `renderer.symbol`. Also, image
|
|
9964
|
-
// symbols are not positioned by their top left corner like
|
|
9965
|
-
// other symbols are. This should be refactored, then we
|
|
9966
|
-
// could save ourselves some tests for .hasImage etc. And
|
|
9967
|
-
// the evaluation of borderRadius would be moved to
|
|
9968
|
-
// `markerAttribs`.
|
|
9969
|
-
if (_this.options.borderRadius) {
|
|
9970
|
-
point.graphic.attr({
|
|
9971
|
-
r: _this.options.borderRadius
|
|
9972
|
-
});
|
|
9973
|
-
}
|
|
9974
|
-
// Saving option for reapplying later
|
|
9975
|
-
// when changing point's states (#16165)
|
|
9976
|
-
(point.shapeArgs || {}).r = _this.options.borderRadius;
|
|
9977
|
-
(point.shapeArgs || {}).d = point.graphic.pathArray;
|
|
9978
10186
|
if (point.value === null) { // #15708
|
|
9979
10187
|
point.graphic.addClass('highcharts-null-point');
|
|
9980
10188
|
}
|
|
@@ -10031,6 +10239,18 @@
|
|
|
10031
10239
|
this.yAxis.axisPointRange = options.rowsize || 1;
|
|
10032
10240
|
// Bind new symbol names
|
|
10033
10241
|
symbols.ellipse = symbols.circle;
|
|
10242
|
+
// @todo
|
|
10243
|
+
//
|
|
10244
|
+
// Setting the border radius here is a workaround. It should be set in
|
|
10245
|
+
// the shapeArgs or returned from `markerAttribs`. However,
|
|
10246
|
+
// Series.drawPoints does not pick up markerAttribs to be passed over to
|
|
10247
|
+
// `renderer.symbol`. Also, image symbols are not positioned by their
|
|
10248
|
+
// top left corner like other symbols are. This should be refactored,
|
|
10249
|
+
// then we could save ourselves some tests for .hasImage etc. And the
|
|
10250
|
+
// evaluation of borderRadius would be moved to `markerAttribs`.
|
|
10251
|
+
if (options.marker) {
|
|
10252
|
+
options.marker.r = options.borderRadius;
|
|
10253
|
+
}
|
|
10034
10254
|
};
|
|
10035
10255
|
/**
|
|
10036
10256
|
* @private
|
|
@@ -10165,7 +10385,7 @@
|
|
|
10165
10385
|
clientX: (cellAttr.x1 + cellAttr.x2) / 2,
|
|
10166
10386
|
shapeType: 'path',
|
|
10167
10387
|
shapeArgs: merge(true, shapeArgs, {
|
|
10168
|
-
d: symbols[shape](shapeArgs.x, shapeArgs.y, shapeArgs.width, shapeArgs.height)
|
|
10388
|
+
d: symbols[shape](shapeArgs.x, shapeArgs.y, shapeArgs.width, shapeArgs.height, { r: options.borderRadius })
|
|
10169
10389
|
})
|
|
10170
10390
|
};
|
|
10171
10391
|
if (hasImage) {
|
|
@@ -10205,7 +10425,11 @@
|
|
|
10205
10425
|
*/
|
|
10206
10426
|
animation: false,
|
|
10207
10427
|
/**
|
|
10208
|
-
* The border radius for each heatmap item.
|
|
10428
|
+
* The border radius for each heatmap item. The border's color and
|
|
10429
|
+
* width can be set in marker options.
|
|
10430
|
+
*
|
|
10431
|
+
* @see [lineColor](#plotOptions.heatmap.marker.lineColor)
|
|
10432
|
+
* @see [lineWidth](#plotOptions.heatmap.marker.lineWidth)
|
|
10209
10433
|
*/
|
|
10210
10434
|
borderRadius: 0,
|
|
10211
10435
|
/**
|
|
@@ -10270,7 +10494,7 @@
|
|
|
10270
10494
|
*
|
|
10271
10495
|
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
10272
10496
|
*/
|
|
10273
|
-
nullColor: "#f7f7f7" /* neutralColor3 */,
|
|
10497
|
+
nullColor: "#f7f7f7" /* Palette.neutralColor3 */,
|
|
10274
10498
|
dataLabels: {
|
|
10275
10499
|
formatter: function () {
|
|
10276
10500
|
var numberFormatter = this.series.chart.numberFormatter;
|
|
@@ -10451,25 +10675,26 @@
|
|
|
10451
10675
|
return HeatmapSeries;
|
|
10452
10676
|
}(ScatterSeries));
|
|
10453
10677
|
extend(HeatmapSeries.prototype, {
|
|
10678
|
+
axisTypes: ColorMapComposition.seriesMembers.axisTypes,
|
|
10679
|
+
colorKey: ColorMapComposition.seriesMembers.colorKey,
|
|
10680
|
+
directTouch: true,
|
|
10681
|
+
getExtremesFromAll: true,
|
|
10682
|
+
parallelArrays: ColorMapComposition.seriesMembers.parallelArrays,
|
|
10683
|
+
pointArrayMap: ['y', 'value'],
|
|
10684
|
+
pointClass: HeatmapPoint,
|
|
10685
|
+
trackerGroups: ColorMapComposition.seriesMembers.trackerGroups,
|
|
10454
10686
|
/**
|
|
10455
10687
|
* @private
|
|
10456
10688
|
*/
|
|
10457
10689
|
alignDataLabel: ColumnSeries.prototype.alignDataLabel,
|
|
10458
|
-
|
|
10459
|
-
colorAttribs: ColorMapMixin.SeriesMixin.colorAttribs,
|
|
10460
|
-
colorKey: ColorMapMixin.SeriesMixin.colorKey,
|
|
10461
|
-
directTouch: true,
|
|
10690
|
+
colorAttribs: ColorMapComposition.seriesMembers.colorAttribs,
|
|
10462
10691
|
/**
|
|
10463
10692
|
* @private
|
|
10464
10693
|
*/
|
|
10465
10694
|
drawLegendSymbol: LegendSymbol.drawRectangle,
|
|
10466
|
-
|
|
10467
|
-
getSymbol: Series.prototype.getSymbol,
|
|
10468
|
-
parallelArrays: ColorMapMixin.SeriesMixin.parallelArrays,
|
|
10469
|
-
pointArrayMap: ['y', 'value'],
|
|
10470
|
-
pointClass: HeatmapPoint,
|
|
10471
|
-
trackerGroups: ColorMapMixin.SeriesMixin.trackerGroups
|
|
10695
|
+
getSymbol: Series.prototype.getSymbol
|
|
10472
10696
|
});
|
|
10697
|
+
ColorMapComposition.compose(HeatmapSeries);
|
|
10473
10698
|
SeriesRegistry.registerSeriesType('heatmap', HeatmapSeries);
|
|
10474
10699
|
/* *
|
|
10475
10700
|
*
|
|
@@ -10851,7 +11076,7 @@
|
|
|
10851
11076
|
G.maps = MapChart.maps;
|
|
10852
11077
|
G.Projection = Projection;
|
|
10853
11078
|
ColorAxis.compose(G.Chart, G.Fx, G.Legend, G.Series);
|
|
10854
|
-
MapBubbleSeries.compose(G.Chart, G.Legend, G.Series);
|
|
11079
|
+
MapBubbleSeries.compose(G.Axis, G.Chart, G.Legend, G.Series);
|
|
10855
11080
|
|
|
10856
11081
|
});
|
|
10857
11082
|
}));
|