highcharts 9.2.0 → 9.3.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/README.md +13 -6
- package/bower.json +1 -1
- package/css/annotations/popup.css +48 -8
- package/css/annotations/popup.scss +70 -22
- package/css/highcharts.css +45 -0
- package/css/highcharts.scss +40 -0
- package/css/themes/dark-unica.css +45 -0
- package/css/themes/grid-light.css +45 -0
- package/css/themes/sand-signika.css +45 -0
- package/es-modules/Accessibility/A11yI18n.js +273 -224
- package/es-modules/Accessibility/Accessibility.js +237 -128
- package/es-modules/Accessibility/AccessibilityComponent.js +79 -314
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +10 -0
- package/es-modules/Accessibility/Components/ContainerComponent.js +52 -27
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +173 -104
- package/es-modules/Accessibility/Components/LegendComponent.js +97 -65
- package/es-modules/Accessibility/Components/MenuComponent.js +243 -149
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +170 -88
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +152 -115
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +133 -68
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +64 -27
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +38 -21
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +380 -325
- package/es-modules/Accessibility/Components/ZoomComponent.js +28 -20
- package/es-modules/Accessibility/FocusBorder.js +192 -147
- package/es-modules/Accessibility/HighContrastMode.js +78 -66
- package/es-modules/Accessibility/HighContrastTheme.js +10 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +146 -71
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -1
- package/es-modules/Accessibility/Options/LangOptions.js +1 -2
- package/es-modules/Accessibility/Options/Options.js +32 -17
- package/es-modules/Accessibility/ProxyElement.js +212 -0
- package/es-modules/Accessibility/ProxyProvider.js +305 -0
- package/es-modules/Accessibility/Utils/Announcer.js +15 -8
- package/es-modules/Accessibility/Utils/ChartUtilities.js +41 -16
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
- package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -30
- package/es-modules/Core/Axis/Axis.js +37 -30
- package/es-modules/Core/Axis/AxisDefaults.js +35 -24
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +54 -4
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
- package/es-modules/Core/Axis/OrdinalAxis.js +5 -13
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +10 -3
- package/es-modules/Core/Axis/TreeGridAxis.js +2 -2
- package/es-modules/Core/Axis/TreeGridTick.js +1 -2
- package/es-modules/Core/Chart/Chart.js +2 -3
- package/es-modules/Core/Chart/ChartDefaults.js +3 -4
- package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/es-modules/Core/Chart/MapChart.js +10 -22
- package/es-modules/Core/Chart/StockChart.js +3 -293
- package/es-modules/Core/Color/Palettes.js +22 -0
- package/es-modules/Core/DefaultOptions.js +19 -17
- package/es-modules/Core/Foundation.js +39 -31
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +3 -3
- package/es-modules/Core/Legend/Legend.js +7 -3
- package/es-modules/Core/Navigator.js +7 -8
- package/es-modules/Core/Pointer.js +39 -36
- package/es-modules/Core/Renderer/HTML/AST.js +3 -6
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -18
- package/es-modules/Core/Renderer/SVG/SVGElement.js +3 -4
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -18
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +17 -13
- package/es-modules/Core/ScrollbarDefaults.js +10 -9
- package/es-modules/Core/Series/DataLabel.js +2 -3
- package/es-modules/Core/Series/Point.js +5 -3
- package/es-modules/Core/Series/Series.js +156 -162
- package/es-modules/Core/Series/SeriesDefaults.js +3 -4
- package/es-modules/Core/Series/SeriesRegistry.js +1 -2
- package/es-modules/Core/Tooltip.js +44 -17
- package/es-modules/Core/Utilities.js +15 -7
- package/es-modules/Data/DataConverter.js +489 -0
- package/es-modules/Data/DataPromise.js +252 -0
- package/es-modules/Data/DataSeriesConverter.js +203 -0
- package/es-modules/Data/DataTable.js +1204 -0
- package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/es-modules/Data/Parsers/CSVParser.js +399 -0
- package/es-modules/Data/Parsers/DataParser.js +101 -0
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +220 -0
- package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/es-modules/Data/Stores/CSVStore.js +317 -0
- package/es-modules/Data/Stores/DataStore.js +276 -0
- package/es-modules/Data/Stores/GoogleSheetsStore.js +167 -0
- package/es-modules/Data/Stores/HTMLTableStore.js +351 -0
- package/es-modules/Extensions/Annotations/Annotations.js +61 -11
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +7 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +90 -28
- package/es-modules/Extensions/Annotations/Popup.js +479 -141
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +14 -8
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +5 -5
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +207 -0
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -5
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
- package/es-modules/Extensions/Boost/BoostOverrides.js +3 -1
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/BoostCanvas.js +1 -2
- package/es-modules/Extensions/CurrentDateIndication.js +2 -3
- package/es-modules/Extensions/Data.js +73 -67
- package/es-modules/Extensions/DataGrouping.js +33 -18
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DownloadURL.js +2 -2
- package/es-modules/Extensions/DragPanes.js +1 -2
- package/es-modules/Extensions/Drilldown.js +2 -3
- package/es-modules/Extensions/Exporting/Exporting.js +12 -11
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
- package/es-modules/Extensions/GeoJSON.js +39 -63
- package/es-modules/Extensions/MarkerClusters.js +115 -97
- package/es-modules/Extensions/NoDataToDisplay.js +1 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +10 -9
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -3
- package/es-modules/Extensions/Pane.js +5 -6
- package/es-modules/Extensions/Polar.js +1 -1
- package/es-modules/Extensions/RangeSelector.js +3 -4
- package/es-modules/Extensions/Sonification/ChartSonify.js +247 -637
- package/es-modules/Extensions/Sonification/Earcon.js +136 -102
- package/es-modules/Extensions/Sonification/Instrument.js +496 -426
- package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
- package/es-modules/Extensions/Sonification/Options.js +10 -0
- package/es-modules/Extensions/Sonification/PointSonify.js +203 -152
- package/es-modules/Extensions/Sonification/SeriesSonify.js +459 -0
- package/es-modules/Extensions/Sonification/SignalHandler.js +124 -0
- package/es-modules/Extensions/Sonification/Sonification.js +26 -52
- package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +62 -84
- package/es-modules/Extensions/Sonification/Timeline.js +255 -567
- package/es-modules/Extensions/Sonification/TimelineEvent.js +158 -0
- package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/es-modules/Maps/MapNavigation.js +27 -64
- package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
- package/es-modules/Maps/MapPointer.js +7 -5
- package/es-modules/Maps/MapView.js +450 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/es-modules/Maps/Projection.js +436 -0
- package/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/es-modules/Maps/Projections/Miller.js +16 -0
- package/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +4 -5
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -8
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubblePoint.js +5 -0
- package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
- package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -18
- package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
- package/es-modules/Series/ColorMapComposition.js +109 -0
- package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
- package/es-modules/Series/Column/ColumnSeries.js +3 -4
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +6 -6
- package/es-modules/Series/DataModifyComposition.js +539 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
- package/es-modules/Series/DerivedComposition.js +137 -0
- package/es-modules/Series/DrawPointComposition.js +111 -0
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -3
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
- package/es-modules/Series/Flags/FlagsSeries.js +18 -25
- package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
- package/es-modules/Series/Gantt/GanttSeries.js +0 -2
- package/es-modules/Series/Gauge/GaugePoint.js +1 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
- package/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/es-modules/Series/HLC/HLCSeries.js +383 -0
- package/es-modules/Series/Heatmap/HeatmapPoint.js +3 -4
- package/es-modules/Series/Heatmap/HeatmapSeries.js +19 -6
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +2 -3
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -7
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +2 -2
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +33 -34
- package/es-modules/Series/Line/LineSeries.js +1 -2
- package/es-modules/Series/Map/MapPoint.js +23 -16
- package/es-modules/Series/Map/MapSeries.js +271 -309
- package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
- package/es-modules/Series/MapLine/MapLineSeries.js +2 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
- package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
- package/es-modules/Series/Networkgraph/Networkgraph.js +5 -5
- package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +76 -29
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -6
- package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
- package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
- package/es-modules/Series/Organization/OrganizationSeries.js +2 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +46 -6
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
- package/es-modules/Series/Pie/PieDataLabel.js +1 -2
- package/es-modules/Series/Pie/PieSeries.js +6 -7
- package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
- package/es-modules/Series/Sankey/SankeySeries.js +89 -20
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +4 -4
- package/es-modules/Series/Tilemap/TilemapPoint.js +2 -3
- package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
- package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +86 -76
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +8 -8
- package/es-modules/Series/Venn/VennPoint.js +16 -7
- package/es-modules/Series/Venn/VennSeries.js +5 -8
- package/es-modules/Series/Venn/VennUtils.js +550 -439
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -3
- package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +24 -20
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +673 -484
- package/es-modules/Series/XRange/XRangePoint.js +1 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
- package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +27 -11
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +19 -11
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +17 -11
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +11 -9
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -16
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
- package/es-modules/{Mixins/MultipleLines.js → Stock/Indicators/MultipleLinesComposition.js} +136 -87
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +14 -13
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -49
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -8
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +23 -7
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
- package/es-modules/Stock/StockToolsBindings.js +144 -42
- package/es-modules/Stock/StockToolsGui.js +409 -15
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +4 -10
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +2 -2
- package/es-modules/masters/indicators/indicators.src.js +2 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +16 -2
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
- package/es-modules/masters/modules/annotations.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 +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +6 -3
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -2
- 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 +1 -3
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +33 -2
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +4 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +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 +1 -1
- package/es-modules/masters/themes/avocado.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 +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +799 -801
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +793 -755
- package/highcharts-more.js +194 -193
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +208 -120
- package/highcharts.d.ts +9814 -4231
- package/highcharts.js +585 -587
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +9814 -4231
- package/highcharts.src.js +626 -603
- package/highmaps.js +728 -707
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2824 -1613
- package/highstock.js +788 -782
- package/highstock.js.map +1 -1
- package/highstock.src.js +1913 -1284
- package/indicators/acceleration-bands.js +10 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +156 -112
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +4 -4
- package/indicators/apo.js +5 -6
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +16 -84
- package/indicators/aroon-oscillator.js +9 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +160 -177
- package/indicators/aroon.js +9 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +156 -112
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +10 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +180 -117
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +8 -9
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +8 -76
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +5 -6
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +3 -75
- package/indicators/disparity-index.js +6 -7
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +19 -74
- package/indicators/dmi.js +11 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +173 -116
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -13
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +7 -188
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +197 -203
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +677 -743
- package/indicators/indicators.js +12 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +213 -143
- package/indicators/keltner-channels.js +10 -10
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +164 -118
- package/indicators/klinger.js +12 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +161 -184
- package/indicators/macd.js +2 -2
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +2 -3
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +3 -3
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +2 -4
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +5 -6
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +3 -75
- package/indicators/price-channel.js +9 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +207 -168
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +9 -9
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +5 -6
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +2 -72
- package/indicators/stochastic.js +10 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +209 -164
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +6 -7
- package/indicators/tema.js +6 -7
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +28 -75
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +4 -5
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +8 -76
- package/indicators/volume-by-price.js +16 -16
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +24 -7
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +5 -6
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +41 -51
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +5 -0
- package/modules/accessibility.js +237 -216
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +5 -0
- package/modules/accessibility.src.js +7400 -6078
- package/modules/annotations-advanced.d.ts +30 -0
- package/modules/annotations-advanced.js +192 -165
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +30 -0
- package/modules/annotations-advanced.src.js +1604 -332
- package/modules/annotations.js +121 -106
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +981 -238
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +3 -3
- package/modules/boost.js +79 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +10 -9
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +69 -98
- package/modules/current-date-indicator.js +4 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +4 -4
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +32 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +85 -88
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +35 -19
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +3 -3
- package/modules/dependency-wheel.js +11 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +4 -7
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +8 -8
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +3 -3
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +24 -24
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +4 -4
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +4 -4
- package/modules/export-data.js +1 -1
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +3 -3
- package/modules/exporting.js +39 -38
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +102 -72
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +9 -6
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +217 -218
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +167 -152
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +39 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +177 -162
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +4 -4
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +91 -86
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +37 -37
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +136 -14
- package/modules/map.js +144 -122
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +136 -14
- package/modules/map.src.js +2227 -1039
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +173 -142
- package/modules/networkgraph.d.ts +12 -1
- package/modules/networkgraph.js +49 -49
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +12 -1
- package/modules/networkgraph.src.js +91 -43
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +3 -3
- package/modules/offline-exporting.js +18 -17
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +14 -14
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +26 -26
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +4 -4
- package/modules/organization.js +13 -13
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +4 -4
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +89 -78
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- 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 +12 -1
- package/modules/sankey.js +29 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +12 -1
- package/modules/sankey.src.js +300 -176
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +59 -55
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +3034 -2553
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +178 -163
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +1028 -144
- package/modules/stock.d.ts +39 -6
- package/modules/stock.js +204 -196
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +39 -6
- package/modules/stock.src.js +1667 -1061
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +61 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +329 -266
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +3 -4
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +5 -5
- package/modules/treegrid.js +56 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +126 -120
- package/modules/treemap.js +41 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +319 -254
- 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 +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +731 -721
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +90 -62
- package/modules/wordcloud.js +23 -24
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +897 -949
- package/modules/xrange.js +2 -2
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +2 -1
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.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 +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- 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/MapAxis.js +0 -157
- package/es-modules/Core/Color/Palette.js +0 -82
- package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
- package/es-modules/Mixins/ColorMapSeries.js +0 -82
- package/es-modules/Mixins/ColorSeries.js +0 -77
- package/es-modules/Mixins/DerivedSeries.js +0 -118
- package/es-modules/Mixins/DrawPoint.js +0 -81
- package/es-modules/Mixins/IndicatorRequired.js +0 -56
- package/es-modules/Mixins/Navigation.js +0 -54
- package/es-modules/Mixins/NelderMead.js +0 -132
- package/es-modules/Mixins/Polygon.js +0 -259
- package/es-modules/Mixins/ReduceArray.js +0 -54
|
@@ -145,6 +145,11 @@ var error = U.error, extend = U.extend, merge = U.merge, wrap = U.wrap;
|
|
|
145
145
|
* @name Highcharts.MapLatLonObject#lon
|
|
146
146
|
* @type {number}
|
|
147
147
|
*/
|
|
148
|
+
/**
|
|
149
|
+
* An array of longitude, latitude.
|
|
150
|
+
*
|
|
151
|
+
* @typedef {Array<number>} Highcharts.LonLatArray
|
|
152
|
+
*/
|
|
148
153
|
''; // detach doclets above
|
|
149
154
|
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
150
155
|
/**
|
|
@@ -198,9 +203,7 @@ Chart.prototype.transformFromLatLon = function (latLon, transform) {
|
|
|
198
203
|
* @product highmaps
|
|
199
204
|
* @apioption chart.proj4
|
|
200
205
|
*/
|
|
201
|
-
var proj4 =
|
|
202
|
-
this.userOptions.chart.proj4 ||
|
|
203
|
-
win.proj4);
|
|
206
|
+
var proj4 = this.options.chart.proj4 || win.proj4;
|
|
204
207
|
if (!proj4) {
|
|
205
208
|
error(21, false, this);
|
|
206
209
|
return {
|
|
@@ -208,6 +211,7 @@ Chart.prototype.transformFromLatLon = function (latLon, transform) {
|
|
|
208
211
|
y: null
|
|
209
212
|
};
|
|
210
213
|
}
|
|
214
|
+
var _a = transform.jsonmarginX, jsonmarginX = _a === void 0 ? 0 : _a, _b = transform.jsonmarginY, jsonmarginY = _b === void 0 ? 0 : _b, _c = transform.jsonres, jsonres = _c === void 0 ? 1 : _c, _d = transform.scale, scale = _d === void 0 ? 1 : _d, _e = transform.xoffset, xoffset = _e === void 0 ? 0 : _e, _f = transform.xpan, xpan = _f === void 0 ? 0 : _f, _g = transform.yoffset, yoffset = _g === void 0 ? 0 : _g, _h = transform.ypan, ypan = _h === void 0 ? 0 : _h;
|
|
211
215
|
var projected = proj4(transform.crs, [latLon.lon, latLon.lat]), cosAngle = transform.cosAngle ||
|
|
212
216
|
(transform.rotation && Math.cos(transform.rotation)), sinAngle = transform.sinAngle ||
|
|
213
217
|
(transform.rotation && Math.sin(transform.rotation)), rotated = transform.rotation ? [
|
|
@@ -215,12 +219,8 @@ Chart.prototype.transformFromLatLon = function (latLon, transform) {
|
|
|
215
219
|
-projected[0] * sinAngle + projected[1] * cosAngle
|
|
216
220
|
] : projected;
|
|
217
221
|
return {
|
|
218
|
-
x: ((rotated[0] -
|
|
219
|
-
|
|
220
|
-
(transform.jsonmarginX || 0),
|
|
221
|
-
y: (((transform.yoffset || 0) - rotated[1]) * (transform.scale || 1) +
|
|
222
|
-
(transform.ypan || 0)) * (transform.jsonres || 1) -
|
|
223
|
-
(transform.jsonmarginY || 0)
|
|
222
|
+
x: ((rotated[0] - xoffset) * scale + xpan) * jsonres + jsonmarginX,
|
|
223
|
+
y: -(((yoffset - rotated[1]) * scale + ypan) * jsonres - jsonmarginY)
|
|
224
224
|
};
|
|
225
225
|
};
|
|
226
226
|
/**
|
|
@@ -246,18 +246,18 @@ Chart.prototype.transformFromLatLon = function (latLon, transform) {
|
|
|
246
246
|
* An object with `lat` and `lon` properties.
|
|
247
247
|
*/
|
|
248
248
|
Chart.prototype.transformToLatLon = function (point, transform) {
|
|
249
|
-
|
|
249
|
+
var proj4 = this.options.chart.proj4 || win.proj4;
|
|
250
|
+
if (!proj4) {
|
|
250
251
|
error(21, false, this);
|
|
251
252
|
return;
|
|
252
253
|
}
|
|
254
|
+
if (point.y === null) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
var _a = transform.jsonmarginX, jsonmarginX = _a === void 0 ? 0 : _a, _b = transform.jsonmarginY, jsonmarginY = _b === void 0 ? 0 : _b, _c = transform.jsonres, jsonres = _c === void 0 ? 1 : _c, _d = transform.scale, scale = _d === void 0 ? 1 : _d, _e = transform.xoffset, xoffset = _e === void 0 ? 0 : _e, _f = transform.xpan, xpan = _f === void 0 ? 0 : _f, _g = transform.yoffset, yoffset = _g === void 0 ? 0 : _g, _h = transform.ypan, ypan = _h === void 0 ? 0 : _h;
|
|
253
258
|
var normalized = {
|
|
254
|
-
x: ((point.x -
|
|
255
|
-
|
|
256
|
-
(transform.xpan || 0)) / (transform.scale || 1) +
|
|
257
|
-
(transform.xoffset || 0),
|
|
258
|
-
y: ((-point.y - (transform.jsonmarginY || 0)) / (transform.jsonres || 1) +
|
|
259
|
-
(transform.ypan || 0)) / (transform.scale || 1) +
|
|
260
|
-
(transform.yoffset || 0)
|
|
259
|
+
x: ((point.x - jsonmarginX) / jsonres - xpan) / scale + xoffset,
|
|
260
|
+
y: ((point.y - jsonmarginY) / jsonres + ypan) / scale + yoffset
|
|
261
261
|
}, cosAngle = transform.cosAngle ||
|
|
262
262
|
(transform.rotation && Math.cos(transform.rotation)), sinAngle = transform.sinAngle ||
|
|
263
263
|
(transform.rotation && Math.sin(transform.rotation)),
|
|
@@ -287,15 +287,15 @@ Chart.prototype.transformToLatLon = function (point, transform) {
|
|
|
287
287
|
* An object with `lat` and `lon` properties.
|
|
288
288
|
*/
|
|
289
289
|
Chart.prototype.fromPointToLatLon = function (point) {
|
|
290
|
-
var transforms = this.mapTransforms
|
|
290
|
+
var transforms = this.mapTransforms;
|
|
291
291
|
if (!transforms) {
|
|
292
292
|
error(22, false, this);
|
|
293
293
|
return;
|
|
294
294
|
}
|
|
295
|
-
for (transform in transforms) {
|
|
295
|
+
for (var transform in transforms) {
|
|
296
296
|
if (Object.hasOwnProperty.call(transforms, transform) &&
|
|
297
297
|
transforms[transform].hitZone &&
|
|
298
|
-
pointInPolygon(
|
|
298
|
+
pointInPolygon(point, transforms[transform].hitZone.coordinates[0])) {
|
|
299
299
|
return this.transformToLatLon(point, transforms[transform]);
|
|
300
300
|
}
|
|
301
301
|
}
|
|
@@ -332,7 +332,7 @@ Chart.prototype.fromLatLonToPoint = function (latLon) {
|
|
|
332
332
|
if (Object.hasOwnProperty.call(transforms, transform) &&
|
|
333
333
|
transforms[transform].hitZone) {
|
|
334
334
|
coords = this.transformFromLatLon(latLon, transforms[transform]);
|
|
335
|
-
if (pointInPolygon(
|
|
335
|
+
if (pointInPolygon(coords, transforms[transform].hitZone.coordinates[0])) {
|
|
336
336
|
return coords;
|
|
337
337
|
}
|
|
338
338
|
}
|
|
@@ -371,56 +371,32 @@ Chart.prototype.fromLatLonToPoint = function (latLon) {
|
|
|
371
371
|
* An object ready for the `mapData` option.
|
|
372
372
|
*/
|
|
373
373
|
H.geojson = function (geojson, hType, series) {
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
path.push(['M', point[0], -point[1]]);
|
|
378
|
-
}
|
|
379
|
-
else {
|
|
380
|
-
path.push(['L', point[0], -point[1]]);
|
|
381
|
-
}
|
|
382
|
-
});
|
|
383
|
-
};
|
|
384
|
-
hType = hType || 'map';
|
|
374
|
+
if (hType === void 0) { hType = 'map'; }
|
|
375
|
+
var mapData = [];
|
|
376
|
+
var path = [];
|
|
385
377
|
geojson.features.forEach(function (feature) {
|
|
386
|
-
var geometry = feature.geometry, type = geometry.type, coordinates = geometry.coordinates, properties = feature.properties,
|
|
378
|
+
var geometry = feature.geometry || {}, type = geometry.type, coordinates = geometry.coordinates, properties = feature.properties, pointOptions;
|
|
387
379
|
path = [];
|
|
388
|
-
if (hType === 'map' || hType === 'mapbubble')
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
}
|
|
393
|
-
else if (type === 'MultiPolygon') {
|
|
394
|
-
coordinates.forEach(function (items) {
|
|
395
|
-
items.forEach(polygonToPath);
|
|
396
|
-
});
|
|
397
|
-
path.push(['Z']);
|
|
398
|
-
}
|
|
399
|
-
if (path.length) {
|
|
400
|
-
point = { path: path };
|
|
380
|
+
if ((hType === 'map' || hType === 'mapbubble') &&
|
|
381
|
+
(type === 'Polygon' || type === 'MultiPolygon')) {
|
|
382
|
+
if (coordinates.length) {
|
|
383
|
+
pointOptions = { geometry: { coordinates: coordinates, type: type } };
|
|
401
384
|
}
|
|
402
385
|
}
|
|
403
|
-
else if (hType === 'mapline'
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
coordinates.forEach(polygonToPath);
|
|
409
|
-
}
|
|
410
|
-
if (path.length) {
|
|
411
|
-
point = { path: path };
|
|
386
|
+
else if (hType === 'mapline' &&
|
|
387
|
+
(type === 'LineString' ||
|
|
388
|
+
type === 'MultiLineString')) {
|
|
389
|
+
if (coordinates.length) {
|
|
390
|
+
pointOptions = { geometry: { coordinates: coordinates, type: type } };
|
|
412
391
|
}
|
|
413
392
|
}
|
|
414
|
-
else if (hType === 'mappoint') {
|
|
415
|
-
if (
|
|
416
|
-
|
|
417
|
-
x: coordinates[0],
|
|
418
|
-
y: -coordinates[1]
|
|
419
|
-
};
|
|
393
|
+
else if (hType === 'mappoint' && type === 'Point') {
|
|
394
|
+
if (coordinates.length) {
|
|
395
|
+
pointOptions = { geometry: { coordinates: coordinates, type: type } };
|
|
420
396
|
}
|
|
421
397
|
}
|
|
422
|
-
if (
|
|
423
|
-
mapData.push(extend(
|
|
398
|
+
if (pointOptions) {
|
|
399
|
+
mapData.push(extend(pointOptions, {
|
|
424
400
|
name: properties.name || properties.NAME,
|
|
425
401
|
/**
|
|
426
402
|
* In Highmaps, when data is loaded from GeoJSON, the GeoJSON
|
|
@@ -17,7 +17,6 @@ var animObject = A.animObject;
|
|
|
17
17
|
import Chart from '../Core/Chart/Chart.js';
|
|
18
18
|
import D from '../Core/DefaultOptions.js';
|
|
19
19
|
var defaultOptions = D.defaultOptions;
|
|
20
|
-
import palette from '../Core/Color/Palette.js';
|
|
21
20
|
import Point from '../Core/Series/Point.js';
|
|
22
21
|
import Series from '../Core/Series/Series.js';
|
|
23
22
|
import SeriesRegistry from '../Core/Series/SeriesRegistry.js';
|
|
@@ -40,10 +39,10 @@ var addEvent = U.addEvent, defined = U.defined, error = U.error, isArray = U.isA
|
|
|
40
39
|
''; // detach doclets from following code
|
|
41
40
|
/* eslint-disable no-invalid-this */
|
|
42
41
|
import Axis from '../Core/Axis/Axis.js';
|
|
43
|
-
var Scatter = seriesTypes.scatter, baseGeneratePoints = Series.prototype.generatePoints
|
|
42
|
+
var Scatter = seriesTypes.scatter, baseGeneratePoints = Series.prototype.generatePoints;
|
|
44
43
|
// Points that ids are included in the oldPointsStateId array
|
|
45
44
|
// are hidden before animation. Other ones are destroyed.
|
|
46
|
-
oldPointsStateId = [];
|
|
45
|
+
var oldPointsStateId = [], stateIdCounter = 0;
|
|
47
46
|
/**
|
|
48
47
|
* Options for marker clusters, the concept of sampling the data
|
|
49
48
|
* values into larger blocks in order to ease readability and
|
|
@@ -240,7 +239,7 @@ var clusterDefaultOptions = {
|
|
|
240
239
|
/** @internal */
|
|
241
240
|
lineWidth: 0,
|
|
242
241
|
/** @internal */
|
|
243
|
-
lineColor:
|
|
242
|
+
lineColor: "#ffffff" /* backgroundColor */
|
|
244
243
|
},
|
|
245
244
|
/**
|
|
246
245
|
* Fires when the cluster point is clicked and `drillToCluster` is enabled.
|
|
@@ -354,6 +353,26 @@ var clusterDefaultOptions = {
|
|
|
354
353
|
}
|
|
355
354
|
});
|
|
356
355
|
// Utils.
|
|
356
|
+
var pixelsToValues = function (series, pos) {
|
|
357
|
+
var chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis;
|
|
358
|
+
if (chart.mapView) {
|
|
359
|
+
return chart.mapView.pixelsToProjectedUnits(pos);
|
|
360
|
+
}
|
|
361
|
+
return {
|
|
362
|
+
x: xAxis ? xAxis.toValue(pos.x) : 0,
|
|
363
|
+
y: yAxis ? yAxis.toValue(pos.y) : 0
|
|
364
|
+
};
|
|
365
|
+
};
|
|
366
|
+
var valuesToPixels = function (series, pos) {
|
|
367
|
+
var chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis;
|
|
368
|
+
if (chart.mapView) {
|
|
369
|
+
return chart.mapView.projectedUnitsToPixels(pos);
|
|
370
|
+
}
|
|
371
|
+
return {
|
|
372
|
+
x: xAxis ? xAxis.toPixels(pos.x) : 0,
|
|
373
|
+
y: yAxis ? yAxis.toPixels(pos.y) : 0
|
|
374
|
+
};
|
|
375
|
+
};
|
|
357
376
|
/* eslint-disable require-jsdoc */
|
|
358
377
|
function getClusterPosition(points) {
|
|
359
378
|
var pointsLen = points.length, sumX = 0, sumY = 0, i;
|
|
@@ -455,11 +474,13 @@ symbols.cluster = function (x, y, width, height) {
|
|
|
455
474
|
return outer2.concat(outer1, inner);
|
|
456
475
|
};
|
|
457
476
|
Scatter.prototype.animateClusterPoint = function (clusterObj) {
|
|
458
|
-
var series = this,
|
|
477
|
+
var series = this, chart = series.chart, mapView = chart.mapView, clusterOptions = series.options.cluster, animation = animObject((clusterOptions || {}).animation), animDuration = animation.duration || 500, pointsState = (series.markerClusterInfo || {}).pointsState, newState = (pointsState || {}).newState, oldState = (pointsState || {}).oldState, oldPoints = [];
|
|
478
|
+
var parentId, oldPointObj, newPointObj, newPointBBox, offset = 0, newX = 0, newY = 0, isOldPointGrahic = false, isCbHandled = false;
|
|
459
479
|
if (oldState && newState) {
|
|
460
480
|
newPointObj = newState[clusterObj.stateId];
|
|
461
|
-
|
|
462
|
-
|
|
481
|
+
var newPos = valuesToPixels(series, newPointObj);
|
|
482
|
+
newX = newPos.x - (mapView ? 0 : chart.plotLeft);
|
|
483
|
+
newY = newPos.y - (mapView ? 0 : chart.plotTop);
|
|
463
484
|
// Point has one ancestor.
|
|
464
485
|
if (newPointObj.parentsId.length === 1) {
|
|
465
486
|
parentId = (newState || {})[clusterObj.stateId].parentsId[0];
|
|
@@ -567,14 +588,14 @@ Scatter.prototype.animateClusterPoint = function (clusterObj) {
|
|
|
567
588
|
};
|
|
568
589
|
Scatter.prototype.getGridOffset = function () {
|
|
569
590
|
var series = this, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, plotLeft = 0, plotTop = 0;
|
|
570
|
-
if (series.dataMinX && series.dataMaxX) {
|
|
591
|
+
if (xAxis && series.dataMinX && series.dataMaxX) {
|
|
571
592
|
plotLeft = xAxis.reversed ?
|
|
572
593
|
xAxis.toPixels(series.dataMaxX) : xAxis.toPixels(series.dataMinX);
|
|
573
594
|
}
|
|
574
595
|
else {
|
|
575
596
|
plotLeft = chart.plotLeft;
|
|
576
597
|
}
|
|
577
|
-
if (series.dataMinY && series.dataMaxY) {
|
|
598
|
+
if (yAxis && series.dataMinY && series.dataMaxY) {
|
|
578
599
|
plotTop = yAxis.reversed ?
|
|
579
600
|
yAxis.toPixels(series.dataMinY) : yAxis.toPixels(series.dataMaxY);
|
|
580
601
|
}
|
|
@@ -584,16 +605,24 @@ Scatter.prototype.getGridOffset = function () {
|
|
|
584
605
|
return { plotLeft: plotLeft, plotTop: plotTop };
|
|
585
606
|
};
|
|
586
607
|
Scatter.prototype.getScaledGridSize = function (options) {
|
|
587
|
-
var series = this, xAxis = series.xAxis,
|
|
588
|
-
clusterDefaultOptions.layoutAlgorithm.gridSize
|
|
608
|
+
var series = this, xAxis = series.xAxis, mapView = this.chart.mapView, processedGridSize = options.processedGridSize ||
|
|
609
|
+
clusterDefaultOptions.layoutAlgorithm.gridSize;
|
|
610
|
+
var search = true, k = 1, divider = 1;
|
|
589
611
|
if (!series.gridValueSize) {
|
|
590
|
-
|
|
612
|
+
if (mapView) {
|
|
613
|
+
series.gridValueSize = processedGridSize / mapView.getScale();
|
|
614
|
+
}
|
|
615
|
+
else {
|
|
616
|
+
series.gridValueSize = Math.abs(xAxis.toValue(processedGridSize) - xAxis.toValue(0));
|
|
617
|
+
}
|
|
591
618
|
}
|
|
592
|
-
gridSize =
|
|
593
|
-
|
|
619
|
+
var gridSize = mapView ?
|
|
620
|
+
series.gridValueSize * mapView.getScale() :
|
|
621
|
+
xAxis.toPixels(series.gridValueSize) - xAxis.toPixels(0);
|
|
622
|
+
var scale = +(processedGridSize / gridSize).toFixed(14);
|
|
594
623
|
// Find the level and its divider.
|
|
595
624
|
while (search && scale !== 1) {
|
|
596
|
-
level = Math.pow(2, k);
|
|
625
|
+
var level = Math.pow(2, k);
|
|
597
626
|
if (scale > 0.75 && scale < 1.25) {
|
|
598
627
|
search = false;
|
|
599
628
|
}
|
|
@@ -610,77 +639,62 @@ Scatter.prototype.getScaledGridSize = function (options) {
|
|
|
610
639
|
return (processedGridSize / divider) / scale;
|
|
611
640
|
};
|
|
612
641
|
Scatter.prototype.getRealExtremes = function () {
|
|
613
|
-
var
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
}
|
|
620
|
-
if (realMinY > realMaxY) {
|
|
621
|
-
_b = [realMinY, realMaxY], realMaxY = _b[0], realMinY = _b[1];
|
|
622
|
-
}
|
|
642
|
+
var chart = this.chart, x = chart.mapView ? 0 : chart.plotLeft, y = chart.mapView ? 0 : chart.plotTop, p1 = pixelsToValues(this, {
|
|
643
|
+
x: x,
|
|
644
|
+
y: y
|
|
645
|
+
}), p2 = pixelsToValues(this, {
|
|
646
|
+
x: x + chart.plotWidth,
|
|
647
|
+
y: x + chart.plotHeight
|
|
648
|
+
}), realMinX = p1.x, realMaxX = p2.x, realMinY = p1.y, realMaxY = p2.y;
|
|
623
649
|
return {
|
|
624
|
-
minX: realMinX,
|
|
625
|
-
maxX: realMaxX,
|
|
626
|
-
minY: realMinY,
|
|
627
|
-
maxY: realMaxY
|
|
650
|
+
minX: Math.min(realMinX, realMaxX),
|
|
651
|
+
maxX: Math.max(realMinX, realMaxX),
|
|
652
|
+
minY: Math.min(realMinY, realMaxY),
|
|
653
|
+
maxY: Math.max(realMinY, realMaxY)
|
|
628
654
|
};
|
|
629
655
|
};
|
|
630
656
|
Scatter.prototype.onDrillToCluster = function (event) {
|
|
631
657
|
var point = event.point || event.target;
|
|
632
658
|
point.firePointEvent('drillToCluster', event, function (e) {
|
|
633
|
-
var
|
|
634
|
-
var point = e.point || e.target, series = point.series, xAxis = point.series.xAxis, yAxis = point.series.yAxis, chart = point.series.chart, clusterOptions = series.options.cluster, drillToCluster = (clusterOptions || {}).drillToCluster, offsetX, offsetY, sortedDataX, sortedDataY, minX, minY, maxX, maxY;
|
|
659
|
+
var point = e.point || e.target, series = point.series, xAxis = point.series.xAxis, yAxis = point.series.yAxis, chart = point.series.chart, mapView = chart.mapView, clusterOptions = series.options.cluster, drillToCluster = (clusterOptions || {}).drillToCluster;
|
|
635
660
|
if (drillToCluster && point.clusteredData) {
|
|
636
|
-
sortedDataX = point.clusteredData
|
|
637
|
-
return data.x;
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
return
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
maxX = sortedDataX[sortedDataX.length - 1];
|
|
644
|
-
minY = sortedDataY[0];
|
|
645
|
-
maxY = sortedDataY[sortedDataY.length - 1];
|
|
646
|
-
offsetX = Math.abs((maxX - minX) * 0.1);
|
|
647
|
-
offsetY = Math.abs((maxY - minY) * 0.1);
|
|
648
|
-
chart.pointer.zoomX = true;
|
|
649
|
-
chart.pointer.zoomY = true;
|
|
650
|
-
// Swap when minus values.
|
|
651
|
-
if (minX > maxX) {
|
|
652
|
-
_a = [maxX, minX], minX = _a[0], maxX = _a[1];
|
|
661
|
+
var sortedDataX = point.clusteredData
|
|
662
|
+
.map(function (data) { return data.x; })
|
|
663
|
+
.sort(function (a, b) { return a - b; }), sortedDataY = point.clusteredData
|
|
664
|
+
.map(function (data) { return data.y; })
|
|
665
|
+
.sort(function (a, b) { return a - b; }), minX = sortedDataX[0], maxX = sortedDataX[sortedDataX.length - 1], minY = sortedDataY[0], maxY = sortedDataY[sortedDataY.length - 1], offsetX = Math.abs((maxX - minX) * 0.1), offsetY = Math.abs((maxY - minY) * 0.1), x1 = Math.min(minX, maxX) - offsetX, x2 = Math.max(minX, maxX) + offsetX, y1 = Math.min(minY, maxY) - offsetY, y2 = Math.max(minY, maxY) + offsetY;
|
|
666
|
+
if (mapView) {
|
|
667
|
+
mapView.fitToBounds({ x1: x1, x2: x2, y1: y1, y2: y2 });
|
|
653
668
|
}
|
|
654
|
-
if (
|
|
655
|
-
|
|
669
|
+
else if (xAxis && yAxis) {
|
|
670
|
+
chart.pointer.zoomX = true;
|
|
671
|
+
chart.pointer.zoomY = true;
|
|
672
|
+
chart.zoom({
|
|
673
|
+
originalEvent: e,
|
|
674
|
+
xAxis: [{
|
|
675
|
+
axis: xAxis,
|
|
676
|
+
min: x1,
|
|
677
|
+
max: x2
|
|
678
|
+
}],
|
|
679
|
+
yAxis: [{
|
|
680
|
+
axis: yAxis,
|
|
681
|
+
min: y1,
|
|
682
|
+
max: y2
|
|
683
|
+
}]
|
|
684
|
+
});
|
|
656
685
|
}
|
|
657
|
-
chart.zoom({
|
|
658
|
-
originalEvent: e,
|
|
659
|
-
xAxis: [{
|
|
660
|
-
axis: xAxis,
|
|
661
|
-
min: minX - offsetX,
|
|
662
|
-
max: maxX + offsetX
|
|
663
|
-
}],
|
|
664
|
-
yAxis: [{
|
|
665
|
-
axis: yAxis,
|
|
666
|
-
min: minY - offsetY,
|
|
667
|
-
max: maxY + offsetY
|
|
668
|
-
}]
|
|
669
|
-
});
|
|
670
686
|
}
|
|
671
687
|
});
|
|
672
688
|
};
|
|
673
689
|
Scatter.prototype.getClusterDistancesFromPoint = function (clusters, pointX, pointY) {
|
|
674
|
-
var
|
|
675
|
-
for (
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
distance: distance
|
|
683
|
-
});
|
|
690
|
+
var pointClusterDistance = [];
|
|
691
|
+
for (var clusterIndex = 0; clusterIndex < clusters.length; clusterIndex++) {
|
|
692
|
+
var p1 = valuesToPixels(this, { x: pointX, y: pointY }), p2 = valuesToPixels(this, {
|
|
693
|
+
x: clusters[clusterIndex].posX,
|
|
694
|
+
y: clusters[clusterIndex].posY
|
|
695
|
+
}), distance = Math.sqrt(Math.pow(p1.x - p2.x, 2) +
|
|
696
|
+
Math.pow(p1.y - p2.y, 2));
|
|
697
|
+
pointClusterDistance.push({ clusterIndex: clusterIndex, distance: distance });
|
|
684
698
|
}
|
|
685
699
|
return pointClusterDistance.sort(function (a, b) { return a.distance - b.distance; });
|
|
686
700
|
};
|
|
@@ -730,12 +744,14 @@ Scatter.prototype.getPointsState = function (clusteredData, oldMarkerClusterInfo
|
|
|
730
744
|
};
|
|
731
745
|
Scatter.prototype.markerClusterAlgorithms = {
|
|
732
746
|
grid: function (dataX, dataY, dataIndexes, options) {
|
|
733
|
-
var
|
|
747
|
+
var grid = {}, gridOffset = this.getGridOffset();
|
|
748
|
+
var x, y, gridX, gridY, key, i;
|
|
734
749
|
// drawGridLines(series, options);
|
|
735
|
-
scaledGridSize =
|
|
750
|
+
var scaledGridSize = this.getScaledGridSize(options);
|
|
736
751
|
for (i = 0; i < dataX.length; i++) {
|
|
737
|
-
|
|
738
|
-
|
|
752
|
+
var p = valuesToPixels(this, { x: dataX[i], y: dataY[i] });
|
|
753
|
+
x = p.x - gridOffset.plotLeft;
|
|
754
|
+
y = p.y - gridOffset.plotTop;
|
|
739
755
|
gridX = Math.floor(x / scaledGridSize);
|
|
740
756
|
gridY = Math.floor(y / scaledGridSize);
|
|
741
757
|
key = gridY + '-' + gridX;
|
|
@@ -875,10 +891,9 @@ Scatter.prototype.markerClusterAlgorithms = {
|
|
|
875
891
|
cluster.pointsOutside = [];
|
|
876
892
|
cluster.pointsInside = [];
|
|
877
893
|
cluster.data.forEach(function (dataPoint) {
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
Math.pow(
|
|
881
|
-
yAxis.toPixels(cluster.y), 2));
|
|
894
|
+
var dataPointPx = valuesToPixels(series, dataPoint), clusterPx = valuesToPixels(series, cluster);
|
|
895
|
+
distance = Math.sqrt(Math.pow(dataPointPx.x - clusterPx.x, 2) +
|
|
896
|
+
Math.pow(dataPointPx.y - clusterPx.y, 2));
|
|
882
897
|
if (cluster.clusterZone &&
|
|
883
898
|
cluster.clusterZone.marker &&
|
|
884
899
|
cluster.clusterZone.marker.radius) {
|
|
@@ -916,7 +931,7 @@ Scatter.prototype.markerClusterAlgorithms = {
|
|
|
916
931
|
}
|
|
917
932
|
};
|
|
918
933
|
Scatter.prototype.preventClusterCollisions = function (props) {
|
|
919
|
-
var series = this,
|
|
934
|
+
var series = this, _a = props.key.split('-').map(parseFloat), gridY = _a[0], gridX = _a[1], gridSize = props.gridSize, groupedData = props.groupedData, defaultRadius = props.defaultRadius, clusterRadius = props.clusterRadius, gridXPx = gridX * gridSize, gridYPx = gridY * gridSize, propsPx = valuesToPixels(series, props), xPixel = propsPx.x, yPixel = propsPx.y, gridsToCheckCollision = [], pointsLen = 0, radius = 0, clusterMarkerOptions = (series.options.cluster || {}).marker, zoneOptions = (series.options.cluster || {}).zones, gridOffset = series.getGridOffset(), nextXPixel, nextYPixel, signX, signY, cornerGridX, cornerGridY, i, j, itemX, itemY, nextClusterPos, maxDist, keys;
|
|
920
935
|
// Distance to the grid start.
|
|
921
936
|
xPixel -= gridOffset.plotLeft;
|
|
922
937
|
yPixel -= gridOffset.plotTop;
|
|
@@ -946,10 +961,12 @@ Scatter.prototype.preventClusterCollisions = function (props) {
|
|
|
946
961
|
groupedData[item].posX = nextClusterPos.x;
|
|
947
962
|
groupedData[item].posY = nextClusterPos.y;
|
|
948
963
|
}
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
964
|
+
var pos_1 = valuesToPixels(series, {
|
|
965
|
+
x: groupedData[item].posX || 0,
|
|
966
|
+
y: groupedData[item].posY || 0
|
|
967
|
+
});
|
|
968
|
+
nextXPixel = pos_1.x - gridOffset.plotLeft;
|
|
969
|
+
nextYPixel = pos_1.y - gridOffset.plotTop;
|
|
953
970
|
_a = item.split('-').map(parseFloat), itemY = _a[0], itemX = _a[1];
|
|
954
971
|
if (zoneOptions) {
|
|
955
972
|
pointsLen = groupedData[item].length;
|
|
@@ -992,11 +1009,13 @@ Scatter.prototype.preventClusterCollisions = function (props) {
|
|
|
992
1009
|
}
|
|
993
1010
|
}
|
|
994
1011
|
});
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1012
|
+
var pos = pixelsToValues(series, {
|
|
1013
|
+
x: xPixel + gridOffset.plotLeft,
|
|
1014
|
+
y: yPixel + gridOffset.plotTop
|
|
1015
|
+
});
|
|
1016
|
+
groupedData[props.key].posX = pos.x;
|
|
1017
|
+
groupedData[props.key].posY = pos.y;
|
|
1018
|
+
return pos;
|
|
1000
1019
|
};
|
|
1001
1020
|
// Check if user algorithm result is valid groupedDataObject.
|
|
1002
1021
|
Scatter.prototype.isValidGroupedDataObject = function (groupedData) {
|
|
@@ -1188,7 +1207,7 @@ Scatter.prototype.hideClusteredData = function () {
|
|
|
1188
1207
|
};
|
|
1189
1208
|
// Override the generatePoints method by adding a reference to grouped data.
|
|
1190
1209
|
Scatter.prototype.generatePoints = function () {
|
|
1191
|
-
var series = this, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, clusterOptions = series.options.cluster, realExtremes = series.getRealExtremes(), visibleXData = [], visibleYData = [], visibleDataIndexes = [], oldPointsState, oldDataLen, oldMarkerClusterInfo, kmeansThreshold, cropDataOffsetX, cropDataOffsetY, seriesMinX, seriesMaxX, seriesMinY, seriesMaxY, type, algorithm, clusteredData, groupedData, layoutAlgOptions, point, i;
|
|
1210
|
+
var series = this, chart = series.chart, mapView = chart.mapView, xAxis = series.xAxis, yAxis = series.yAxis, clusterOptions = series.options.cluster, realExtremes = series.getRealExtremes(), visibleXData = [], visibleYData = [], visibleDataIndexes = [], oldPointsState, oldDataLen, oldMarkerClusterInfo, kmeansThreshold, cropDataOffsetX, cropDataOffsetY, seriesMinX, seriesMaxX, seriesMinY, seriesMaxY, type, algorithm, clusteredData, groupedData, layoutAlgOptions, point, i;
|
|
1192
1211
|
if (clusterOptions &&
|
|
1193
1212
|
clusterOptions.enabled &&
|
|
1194
1213
|
series.xData &&
|
|
@@ -1206,10 +1225,9 @@ Scatter.prototype.generatePoints = function () {
|
|
|
1206
1225
|
kmeansThreshold = layoutAlgOptions.kmeansThreshold ||
|
|
1207
1226
|
clusterDefaultOptions.layoutAlgorithm.kmeansThreshold;
|
|
1208
1227
|
// Offset to prevent cluster size changes.
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
cropDataOffsetY = Math.abs(
|
|
1212
|
-
yAxis.toValue(0));
|
|
1228
|
+
var halfGrid = layoutAlgOptions.processedGridSize / 2, p1 = pixelsToValues(series, { x: 0, y: 0 }), p2 = pixelsToValues(series, { x: halfGrid, y: halfGrid });
|
|
1229
|
+
cropDataOffsetX = Math.abs(p1.x - p2.x);
|
|
1230
|
+
cropDataOffsetY = Math.abs(p1.y - p2.y);
|
|
1213
1231
|
// Get only visible data.
|
|
1214
1232
|
for (i = 0; i < series.xData.length; i++) {
|
|
1215
1233
|
if (!series.dataMaxX) {
|
|
@@ -1341,7 +1359,7 @@ addEvent(Chart, 'render', function () {
|
|
|
1341
1359
|
if ((options || {}).animation &&
|
|
1342
1360
|
series.markerClusterInfo &&
|
|
1343
1361
|
series.chart.pointer.pinchDown.length === 0 &&
|
|
1344
|
-
(series.xAxis.eventArgs || {}).trigger !== 'pan' &&
|
|
1362
|
+
((series.xAxis || {}).eventArgs || {}).trigger !== 'pan' &&
|
|
1345
1363
|
oldState &&
|
|
1346
1364
|
Object.keys(oldState).length) {
|
|
1347
1365
|
series.markerClusterInfo.clusters.forEach(function (cluster) {
|
|
@@ -15,7 +15,6 @@ import AST from '../Core/Renderer/HTML/AST.js';
|
|
|
15
15
|
import Chart from '../Core/Chart/Chart.js';
|
|
16
16
|
import D from '../Core/DefaultOptions.js';
|
|
17
17
|
var getOptions = D.getOptions;
|
|
18
|
-
import palette from '../Core/Color/Palette.js';
|
|
19
18
|
import U from '../Core/Utilities.js';
|
|
20
19
|
var addEvent = U.addEvent, extend = U.extend;
|
|
21
20
|
var chartPrototype = Chart.prototype, defaultOptions = getOptions();
|
|
@@ -118,7 +117,7 @@ defaultOptions.noData = {
|
|
|
118
117
|
/** @ignore */
|
|
119
118
|
fontSize: '12px',
|
|
120
119
|
/** @ignore */
|
|
121
|
-
color:
|
|
120
|
+
color: "#666666" /* neutralColor60 */
|
|
122
121
|
}
|
|
123
122
|
};
|
|
124
123
|
/**
|
|
@@ -333,7 +333,7 @@ var OfflineExporting;
|
|
|
333
333
|
// renderer for inline styles that we want to pass through. There
|
|
334
334
|
// are so many styles by default in IE that we don't want to
|
|
335
335
|
// blacklist them all.
|
|
336
|
-
if (H.isMS && chart.styledMode) {
|
|
336
|
+
if (H.isMS && chart.styledMode && !Exporting.inlineWhitelist.length) {
|
|
337
337
|
Exporting.inlineWhitelist.push(/^blockSize/, /^border/, /^caretColor/, /^color/, /^columnRule/, /^columnRuleColor/, /^cssFloat/, /^cursor/, /^fill$/, /^fillOpacity/, /^font/, /^inlineSize/, /^length/, /^lineHeight/, /^opacity/, /^outline/, /^parentRule/, /^rx$/, /^ry$/, /^stroke/, /^textAlign/, /^textAnchor/, /^textDecoration/, /^transform/, /^vectorEffect/, /^visibility/, /^x$/, /^y$/);
|
|
338
338
|
}
|
|
339
339
|
// Always fall back on:
|
|
@@ -389,7 +389,7 @@ var OfflineExporting;
|
|
|
389
389
|
sanitize = function (svg) { return chart.sanitizeSVG(svg, chartCopyOptions); },
|
|
390
390
|
// When done with last image we have our SVG
|
|
391
391
|
checkDone = function () {
|
|
392
|
-
if (images && imagesEmbedded ===
|
|
392
|
+
if (images && imagesEmbedded === imagesLength) {
|
|
393
393
|
successCallback(sanitize(chartCopyContainer.innerHTML));
|
|
394
394
|
}
|
|
395
395
|
},
|
|
@@ -400,13 +400,14 @@ var OfflineExporting;
|
|
|
400
400
|
callbackArgs.imageElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', imageURL);
|
|
401
401
|
checkDone();
|
|
402
402
|
};
|
|
403
|
-
var el,
|
|
403
|
+
var el, chartCopyContainer, chartCopyOptions, href = null, images, imagesLength = 0, imagesEmbedded = 0;
|
|
404
404
|
// Hook into getSVG to get a copy of the chart copy's
|
|
405
405
|
// container (#8273)
|
|
406
406
|
chart.unbindGetSVG = addEvent(chart, 'getSVG', function (e) {
|
|
407
407
|
chartCopyOptions = e.chartCopy.options;
|
|
408
408
|
chartCopyContainer = e.chartCopy.container.cloneNode(true);
|
|
409
409
|
images = chartCopyContainer && chartCopyContainer.getElementsByTagName('image') || [];
|
|
410
|
+
imagesLength = images.length;
|
|
410
411
|
});
|
|
411
412
|
// Trigger hook to get chart copy
|
|
412
413
|
chart.getSVGForExport(options, chartOptions);
|
|
@@ -418,7 +419,7 @@ var OfflineExporting;
|
|
|
418
419
|
return;
|
|
419
420
|
}
|
|
420
421
|
// Go through the images we want to embed
|
|
421
|
-
for (i = 0
|
|
422
|
+
for (var i = 0; i < images.length; i++) {
|
|
422
423
|
el = images[i];
|
|
423
424
|
href = el.getAttributeNS('http://www.w3.org/1999/xlink', 'href');
|
|
424
425
|
if (href) {
|
|
@@ -432,8 +433,9 @@ var OfflineExporting;
|
|
|
432
433
|
// Hidden, boosted series have blank href (#10243)
|
|
433
434
|
}
|
|
434
435
|
else {
|
|
435
|
-
|
|
436
|
+
imagesEmbedded++;
|
|
436
437
|
el.parentNode.removeChild(el);
|
|
438
|
+
i--;
|
|
437
439
|
checkDone();
|
|
438
440
|
}
|
|
439
441
|
}
|
|
@@ -552,10 +554,9 @@ var OfflineExporting;
|
|
|
552
554
|
userAgent.indexOf('Chrome') < 0);
|
|
553
555
|
try {
|
|
554
556
|
// Safari requires data URI since it doesn't allow navigation to
|
|
555
|
-
// blob URLs.
|
|
556
|
-
//
|
|
557
|
-
|
|
558
|
-
if (!webKit && !H.isFirefox && svg.indexOf('<foreignObject') === -1) {
|
|
557
|
+
// blob URLs. ForeignObjects also dont work well in Blobs in Chrome
|
|
558
|
+
// (#14780).
|
|
559
|
+
if (!webKit && svg.indexOf('<foreignObject') === -1) {
|
|
559
560
|
return OfflineExporting.domurl.createObjectURL(new win.Blob([svg], {
|
|
560
561
|
type: 'image/svg+xml;charset-utf-16'
|
|
561
562
|
}));
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* */
|
|
16
16
|
var OfflineExportingDefaults = {
|
|
17
|
-
libURL: 'https://code.highcharts.com/9.
|
|
17
|
+
libURL: 'https://code.highcharts.com/9.3.1/lib/',
|
|
18
18
|
// When offline-exporting is loaded, redefine the menu item definitions
|
|
19
19
|
// related to download.
|
|
20
20
|
menuItemDefinitions: {
|