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
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2024 Mateusz Bernacik
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
import Chart from '../../Core/Chart/Chart.js';
|
|
12
|
+
import Navigator from './Navigator.js';
|
|
13
|
+
import G from '../../Core/Globals.js';
|
|
14
|
+
import U from '../../Core/Utilities.js';
|
|
15
|
+
import Axis from '../../Core/Axis/Axis.js';
|
|
16
|
+
import standaloneNavigatorDefaults from './StandaloneNavigatorDefaults.js';
|
|
17
|
+
const { merge, addEvent, fireEvent, pick } = U;
|
|
18
|
+
/* *
|
|
19
|
+
*
|
|
20
|
+
* Class
|
|
21
|
+
*
|
|
22
|
+
* */
|
|
23
|
+
/**
|
|
24
|
+
* The StandaloneNavigator class. The StandaloneNavigator class allows for
|
|
25
|
+
* creating a standalone navigator component that synchronizes the extremes
|
|
26
|
+
* across multiple bound charts.
|
|
27
|
+
*
|
|
28
|
+
* @class
|
|
29
|
+
* @name Highcharts.StandaloneNavigator
|
|
30
|
+
*
|
|
31
|
+
* @param {string|Highcharts.HTMLDOMElement} [renderTo]
|
|
32
|
+
* The DOM element to render to, or its id.
|
|
33
|
+
*
|
|
34
|
+
* @param {StandaloneNavigatorOptions} userOptions
|
|
35
|
+
* The standalone navigator options.
|
|
36
|
+
*/
|
|
37
|
+
class StandaloneNavigator {
|
|
38
|
+
/* *
|
|
39
|
+
*
|
|
40
|
+
* Static Functions
|
|
41
|
+
*
|
|
42
|
+
* */
|
|
43
|
+
/**
|
|
44
|
+
* Factory function for standalone navigator.
|
|
45
|
+
*
|
|
46
|
+
* @function Highcharts.navigator
|
|
47
|
+
*
|
|
48
|
+
* @param {string|Highcharts.HTMLDOMElement} [renderTo]
|
|
49
|
+
* The DOM element to render to, or its id.
|
|
50
|
+
*
|
|
51
|
+
* @param {StandaloneNavigatorOptions} options
|
|
52
|
+
* The standalone navigator options with chart-like structure.
|
|
53
|
+
*
|
|
54
|
+
* Returns the navigator object.
|
|
55
|
+
*/
|
|
56
|
+
static navigator(renderTo, options) {
|
|
57
|
+
const nav = new StandaloneNavigator(renderTo, options);
|
|
58
|
+
if (!G.navigators) {
|
|
59
|
+
G.navigators = [nav];
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
G.navigators.push(nav);
|
|
63
|
+
}
|
|
64
|
+
return nav;
|
|
65
|
+
}
|
|
66
|
+
/* *
|
|
67
|
+
*
|
|
68
|
+
* Constructor
|
|
69
|
+
*
|
|
70
|
+
* */
|
|
71
|
+
constructor(element, userOptions) {
|
|
72
|
+
this.boundAxes = [];
|
|
73
|
+
this.userOptions = userOptions;
|
|
74
|
+
this.chartOptions = merge(G.getOptions(), standaloneNavigatorDefaults, { navigator: userOptions });
|
|
75
|
+
const chart = new Chart(element, this.chartOptions);
|
|
76
|
+
chart.options = merge(chart.options, { navigator: { enabled: true }, scrollbar: { enabled: true } });
|
|
77
|
+
if (this.chartOptions.navigator && this.chartOptions.scrollbar) {
|
|
78
|
+
this.chartOptions.navigator.enabled = true;
|
|
79
|
+
this.chartOptions.scrollbar.enabled = true;
|
|
80
|
+
}
|
|
81
|
+
this.navigator = new Navigator(chart);
|
|
82
|
+
chart.navigator = this.navigator;
|
|
83
|
+
this.initNavigator();
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Binds an axis to the standalone navigator,
|
|
87
|
+
* allowing the navigator to control the axis' range.
|
|
88
|
+
*
|
|
89
|
+
* @sample stock/standalone-navigator/bind/
|
|
90
|
+
* Bind chart with a button
|
|
91
|
+
*
|
|
92
|
+
* @function Highcharts.StandaloneNavigator#bind
|
|
93
|
+
*
|
|
94
|
+
* @param {Axis | Chart} axisOrChart
|
|
95
|
+
* The Axis or Chart to bind to the navigator.
|
|
96
|
+
*
|
|
97
|
+
* @param {boolean} [twoWay=true]
|
|
98
|
+
* Enables two-way binding between the navigator and the axis/chart.
|
|
99
|
+
* When true, changes in the navigator's range will update the axis
|
|
100
|
+
* and vice versa. When false, changes in the navigator's range will
|
|
101
|
+
* be reflected in the axis, but changes in the axis ranges won't be
|
|
102
|
+
* reflected on the navigator.
|
|
103
|
+
*/
|
|
104
|
+
bind(axisOrChart, twoWay = true) {
|
|
105
|
+
const nav = this;
|
|
106
|
+
// If the chart is passed, bind the first xAxis
|
|
107
|
+
const axis = (axisOrChart instanceof Chart) ?
|
|
108
|
+
axisOrChart.xAxis[0] :
|
|
109
|
+
axisOrChart;
|
|
110
|
+
if (!(axis instanceof Axis)) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const { min, max } = this.navigator.xAxis, removeEventCallbacks = [];
|
|
114
|
+
if (twoWay) {
|
|
115
|
+
const removeSetExtremesEvent = addEvent(axis, 'setExtremes', (e) => {
|
|
116
|
+
if (e.trigger === 'pan' ||
|
|
117
|
+
e.trigger === 'zoom' ||
|
|
118
|
+
e.trigger === 'mouseWheelZoom') {
|
|
119
|
+
nav.setRange(e.min, e.max, true, e.trigger !== 'pan', { trigger: axis });
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
removeEventCallbacks.push(removeSetExtremesEvent);
|
|
123
|
+
}
|
|
124
|
+
const removeSetRangeEvent = addEvent(this.navigator, 'setRange', (e) => {
|
|
125
|
+
axis.setExtremes(e.min, e.max, e.redraw, e.animation);
|
|
126
|
+
});
|
|
127
|
+
removeEventCallbacks.push(removeSetRangeEvent);
|
|
128
|
+
let boundAxis = this.boundAxes.filter(function (boundAxis) {
|
|
129
|
+
return boundAxis.axis === axis;
|
|
130
|
+
})[0];
|
|
131
|
+
if (!boundAxis) {
|
|
132
|
+
boundAxis = { axis, callbacks: [] };
|
|
133
|
+
this.boundAxes.push(boundAxis);
|
|
134
|
+
}
|
|
135
|
+
boundAxis.callbacks = removeEventCallbacks;
|
|
136
|
+
// Show axis' series in navigator based on showInNavigator property
|
|
137
|
+
axis.series.forEach((series) => {
|
|
138
|
+
if (series.options.showInNavigator) {
|
|
139
|
+
nav.addSeries(series.options);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
// Set extremes to match the navigator's extremes
|
|
143
|
+
axis.setExtremes(min, max);
|
|
144
|
+
// Unbind the axis before it's destroyed
|
|
145
|
+
addEvent(axis, 'destroy', (e) => {
|
|
146
|
+
if (!e.keepEvents) {
|
|
147
|
+
this.unbind(axis);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Unbinds a single axis or all bound axes from the standalone navigator.
|
|
153
|
+
*
|
|
154
|
+
* @sample stock/standalone-navigator/unbind/
|
|
155
|
+
* Unbind chart with a button
|
|
156
|
+
*
|
|
157
|
+
* @function Highcharts.StandaloneNavigator#unbind
|
|
158
|
+
*
|
|
159
|
+
* @param {Chart | Axis | undefined} axisOrChart
|
|
160
|
+
* Passing a Chart object unbinds the first X axis of the chart,
|
|
161
|
+
* an Axis object unbinds that specific axis,
|
|
162
|
+
* and undefined unbinds all axes bound to the navigator.
|
|
163
|
+
*/
|
|
164
|
+
unbind(axisOrChart) {
|
|
165
|
+
// If no axis or chart is provided, unbind all bound axes
|
|
166
|
+
if (!axisOrChart) {
|
|
167
|
+
this.boundAxes.forEach(({ callbacks }) => {
|
|
168
|
+
callbacks.forEach((removeCallback) => removeCallback());
|
|
169
|
+
});
|
|
170
|
+
this.boundAxes.length = 0;
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
const axis = (axisOrChart instanceof Axis) ?
|
|
174
|
+
axisOrChart :
|
|
175
|
+
axisOrChart.xAxis[0];
|
|
176
|
+
for (let i = this.boundAxes.length - 1; i >= 0; i--) {
|
|
177
|
+
if (this.boundAxes[i].axis === axis) {
|
|
178
|
+
this.boundAxes[i].callbacks.forEach((callback) => callback());
|
|
179
|
+
this.boundAxes.splice(i, 1);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Destroys allocated standalone navigator elements.
|
|
185
|
+
*
|
|
186
|
+
* @function Highcharts.StandaloneNavigator#destroy
|
|
187
|
+
*/
|
|
188
|
+
destroy() {
|
|
189
|
+
// Disconnect events
|
|
190
|
+
this.boundAxes.forEach(({ callbacks }) => {
|
|
191
|
+
callbacks.forEach((removeCallback) => removeCallback());
|
|
192
|
+
});
|
|
193
|
+
this.boundAxes.length = 0;
|
|
194
|
+
this.navigator.destroy();
|
|
195
|
+
this.navigator.chart.destroy();
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Updates the standalone navigator's options with a new set of user
|
|
199
|
+
* options.
|
|
200
|
+
*
|
|
201
|
+
* @sample stock/standalone-navigator/update/
|
|
202
|
+
* Bind chart with a button
|
|
203
|
+
*
|
|
204
|
+
* @function Highcharts.StandaloneNavigator#update
|
|
205
|
+
*
|
|
206
|
+
* @param {StandaloneNavigatorOptions} newOptions
|
|
207
|
+
* Updates the standalone navigator's options with new user options.
|
|
208
|
+
*
|
|
209
|
+
* @param {boolean | undefined} redraw
|
|
210
|
+
* Whether to redraw the standalone navigator. By default, if not
|
|
211
|
+
* specified, the standalone navigator will be redrawn.
|
|
212
|
+
*/
|
|
213
|
+
update(newOptions, redraw) {
|
|
214
|
+
this.chartOptions = merge(this.chartOptions, { navigator: newOptions });
|
|
215
|
+
this.navigator.chart.update(this.chartOptions, redraw);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Redraws the standalone navigator.
|
|
219
|
+
*
|
|
220
|
+
* @function Highcharts.StandaloneNavigator#redraw
|
|
221
|
+
*/
|
|
222
|
+
redraw() {
|
|
223
|
+
this.navigator.chart.redraw();
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Adds a series to the standalone navigator.
|
|
227
|
+
*
|
|
228
|
+
* @private
|
|
229
|
+
*
|
|
230
|
+
* @param {SeriesOptions} seriesOptions
|
|
231
|
+
* Options for the series to be added to the navigator.
|
|
232
|
+
*/
|
|
233
|
+
addSeries(seriesOptions) {
|
|
234
|
+
this.navigator.chart.addSeries(merge(seriesOptions, { showInNavigator: pick(seriesOptions.showInNavigator, true) }));
|
|
235
|
+
this.navigator.setBaseSeries();
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Initialize the standalone navigator.
|
|
239
|
+
*
|
|
240
|
+
* @private
|
|
241
|
+
*/
|
|
242
|
+
initNavigator() {
|
|
243
|
+
const nav = this.navigator;
|
|
244
|
+
nav.top = 1;
|
|
245
|
+
nav.xAxis.setScale();
|
|
246
|
+
nav.yAxis.setScale();
|
|
247
|
+
nav.xAxis.render();
|
|
248
|
+
nav.yAxis.render();
|
|
249
|
+
nav.series?.forEach((s) => {
|
|
250
|
+
s.translate();
|
|
251
|
+
s.render();
|
|
252
|
+
s.redraw();
|
|
253
|
+
});
|
|
254
|
+
const { min, max } = this.getInitialExtremes();
|
|
255
|
+
nav.chart.xAxis[0].userMin = min;
|
|
256
|
+
nav.chart.xAxis[0].userMax = max;
|
|
257
|
+
nav.render(min, max);
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Get the current range of the standalone navigator.
|
|
261
|
+
*
|
|
262
|
+
* @sample stock/standalone-navigator/getrange/
|
|
263
|
+
* Report the standalone navigator's range by clicking on a button
|
|
264
|
+
*
|
|
265
|
+
* @function Highcharts.StandaloneNavigator#getRange
|
|
266
|
+
*
|
|
267
|
+
* @return {Highcharts.ExtremesObject}
|
|
268
|
+
* The current range of the standalone navigator.
|
|
269
|
+
*/
|
|
270
|
+
getRange() {
|
|
271
|
+
const { min, max } = this.navigator.chart.xAxis[0].getExtremes(), { userMin, userMax, min: dataMin, max: dataMax } = this.navigator.xAxis.getExtremes();
|
|
272
|
+
return {
|
|
273
|
+
min: pick(min, dataMin),
|
|
274
|
+
max: pick(max, dataMax),
|
|
275
|
+
dataMin,
|
|
276
|
+
dataMax,
|
|
277
|
+
userMin,
|
|
278
|
+
userMax
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Set the range of the standalone navigator.
|
|
283
|
+
*
|
|
284
|
+
* @sample stock/standalone-navigator/setrange/
|
|
285
|
+
* Set range from a button
|
|
286
|
+
*
|
|
287
|
+
* @function Highcharts.StandaloneNavigator#setRange
|
|
288
|
+
*
|
|
289
|
+
* @param {number | undefined} min
|
|
290
|
+
* The new minimum value.
|
|
291
|
+
*
|
|
292
|
+
* @param {number | undefined} max
|
|
293
|
+
* The new maximum value.
|
|
294
|
+
*
|
|
295
|
+
* @emits Highcharts.StandaloneNavigator#event:setRange
|
|
296
|
+
*/
|
|
297
|
+
setRange(min, max, redraw, animation, eventArguments) {
|
|
298
|
+
fireEvent(this.navigator, 'setRange', {
|
|
299
|
+
min,
|
|
300
|
+
max,
|
|
301
|
+
redraw,
|
|
302
|
+
animation,
|
|
303
|
+
eventArguments: merge(eventArguments, { trigger: 'navigator' })
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Get the initial, options based extremes for the standalone navigator.
|
|
308
|
+
*
|
|
309
|
+
* @private
|
|
310
|
+
*
|
|
311
|
+
* @return {{ min: number, max: number }}
|
|
312
|
+
* The initial minimum and maximum extremes values.
|
|
313
|
+
*/
|
|
314
|
+
getInitialExtremes() {
|
|
315
|
+
const { min, max } = this.navigator.xAxis.getExtremes();
|
|
316
|
+
return {
|
|
317
|
+
min: min,
|
|
318
|
+
max: max
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
export default StandaloneNavigator;
|
|
323
|
+
/* *
|
|
324
|
+
*
|
|
325
|
+
* API Declarations
|
|
326
|
+
*
|
|
327
|
+
* */
|
|
328
|
+
/**
|
|
329
|
+
* Standalone Navigator options.
|
|
330
|
+
*
|
|
331
|
+
* @interface Highcharts.StandaloneNavigatorOptions
|
|
332
|
+
*/ /**
|
|
333
|
+
*/
|
|
334
|
+
''; // detach doclets above
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2024 Mateusz Bernacik
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
/* *
|
|
12
|
+
*
|
|
13
|
+
* Constants
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
const standaloneNavigatorDefaults = {
|
|
17
|
+
chart: {
|
|
18
|
+
height: 70,
|
|
19
|
+
margin: [0, 5, 0, 5]
|
|
20
|
+
},
|
|
21
|
+
exporting: {
|
|
22
|
+
enabled: false
|
|
23
|
+
},
|
|
24
|
+
legend: {
|
|
25
|
+
enabled: false
|
|
26
|
+
},
|
|
27
|
+
navigator: {
|
|
28
|
+
enabled: false
|
|
29
|
+
},
|
|
30
|
+
plotOptions: {
|
|
31
|
+
series: {
|
|
32
|
+
states: {
|
|
33
|
+
hover: {
|
|
34
|
+
enabled: false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
marker: {
|
|
38
|
+
enabled: false
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
scrollbar: {
|
|
43
|
+
enabled: false
|
|
44
|
+
},
|
|
45
|
+
title: {
|
|
46
|
+
text: ''
|
|
47
|
+
},
|
|
48
|
+
tooltip: {
|
|
49
|
+
enabled: false
|
|
50
|
+
},
|
|
51
|
+
xAxis: {
|
|
52
|
+
visible: false
|
|
53
|
+
},
|
|
54
|
+
yAxis: {
|
|
55
|
+
height: 0,
|
|
56
|
+
visible: false
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
/* *
|
|
60
|
+
*
|
|
61
|
+
* Default Export
|
|
62
|
+
*
|
|
63
|
+
* */
|
|
64
|
+
export default standaloneNavigatorDefaults;
|
|
@@ -106,8 +106,6 @@ class RangeSelector {
|
|
|
106
106
|
if (dataMin === null || dataMax === null) {
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
|
-
// Set the fixed range before range is altered
|
|
110
|
-
chart.fixedRange = range;
|
|
111
109
|
rangeSelector.setSelected(i);
|
|
112
110
|
// Apply dataGrouping associated to button
|
|
113
111
|
if (dataGrouping) {
|
|
@@ -200,7 +198,7 @@ class RangeSelector {
|
|
|
200
198
|
}
|
|
201
199
|
// Update the chart
|
|
202
200
|
if (!baseAxis) {
|
|
203
|
-
// Axis not yet
|
|
201
|
+
// Axis not yet instantiated. Temporarily set min and range
|
|
204
202
|
// options and remove them on chart load (#4317).
|
|
205
203
|
baseXAxisOptions = splat(chart.options.xAxis)[0];
|
|
206
204
|
rangeSetting = baseXAxisOptions.range;
|
|
@@ -208,6 +206,7 @@ class RangeSelector {
|
|
|
208
206
|
minSetting = baseXAxisOptions.min;
|
|
209
207
|
baseXAxisOptions.min = rangeMin;
|
|
210
208
|
addEvent(chart, 'load', function resetMinAndRange() {
|
|
209
|
+
chart.setFixedRange(rangeOptions._range);
|
|
211
210
|
baseXAxisOptions.range = rangeSetting;
|
|
212
211
|
baseXAxisOptions.min = minSetting;
|
|
213
212
|
});
|
|
@@ -219,6 +218,7 @@ class RangeSelector {
|
|
|
219
218
|
trigger: 'rangeSelectorButton',
|
|
220
219
|
rangeSelectorButton: rangeOptions
|
|
221
220
|
});
|
|
221
|
+
chart.setFixedRange(rangeOptions._range);
|
|
222
222
|
}
|
|
223
223
|
fireEvent(this, 'afterBtnClick');
|
|
224
224
|
}
|
|
@@ -260,7 +260,7 @@ class RangeSelector {
|
|
|
260
260
|
this.eventsToUnbind.push(addEvent(chart, 'resize', blurInputs));
|
|
261
261
|
// Extend the buttonOptions with actual range
|
|
262
262
|
buttonOptions.forEach(rangeSelector.computeButtonRange);
|
|
263
|
-
//
|
|
263
|
+
// Zoomed range based on a pre-selected button index
|
|
264
264
|
if (typeof selectedOption !== 'undefined' &&
|
|
265
265
|
buttonOptions[selectedOption]) {
|
|
266
266
|
this.clickButton(selectedOption, false);
|
|
@@ -270,8 +270,9 @@ class RangeSelector {
|
|
|
270
270
|
// when extremes change
|
|
271
271
|
if (chart.xAxis && chart.xAxis[0]) {
|
|
272
272
|
addEvent(chart.xAxis[0], 'setExtremes', function (e) {
|
|
273
|
-
if (this.max
|
|
274
|
-
|
|
273
|
+
if (isNumber(this.max) &&
|
|
274
|
+
isNumber(this.min) &&
|
|
275
|
+
this.max - this.min !== chart.fixedRange &&
|
|
275
276
|
e.trigger !== 'rangeSelectorButton' &&
|
|
276
277
|
e.trigger !== 'updatedData' &&
|
|
277
278
|
rangeSelector.forcedDataGrouping &&
|
|
@@ -312,8 +313,19 @@ class RangeSelector {
|
|
|
312
313
|
if (isSelected && isTooGreatRange) {
|
|
313
314
|
isSelectedTooGreat = true;
|
|
314
315
|
}
|
|
315
|
-
|
|
316
|
-
|
|
316
|
+
if (baseAxis.isOrdinal &&
|
|
317
|
+
baseAxis.ordinal?.positions &&
|
|
318
|
+
range &&
|
|
319
|
+
actualRange < range) {
|
|
320
|
+
// Handle ordinal ranges
|
|
321
|
+
const positions = baseAxis.ordinal.positions;
|
|
322
|
+
if (positions[positions.length - 1] - positions[0] > range) {
|
|
323
|
+
isSameRange = true;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
else if (
|
|
327
|
+
// Months and years have variable range so we check the extremes
|
|
328
|
+
(type === 'month' || type === 'year') &&
|
|
317
329
|
(actualRange + 36e5 >=
|
|
318
330
|
{ month: 28, year: 365 }[type] * day * count - offsetRange) &&
|
|
319
331
|
(actualRange - 36e5 <=
|
|
@@ -574,7 +586,7 @@ class RangeSelector {
|
|
|
574
586
|
if (value !== Number(input.getAttribute('data-hc-time-previous')) &&
|
|
575
587
|
isNumber(value)) {
|
|
576
588
|
input.setAttribute('data-hc-time-previous', value);
|
|
577
|
-
// Validate the extremes. If it goes
|
|
589
|
+
// Validate the extremes. If it goes beyond the data min or
|
|
578
590
|
// max, use the actual data extreme (#2438).
|
|
579
591
|
if (isMin && maxInput && isNumber(dataMin)) {
|
|
580
592
|
if (value > Number(maxInput.getAttribute('data-hc-time'))) {
|
|
@@ -593,7 +605,7 @@ class RangeSelector {
|
|
|
593
605
|
}
|
|
594
606
|
}
|
|
595
607
|
// Set the extremes
|
|
596
|
-
if (typeof value !== 'undefined') { // @todo
|
|
608
|
+
if (typeof value !== 'undefined') { // @todo typeof undefined
|
|
597
609
|
chartAxis.setExtremes(isMin ? value : chartAxis.min, isMin ? chartAxis.max : value, void 0, void 0, { trigger: 'rangeSelectorInput' });
|
|
598
610
|
}
|
|
599
611
|
}
|
|
@@ -608,8 +620,8 @@ class RangeSelector {
|
|
|
608
620
|
height: text ? options.inputBoxHeight : 0
|
|
609
621
|
})
|
|
610
622
|
.add(inputGroup);
|
|
611
|
-
// Create an SVG label that shows updated date ranges and
|
|
612
|
-
//
|
|
623
|
+
// Create an SVG label that shows updated date ranges and records click
|
|
624
|
+
// events that bring in the HTML input.
|
|
613
625
|
const dateBox = renderer
|
|
614
626
|
.label('', 0)
|
|
615
627
|
.addClass('highcharts-range-input')
|
|
@@ -666,7 +678,7 @@ class RangeSelector {
|
|
|
666
678
|
};
|
|
667
679
|
// Hide away the input box
|
|
668
680
|
input.onblur = () => {
|
|
669
|
-
// update
|
|
681
|
+
// update extremes only when inputs are active
|
|
670
682
|
if (input === H.doc.activeElement) { // Only when focused
|
|
671
683
|
// Update also when no `change` event is triggered, like when
|
|
672
684
|
// clicking inside the SVG (#4710)
|
|
@@ -715,7 +727,7 @@ class RangeSelector {
|
|
|
715
727
|
getPosition() {
|
|
716
728
|
const chart = this.chart, options = chart.options.rangeSelector, top = options.verticalAlign === 'top' ?
|
|
717
729
|
chart.plotTop - chart.axisOffset[0] :
|
|
718
|
-
0; // set offset only for
|
|
730
|
+
0; // set offset only for verticalAlign top
|
|
719
731
|
return {
|
|
720
732
|
buttonTop: top + options.buttonPosition.y,
|
|
721
733
|
inputTop: top + options.inputPosition.y - 10
|
|
@@ -933,7 +945,7 @@ class RangeSelector {
|
|
|
933
945
|
chartOptions.navigation.buttonOptions);
|
|
934
946
|
const { buttonPosition, inputPosition, verticalAlign } = options;
|
|
935
947
|
// Get the X offset required to avoid overlapping with the exporting
|
|
936
|
-
// button. This is
|
|
948
|
+
// button. This is used both by the buttonGroup and the inputGroup.
|
|
937
949
|
const getXOffsetForExportButton = (group, position) => {
|
|
938
950
|
if (navButtonOptions &&
|
|
939
951
|
this.titleCollision(chart) &&
|
|
@@ -1065,7 +1077,7 @@ class RangeSelector {
|
|
|
1065
1077
|
* @param {number} [width]
|
|
1066
1078
|
*/
|
|
1067
1079
|
alignButtonGroup(xOffsetForExportButton, width) {
|
|
1068
|
-
const { chart, options, buttonGroup
|
|
1080
|
+
const { chart, options, buttonGroup } = this;
|
|
1069
1081
|
const { buttonPosition } = options;
|
|
1070
1082
|
const plotLeft = chart.plotLeft - chart.spacing[3];
|
|
1071
1083
|
let translateX = buttonPosition.x - chart.spacing[3];
|
|
@@ -66,7 +66,7 @@ function axisMinFromRange() {
|
|
|
66
66
|
min = max + getTrueRange(max, -(rangeOptions.count || 1));
|
|
67
67
|
// Let the fixedRange reflect initial settings (#5930)
|
|
68
68
|
if (this.chart) {
|
|
69
|
-
this.chart.
|
|
69
|
+
this.chart.setFixedRange(max - min);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
const dataMin = pick(this.dataMin, Number.MIN_VALUE);
|
|
@@ -95,7 +95,7 @@ function axisMinFromRange() {
|
|
|
95
95
|
*/
|
|
96
96
|
function compose(AxisClass, ChartClass, RangeSelectorClass) {
|
|
97
97
|
RangeSelectorConstructor = RangeSelectorClass;
|
|
98
|
-
if (pushUnique(composed,
|
|
98
|
+
if (pushUnique(composed, 'RangeSelector')) {
|
|
99
99
|
const chartProto = ChartClass.prototype;
|
|
100
100
|
AxisClass.prototype.minFromRange = axisMinFromRange;
|
|
101
101
|
addEvent(ChartClass, 'afterGetContainer', onChartAfterGetContainer);
|
|
@@ -113,8 +113,8 @@ class Scrollbar {
|
|
|
113
113
|
*/
|
|
114
114
|
addEvents() {
|
|
115
115
|
const buttonsOrder = this.options.inverted ? [1, 0] : [0, 1], buttons = this.scrollbarButtons, bar = this.scrollbarGroup.element, track = this.track.element, mouseDownHandler = this.mouseDownHandler.bind(this), mouseMoveHandler = this.mouseMoveHandler.bind(this), mouseUpHandler = this.mouseUpHandler.bind(this);
|
|
116
|
-
// Mouse events
|
|
117
116
|
const _events = [
|
|
117
|
+
// Mouse events
|
|
118
118
|
[
|
|
119
119
|
buttons[buttonsOrder[0]].element,
|
|
120
120
|
'click',
|
|
@@ -128,12 +128,12 @@ class Scrollbar {
|
|
|
128
128
|
[track, 'click', this.trackClick.bind(this)],
|
|
129
129
|
[bar, 'mousedown', mouseDownHandler],
|
|
130
130
|
[bar.ownerDocument, 'mousemove', mouseMoveHandler],
|
|
131
|
-
[bar.ownerDocument, 'mouseup', mouseUpHandler]
|
|
131
|
+
[bar.ownerDocument, 'mouseup', mouseUpHandler],
|
|
132
|
+
// Touch events
|
|
133
|
+
[bar, 'touchstart', mouseDownHandler],
|
|
134
|
+
[bar.ownerDocument, 'touchmove', mouseMoveHandler],
|
|
135
|
+
[bar.ownerDocument, 'touchend', mouseUpHandler]
|
|
132
136
|
];
|
|
133
|
-
// Touch events
|
|
134
|
-
if (H.hasTouch) {
|
|
135
|
-
_events.push([bar, 'touchstart', mouseDownHandler], [bar.ownerDocument, 'touchmove', mouseMoveHandler], [bar.ownerDocument, 'touchend', mouseUpHandler]);
|
|
136
|
-
}
|
|
137
137
|
// Add them all
|
|
138
138
|
_events.forEach(function (args) {
|
|
139
139
|
addEvent.apply(null, args);
|
|
@@ -299,7 +299,7 @@ class Scrollbar {
|
|
|
299
299
|
}
|
|
300
300
|
}
|
|
301
301
|
mouseDownHandler(e) {
|
|
302
|
-
const scroller = this, normalizedEvent = scroller.chart.pointer
|
|
302
|
+
const scroller = this, normalizedEvent = scroller.chart.pointer?.normalize(e) || e, mousePosition = scroller.cursorToScrollbarPosition(normalizedEvent);
|
|
303
303
|
scroller.chartX = mousePosition.chartX;
|
|
304
304
|
scroller.chartY = mousePosition.chartY;
|
|
305
305
|
scroller.initPositions = [scroller.from, scroller.to];
|
|
@@ -310,7 +310,7 @@ class Scrollbar {
|
|
|
310
310
|
* @private
|
|
311
311
|
*/
|
|
312
312
|
mouseMoveHandler(e) {
|
|
313
|
-
const scroller = this, normalizedEvent = scroller.chart.pointer
|
|
313
|
+
const scroller = this, normalizedEvent = scroller.chart.pointer?.normalize(e) || e, options = scroller.options, direction = options.vertical ?
|
|
314
314
|
'chartY' : 'chartX', initPositions = scroller.initPositions || [];
|
|
315
315
|
let scrollPosition, chartPosition, change;
|
|
316
316
|
// In iOS, a mousemove event with e.pageX === 0 is fired when
|
|
@@ -368,7 +368,7 @@ class Scrollbar {
|
|
|
368
368
|
* @param {number} width
|
|
369
369
|
* width of the scrollbar
|
|
370
370
|
* @param {number} height
|
|
371
|
-
* height of the
|
|
371
|
+
* height of the scrollbar
|
|
372
372
|
*/
|
|
373
373
|
position(x, y, width, height) {
|
|
374
374
|
const scroller = this, options = scroller.options, { buttonsEnabled, margin = 0, vertical } = options, method = scroller.rendered ? 'animate' : 'attr';
|
|
@@ -592,7 +592,7 @@ class Scrollbar {
|
|
|
592
592
|
}
|
|
593
593
|
trackClick(e) {
|
|
594
594
|
const scroller = this;
|
|
595
|
-
const normalizedEvent = scroller.chart.pointer
|
|
595
|
+
const normalizedEvent = scroller.chart.pointer?.normalize(e) || e, range = scroller.to - scroller.from, top = scroller.y + scroller.scrollbarTop, left = scroller.x + scroller.scrollbarLeft;
|
|
596
596
|
if ((scroller.options.vertical && normalizedEvent.chartY > top) ||
|
|
597
597
|
(!scroller.options.vertical && normalizedEvent.chartX > left)) {
|
|
598
598
|
// On the top or on the left side of the track:
|
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
*
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
|
-
import H from '../../Core/Globals.js';
|
|
12
|
-
const { isTouchDevice } = H;
|
|
13
11
|
/* *
|
|
14
12
|
*
|
|
15
13
|
* Constant
|
|
@@ -18,7 +16,7 @@ const { isTouchDevice } = H;
|
|
|
18
16
|
/**
|
|
19
17
|
*
|
|
20
18
|
* The scrollbar is a means of panning over the X axis of a stock chart.
|
|
21
|
-
* Scrollbars can
|
|
19
|
+
* Scrollbars can also be applied to other types of axes.
|
|
22
20
|
*
|
|
23
21
|
* Another approach to scrollable charts is the [chart.scrollablePlotArea](
|
|
24
22
|
* https://api.highcharts.com/highcharts/chart.scrollablePlotArea) option that
|
|
@@ -191,7 +191,7 @@ class Toolbar {
|
|
|
191
191
|
});
|
|
192
192
|
}
|
|
193
193
|
/**
|
|
194
|
-
* Create single button. Consist of HTML elements `li`, `
|
|
194
|
+
* Create single button. Consist of HTML elements `li`, `button`, and (if
|
|
195
195
|
* exists) submenu container.
|
|
196
196
|
*
|
|
197
197
|
* @private
|
|
@@ -219,13 +219,14 @@ class Toolbar {
|
|
|
219
219
|
title: lang[btnName] || btnName
|
|
220
220
|
}, void 0, target);
|
|
221
221
|
// single button
|
|
222
|
-
const
|
|
222
|
+
const elementType = (btnOptions.elementType || 'button');
|
|
223
|
+
const mainButton = createElement(elementType, {
|
|
223
224
|
className: 'highcharts-menu-item-btn'
|
|
224
225
|
}, void 0, buttonWrapper);
|
|
225
226
|
// submenu
|
|
226
227
|
if (items && items.length) {
|
|
227
228
|
// arrow is a hook to show / hide submenu
|
|
228
|
-
const submenuArrow = createElement('
|
|
229
|
+
const submenuArrow = createElement('button', {
|
|
229
230
|
className: 'highcharts-submenu-item-arrow ' +
|
|
230
231
|
'highcharts-arrow-right'
|
|
231
232
|
}, void 0, buttonWrapper);
|
|
@@ -312,7 +313,7 @@ class Toolbar {
|
|
|
312
313
|
].forEach((eventType) => {
|
|
313
314
|
addEvent(wrapper, eventType, (e) => e.stopPropagation());
|
|
314
315
|
});
|
|
315
|
-
addEvent(wrapper, 'mouseover', (e) => chart.pointer
|
|
316
|
+
addEvent(wrapper, 'mouseover', (e) => chart.pointer?.onContainerMouseLeave(e));
|
|
316
317
|
// toolbar
|
|
317
318
|
this.toolbar = toolbar = createElement('ul', {
|
|
318
319
|
className: 'highcharts-stocktools-toolbar ' +
|
|
@@ -487,7 +488,7 @@ class Toolbar {
|
|
|
487
488
|
getIconsURL() {
|
|
488
489
|
return this.chart.options.navigation.iconsURL ||
|
|
489
490
|
this.options.iconsURL ||
|
|
490
|
-
'https://code.highcharts.com
|
|
491
|
+
'https://code.highcharts.com/@product.version@/gfx/stock-icons/';
|
|
491
492
|
}
|
|
492
493
|
}
|
|
493
494
|
Toolbar.prototype.classMapping = {
|