highcharts 11.3.0 → 11.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bower.json +1 -1
- package/css/annotations/popup.css +27 -19
- package/css/stocktools/gui.css +19 -7
- package/es-modules/Accessibility/A11yI18n.js +4 -6
- package/es-modules/Accessibility/Accessibility.js +8 -6
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +11 -6
- package/es-modules/Accessibility/Components/LegendComponent.js +4 -4
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -6
- package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -3
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -7
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +18 -3
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +5 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +4 -4
- package/es-modules/Accessibility/FocusBorder.js +5 -5
- package/es-modules/Accessibility/HighContrastMode.js +22 -13
- package/es-modules/Accessibility/HighContrastTheme.js +2 -6
- package/es-modules/Accessibility/KeyboardNavigation.js +17 -8
- package/es-modules/Accessibility/Options/A11yDefaults.js +11 -1
- package/es-modules/Accessibility/ProxyElement.js +4 -4
- package/es-modules/Accessibility/ProxyProvider.js +8 -2
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +8 -0
- package/es-modules/Accessibility/Utils/EventProvider.js +9 -0
- package/es-modules/Core/Animation/Fx.js +3 -3
- package/es-modules/Core/Axis/Axis.js +43 -97
- package/es-modules/Core/Axis/Axis3DComposition.js +5 -5
- package/es-modules/Core/Axis/Axis3DDefaults.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +18 -7
- package/es-modules/Core/Axis/BrokenAxis.js +4 -6
- package/es-modules/Core/Axis/Color/ColorAxis.js +2 -1
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -5
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -5
- package/es-modules/Core/Axis/GridAxis.js +7 -7
- package/es-modules/Core/Axis/LogarithmicAxis.js +2 -4
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +26 -22
- package/es-modules/Core/Axis/OrdinalAxis.js +97 -53
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +4 -5
- package/es-modules/Core/Axis/RadialAxis.js +5 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +2 -2
- package/es-modules/Core/Axis/Stacking/StackItem.js +8 -4
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +3 -5
- package/es-modules/Core/Axis/Tick.js +16 -7
- package/es-modules/Core/Axis/Tick3DComposition.js +2 -2
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +4 -8
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -6
- package/es-modules/Core/Axis/WaterfallAxis.js +3 -3
- package/es-modules/Core/Axis/ZAxis.js +6 -11
- package/es-modules/Core/Chart/Chart.js +201 -176
- package/es-modules/Core/Chart/Chart3D.js +1 -1
- package/es-modules/Core/Chart/ChartDefaults.js +7 -0
- package/es-modules/Core/Chart/GanttChart.js +2 -2
- package/es-modules/Core/Chart/MapChart.js +12 -2
- package/es-modules/Core/Chart/StockChart.js +12 -11
- package/es-modules/Core/Color/Color.js +3 -3
- package/es-modules/Core/Color/Palettes.js +2 -2
- package/es-modules/Core/Defaults.js +18 -15
- package/es-modules/Core/Geometry/CircleUtilities.js +3 -3
- package/es-modules/Core/Globals.js +2 -2
- package/es-modules/Core/HttpUtilities.js +4 -4
- package/es-modules/Core/Legend/Legend.js +6 -6
- package/es-modules/Core/MSPointer.js +7 -7
- package/es-modules/Core/Pointer.js +230 -245
- package/es-modules/Core/Renderer/HTML/AST.js +1 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +213 -26
- package/es-modules/Core/Renderer/RendererUtilities.js +1 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +85 -52
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +14 -11
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -14
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +8 -7
- package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Responsive.js +5 -6
- package/es-modules/Core/Series/DataLabel.js +70 -90
- package/es-modules/Core/Series/DataSeriesComposition.js +1 -1
- package/es-modules/Core/Series/DataSeriesConverter.js +2 -2
- package/es-modules/Core/Series/Point.js +48 -40
- package/es-modules/Core/Series/Series.js +61 -51
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Series/SeriesRegistry.js +10 -2
- package/es-modules/Core/Templating.js +1 -1
- package/es-modules/Core/Time.js +12 -7
- package/es-modules/Core/Tooltip.js +19 -17
- package/es-modules/Core/Utilities.js +54 -26
- package/es-modules/Data/Connectors/CSVConnector.js +2 -2
- package/es-modules/Data/Connectors/DataConnector.js +4 -2
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
- package/es-modules/Data/Connectors/HTMLTableConnector.js +2 -2
- package/es-modules/Data/Connectors/JSONConnector.js +3 -5
- package/es-modules/Data/Converters/CSVConverter.js +1 -3
- package/es-modules/Data/Converters/DataConverter.js +8 -2
- package/es-modules/Data/Converters/HTMLTableConverter.js +1 -3
- package/es-modules/Data/Converters/JSONConverter.js +1 -0
- package/es-modules/Data/DataTable.js +1 -2
- package/es-modules/Data/Formula/FormulaProcessor.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +15 -3
- package/es-modules/Extensions/Annotations/Annotation.js +6 -7
- package/es-modules/Extensions/Annotations/AnnotationChart.js +4 -5
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
- package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/ControlTarget.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/Controllable.js +7 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +3 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +8 -9
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -4
- package/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
- package/es-modules/Extensions/Annotations/NavigationBindings.js +29 -18
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +6 -6
- package/es-modules/Extensions/Annotations/Popup/Popup.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -6
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +31 -31
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +1 -1
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +14 -11
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +1 -1
- package/es-modules/Extensions/ArrowSymbols.js +7 -13
- package/es-modules/Extensions/Boost/Boost.js +39 -7
- package/es-modules/Extensions/Boost/BoostChart.js +4 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +58 -13
- package/es-modules/Extensions/Boost/WGLRenderer.js +3 -3
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +1 -1
- package/es-modules/Extensions/BoostCanvas.js +5 -4
- package/es-modules/Extensions/BorderRadius.js +5 -4
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +9 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +11 -11
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +8 -9
- package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +6 -7
- package/es-modules/Extensions/Debugger/Debugger.js +1 -1
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DragPanes/AxisResizer.js +13 -16
- package/es-modules/Extensions/DragPanes/DragPanes.js +2 -4
- package/es-modules/Extensions/DraggablePoints/DragDropDefaults.js +2 -1
- package/es-modules/Extensions/DraggablePoints/DragDropUtilities.js +1 -1
- package/es-modules/Extensions/DraggablePoints/DraggableChart.js +4 -4
- package/es-modules/Extensions/DraggablePoints/DraggablePoints.js +8 -9
- package/es-modules/Extensions/Drilldown/Drilldown.js +11 -9
- package/es-modules/Extensions/Drilldown/DrilldownSeries.js +5 -6
- package/es-modules/Extensions/ExportData/ExportData.js +27 -18
- package/es-modules/Extensions/Exporting/Exporting.js +25 -20
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +1 -1
- package/es-modules/Extensions/Exporting/Fullscreen.js +5 -10
- package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +26 -21
- package/es-modules/Extensions/MarkerClusters/MarkerClusterSymbols.js +2 -12
- package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +3 -3
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +51 -161
- package/es-modules/Extensions/NoDataToDisplay/NoDataToDisplay.js +3 -5
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -6
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +21 -49
- package/es-modules/Extensions/Pane/PaneComposition.js +3 -5
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -4
- package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +5 -6
- package/es-modules/Extensions/ParallelCoordinates/ParallelSeries.js +1 -1
- package/es-modules/Extensions/PatternFill.js +19 -22
- package/es-modules/Extensions/PriceIndication.js +1 -1
- package/es-modules/Extensions/ScrollablePlotArea.js +218 -292
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +26 -18
- package/es-modules/Extensions/Sonification/Options.js +1 -0
- package/es-modules/Extensions/Sonification/SonificationSpeaker.js +2 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
- package/es-modules/Extensions/StaticScale.js +3 -5
- package/es-modules/Gantt/Legacy.js +1 -1
- package/es-modules/Gantt/Pathfinder.js +2 -2
- package/es-modules/Gantt/PathfinderComposition.js +3 -5
- package/es-modules/Gantt/Tree.js +3 -3
- package/es-modules/Maps/GeoJSONComposition.js +20 -13
- package/es-modules/Maps/MapNavigation.js +2 -2
- package/es-modules/Maps/MapPointer.js +3 -19
- package/es-modules/Maps/MapSymbols.js +3 -9
- package/es-modules/Maps/MapView.js +134 -74
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +5 -4
- package/es-modules/Series/Area/AreaSeries.js +2 -4
- package/es-modules/Series/Area3D/Area3DSeries.js +1 -1
- package/es-modules/Series/AreaRange/AreaRangePoint.js +2 -2
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +2 -3
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
- package/es-modules/Series/Bar/BarSeries.js +1 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +1 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +4 -0
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +2 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
- package/es-modules/Series/Bullet/BulletSeriesDefaults.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeries.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -5
- package/es-modules/Series/ColorMapComposition.js +1 -1
- package/es-modules/Series/Column/ColumnDataLabel.js +2 -2
- package/es-modules/Series/Column/ColumnSeries.js +20 -22
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
- package/es-modules/Series/Column3D/Column3DComposition.js +1 -1
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +9 -9
- package/es-modules/Series/DataModifyComposition.js +5 -5
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -2
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +1 -1
- package/es-modules/Series/DragNodesComposition.js +7 -7
- package/es-modules/Series/DrawPointUtilities.js +0 -2
- package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +1 -1
- package/es-modules/Series/Funnel/FunnelSeries.js +1 -1
- package/es-modules/Series/Funnel3D/Funnel3DComposition.js +6 -6
- package/es-modules/Series/Funnel3D/Funnel3DSeriesDefaults.js +2 -2
- package/es-modules/Series/Funnel3D/SVGElement3DFunnel.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +0 -1
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
- package/es-modules/Series/GraphLayoutComposition.js +1 -1
- package/es-modules/Series/Heatmap/HeatmapSeries.js +2 -2
- package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -3
- package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +2 -2
- package/es-modules/Series/Item/ItemSeries.js +1 -1
- package/es-modules/Series/Line/LineSeries.js +1 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
- package/es-modules/Series/Map/MapPoint.js +5 -1
- package/es-modules/Series/Map/MapSeries.js +32 -7
- package/es-modules/Series/Map/MapSeriesDefaults.js +5 -3
- package/es-modules/Series/Networkgraph/EulerIntegration.js +5 -5
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -4
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +5 -5
- package/es-modules/Series/Networkgraph/QuadTree.js +1 -1
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +1 -1
- package/es-modules/Series/Networkgraph/VerletIntegration.js +9 -9
- package/es-modules/Series/NodesComposition.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +1 -1
- package/es-modules/Series/OnSeriesComposition.js +1 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +1 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +22 -10
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +15 -2
- package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -5
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +6 -10
- package/es-modules/Series/Pictorial/PictorialSeries.js +2 -2
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PiePoint.js +1 -1
- package/es-modules/Series/Pie/PieSeries.js +10 -1
- package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +2 -2
- package/es-modules/Series/PolarComposition.js +22 -20
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +1 -1
- package/es-modules/Series/Sankey/SankeySeries.js +8 -8
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +57 -13
- package/es-modules/Series/SeriesOnPointComposition.js +3 -3
- package/es-modules/Series/Spline/SplineSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +2 -7
- package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +3 -3
- package/es-modules/Series/Sunburst/SunburstUtilities.js +1 -1
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +23 -25
- package/es-modules/Series/Tilemap/TilemapSeries.js +2 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +2 -2
- package/es-modules/Series/TreeUtilities.js +23 -1
- package/es-modules/Series/Treegraph/TreegraphLayout.js +7 -11
- package/es-modules/Series/Treegraph/TreegraphPoint.js +1 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +8 -8
- package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +39 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +4 -2
- package/es-modules/Series/Treemap/TreemapUtilities.js +0 -7
- package/es-modules/Series/Variwide/VariwideComposition.js +6 -2
- package/es-modules/Series/Variwide/VariwideSeries.js +1 -1
- package/es-modules/Series/Venn/VennSeries.js +4 -4
- package/es-modules/Series/Venn/VennUtils.js +5 -6
- package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +1 -1
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -4
- package/es-modules/Series/XRange/XRangePoint.js +2 -2
- package/es-modules/Series/XRange/XRangeSeries.js +1 -1
- package/es-modules/Shared/BaseForm.js +1 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +2 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +7 -7
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +9 -9
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -2
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +16 -17
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +4 -5
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +5 -5
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +188 -0
- package/es-modules/Stock/Navigator/Navigator.js +42 -27
- package/es-modules/Stock/Navigator/NavigatorComposition.js +10 -149
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +16 -2
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +334 -0
- package/es-modules/Stock/Navigator/StandaloneNavigatorDefaults.js +64 -0
- package/es-modules/Stock/RangeSelector/RangeSelector.js +28 -16
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
- package/es-modules/Stock/Scrollbar/Scrollbar.js +10 -10
- package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
- package/es-modules/Stock/StockTools/StockToolbar.js +6 -5
- package/es-modules/Stock/StockTools/StockTools.js +10 -13
- package/es-modules/Stock/StockTools/StockToolsBindings.js +35 -35
- package/es-modules/Stock/StockTools/StockToolsDefaults.js +2 -1
- package/es-modules/Stock/StockTools/StockToolsGui.js +7 -8
- package/es-modules/Stock/StockTools/StockToolsUtilities.js +8 -9
- package/es-modules/Stock/Utilities/StockUtilities.js +41 -0
- package/es-modules/masters/highcharts-3d.src.js +2 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +2 -1
- package/es-modules/masters/highcharts.src.js +41 -40
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +3 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +3 -1
- package/es-modules/masters/indicators/ao.src.js +3 -1
- package/es-modules/masters/indicators/apo.src.js +3 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +3 -1
- package/es-modules/masters/indicators/aroon.src.js +3 -1
- package/es-modules/masters/indicators/atr.src.js +3 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +3 -1
- package/es-modules/masters/indicators/cci.src.js +3 -1
- package/es-modules/masters/indicators/chaikin.src.js +3 -1
- package/es-modules/masters/indicators/cmf.src.js +3 -1
- package/es-modules/masters/indicators/cmo.src.js +3 -1
- package/es-modules/masters/indicators/dema.src.js +3 -1
- package/es-modules/masters/indicators/disparity-index.src.js +3 -1
- package/es-modules/masters/indicators/dmi.src.js +3 -1
- package/es-modules/masters/indicators/dpo.src.js +3 -1
- package/es-modules/masters/indicators/ema.src.js +2 -0
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +3 -1
- package/es-modules/masters/indicators/indicators-all.src.js +3 -1
- package/es-modules/masters/indicators/indicators.src.js +7 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +3 -1
- package/es-modules/masters/indicators/klinger.src.js +3 -1
- package/es-modules/masters/indicators/macd.src.js +3 -1
- package/es-modules/masters/indicators/mfi.src.js +3 -1
- package/es-modules/masters/indicators/momentum.src.js +3 -1
- package/es-modules/masters/indicators/natr.src.js +3 -1
- package/es-modules/masters/indicators/obv.src.js +3 -1
- package/es-modules/masters/indicators/pivot-points.src.js +3 -1
- package/es-modules/masters/indicators/ppo.src.js +3 -1
- package/es-modules/masters/indicators/price-channel.src.js +3 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +3 -1
- package/es-modules/masters/indicators/psar.src.js +3 -1
- package/es-modules/masters/indicators/regressions.src.js +3 -1
- package/es-modules/masters/indicators/roc.src.js +3 -1
- package/es-modules/masters/indicators/rsi.src.js +3 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +3 -1
- package/es-modules/masters/indicators/stochastic.src.js +3 -1
- package/es-modules/masters/indicators/supertrend.src.js +3 -1
- package/es-modules/masters/indicators/tema.src.js +3 -1
- package/es-modules/masters/indicators/trendline.src.js +3 -1
- package/es-modules/masters/indicators/trix.src.js +3 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +3 -1
- package/es-modules/masters/indicators/vwap.src.js +3 -1
- package/es-modules/masters/indicators/williams-r.src.js +3 -1
- package/es-modules/masters/indicators/wma.src.js +3 -1
- package/es-modules/masters/indicators/zigzag.src.js +3 -1
- package/es-modules/masters/modules/accessibility.src.js +4 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -5
- package/es-modules/masters/modules/annotations.src.js +6 -3
- package/es-modules/masters/modules/arc-diagram.src.js +3 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +2 -1
- package/es-modules/masters/modules/boost-canvas.src.js +2 -1
- package/es-modules/masters/modules/boost.src.js +3 -2
- package/es-modules/masters/modules/broken-axis.src.js +4 -3
- package/es-modules/masters/modules/bullet.src.js +3 -1
- package/es-modules/masters/modules/coloraxis.src.js +4 -3
- package/es-modules/masters/modules/current-date-indicator.src.js +2 -1
- package/es-modules/masters/modules/cylinder.src.js +3 -1
- package/es-modules/masters/modules/data-tools.src.js +9 -8
- package/es-modules/masters/modules/data.src.js +9 -8
- package/es-modules/masters/modules/datagrouping.src.js +7 -5
- package/es-modules/masters/modules/debugger.src.js +3 -2
- package/es-modules/masters/modules/dependency-wheel.src.js +3 -1
- package/es-modules/masters/modules/dotplot.src.js +3 -1
- package/es-modules/masters/modules/drag-panes.src.js +2 -1
- package/es-modules/masters/modules/draggable-points.src.js +2 -1
- package/es-modules/masters/modules/drilldown.src.js +3 -2
- package/es-modules/masters/modules/dumbbell.src.js +3 -1
- package/es-modules/masters/modules/export-data.src.js +5 -4
- package/es-modules/masters/modules/exporting.src.js +6 -5
- package/es-modules/masters/modules/flowmap.src.js +3 -1
- package/es-modules/masters/modules/full-screen.src.js +4 -3
- package/es-modules/masters/modules/funnel.src.js +2 -1
- package/es-modules/masters/modules/funnel3d.src.js +4 -3
- package/es-modules/masters/modules/gantt.src.js +15 -17
- package/es-modules/masters/modules/geoheatmap.src.js +3 -1
- package/es-modules/masters/modules/grid-axis.src.js +2 -1
- package/es-modules/masters/modules/heatmap.src.js +3 -5
- package/es-modules/masters/modules/heikinashi.src.js +2 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +3 -1
- package/es-modules/masters/modules/item-series.src.js +3 -1
- package/es-modules/masters/modules/lollipop.src.js +3 -1
- package/es-modules/masters/modules/map.src.js +15 -10
- package/es-modules/masters/modules/marker-clusters.src.js +2 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +4 -2
- package/es-modules/masters/modules/navigator.src.d.ts +1 -0
- package/es-modules/masters/modules/navigator.src.js +19 -0
- package/es-modules/masters/modules/networkgraph.src.js +2 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +2 -1
- package/es-modules/masters/modules/offline-exporting.src.js +4 -3
- package/es-modules/masters/modules/organization.src.js +3 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +4 -2
- package/es-modules/masters/modules/parallel-coordinates.src.js +2 -1
- package/es-modules/masters/modules/pareto.src.js +3 -1
- package/es-modules/masters/modules/pathfinder.src.js +4 -3
- package/es-modules/masters/modules/pattern-fill.src.js +2 -1
- package/es-modules/masters/modules/pictorial.src.js +3 -1
- package/es-modules/masters/modules/price-indicator.src.js +2 -1
- package/es-modules/masters/modules/pyramid3d.src.js +3 -1
- package/es-modules/masters/modules/sankey.src.js +3 -1
- package/es-modules/masters/modules/series-label.src.js +2 -1
- package/es-modules/masters/modules/series-on-point.src.js +2 -1
- package/es-modules/masters/modules/solid-gauge.src.js +3 -1
- package/es-modules/masters/modules/sonification.src.js +2 -1
- package/es-modules/masters/modules/static-scale.src.js +2 -1
- package/es-modules/masters/modules/stock-tools.src.js +5 -3
- package/es-modules/masters/modules/stock.src.js +20 -15
- package/es-modules/masters/modules/streamgraph.src.js +3 -1
- package/es-modules/masters/modules/sunburst.src.js +4 -3
- package/es-modules/masters/modules/tiledwebmap.src.js +5 -4
- package/es-modules/masters/modules/tilemap.src.js +2 -1
- package/es-modules/masters/modules/timeline.src.js +3 -1
- package/es-modules/masters/modules/treegraph.src.js +3 -1
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +5 -4
- package/es-modules/masters/modules/variable-pie.src.js +3 -1
- package/es-modules/masters/modules/variwide.src.js +2 -1
- package/es-modules/masters/modules/vector.src.js +3 -1
- package/es-modules/masters/modules/venn.src.js +3 -1
- package/es-modules/masters/modules/windbarb.src.js +3 -1
- package/es-modules/masters/modules/wordcloud.src.js +3 -1
- package/es-modules/masters/modules/xrange.src.js +2 -1
- package/es-modules/masters/standalone-navigator.src.js +13 -0
- package/es-modules/masters/themes/avocado.src.js +2 -1
- package/es-modules/masters/themes/brand-dark.src.js +2 -1
- package/es-modules/masters/themes/brand-light.src.js +2 -1
- package/es-modules/masters/themes/dark-blue.src.js +2 -1
- package/es-modules/masters/themes/dark-green.src.js +2 -1
- package/es-modules/masters/themes/dark-unica.src.js +2 -1
- package/es-modules/masters/themes/gray.src.js +2 -1
- package/es-modules/masters/themes/grid-light.src.js +2 -1
- package/es-modules/masters/themes/grid.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +2 -1
- package/es-modules/masters/themes/sand-signika.src.js +2 -1
- package/es-modules/masters/themes/skies.src.js +2 -1
- package/es-modules/masters/themes/sunset.src.js +2 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -0
- package/globals.d.ts +9 -0
- package/globals.src.d.ts +9 -0
- package/highcharts-3d.js +3 -3
- package/highcharts-3d.src.js +32 -33
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +5703 -5639
- package/highcharts-more.d.ts +4 -0
- package/highcharts-more.js +3 -3
- package/highcharts-more.src.d.ts +4 -0
- package/highcharts-more.src.js +88 -87
- package/highcharts.d.ts +834 -5365
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +834 -5365
- package/highcharts.src.js +1583 -1682
- package/highmaps.js +4 -4
- package/highmaps.src.js +1837 -1835
- package/highstock.js +4 -4
- package/highstock.src.js +12488 -12510
- package/indicators/acceleration-bands.js +3 -3
- package/indicators/acceleration-bands.src.js +12 -11
- package/indicators/accumulation-distribution.js +3 -3
- package/indicators/accumulation-distribution.src.js +6 -3
- package/indicators/ao.js +3 -3
- package/indicators/ao.src.js +3 -2
- package/indicators/apo.js +3 -3
- package/indicators/apo.src.js +4 -3
- package/indicators/aroon-oscillator.js +3 -3
- package/indicators/aroon-oscillator.src.js +12 -11
- package/indicators/aroon.js +3 -3
- package/indicators/aroon.src.js +13 -12
- package/indicators/atr.js +3 -3
- package/indicators/atr.src.js +3 -2
- package/indicators/bollinger-bands.js +3 -3
- package/indicators/bollinger-bands.src.js +12 -11
- package/indicators/cci.js +3 -3
- package/indicators/cci.src.js +3 -2
- package/indicators/chaikin.js +3 -3
- package/indicators/chaikin.src.js +7 -4
- package/indicators/cmf.js +3 -3
- package/indicators/cmf.src.js +4 -3
- package/indicators/cmo.js +3 -3
- package/indicators/cmo.src.js +5 -4
- package/indicators/dema.js +3 -3
- package/indicators/dema.src.js +3 -2
- package/indicators/disparity-index.js +3 -3
- package/indicators/disparity-index.src.js +3 -2
- package/indicators/dmi.js +3 -3
- package/indicators/dmi.src.js +12 -11
- package/indicators/dpo.js +3 -3
- package/indicators/dpo.src.js +4 -3
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +2 -1
- package/indicators/ichimoku-kinko-hyo.js +3 -3
- package/indicators/ichimoku-kinko-hyo.src.js +3 -2
- package/indicators/indicators-all.js +3 -3
- package/indicators/indicators-all.src.js +63 -60
- package/indicators/indicators.js +3 -3
- package/indicators/indicators.src.js +286 -3
- package/indicators/keltner-channels.js +3 -3
- package/indicators/keltner-channels.src.js +12 -11
- package/indicators/klinger.js +3 -3
- package/indicators/klinger.src.js +13 -12
- package/indicators/macd.js +3 -3
- package/indicators/macd.src.js +3 -2
- package/indicators/mfi.js +3 -3
- package/indicators/mfi.src.js +3 -2
- package/indicators/momentum.js +3 -3
- package/indicators/momentum.src.js +3 -2
- package/indicators/natr.js +3 -3
- package/indicators/natr.src.js +3 -2
- package/indicators/obv.js +3 -3
- package/indicators/obv.src.js +4 -3
- package/indicators/pivot-points.js +3 -3
- package/indicators/pivot-points.src.js +5 -4
- package/indicators/ppo.js +3 -3
- package/indicators/ppo.src.js +4 -3
- package/indicators/price-channel.js +3 -3
- package/indicators/price-channel.src.js +12 -11
- package/indicators/price-envelopes.js +3 -3
- package/indicators/price-envelopes.src.js +12 -11
- package/indicators/psar.js +3 -3
- package/indicators/psar.src.js +3 -2
- package/indicators/regressions.js +3 -3
- package/indicators/regressions.src.js +10 -9
- package/indicators/roc.js +3 -3
- package/indicators/roc.src.js +3 -2
- package/indicators/rsi.js +3 -3
- package/indicators/rsi.src.js +3 -2
- package/indicators/slow-stochastic.js +3 -3
- package/indicators/slow-stochastic.src.js +3 -2
- package/indicators/stochastic.js +3 -3
- package/indicators/stochastic.src.js +12 -11
- package/indicators/supertrend.js +3 -3
- package/indicators/supertrend.src.js +20 -19
- package/indicators/tema.js +3 -3
- package/indicators/tema.src.js +3 -2
- package/indicators/trendline.js +3 -3
- package/indicators/trendline.src.js +3 -2
- package/indicators/trix.js +3 -3
- package/indicators/trix.src.js +3 -2
- package/indicators/volume-by-price.js +3 -3
- package/indicators/volume-by-price.src.js +8 -7
- package/indicators/vwap.js +3 -3
- package/indicators/vwap.src.js +3 -2
- package/indicators/williams-r.js +3 -3
- package/indicators/williams-r.src.js +4 -3
- package/indicators/wma.js +3 -3
- package/indicators/wma.src.js +3 -2
- package/indicators/zigzag.js +3 -3
- package/indicators/zigzag.src.js +8 -7
- package/lib/svg2pdf.js +7 -7
- package/lib/svg2pdf.src.js +185 -150
- package/modules/accessibility.js +3 -3
- package/modules/accessibility.src.js +664 -2793
- package/modules/annotations-advanced.d.ts +3 -0
- package/modules/annotations-advanced.js +3 -3
- package/modules/annotations-advanced.src.d.ts +3 -0
- package/modules/annotations-advanced.src.js +2949 -2920
- package/modules/annotations.d.ts +0 -3
- package/modules/annotations.js +3 -3
- package/modules/annotations.src.d.ts +0 -3
- package/modules/annotations.src.js +2926 -2905
- package/modules/arc-diagram.js +3 -3
- package/modules/arc-diagram.src.js +8 -6
- package/modules/arrow-symbols.js +3 -3
- package/modules/arrow-symbols.src.js +10 -13
- package/modules/boost-canvas.js +3 -3
- package/modules/boost-canvas.src.js +73 -26
- package/modules/boost.js +3 -3
- package/modules/boost.src.js +108 -30
- package/modules/broken-axis.js +3 -3
- package/modules/broken-axis.src.js +9 -9
- package/modules/bullet.js +3 -3
- package/modules/bullet.src.js +5 -4
- package/modules/coloraxis.js +3 -3
- package/modules/coloraxis.src.js +10 -9
- package/modules/current-date-indicator.js +3 -3
- package/modules/current-date-indicator.src.js +3 -2
- package/modules/cylinder.js +3 -3
- package/modules/cylinder.src.js +12 -11
- package/modules/data-tools.js +3 -3
- package/modules/data-tools.src.js +53 -36
- package/modules/data.d.ts +2 -2
- package/modules/data.js +3 -3
- package/modules/data.src.d.ts +2 -2
- package/modules/data.src.js +24 -23
- package/modules/datagrouping.js +3 -3
- package/modules/datagrouping.src.js +25 -23
- package/modules/debugger.js +3 -3
- package/modules/debugger.src.js +6 -5
- package/modules/dependency-wheel.js +3 -3
- package/modules/dependency-wheel.src.js +7 -5
- package/modules/dotplot.js +3 -3
- package/modules/dotplot.src.js +3 -2
- package/modules/drag-panes.js +3 -3
- package/modules/drag-panes.src.js +19 -21
- package/modules/draggable-points.js +3 -3
- package/modules/draggable-points.src.js +18 -16
- package/modules/drilldown.js +3 -3
- package/modules/drilldown.src.js +29 -26
- package/modules/dumbbell.js +3 -3
- package/modules/dumbbell.src.js +5 -4
- package/modules/export-data.js +3 -3
- package/modules/export-data.src.js +33 -22
- package/modules/exporting.d.ts +1 -1
- package/modules/exporting.js +3 -3
- package/modules/exporting.src.d.ts +1 -1
- package/modules/exporting.src.js +40 -39
- package/modules/flowmap.js +3 -3
- package/modules/flowmap.src.js +3 -2
- package/modules/full-screen.js +3 -3
- package/modules/full-screen.src.js +9 -13
- package/modules/funnel.js +3 -3
- package/modules/funnel.src.js +3 -2
- package/modules/funnel3d.js +3 -3
- package/modules/funnel3d.src.js +12 -12
- package/modules/gantt.d.ts +3 -4
- package/modules/gantt.js +3 -3
- package/modules/gantt.src.d.ts +3 -4
- package/modules/gantt.src.js +4165 -4002
- package/modules/geoheatmap.js +3 -3
- package/modules/geoheatmap.src.js +8 -7
- package/modules/grid-axis.js +3 -3
- package/modules/grid-axis.src.js +9 -8
- package/modules/heatmap.d.ts +2 -2
- package/modules/heatmap.js +3 -3
- package/modules/heatmap.src.d.ts +2 -2
- package/modules/heatmap.src.js +21 -15
- package/modules/heikinashi.js +3 -3
- package/modules/heikinashi.src.js +9 -6
- package/modules/histogram-bellcurve.js +3 -3
- package/modules/histogram-bellcurve.src.js +4 -3
- package/modules/hollowcandlestick.js +3 -3
- package/modules/hollowcandlestick.src.js +5 -4
- package/modules/item-series.js +3 -3
- package/modules/item-series.src.js +4 -3
- package/modules/lollipop.js +3 -3
- package/modules/lollipop.src.js +6 -3
- package/modules/map.d.ts +22 -1
- package/modules/map.js +3 -3
- package/modules/map.src.d.ts +22 -1
- package/modules/map.src.js +256 -155
- package/modules/marker-clusters.js +3 -3
- package/modules/marker-clusters.src.js +35 -37
- package/modules/mouse-wheel-zoom.js +3 -3
- package/modules/mouse-wheel-zoom.src.js +55 -163
- package/modules/navigator.d.ts +148 -0
- package/modules/navigator.js +9 -0
- package/modules/navigator.src.d.ts +148 -0
- package/modules/navigator.src.js +3921 -0
- package/modules/networkgraph.d.ts +2 -2
- package/modules/networkgraph.js +3 -3
- package/modules/networkgraph.src.d.ts +2 -2
- package/modules/networkgraph.src.js +36 -35
- package/modules/no-data-to-display.js +3 -3
- package/modules/no-data-to-display.src.js +6 -6
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.src.js +10 -10
- package/modules/organization.js +3 -3
- package/modules/organization.src.js +41 -15
- package/modules/overlapping-datalabels.js +3 -3
- package/modules/overlapping-datalabels.src.js +4 -2
- package/modules/parallel-coordinates.js +3 -3
- package/modules/parallel-coordinates.src.js +12 -12
- package/modules/pareto.js +3 -3
- package/modules/pareto.src.js +3 -2
- package/modules/pathfinder.js +3 -3
- package/modules/pathfinder.src.js +18 -22
- package/modules/pattern-fill.js +3 -3
- package/modules/pattern-fill.src.js +22 -23
- package/modules/pictorial.js +3 -3
- package/modules/pictorial.src.js +25 -26
- package/modules/price-indicator.js +3 -3
- package/modules/price-indicator.src.js +3 -2
- package/modules/pyramid3d.js +3 -3
- package/modules/pyramid3d.src.js +3 -2
- package/modules/sankey.js +3 -3
- package/modules/sankey.src.js +93 -26
- package/modules/series-label.js +3 -3
- package/modules/series-label.src.js +28 -19
- package/modules/series-on-point.js +3 -3
- package/modules/series-on-point.src.js +5 -4
- package/modules/solid-gauge.js +3 -3
- package/modules/solid-gauge.src.js +3 -2
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +3 -3
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +8 -6
- package/modules/static-scale.js +3 -3
- package/modules/static-scale.src.js +6 -6
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +109 -96
- package/modules/stock.d.ts +1 -1
- package/modules/stock.js +3 -3
- package/modules/stock.src.d.ts +1 -1
- package/modules/stock.src.js +10762 -10685
- package/modules/streamgraph.js +3 -3
- package/modules/streamgraph.src.js +3 -2
- package/modules/sunburst.js +3 -3
- package/modules/sunburst.src.js +50 -37
- package/modules/tiledwebmap.js +4 -4
- package/modules/tiledwebmap.src.js +28 -29
- package/modules/tilemap.js +3 -3
- package/modules/tilemap.src.js +4 -3
- package/modules/timeline.js +3 -3
- package/modules/timeline.src.js +5 -4
- package/modules/treegraph.js +3 -3
- package/modules/treegraph.src.js +58 -23
- package/modules/treegrid.js +3 -3
- package/modules/treegrid.src.js +49 -33
- package/modules/treemap.js +3 -3
- package/modules/treemap.src.js +44 -26
- package/modules/variable-pie.js +3 -3
- package/modules/variable-pie.src.js +3 -2
- package/modules/variwide.js +3 -3
- package/modules/variwide.src.js +9 -4
- package/modules/vector.js +3 -3
- package/modules/vector.src.js +3 -2
- package/modules/venn.js +3 -3
- package/modules/venn.src.js +16 -17
- package/modules/windbarb.js +3 -3
- package/modules/windbarb.src.js +5 -4
- package/modules/wordcloud.js +3 -3
- package/modules/wordcloud.src.js +10 -8
- package/modules/xrange.js +3 -3
- package/modules/xrange.src.js +5 -4
- package/package.json +1 -1
- package/standalone-navigator.js +2 -0
- package/standalone-navigator.src.js +49402 -0
- package/themes/avocado.js +3 -3
- package/themes/avocado.src.js +2 -1
- package/themes/brand-dark.js +3 -3
- package/themes/brand-dark.src.js +2 -1
- package/themes/brand-light.js +3 -3
- package/themes/brand-light.src.js +2 -1
- package/themes/dark-blue.js +3 -3
- package/themes/dark-blue.src.js +2 -1
- package/themes/dark-green.js +3 -3
- package/themes/dark-green.src.js +2 -1
- package/themes/dark-unica.js +3 -3
- package/themes/dark-unica.src.js +2 -1
- package/themes/gray.js +3 -3
- package/themes/gray.src.js +2 -1
- package/themes/grid-light.js +3 -3
- package/themes/grid-light.src.js +2 -1
- package/themes/grid.js +3 -3
- package/themes/grid.src.js +2 -1
- package/themes/high-contrast-dark.js +3 -3
- package/themes/high-contrast-dark.src.js +2 -1
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.src.js +2 -1
- package/themes/sand-signika.js +3 -3
- package/themes/sand-signika.src.js +2 -1
- package/themes/skies.js +3 -3
- package/themes/skies.src.js +2 -1
- package/themes/sunset.js +3 -3
- package/themes/sunset.src.js +2 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +0 -259
- package/lib/canvg.js +0 -8
|
@@ -9,10 +9,6 @@
|
|
|
9
9
|
*
|
|
10
10
|
* */
|
|
11
11
|
'use strict';
|
|
12
|
-
import H from '../Core/Globals.js';
|
|
13
|
-
const { composed } = H;
|
|
14
|
-
import U from '../Core/Utilities.js';
|
|
15
|
-
const { pushUnique } = U;
|
|
16
12
|
/* *
|
|
17
13
|
*
|
|
18
14
|
* Functions
|
|
@@ -91,15 +87,13 @@ function arrowHalf(x, y, w, h) {
|
|
|
91
87
|
* @private
|
|
92
88
|
*/
|
|
93
89
|
function compose(SVGRendererClass) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
symbols['triangle-left-half'] = triangleLeftHalf;
|
|
102
|
-
}
|
|
90
|
+
const symbols = SVGRendererClass.prototype.symbols;
|
|
91
|
+
symbols.arrow = arrow;
|
|
92
|
+
symbols['arrow-filled'] = triangleLeft;
|
|
93
|
+
symbols['arrow-filled-half'] = triangleLeftHalf;
|
|
94
|
+
symbols['arrow-half'] = arrowHalf;
|
|
95
|
+
symbols['triangle-left'] = triangleLeft;
|
|
96
|
+
symbols['triangle-left-half'] = triangleLeftHalf;
|
|
103
97
|
}
|
|
104
98
|
/**
|
|
105
99
|
* Creates a left-oriented triangle.
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
import BoostChart from './BoostChart.js';
|
|
14
14
|
import BoostSeries from './BoostSeries.js';
|
|
15
15
|
import H from '../../Core/Globals.js';
|
|
16
|
-
const {
|
|
16
|
+
const { doc, win } = H;
|
|
17
17
|
import NamedColors from './NamedColors.js';
|
|
18
18
|
import U from '../../Core/Utilities.js';
|
|
19
|
-
const {
|
|
19
|
+
const { addEvent, error } = U;
|
|
20
20
|
/* *
|
|
21
21
|
*
|
|
22
22
|
* Constants
|
|
@@ -36,7 +36,7 @@ const contexts = [
|
|
|
36
36
|
/**
|
|
37
37
|
* @private
|
|
38
38
|
*/
|
|
39
|
-
function compose(ChartClass, SeriesClass, seriesTypes, ColorClass) {
|
|
39
|
+
function compose(ChartClass, AxisClass, SeriesClass, seriesTypes, ColorClass) {
|
|
40
40
|
const wglMode = hasWebGLSupport();
|
|
41
41
|
if (!wglMode) {
|
|
42
42
|
if (typeof H.initCanvasBoost !== 'undefined') {
|
|
@@ -47,7 +47,7 @@ function compose(ChartClass, SeriesClass, seriesTypes, ColorClass) {
|
|
|
47
47
|
error(26);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
if (ColorClass &&
|
|
50
|
+
if (ColorClass && !ColorClass.names.lightgoldenrodyellow) {
|
|
51
51
|
ColorClass.names = {
|
|
52
52
|
...ColorClass.names,
|
|
53
53
|
...NamedColors.defaultHTMLColorMap
|
|
@@ -56,6 +56,38 @@ function compose(ChartClass, SeriesClass, seriesTypes, ColorClass) {
|
|
|
56
56
|
// WebGL support is alright, and we're good to go.
|
|
57
57
|
BoostChart.compose(ChartClass, wglMode);
|
|
58
58
|
BoostSeries.compose(SeriesClass, seriesTypes, wglMode);
|
|
59
|
+
// Handle zooming by touch/pinch or mouse wheel. Assume that boosted charts
|
|
60
|
+
// are too slow for a live preview while dragging. Instead, just scale the
|
|
61
|
+
// div while `isPanning`.
|
|
62
|
+
addEvent(AxisClass, 'setExtremes', function (e) {
|
|
63
|
+
// Render targets can be either chart-wide or series-specific
|
|
64
|
+
const renderTargets = [this.chart, ...this.series]
|
|
65
|
+
.map((item) => item.renderTarget)
|
|
66
|
+
.filter(Boolean);
|
|
67
|
+
for (const renderTarget of renderTargets) {
|
|
68
|
+
const { horiz, pos } = this, scaleKey = horiz ? 'scaleX' : 'scaleY', translateKey = horiz ? 'translateX' : 'translateY', lastScale = renderTarget?.[scaleKey] ?? 1;
|
|
69
|
+
let scale = 1, translate = 0, opacity = 1, filter = 'none';
|
|
70
|
+
if (this.isPanning) {
|
|
71
|
+
scale = (e.scale ?? 1) * lastScale;
|
|
72
|
+
translate = (renderTarget?.[translateKey] || 0) -
|
|
73
|
+
scale * (e.move || 0) +
|
|
74
|
+
lastScale * pos -
|
|
75
|
+
scale * pos;
|
|
76
|
+
opacity = 0.7;
|
|
77
|
+
filter = 'blur(3px)';
|
|
78
|
+
}
|
|
79
|
+
renderTarget
|
|
80
|
+
?.attr({
|
|
81
|
+
[scaleKey]: scale,
|
|
82
|
+
[translateKey]: translate
|
|
83
|
+
})
|
|
84
|
+
.css({
|
|
85
|
+
transition: '250ms filter, 250ms opacity',
|
|
86
|
+
filter,
|
|
87
|
+
opacity
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
});
|
|
59
91
|
}
|
|
60
92
|
/**
|
|
61
93
|
* Returns true if the current browser supports WebGL.
|
|
@@ -187,7 +219,7 @@ export default Boost;
|
|
|
187
219
|
* @apioption boost.debug.timeSeriesProcessing
|
|
188
220
|
*/
|
|
189
221
|
/**
|
|
190
|
-
* Time the
|
|
222
|
+
* Time the WebGL setup.
|
|
191
223
|
*
|
|
192
224
|
* This outputs the time spent on setting up the WebGL context,
|
|
193
225
|
* creating shaders, and textures.
|
|
@@ -265,7 +297,7 @@ export default Boost;
|
|
|
265
297
|
* Setting to e.g. 20 will cause the whole chart to enter boost mode
|
|
266
298
|
* if there are 20 or more series active. When the chart is in boost mode,
|
|
267
299
|
* every series in it will be rendered to a common canvas. This offers
|
|
268
|
-
* a significant speed
|
|
300
|
+
* a significant speed improvement in charts with a very high
|
|
269
301
|
* amount of series.
|
|
270
302
|
*
|
|
271
303
|
* @type {number}
|
|
@@ -279,7 +311,7 @@ export default Boost;
|
|
|
279
311
|
* This option may cause rendering issues with certain datasets.
|
|
280
312
|
* Namely, if your dataset has large numbers with small increments (such as
|
|
281
313
|
* timestamps), it won't work correctly. This is due to floating point
|
|
282
|
-
*
|
|
314
|
+
* precision.
|
|
283
315
|
*
|
|
284
316
|
* @type {boolean}
|
|
285
317
|
* @default false
|
|
@@ -24,7 +24,7 @@ const { addEvent, pick, pushUnique } = U;
|
|
|
24
24
|
* @private
|
|
25
25
|
*/
|
|
26
26
|
function compose(ChartClass, wglMode) {
|
|
27
|
-
if (wglMode && pushUnique(composed,
|
|
27
|
+
if (wglMode && pushUnique(composed, 'Boost.Chart')) {
|
|
28
28
|
ChartClass.prototype.callbacks.push(onChartCallback);
|
|
29
29
|
}
|
|
30
30
|
return ChartClass;
|
|
@@ -46,7 +46,7 @@ function getBoostClipRect(chart, target) {
|
|
|
46
46
|
chart.navigator.top + chart.navigator.height - chart.plotTop :
|
|
47
47
|
chart.plotHeight
|
|
48
48
|
};
|
|
49
|
-
// Clipping of
|
|
49
|
+
// Clipping of individual series (#11906, #19039).
|
|
50
50
|
if (target.getClipBox) {
|
|
51
51
|
const { xAxis, yAxis } = target;
|
|
52
52
|
clipBox = target.getClipBox();
|
|
@@ -169,8 +169,8 @@ function onChartCallback(chart) {
|
|
|
169
169
|
chart.boost.forceChartBoost = void 0;
|
|
170
170
|
chart.boosted = false;
|
|
171
171
|
// Clear the canvas
|
|
172
|
-
if (chart.
|
|
173
|
-
chart.boost.clear();
|
|
172
|
+
if (!chart.axes.some((axis) => axis.isPanning)) {
|
|
173
|
+
chart.boost.clear?.();
|
|
174
174
|
}
|
|
175
175
|
if (chart.boost.canvas &&
|
|
176
176
|
chart.boost.wgl &&
|
|
@@ -70,7 +70,7 @@ function boostEnabled(chart) {
|
|
|
70
70
|
* @private
|
|
71
71
|
*/
|
|
72
72
|
function compose(SeriesClass, seriesTypes, wglMode) {
|
|
73
|
-
if (pushUnique(composed,
|
|
73
|
+
if (pushUnique(composed, 'Boost.Series')) {
|
|
74
74
|
const plotOptions = getOptions().plotOptions, seriesProto = SeriesClass.prototype;
|
|
75
75
|
addEvent(SeriesClass, 'destroy', onSeriesDestroy);
|
|
76
76
|
addEvent(SeriesClass, 'hide', onSeriesHide);
|
|
@@ -135,7 +135,7 @@ function compose(SeriesClass, seriesTypes, wglMode) {
|
|
|
135
135
|
if (ScatterSeries) {
|
|
136
136
|
ScatterSeries.prototype.fill = true;
|
|
137
137
|
}
|
|
138
|
-
// We need to handle heatmaps
|
|
138
|
+
// We need to handle heatmaps separately, since we can't perform the
|
|
139
139
|
// size/color calculations in the shader easily.
|
|
140
140
|
// @todo This likely needs future optimization.
|
|
141
141
|
[HeatmapSeries, TreemapSeries].forEach((SC) => {
|
|
@@ -251,8 +251,7 @@ function createAndAttachRenderer(chart, series) {
|
|
|
251
251
|
// it will cover the most common use case of one or more
|
|
252
252
|
// successive boosted or non-boosted series (#9819).
|
|
253
253
|
zIndex: series.options.zIndex
|
|
254
|
-
})
|
|
255
|
-
.clip(boost.clipRect);
|
|
254
|
+
});
|
|
256
255
|
if (target instanceof ChartClass) {
|
|
257
256
|
target.boost.markerGroup = target.renderer
|
|
258
257
|
.g()
|
|
@@ -263,7 +262,15 @@ function createAndAttachRenderer(chart, series) {
|
|
|
263
262
|
boost.canvas.width = width;
|
|
264
263
|
boost.canvas.height = height;
|
|
265
264
|
if (boost.clipRect) {
|
|
266
|
-
|
|
265
|
+
const box = getBoostClipRect(chart, target),
|
|
266
|
+
// When using panes, the image itself must be clipped. When not
|
|
267
|
+
// using panes, it is better to clip the target group, because then
|
|
268
|
+
// we preserve clipping on touch- and mousewheel zoom preview.
|
|
269
|
+
clippedElement = (box.width === chart.clipBox.width &&
|
|
270
|
+
box.height === chart.clipBox.height) ? targetGroup :
|
|
271
|
+
(boost.targetFo || boost.target);
|
|
272
|
+
boost.clipRect.attr(box);
|
|
273
|
+
clippedElement?.clip(boost.clipRect);
|
|
267
274
|
}
|
|
268
275
|
boost.resize();
|
|
269
276
|
boost.clear();
|
|
@@ -315,7 +322,9 @@ function destroyGraphics(series) {
|
|
|
315
322
|
series[prop] = seriesProp.destroy();
|
|
316
323
|
}
|
|
317
324
|
});
|
|
318
|
-
series.zones
|
|
325
|
+
for (const zone of series.zones) {
|
|
326
|
+
destroyObjectProperties(zone, void 0, true);
|
|
327
|
+
}
|
|
319
328
|
}
|
|
320
329
|
/**
|
|
321
330
|
* An "async" foreach loop. Uses a setTimeout to keep the loop from blocking the
|
|
@@ -546,6 +555,7 @@ function getPoint(series, boostPoint) {
|
|
|
546
555
|
* @private
|
|
547
556
|
*/
|
|
548
557
|
function scatterProcessData(force) {
|
|
558
|
+
var _a, _b, _c, _d;
|
|
549
559
|
const series = this, { options, xAxis, yAxis } = series;
|
|
550
560
|
// Process only on changes
|
|
551
561
|
if (!series.isDirty &&
|
|
@@ -557,7 +567,7 @@ function scatterProcessData(force) {
|
|
|
557
567
|
// Required to get tick-based zoom ranges that take options into account
|
|
558
568
|
// like `minPadding`, `maxPadding`, `startOnTick`, `endOnTick`.
|
|
559
569
|
series.yAxis.setTickInterval();
|
|
560
|
-
const boostThreshold = options.boostThreshold || 0, cropThreshold = options.cropThreshold, data = options.data || series.data, xData = series.xData, xExtremes = xAxis.getExtremes(), xMax = xExtremes.max, xMin = xExtremes.min, yData = series.yData, yExtremes = yAxis.getExtremes(), yMax = yExtremes.max, yMin = yExtremes.min;
|
|
570
|
+
const boostThreshold = options.boostThreshold || 0, cropThreshold = options.cropThreshold, data = options.data || series.data, xData = series.xData, xExtremes = xAxis.getExtremes(), xMax = xExtremes.max ?? Number.MAX_VALUE, xMin = xExtremes.min ?? -Number.MAX_VALUE, yData = series.yData, yExtremes = yAxis.getExtremes(), yMax = yExtremes.max ?? Number.MAX_VALUE, yMin = yExtremes.min ?? -Number.MAX_VALUE;
|
|
561
571
|
// Skip processing in non-boost zoom
|
|
562
572
|
if (!series.boosted &&
|
|
563
573
|
xAxis.old &&
|
|
@@ -583,8 +593,8 @@ function scatterProcessData(force) {
|
|
|
583
593
|
return true;
|
|
584
594
|
}
|
|
585
595
|
// Filter unsorted scatter data for ranges
|
|
586
|
-
const processedData = [], processedXData = [], processedYData = [];
|
|
587
|
-
let cropped = false, x, y;
|
|
596
|
+
const processedData = [], processedXData = [], processedYData = [], xRangeNeeded = !(isNumber(xExtremes.max) || isNumber(xExtremes.min)), yRangeNeeded = !(isNumber(yExtremes.max) || isNumber(yExtremes.min));
|
|
597
|
+
let cropped = false, x, xDataMax = xData[0], xDataMin = xData[0], y, yDataMax = yData[0], yDataMin = yData[0];
|
|
588
598
|
for (let i = 0, iEnd = xData.length; i < iEnd; ++i) {
|
|
589
599
|
x = xData[i];
|
|
590
600
|
y = yData[i];
|
|
@@ -593,11 +603,27 @@ function scatterProcessData(force) {
|
|
|
593
603
|
processedData.push({ x, y });
|
|
594
604
|
processedXData.push(x);
|
|
595
605
|
processedYData.push(y);
|
|
606
|
+
if (xRangeNeeded) {
|
|
607
|
+
xDataMax = Math.max(xDataMax, x);
|
|
608
|
+
xDataMin = Math.min(xDataMin, x);
|
|
609
|
+
}
|
|
610
|
+
if (yRangeNeeded) {
|
|
611
|
+
yDataMax = Math.max(yDataMax, y);
|
|
612
|
+
yDataMin = Math.min(yDataMin, y);
|
|
613
|
+
}
|
|
596
614
|
}
|
|
597
615
|
else {
|
|
598
616
|
cropped = true;
|
|
599
617
|
}
|
|
600
618
|
}
|
|
619
|
+
if (xRangeNeeded) {
|
|
620
|
+
(_a = xAxis.options).max ?? (_a.max = xDataMax);
|
|
621
|
+
(_b = xAxis.options).min ?? (_b.min = xDataMin);
|
|
622
|
+
}
|
|
623
|
+
if (yRangeNeeded) {
|
|
624
|
+
(_c = yAxis.options).max ?? (_c.max = yDataMax);
|
|
625
|
+
(_d = yAxis.options).min ?? (_d.min = yDataMin);
|
|
626
|
+
}
|
|
601
627
|
// Set properties as base processData
|
|
602
628
|
series.cropped = cropped;
|
|
603
629
|
series.cropStart = 0;
|
|
@@ -621,6 +647,13 @@ function seriesRenderCanvas() {
|
|
|
621
647
|
this.processedXData ||
|
|
622
648
|
false);
|
|
623
649
|
let renderer = false, lastClientX, yBottom = yAxis.getThreshold(threshold), minVal, maxVal, minI, maxI;
|
|
650
|
+
// When touch-zooming or mouse-panning, re-rendering the canvas would not
|
|
651
|
+
// perform fast enough. Instead, let the axes redraw, but not the series.
|
|
652
|
+
// The series is scale-translated in an event handler for an approximate
|
|
653
|
+
// preview.
|
|
654
|
+
if (xAxis.isPanning || yAxis.isPanning) {
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
624
657
|
// Get or create the renderer
|
|
625
658
|
renderer = createAndAttachRenderer(chart, this);
|
|
626
659
|
chart.boosted = true;
|
|
@@ -643,7 +676,7 @@ function seriesRenderCanvas() {
|
|
|
643
676
|
this.markerGroup = this.plotGroup('markerGroup', 'markers', true, 1, chart.seriesGroup);
|
|
644
677
|
}
|
|
645
678
|
else {
|
|
646
|
-
// If series has a private
|
|
679
|
+
// If series has a private markerGroup, remove that
|
|
647
680
|
// and use common markerGroup
|
|
648
681
|
if (this.markerGroup &&
|
|
649
682
|
this.markerGroup !== chart.boost.markerGroup) {
|
|
@@ -697,6 +730,7 @@ function seriesRenderCanvas() {
|
|
|
697
730
|
};
|
|
698
731
|
// Do not start building while drawing
|
|
699
732
|
this.buildKDTree = noop;
|
|
733
|
+
fireEvent(this, 'renderCanvas');
|
|
700
734
|
if (renderer) {
|
|
701
735
|
allocateIfNotSeriesBoosting(renderer, this);
|
|
702
736
|
renderer.pushSeries(this);
|
|
@@ -882,9 +916,16 @@ function wrapSeriesFunctions(seriesProto, seriesTypes, method) {
|
|
|
882
916
|
* @private
|
|
883
917
|
*/
|
|
884
918
|
function wrapSeriesGetExtremes(proceed) {
|
|
885
|
-
if (this.boosted
|
|
886
|
-
hasExtremes(this)) {
|
|
887
|
-
|
|
919
|
+
if (this.boosted) {
|
|
920
|
+
if (hasExtremes(this)) {
|
|
921
|
+
return {};
|
|
922
|
+
}
|
|
923
|
+
if (this.xAxis.isPanning || this.yAxis.isPanning) {
|
|
924
|
+
// Do not re-compute the extremes during panning, because looping
|
|
925
|
+
// the data is expensive. The `this` contains the `dataMin` and
|
|
926
|
+
// `dataMax` to use.
|
|
927
|
+
return this;
|
|
928
|
+
}
|
|
888
929
|
}
|
|
889
930
|
return proceed.apply(this, [].slice.call(arguments, 1));
|
|
890
931
|
}
|
|
@@ -908,6 +949,10 @@ function wrapSeriesProcessData(proceed) {
|
|
|
908
949
|
// Use processedYData for the stack (#7481):
|
|
909
950
|
series.options.stacking ||
|
|
910
951
|
!hasExtremes(series, true)) {
|
|
952
|
+
// Do nothing until the panning stops
|
|
953
|
+
if (series.boosted && (series.xAxis?.isPanning || series.yAxis?.isPanning)) {
|
|
954
|
+
return;
|
|
955
|
+
}
|
|
911
956
|
// Extra check for zoomed scatter data
|
|
912
957
|
if (isScatter && !series.yAxis.treeGrid) {
|
|
913
958
|
scatterProcessData.call(series, arguments[1]);
|
|
@@ -612,8 +612,8 @@ class WGLRenderer {
|
|
|
612
612
|
// y = plotHeight;
|
|
613
613
|
// }
|
|
614
614
|
if (x > plotWidth) {
|
|
615
|
-
// If this is
|
|
616
|
-
// entirely, as we're not
|
|
615
|
+
// If this is rendered as a point, just skip drawing it
|
|
616
|
+
// entirely, as we're not dependant on lineTo'ing to it.
|
|
617
617
|
// See #8197
|
|
618
618
|
if (inst.drawMode === 'POINTS') {
|
|
619
619
|
continue;
|
|
@@ -727,7 +727,7 @@ class WGLRenderer {
|
|
|
727
727
|
}
|
|
728
728
|
/**
|
|
729
729
|
* Push a series to the renderer
|
|
730
|
-
* If we render the series
|
|
730
|
+
* If we render the series immediately, we don't have to loop later
|
|
731
731
|
* @private
|
|
732
732
|
* @param {Highchart.Series} s
|
|
733
733
|
* The series to push.
|
|
@@ -88,7 +88,7 @@ class WGLVertexBuffer {
|
|
|
88
88
|
* @param {string} attrib
|
|
89
89
|
* Name of the Attribute to bind the buffer to
|
|
90
90
|
* @param {number} dataComponents
|
|
91
|
-
*
|
|
91
|
+
* Number of components per. indice
|
|
92
92
|
*/
|
|
93
93
|
build(dataIn, attrib, dataComponents) {
|
|
94
94
|
let farray;
|
|
@@ -20,9 +20,9 @@ const { destroyGraphics } = BoostSeries;
|
|
|
20
20
|
import Color from '../Core/Color/Color.js';
|
|
21
21
|
const { parse: color } = Color;
|
|
22
22
|
import H from '../Core/Globals.js';
|
|
23
|
-
const {
|
|
23
|
+
const { doc, noop } = H;
|
|
24
24
|
import U from '../Core/Utilities.js';
|
|
25
|
-
const { addEvent, fireEvent, isNumber, merge, pick,
|
|
25
|
+
const { addEvent, fireEvent, isNumber, merge, pick, wrap } = U;
|
|
26
26
|
/* *
|
|
27
27
|
*
|
|
28
28
|
* Namespace
|
|
@@ -79,8 +79,9 @@ var BoostCanvas;
|
|
|
79
79
|
* @private
|
|
80
80
|
*/
|
|
81
81
|
function compose(ChartClass, SeriesClass, seriesTypes) {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
const seriesProto = SeriesClass.prototype;
|
|
83
|
+
if (!seriesProto.renderCanvas) {
|
|
84
|
+
const { area: AreaSeries, bubble: BubbleSeries, column: ColumnSeries, heatmap: HeatmapSeries, scatter: ScatterSeries } = seriesTypes;
|
|
84
85
|
ChartConstructor = ChartClass;
|
|
85
86
|
ChartClass.prototype.callbacks.push((chart) => {
|
|
86
87
|
addEvent(chart, 'predraw', onChartClear);
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
import D from '../Core/Defaults.js';
|
|
14
14
|
const { defaultOptions } = D;
|
|
15
15
|
import H from '../Core/Globals.js';
|
|
16
|
-
const {
|
|
16
|
+
const { noop } = H;
|
|
17
17
|
import U from '../Core/Utilities.js';
|
|
18
|
-
const { addEvent, extend, isObject, merge,
|
|
18
|
+
const { addEvent, extend, isObject, merge, relativeLength } = U;
|
|
19
19
|
/* *
|
|
20
20
|
*
|
|
21
21
|
* Constants
|
|
@@ -207,8 +207,9 @@ function seriesOnAfterColumnTranslate() {
|
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
/** @private */
|
|
210
|
-
function compose(SeriesClass,
|
|
211
|
-
|
|
210
|
+
function compose(SeriesClass, SVGElementClass, SVGRendererClass) {
|
|
211
|
+
const PieSeriesClass = SeriesClass.types.pie;
|
|
212
|
+
if (!SVGElementClass.symbolCustomAttribs.includes('borderRadius')) {
|
|
212
213
|
const symbols = SVGRendererClass.prototype.symbols;
|
|
213
214
|
addEvent(SeriesClass, 'afterColumnTranslate', seriesOnAfterColumnTranslate, {
|
|
214
215
|
// After columnrange and polar column modifications
|
|
@@ -113,7 +113,7 @@ class Breadcrumbs {
|
|
|
113
113
|
*
|
|
114
114
|
* */
|
|
115
115
|
static compose(ChartClass, highchartsDefaultOptions) {
|
|
116
|
-
if (pushUnique(composed,
|
|
116
|
+
if (pushUnique(composed, 'Breadcrumbs')) {
|
|
117
117
|
addEvent(ChartClass, 'destroy', onChartDestroy);
|
|
118
118
|
addEvent(ChartClass, 'afterShowResetZoom', onChartAfterShowResetZoom);
|
|
119
119
|
addEvent(ChartClass, 'getMargins', onChartGetMargins);
|
|
@@ -172,7 +172,7 @@ class Breadcrumbs {
|
|
|
172
172
|
this.list = list;
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
|
-
*
|
|
175
|
+
* Calculate level on which chart currently is.
|
|
176
176
|
*
|
|
177
177
|
* @requires modules/breadcrumbs
|
|
178
178
|
*
|
|
@@ -227,7 +227,7 @@ class Breadcrumbs {
|
|
|
227
227
|
/**
|
|
228
228
|
* Redraw.
|
|
229
229
|
*
|
|
230
|
-
* @requires modules/
|
|
230
|
+
* @requires modules/breadcrumbs
|
|
231
231
|
*
|
|
232
232
|
* @function Highcharts.Breadcrumbs#redraw
|
|
233
233
|
* @param {Highcharts.Breadcrumbs} this
|
|
@@ -301,7 +301,7 @@ class Breadcrumbs {
|
|
|
301
301
|
const breadcrumbs = this, chart = breadcrumbs.chart, list = breadcrumbs.list, breadcrumbsOptions = breadcrumbs.options, buttonSpacing = breadcrumbsOptions.buttonSpacing;
|
|
302
302
|
// Make sure that only one type of button is visible.
|
|
303
303
|
this.destroyListElements();
|
|
304
|
-
// Draw breadcrumbs.
|
|
304
|
+
// Draw breadcrumbs. Initial position for calculating the breadcrumbs
|
|
305
305
|
// group.
|
|
306
306
|
const posX = breadcrumbs.group ?
|
|
307
307
|
breadcrumbs.group.getBBox().width :
|
|
@@ -335,7 +335,7 @@ class Breadcrumbs {
|
|
|
335
335
|
const breadcrumbsOptions = breadcrumbs.options, buttonTheme = breadcrumbsOptions.buttonTheme, positionOptions = breadcrumbsOptions.position, alignTo = (breadcrumbsOptions.relativeTo === 'chart' ||
|
|
336
336
|
breadcrumbsOptions.relativeTo === 'spacingBox' ?
|
|
337
337
|
void 0 :
|
|
338
|
-
'
|
|
338
|
+
'plotBox'), bBox = breadcrumbs.group.getBBox(), additionalSpace = 2 * (buttonTheme.padding || 0) +
|
|
339
339
|
breadcrumbsOptions.buttonSpacing;
|
|
340
340
|
// Store positionOptions
|
|
341
341
|
positionOptions.width = bBox.width + additionalSpace;
|
|
@@ -355,7 +355,7 @@ class Breadcrumbs {
|
|
|
355
355
|
/**
|
|
356
356
|
* Render a button.
|
|
357
357
|
*
|
|
358
|
-
* @requires modules/
|
|
358
|
+
* @requires modules/breadcrumbs
|
|
359
359
|
*
|
|
360
360
|
* @function Highcharts.Breadcrumbs#renderButton
|
|
361
361
|
* @param {Highcharts.Breadcrumbs} this
|
|
@@ -403,7 +403,7 @@ class Breadcrumbs {
|
|
|
403
403
|
/**
|
|
404
404
|
* Render a separator.
|
|
405
405
|
*
|
|
406
|
-
* @requires modules/
|
|
406
|
+
* @requires modules/breadcrumbs
|
|
407
407
|
*
|
|
408
408
|
* @function Highcharts.Breadcrumbs#renderSeparator
|
|
409
409
|
* @param {Highcharts.Breadcrumbs} this
|
|
@@ -472,7 +472,7 @@ class Breadcrumbs {
|
|
|
472
472
|
*/
|
|
473
473
|
destroy() {
|
|
474
474
|
this.destroySingleButton();
|
|
475
|
-
// Destroy elements one by one. It's necessary
|
|
475
|
+
// Destroy elements one by one. It's necessary because
|
|
476
476
|
// g().destroy() does not remove added HTML
|
|
477
477
|
this.destroyListElements(true);
|
|
478
478
|
// Then, destroy the group itself.
|
|
@@ -553,7 +553,7 @@ class Breadcrumbs {
|
|
|
553
553
|
}, adjustToRTL = function (element, posX, posY) {
|
|
554
554
|
element.translate(posX - element.getBBox().width, posY);
|
|
555
555
|
};
|
|
556
|
-
//
|
|
556
|
+
// Initial position for calculating the breadcrumbs group.
|
|
557
557
|
let posX = breadcrumbs.group ?
|
|
558
558
|
updateXPosition(breadcrumbs.group, buttonSpacing) :
|
|
559
559
|
buttonSpacing, currentBreadcrumb, breadcrumb;
|
|
@@ -76,7 +76,7 @@ const defaultOptions = {
|
|
|
76
76
|
* @private
|
|
77
77
|
*/
|
|
78
78
|
function compose(AxisClass, PlotLineOrBandClass) {
|
|
79
|
-
if (pushUnique(composed,
|
|
79
|
+
if (pushUnique(composed, 'CurrentDateIndication')) {
|
|
80
80
|
addEvent(AxisClass, 'afterSetOptions', onAxisAfterSetOptions);
|
|
81
81
|
addEvent(PlotLineOrBandClass, 'render', onPlotLineOrBandRender);
|
|
82
82
|
wrap(PlotLineOrBandClass.prototype, 'getLabelText', wrapPlotLineOrBandGetLabelText);
|
|
@@ -377,7 +377,7 @@ class Data {
|
|
|
377
377
|
it's stable and passes all the test.
|
|
378
378
|
|
|
379
379
|
It's also not written with speed in mind, instead everything is
|
|
380
|
-
very
|
|
380
|
+
very segregated, and there a several redundant loops.
|
|
381
381
|
This is to make it easier to stabilize the code initially.
|
|
382
382
|
|
|
383
383
|
We do a pre-pass on the first 4 rows to make some intelligent
|
|
@@ -399,7 +399,7 @@ class Data {
|
|
|
399
399
|
General rules:
|
|
400
400
|
- Quoting is allowed, e.g: "Col 1",123,321
|
|
401
401
|
- Quoting is optional, e.g.: Col1,123,321
|
|
402
|
-
-
|
|
402
|
+
- Double quoting is escaping, e.g. "Col ""Hello world""",123
|
|
403
403
|
- Spaces are considered part of the data: Col1 ,123
|
|
404
404
|
- New line is always the row delimiter
|
|
405
405
|
- Potential column delimiters are , ; \t
|
|
@@ -461,7 +461,7 @@ class Data {
|
|
|
461
461
|
columns.push([]);
|
|
462
462
|
}
|
|
463
463
|
if (!noAdd) {
|
|
464
|
-
// Don't push - if there's a
|
|
464
|
+
// Don't push - if there's a varying amount of columns
|
|
465
465
|
// for each row, pushing will skew everything down n slots
|
|
466
466
|
columns[column][rowNumber] = token;
|
|
467
467
|
}
|
|
@@ -688,7 +688,7 @@ class Data {
|
|
|
688
688
|
guessedFormat[2] = 'YY';
|
|
689
689
|
}
|
|
690
690
|
calculatedFormat = guessedFormat.join('/');
|
|
691
|
-
// If the
|
|
691
|
+
// If the calculated format is not valid, we need to present an
|
|
692
692
|
// error.
|
|
693
693
|
if (!(options.dateFormats || self.dateFormats)[calculatedFormat]) {
|
|
694
694
|
// This should emit an event instead
|
|
@@ -976,7 +976,7 @@ class Data {
|
|
|
976
976
|
if (googleSpreadsheetKey) {
|
|
977
977
|
delete options.googleSpreadsheetKey;
|
|
978
978
|
fetchSheet(function (json) {
|
|
979
|
-
// Prepare the data from the
|
|
979
|
+
// Prepare the data from the spreadsheet
|
|
980
980
|
const columns = json.values;
|
|
981
981
|
if (!columns || columns.length === 0) {
|
|
982
982
|
return false;
|
|
@@ -1024,7 +1024,7 @@ class Data {
|
|
|
1024
1024
|
trim(str, inside) {
|
|
1025
1025
|
if (typeof str === 'string') {
|
|
1026
1026
|
str = str.replace(/^\s+|\s+$/g, '');
|
|
1027
|
-
// Clear white space
|
|
1027
|
+
// Clear white space inside the string, like thousands separators
|
|
1028
1028
|
if (inside && /^-?[0-9\s]+$/.test(str)) {
|
|
1029
1029
|
str = str.replace(/\s/g, '');
|
|
1030
1030
|
}
|
|
@@ -1588,7 +1588,7 @@ class SeriesBuilder {
|
|
|
1588
1588
|
/**
|
|
1589
1589
|
* Returns true if the builder has a reader for the given configName.
|
|
1590
1590
|
*
|
|
1591
|
-
* @function
|
|
1591
|
+
* @function SeriesBuilder#hasReader
|
|
1592
1592
|
*/
|
|
1593
1593
|
hasReader(configName) {
|
|
1594
1594
|
let i, columnReader;
|
|
@@ -1632,7 +1632,7 @@ export default Data;
|
|
|
1632
1632
|
* The chart options that were used.
|
|
1633
1633
|
*/
|
|
1634
1634
|
/**
|
|
1635
|
-
* Callback function that returns the
|
|
1635
|
+
* Callback function that returns the corresponding Date object to a match.
|
|
1636
1636
|
*
|
|
1637
1637
|
* @callback Highcharts.DataDateFormatCallbackFunction
|
|
1638
1638
|
*
|
|
@@ -1671,7 +1671,7 @@ export default Data;
|
|
|
1671
1671
|
* Timestamp (milliseconds since 1.1.1970) as integer for Date class.
|
|
1672
1672
|
*/
|
|
1673
1673
|
/**
|
|
1674
|
-
* Callback function to access the parsed columns, the two-
|
|
1674
|
+
* Callback function to access the parsed columns, the two-dimensional
|
|
1675
1675
|
* input data array directly, before they are interpreted into series
|
|
1676
1676
|
* data and categories.
|
|
1677
1677
|
*
|
|
@@ -1942,7 +1942,7 @@ export default Data;
|
|
|
1942
1942
|
* @apioption data.lineDelimiter
|
|
1943
1943
|
*/
|
|
1944
1944
|
/**
|
|
1945
|
-
* A callback function to access the parsed columns, the two-
|
|
1945
|
+
* A callback function to access the parsed columns, the two-dimensional
|
|
1946
1946
|
* input data array directly, before they are interpreted into series
|
|
1947
1947
|
* data and categories. Return `false` to stop completion, or call
|
|
1948
1948
|
* `this.complete()` to continue async.
|
|
@@ -1967,7 +1967,7 @@ export default Data;
|
|
|
1967
1967
|
* @apioption data.parseDate
|
|
1968
1968
|
*/
|
|
1969
1969
|
/**
|
|
1970
|
-
* The same as the columns input option, but defining rows
|
|
1970
|
+
* The same as the columns input option, but defining rows instead of
|
|
1971
1971
|
* columns.
|
|
1972
1972
|
*
|
|
1973
1973
|
* @see [data.columns](#data.columns)
|
|
@@ -29,7 +29,7 @@ function compose(AxisClass, SeriesClass, TooltipClass) {
|
|
|
29
29
|
DataGroupingAxisComposition.compose(AxisClass);
|
|
30
30
|
DataGroupingSeriesComposition.compose(SeriesClass);
|
|
31
31
|
if (TooltipClass &&
|
|
32
|
-
pushUnique(composed,
|
|
32
|
+
pushUnique(composed, 'DataGrouping')) {
|
|
33
33
|
addEvent(TooltipClass, 'headerFormatter', onTooltipHeaderFormatter);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -9,10 +9,8 @@
|
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
11
|
import DataGroupingDefaults from './DataGroupingDefaults.js';
|
|
12
|
-
import H from '../../Core/Globals.js';
|
|
13
|
-
const { composed } = H;
|
|
14
12
|
import U from '../../Core/Utilities.js';
|
|
15
|
-
const { addEvent, extend, merge, pick
|
|
13
|
+
const { addEvent, extend, merge, pick } = U;
|
|
16
14
|
/* *
|
|
17
15
|
*
|
|
18
16
|
* Variables
|
|
@@ -54,12 +52,13 @@ function applyGrouping(e) {
|
|
|
54
52
|
*/
|
|
55
53
|
function compose(AxisClass) {
|
|
56
54
|
AxisConstructor = AxisClass;
|
|
57
|
-
|
|
55
|
+
const axisProto = AxisClass.prototype;
|
|
56
|
+
if (!axisProto.applyGrouping) {
|
|
58
57
|
addEvent(AxisClass, 'afterSetScale', onAfterSetScale);
|
|
59
58
|
// When all series are processed, calculate the group pixel width and
|
|
60
59
|
// then if this value is different than zero apply groupings.
|
|
61
60
|
addEvent(AxisClass, 'postProcessData', applyGrouping);
|
|
62
|
-
extend(
|
|
61
|
+
extend(axisProto, {
|
|
63
62
|
applyGrouping,
|
|
64
63
|
getGroupPixelWidth,
|
|
65
64
|
setDataGrouping
|
|
@@ -97,8 +96,8 @@ function getGroupPixelWidth() {
|
|
|
97
96
|
return doGrouping ? groupPixelWidth : 0;
|
|
98
97
|
}
|
|
99
98
|
/**
|
|
100
|
-
* When resetting the scale reset the
|
|
101
|
-
* previous data grouping of neighbour series into
|
|
99
|
+
* When resetting the scale reset the hasProcessed flag to avoid taking
|
|
100
|
+
* previous data grouping of neighbour series into account when determining
|
|
102
101
|
* group pixel width (#2692).
|
|
103
102
|
* @private
|
|
104
103
|
*/
|
|
@@ -140,7 +139,7 @@ function setDataGrouping(dataGrouping, redraw) {
|
|
|
140
139
|
dataGrouping: dataGrouping
|
|
141
140
|
}, false);
|
|
142
141
|
}
|
|
143
|
-
// Axis not yet
|
|
142
|
+
// Axis not yet instantiated, alter series options
|
|
144
143
|
}
|
|
145
144
|
else {
|
|
146
145
|
this.chart.options.series.forEach(function (seriesOptions) {
|
|
@@ -150,7 +149,7 @@ function setDataGrouping(dataGrouping, redraw) {
|
|
|
150
149
|
merge(dataGrouping, seriesOptions.dataGrouping);
|
|
151
150
|
});
|
|
152
151
|
}
|
|
153
|
-
// Clear ordinal slope, so we won't
|
|
152
|
+
// Clear ordinal slope, so we won't accidentally use the old one (#7827)
|
|
154
153
|
if (axis.ordinal) {
|
|
155
154
|
axis.ordinal.slope = void 0;
|
|
156
155
|
}
|