highcharts 9.2.1 → 9.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -6
- package/bower.json +1 -1
- package/css/annotations/popup.css +48 -8
- package/css/annotations/popup.scss +70 -22
- package/css/highcharts.css +46 -1
- package/css/highcharts.scss +40 -0
- package/css/stocktools/gui.css +1 -1
- package/css/themes/dark-unica.css +46 -1
- package/css/themes/grid-light.css +46 -1
- package/css/themes/sand-signika.css +46 -1
- package/es-modules/Accessibility/A11yI18n.js +269 -224
- package/es-modules/Accessibility/Accessibility.js +244 -129
- package/es-modules/Accessibility/AccessibilityComponent.js +78 -313
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +19 -5
- package/es-modules/Accessibility/Components/ContainerComponent.js +53 -28
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +178 -120
- package/es-modules/Accessibility/Components/LegendComponent.js +251 -129
- package/es-modules/Accessibility/Components/MenuComponent.js +239 -154
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +172 -93
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +161 -115
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +138 -69
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +67 -28
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +48 -56
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +387 -343
- package/es-modules/Accessibility/Components/ZoomComponent.js +156 -70
- package/es-modules/Accessibility/FocusBorder.js +192 -152
- package/es-modules/Accessibility/HighContrastMode.js +79 -66
- package/es-modules/Accessibility/HighContrastTheme.js +10 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +151 -75
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +21 -4
- package/es-modules/Accessibility/Options/LangOptions.js +4 -5
- package/es-modules/Accessibility/Options/Options.js +32 -17
- package/es-modules/Accessibility/ProxyElement.js +218 -0
- package/es-modules/Accessibility/ProxyProvider.js +302 -0
- package/es-modules/Accessibility/Utils/Announcer.js +17 -10
- package/es-modules/Accessibility/Utils/ChartUtilities.js +55 -45
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
- package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -42
- package/es-modules/Core/Animation/Fx.js +5 -14
- package/es-modules/Core/Axis/Axis.js +77 -96
- package/es-modules/Core/Axis/Axis3D.js +10 -4
- package/es-modules/Core/Axis/AxisDefaults.js +35 -24
- package/es-modules/Core/Axis/BrokenAxis.js +17 -11
- package/es-modules/Core/Axis/Color/ColorAxis.js +7 -4
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +55 -5
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
- package/es-modules/Core/Axis/GridAxis.js +26 -16
- package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
- package/es-modules/Core/Axis/OrdinalAxis.js +88 -92
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
- package/es-modules/Core/Axis/RadialAxis.js +7 -28
- package/es-modules/Core/Axis/ScrollbarAxis.js +27 -12
- package/es-modules/Core/Axis/StackingAxis.js +2 -1
- package/es-modules/Core/Axis/Tick.js +2 -4
- package/es-modules/Core/Axis/TreeGridAxis.js +28 -19
- package/es-modules/Core/Axis/TreeGridTick.js +5 -3
- package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
- package/es-modules/Core/Axis/ZAxis.js +1 -1
- package/es-modules/Core/Chart/Chart.js +44 -47
- package/es-modules/Core/Chart/Chart3D.js +23 -10
- package/es-modules/Core/Chart/ChartDefaults.js +3 -4
- package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/es-modules/Core/Chart/GanttChart.js +4 -4
- package/es-modules/Core/Chart/MapChart.js +13 -25
- package/es-modules/Core/Chart/StockChart.js +13 -316
- package/es-modules/Core/Color/Palettes.js +22 -0
- package/es-modules/Core/DefaultOptions.js +22 -19
- package/es-modules/Core/Foundation.js +39 -31
- package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +8 -7
- package/es-modules/Core/Legend/Legend.js +19 -16
- package/es-modules/Core/Navigator.js +41 -30
- package/es-modules/Core/Pointer.js +52 -45
- package/es-modules/Core/Renderer/HTML/AST.js +29 -14
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +27 -20
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
- package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -20
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +25 -29
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -12
- package/es-modules/Core/Responsive.js +2 -3
- package/es-modules/Core/Scrollbar.js +14 -12
- package/es-modules/Core/ScrollbarDefaults.js +10 -9
- package/es-modules/Core/Series/DataLabel.js +19 -15
- package/es-modules/Core/Series/Point.js +22 -19
- package/es-modules/Core/Series/Series.js +200 -235
- package/es-modules/Core/Series/SeriesDefaults.js +8 -8
- package/es-modules/Core/Series/SeriesRegistry.js +1 -2
- package/es-modules/Core/Time.js +14 -11
- package/es-modules/Core/Tooltip.js +63 -53
- package/es-modules/Core/Utilities.js +20 -24
- package/es-modules/Data/DataConverter.js +483 -0
- package/es-modules/Data/DataPromise.js +252 -0
- package/es-modules/Data/DataSeriesConverter.js +207 -0
- package/es-modules/Data/DataTable.js +1205 -0
- package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/es-modules/Data/Parsers/CSVParser.js +400 -0
- package/es-modules/Data/Parsers/DataParser.js +101 -0
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
- package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/es-modules/Data/Stores/CSVStore.js +317 -0
- package/es-modules/Data/Stores/DataStore.js +276 -0
- package/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
- package/es-modules/Data/Stores/HTMLTableStore.js +353 -0
- package/es-modules/Extensions/Annotations/Annotations.js +69 -18
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +13 -4
- package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
- package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
- package/es-modules/Extensions/Annotations/NavigationBindings.js +120 -53
- package/es-modules/Extensions/Annotations/Popup.js +494 -148
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +5 -3
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +29 -19
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +7 -6
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +13 -10
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
- package/es-modules/Extensions/Boost/BoostOverrides.js +6 -10
- package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
- package/es-modules/Extensions/Boost/WGLRenderer.js +16 -12
- package/es-modules/Extensions/Boost/WGLShader.js +13 -11
- package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
- package/es-modules/Extensions/BoostCanvas.js +1 -2
- package/es-modules/Extensions/CurrentDateIndication.js +2 -3
- package/es-modules/Extensions/Data.js +77 -115
- package/es-modules/Extensions/DataGrouping.js +54 -32
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DownloadURL.js +2 -2
- package/es-modules/Extensions/DragPanes.js +1 -2
- package/es-modules/Extensions/DraggablePoints.js +7 -8
- package/es-modules/Extensions/Drilldown.js +11 -7
- package/es-modules/Extensions/ExportData.js +6 -5
- package/es-modules/Extensions/Exporting/Exporting.js +35 -48
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
- package/es-modules/Extensions/FullScreen.js +4 -3
- package/es-modules/Extensions/GeoJSON.js +42 -66
- package/es-modules/Extensions/MarkerClusters.js +118 -98
- package/es-modules/Extensions/Math3D.js +4 -4
- package/es-modules/Extensions/NoDataToDisplay.js +1 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +33 -33
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +14 -79
- package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
- package/es-modules/Extensions/Pane.js +11 -12
- package/es-modules/Extensions/ParallelCoordinates.js +5 -3
- package/es-modules/Extensions/PatternFill.js +17 -11
- package/es-modules/Extensions/Polar.js +7 -4
- package/es-modules/Extensions/PriceIndication.js +2 -1
- package/es-modules/Extensions/RangeSelector.js +22 -59
- package/es-modules/Extensions/ScrollablePlotArea.js +2 -2
- package/es-modules/Extensions/SeriesLabel.js +1 -1
- package/es-modules/Extensions/Sonification/ChartSonify.js +279 -663
- package/es-modules/Extensions/Sonification/Earcon.js +136 -102
- package/es-modules/Extensions/Sonification/Instrument.js +493 -426
- package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
- package/es-modules/Extensions/Sonification/Options.js +10 -0
- package/es-modules/Extensions/Sonification/PointSonify.js +207 -152
- package/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
- package/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
- package/es-modules/Extensions/Sonification/Sonification.js +27 -53
- package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +70 -88
- package/es-modules/Extensions/Sonification/Timeline.js +250 -567
- package/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
- package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/es-modules/Extensions/Stacking.js +5 -23
- package/es-modules/Extensions/Themes/BrandDark.js +293 -0
- package/es-modules/Extensions/Themes/BrandLight.js +259 -0
- package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
- package/es-modules/Extensions/Themes/Grid.js +4 -2
- package/es-modules/Extensions/Themes/GridLight.js +4 -2
- package/es-modules/Gantt/Connection.js +2 -2
- package/es-modules/Gantt/Pathfinder.js +6 -5
- package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
- package/es-modules/Maps/MapNavigation.js +30 -68
- package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
- package/es-modules/Maps/MapPointer.js +8 -5
- package/es-modules/Maps/MapSymbols.js +23 -3
- package/es-modules/Maps/MapView.js +450 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/es-modules/Maps/Projection.js +436 -0
- package/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/es-modules/Maps/Projections/Miller.js +16 -0
- package/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/es-modules/Series/Area/AreaSeries.js +13 -13
- package/es-modules/Series/Area3DSeries.js +4 -2
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +28 -17
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +4 -9
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +5 -15
- package/es-modules/Series/Bubble/BubblePoint.js +5 -0
- package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
- package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -19
- package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
- package/es-modules/{Mixins/ColorMapSeries.js → Series/ColorMapMixin.js} +10 -8
- package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
- package/es-modules/Series/Column/ColumnSeries.js +19 -18
- package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +11 -8
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
- package/es-modules/Series/DataModifyComposition.js +539 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +1 -1
- package/es-modules/Series/DerivedComposition.js +137 -0
- package/es-modules/Series/DrawPointComposition.js +111 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -6
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
- package/es-modules/Series/Flags/FlagsSeries.js +18 -25
- package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
- package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
- package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
- package/es-modules/Series/Gantt/GanttPoint.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -3
- package/es-modules/Series/Gauge/GaugePoint.js +1 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
- package/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/es-modules/Series/HLC/HLCSeries.js +378 -0
- package/es-modules/Series/Heatmap/HeatmapPoint.js +13 -14
- package/es-modules/Series/Heatmap/HeatmapSeries.js +24 -12
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +10 -9
- package/es-modules/Series/Histogram/HistogramSeries.js +7 -11
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +28 -30
- package/es-modules/Series/Item/ItemSeries.js +4 -5
- package/es-modules/Series/Line/LineSeries.js +1 -2
- package/es-modules/Series/Map/MapPoint.js +27 -14
- package/es-modules/Series/Map/MapSeries.js +283 -322
- package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
- package/es-modules/Series/MapLine/MapLineSeries.js +2 -4
- package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
- package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
- package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
- package/es-modules/Series/Networkgraph/Integrations.js +8 -22
- package/es-modules/Series/Networkgraph/Networkgraph.js +6 -10
- package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
- package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +78 -30
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -7
- package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
- package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
- package/es-modules/Series/Organization/OrganizationSeries.js +6 -5
- package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +48 -10
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
- package/es-modules/Series/Pie/PieDataLabel.js +1 -2
- package/es-modules/Series/Pie/PiePoint.js +2 -2
- package/es-modules/Series/Pie/PieSeries.js +7 -8
- package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
- package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
- package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
- package/es-modules/Series/Sankey/SankeySeries.js +92 -22
- package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
- package/es-modules/Series/Spline/SplineSeries.js +0 -8
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +6 -6
- package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
- package/es-modules/Series/Tilemap/TilemapPoint.js +2 -5
- package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
- package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
- package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +88 -78
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +22 -25
- package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
- package/es-modules/Series/Venn/VennPoint.js +16 -7
- package/es-modules/Series/Venn/VennSeries.js +11 -17
- package/es-modules/Series/Venn/VennUtils.js +551 -439
- package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -6
- package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +26 -22
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +669 -484
- package/es-modules/Series/XRange/XRangePoint.js +7 -12
- package/es-modules/Series/XRange/XRangeSeries.js +4 -20
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +15 -6
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +4 -6
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
- package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +39 -11
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +28 -16
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +18 -11
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +23 -9
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +16 -19
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +32 -14
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +2 -3
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +25 -13
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -50
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -9
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +26 -10
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
- package/es-modules/Stock/StockToolsBindings.js +156 -47
- package/es-modules/Stock/StockToolsGui.js +442 -37
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +4 -10
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +2 -2
- package/es-modules/masters/indicators/indicators.src.js +2 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +16 -2
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +6 -3
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -2
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -3
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +33 -2
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +4 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +14 -0
- package/es-modules/masters/themes/brand-light.src.js +14 -0
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +65 -35
- package/highcharts-gantt.js +800 -803
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +1359 -1429
- package/highcharts-more.js +194 -193
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +280 -222
- package/highcharts.d.ts +10228 -768
- package/highcharts.js +585 -588
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +10228 -768
- package/highcharts.src.js +995 -1066
- package/highmaps.js +727 -707
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +3243 -2135
- package/highstock.js +788 -783
- package/highstock.js.map +1 -1
- package/highstock.src.js +2492 -1981
- package/indicators/acceleration-bands.d.ts +17 -1
- package/indicators/acceleration-bands.js +11 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +17 -1
- package/indicators/acceleration-bands.src.js +238 -112
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +4 -4
- package/indicators/apo.js +5 -6
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +16 -84
- package/indicators/aroon-oscillator.d.ts +17 -1
- package/indicators/aroon-oscillator.js +10 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +17 -1
- package/indicators/aroon-oscillator.src.js +230 -177
- package/indicators/aroon.d.ts +17 -1
- package/indicators/aroon.js +11 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +17 -1
- package/indicators/aroon.src.js +227 -112
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.d.ts +17 -1
- package/indicators/bollinger-bands.js +12 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +17 -1
- package/indicators/bollinger-bands.src.js +262 -117
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +8 -9
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +8 -76
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +36 -16
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +5 -6
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +3 -75
- package/indicators/disparity-index.js +6 -7
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +20 -74
- package/indicators/dmi.js +12 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +252 -121
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -13
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +7 -188
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +7 -7
- package/indicators/indicators-all.d.ts +17 -1
- package/indicators/indicators-all.js +198 -203
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +17 -1
- package/indicators/indicators-all.src.js +892 -777
- package/indicators/indicators.js +12 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +213 -144
- package/indicators/keltner-channels.d.ts +17 -1
- package/indicators/keltner-channels.js +11 -10
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +17 -1
- package/indicators/keltner-channels.src.js +246 -118
- package/indicators/klinger.js +14 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +239 -187
- package/indicators/macd.js +2 -2
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +3 -4
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +3 -3
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +2 -4
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +3 -2
- package/indicators/ppo.js +5 -6
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +3 -75
- package/indicators/price-channel.d.ts +17 -1
- package/indicators/price-channel.js +11 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +17 -1
- package/indicators/price-channel.src.js +288 -168
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +39 -21
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +3 -2
- package/indicators/slow-stochastic.js +5 -6
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +2 -72
- package/indicators/stochastic.d.ts +17 -1
- package/indicators/stochastic.js +12 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +17 -1
- package/indicators/stochastic.src.js +282 -165
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +6 -7
- package/indicators/tema.js +6 -7
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +28 -75
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +4 -5
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +8 -76
- package/indicators/volume-by-price.js +16 -16
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +27 -10
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +20 -8
- package/indicators/williams-r.js +5 -6
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +41 -51
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +0 -30
- package/modules/accessibility.js +240 -216
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +0 -30
- package/modules/accessibility.src.js +7807 -6400
- package/modules/annotations-advanced.d.ts +30 -0
- package/modules/annotations-advanced.js +192 -165
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +30 -0
- package/modules/annotations-advanced.src.js +1716 -416
- package/modules/annotations.js +125 -110
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +1059 -304
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +3 -3
- package/modules/boost.js +79 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +42 -51
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +18 -12
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +77 -103
- package/modules/current-date-indicator.js +4 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +4 -4
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +37 -5
- package/modules/data.d.ts +6 -6
- package/modules/data.js +32 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +6 -6
- package/modules/data.src.js +94 -140
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +56 -33
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +3 -3
- package/modules/dependency-wheel.js +11 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +5 -8
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +8 -8
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +3 -3
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +8 -9
- package/modules/drilldown.js +24 -24
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +13 -8
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +4 -8
- package/modules/export-data.js +19 -19
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +9 -8
- package/modules/exporting.js +39 -38
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +134 -116
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +5 -4
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +9 -6
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +17 -10
- package/modules/gantt.js +217 -218
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +364 -363
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +27 -19
- package/modules/heatmap.js +39 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +132 -141
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +12 -10
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +97 -91
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +31 -35
- package/modules/item-series.js +6 -6
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +6 -6
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +138 -14
- package/modules/map.js +144 -122
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +138 -14
- package/modules/map.src.js +2253 -1074
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +176 -143
- package/modules/networkgraph.d.ts +12 -1
- package/modules/networkgraph.js +49 -49
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +12 -1
- package/modules/networkgraph.src.js +103 -78
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +3 -3
- package/modules/offline-exporting.js +18 -17
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +39 -44
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +26 -26
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +21 -81
- package/modules/organization.js +13 -13
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +8 -6
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +6 -4
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +89 -78
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +21 -20
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +18 -12
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +3 -2
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +3 -2
- package/modules/sankey.d.ts +12 -1
- package/modules/sankey.js +29 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +12 -1
- package/modules/sankey.src.js +307 -181
- package/modules/series-label.js +1 -1
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +2 -2
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +17 -2
- package/modules/sonification.js +59 -55
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +3093 -2594
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +178 -163
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +1136 -229
- package/modules/stock.d.ts +39 -6
- package/modules/stock.js +204 -196
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +39 -6
- package/modules/stock.src.js +1822 -1240
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +60 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +281 -248
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +3 -13
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +5 -5
- package/modules/treegrid.js +56 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +201 -169
- package/modules/treemap.js +41 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +266 -232
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +7 -3
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +740 -731
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +90 -62
- package/modules/wordcloud.js +23 -24
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +898 -954
- package/modules/xrange.js +2 -2
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +12 -33
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +15 -0
- package/themes/brand-dark.js.map +1 -0
- package/themes/brand-dark.src.js +328 -0
- package/themes/brand-light.js +15 -0
- package/themes/brand-light.js.map +1 -0
- package/themes/brand-light.src.js +294 -0
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +5 -3
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +5 -3
- package/themes/grid.js +1 -1
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +5 -3
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Axis/MapAxis.js +0 -157
- package/es-modules/Core/Color/Palette.js +0 -82
- package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
- package/es-modules/Mixins/ColorSeries.js +0 -77
- package/es-modules/Mixins/DerivedSeries.js +0 -118
- package/es-modules/Mixins/DrawPoint.js +0 -81
- package/es-modules/Mixins/IndicatorRequired.js +0 -56
- package/es-modules/Mixins/MultipleLines.js +0 -181
- package/es-modules/Mixins/Navigation.js +0 -54
- package/es-modules/Mixins/NelderMead.js +0 -132
- package/es-modules/Mixins/Polygon.js +0 -259
- package/es-modules/Mixins/ReduceArray.js +0 -54
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highstock JS v9.2
|
|
2
|
+
* @license Highstock JS v9.3.2 (2021-11-29)
|
|
3
3
|
*
|
|
4
4
|
* Advanced Highcharts Stock tools
|
|
5
5
|
*
|
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
*
|
|
51
51
|
* @private
|
|
52
52
|
* @mixin
|
|
53
|
-
* @memberOf Annotation
|
|
54
53
|
*/
|
|
55
54
|
var eventEmitterMixin = {
|
|
56
55
|
/**
|
|
@@ -294,8 +293,7 @@
|
|
|
294
293
|
* @param {Highcharts.AnnotationControllable} target
|
|
295
294
|
* @return {Highcharts.PositionObject}
|
|
296
295
|
*/
|
|
297
|
-
var
|
|
298
|
-
merge = U.merge,
|
|
296
|
+
var merge = U.merge,
|
|
299
297
|
pick = U.pick;
|
|
300
298
|
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
301
299
|
/**
|
|
@@ -363,7 +361,6 @@
|
|
|
363
361
|
* @param {boolean} visible
|
|
364
362
|
* Visibility of the control point.
|
|
365
363
|
*
|
|
366
|
-
* @return {void}
|
|
367
364
|
*/
|
|
368
365
|
ControlPoint.prototype.setVisibility = function (visible) {
|
|
369
366
|
this.graphic.attr('visibility', visible ? 'visible' : 'hidden');
|
|
@@ -413,7 +410,6 @@
|
|
|
413
410
|
* @param {Partial<Highcharts.AnnotationControlPointOptionsObject>} userOptions
|
|
414
411
|
* New options for the control point.
|
|
415
412
|
*
|
|
416
|
-
* @return {void}
|
|
417
413
|
*/
|
|
418
414
|
ControlPoint.prototype.update = function (userOptions) {
|
|
419
415
|
var chart = this.chart,
|
|
@@ -968,7 +964,8 @@
|
|
|
968
964
|
*/
|
|
969
965
|
getPointsOptions: function () {
|
|
970
966
|
var options = this.options;
|
|
971
|
-
return (options.points ||
|
|
967
|
+
return (options.points ||
|
|
968
|
+
(options.point && splat(options.point)));
|
|
972
969
|
},
|
|
973
970
|
/**
|
|
974
971
|
* Utility function for mapping item's options
|
|
@@ -1189,8 +1186,11 @@
|
|
|
1189
1186
|
*
|
|
1190
1187
|
* @param {number} dx translation for x coordinate
|
|
1191
1188
|
* @param {number} dy translation for y coordinate
|
|
1189
|
+
* @param {boolean|undefined} translateSecondPoint If the shape has two
|
|
1190
|
+
* points attached to it, this option allows you to translate also
|
|
1191
|
+
* the second point
|
|
1192
1192
|
*/
|
|
1193
|
-
translateShape: function (dx, dy) {
|
|
1193
|
+
translateShape: function (dx, dy, translateSecondPoint) {
|
|
1194
1194
|
var chart = this.annotation.chart,
|
|
1195
1195
|
// Annotation.options
|
|
1196
1196
|
shapeOptions = this.annotation.userOptions,
|
|
@@ -1198,11 +1198,16 @@
|
|
|
1198
1198
|
annotationIndex = chart.annotations.indexOf(this.annotation),
|
|
1199
1199
|
chartOptions = chart.options.annotations[annotationIndex];
|
|
1200
1200
|
this.translatePoint(dx, dy, 0);
|
|
1201
|
+
if (translateSecondPoint) {
|
|
1202
|
+
this.translatePoint(dx, dy, 1);
|
|
1203
|
+
}
|
|
1201
1204
|
// Options stored in:
|
|
1202
1205
|
// - chart (for exporting)
|
|
1203
1206
|
// - current config (for redraws)
|
|
1204
|
-
chartOptions[this.collection][this.index]
|
|
1205
|
-
|
|
1207
|
+
chartOptions[this.collection][this.index]
|
|
1208
|
+
.point = this.options.point;
|
|
1209
|
+
shapeOptions[this.collection][this.index]
|
|
1210
|
+
.point = this.options.point;
|
|
1206
1211
|
},
|
|
1207
1212
|
/**
|
|
1208
1213
|
* Rotate a controllable.
|
|
@@ -1420,13 +1425,13 @@
|
|
|
1420
1425
|
fill = itemOptions.fill,
|
|
1421
1426
|
color = defined(fill) && fill !== 'none' ?
|
|
1422
1427
|
fill :
|
|
1423
|
-
itemOptions.stroke
|
|
1424
|
-
|
|
1428
|
+
itemOptions.stroke;
|
|
1429
|
+
var setMarker = function (markerType) {
|
|
1425
1430
|
var markerId = itemOptions[markerType],
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1431
|
+
def,
|
|
1432
|
+
predefinedMarker,
|
|
1433
|
+
key,
|
|
1434
|
+
marker;
|
|
1430
1435
|
if (markerId) {
|
|
1431
1436
|
for (key in defs) { // eslint-disable-line guard-for-in
|
|
1432
1437
|
def = defs[key];
|
|
@@ -1441,13 +1446,13 @@
|
|
|
1441
1446
|
}
|
|
1442
1447
|
if (predefinedMarker) {
|
|
1443
1448
|
marker = item[markerType] = chart.renderer
|
|
1444
|
-
.addMarker((itemOptions.id || uniqueKey()) + '-' +
|
|
1445
|
-
markerId, merge(predefinedMarker, { color: color }));
|
|
1449
|
+
.addMarker((itemOptions.id || uniqueKey()) + '-' + markerId, merge(predefinedMarker, { color: color }));
|
|
1446
1450
|
item.attr(markerType, marker.getAttribute('id'));
|
|
1447
1451
|
}
|
|
1448
1452
|
}
|
|
1449
1453
|
};
|
|
1450
|
-
['markerStart', 'markerEnd']
|
|
1454
|
+
['markerStart', 'markerEnd']
|
|
1455
|
+
.forEach(setMarker);
|
|
1451
1456
|
}
|
|
1452
1457
|
};
|
|
1453
1458
|
addEvent(Chart, 'afterGetContainer', function () {
|
|
@@ -1518,7 +1523,7 @@
|
|
|
1518
1523
|
this.point = ControllableMixin.point;
|
|
1519
1524
|
this.rotate = ControllableMixin.rotate;
|
|
1520
1525
|
this.scale = ControllableMixin.scale;
|
|
1521
|
-
this.setControlPointsVisibility = ControllableMixin.setControlPointsVisibility;
|
|
1526
|
+
this.setControlPointsVisibility = (ControllableMixin.setControlPointsVisibility);
|
|
1522
1527
|
this.setMarkers = MarkerMixin.setItemMarkers;
|
|
1523
1528
|
this.transform = ControllableMixin.transform;
|
|
1524
1529
|
this.transformPoint = ControllableMixin.transformPoint;
|
|
@@ -1582,7 +1587,8 @@
|
|
|
1582
1587
|
null;
|
|
1583
1588
|
};
|
|
1584
1589
|
ControllablePath.prototype.shouldBeDrawn = function () {
|
|
1585
|
-
return (ControllableMixin.shouldBeDrawn.call(this) ||
|
|
1590
|
+
return (ControllableMixin.shouldBeDrawn.call(this) ||
|
|
1591
|
+
Boolean(this.options.d));
|
|
1586
1592
|
};
|
|
1587
1593
|
ControllablePath.prototype.render = function (parent) {
|
|
1588
1594
|
var options = this.options,
|
|
@@ -1709,7 +1715,7 @@
|
|
|
1709
1715
|
this.point = ControllableMixin.point;
|
|
1710
1716
|
this.rotate = ControllableMixin.rotate;
|
|
1711
1717
|
this.scale = ControllableMixin.scale;
|
|
1712
|
-
this.setControlPointsVisibility = ControllableMixin.setControlPointsVisibility;
|
|
1718
|
+
this.setControlPointsVisibility = (ControllableMixin.setControlPointsVisibility);
|
|
1713
1719
|
this.shouldBeDrawn = ControllableMixin.shouldBeDrawn;
|
|
1714
1720
|
this.transform = ControllableMixin.transform;
|
|
1715
1721
|
this.transformPoint = ControllableMixin.transformPoint;
|
|
@@ -1819,7 +1825,7 @@
|
|
|
1819
1825
|
this.point = ControllableMixin.point;
|
|
1820
1826
|
this.rotate = ControllableMixin.rotate;
|
|
1821
1827
|
this.scale = ControllableMixin.scale;
|
|
1822
|
-
this.setControlPointsVisibility = ControllableMixin.setControlPointsVisibility;
|
|
1828
|
+
this.setControlPointsVisibility = (ControllableMixin.setControlPointsVisibility);
|
|
1823
1829
|
this.shouldBeDrawn = ControllableMixin.shouldBeDrawn;
|
|
1824
1830
|
this.transform = ControllableMixin.transform;
|
|
1825
1831
|
this.transformPoint = ControllableMixin.transformPoint;
|
|
@@ -1891,6 +1897,215 @@
|
|
|
1891
1897
|
|
|
1892
1898
|
return ControllableCircle;
|
|
1893
1899
|
});
|
|
1900
|
+
_registerModule(_modules, 'Extensions/Annotations/Controllables/ControllableEllipse.js', [_modules['Extensions/Annotations/Mixins/ControllableMixin.js'], _modules['Extensions/Annotations/Controllables/ControllablePath.js'], _modules['Core/Utilities.js']], function (ControllableMixin, ControllablePath, U) {
|
|
1901
|
+
/* *
|
|
1902
|
+
*
|
|
1903
|
+
* Author: Pawel Lysy
|
|
1904
|
+
*
|
|
1905
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
1906
|
+
*
|
|
1907
|
+
* */
|
|
1908
|
+
var merge = U.merge,
|
|
1909
|
+
defined = U.defined;
|
|
1910
|
+
/**
|
|
1911
|
+
* A controllable ellipse class.
|
|
1912
|
+
*
|
|
1913
|
+
* @requires modules/annotations
|
|
1914
|
+
*
|
|
1915
|
+
* @private
|
|
1916
|
+
* @class
|
|
1917
|
+
* @name Highcharts.AnnotationControllableEllipse
|
|
1918
|
+
*
|
|
1919
|
+
* @param {Highcharts.Annotation} annotation an annotation instance
|
|
1920
|
+
* @param {Highcharts.AnnotationsShapeOptions} options a shape's options
|
|
1921
|
+
* @param {number} index of the Ellipse
|
|
1922
|
+
*/
|
|
1923
|
+
var ControllableEllipse = /** @class */ (function () {
|
|
1924
|
+
/* *
|
|
1925
|
+
*
|
|
1926
|
+
* Constructor
|
|
1927
|
+
*
|
|
1928
|
+
* */
|
|
1929
|
+
function ControllableEllipse(annotation, options, index) {
|
|
1930
|
+
/* *
|
|
1931
|
+
*
|
|
1932
|
+
* Properties
|
|
1933
|
+
*
|
|
1934
|
+
* */
|
|
1935
|
+
this.addControlPoints = ControllableMixin.addControlPoints;
|
|
1936
|
+
this.anchor = ControllableMixin.anchor;
|
|
1937
|
+
this.attr = ControllableMixin.attr;
|
|
1938
|
+
this.attrsFromOptions = ControllableMixin.attrsFromOptions;
|
|
1939
|
+
this.destroy = ControllableMixin.destroy;
|
|
1940
|
+
this.getPointsOptions = ControllableMixin.getPointsOptions;
|
|
1941
|
+
this.linkPoints = ControllableMixin.linkPoints;
|
|
1942
|
+
this.point = ControllableMixin.point;
|
|
1943
|
+
this.scale = ControllableMixin.scale;
|
|
1944
|
+
this.setControlPointsVisibility = (ControllableMixin.setControlPointsVisibility);
|
|
1945
|
+
this.shouldBeDrawn = ControllableMixin.shouldBeDrawn;
|
|
1946
|
+
this.transform = ControllableMixin.transform;
|
|
1947
|
+
this.translatePoint = ControllableMixin.translatePoint;
|
|
1948
|
+
this.transformPoint = ControllableMixin.transformPoint;
|
|
1949
|
+
/**
|
|
1950
|
+
* @type 'ellipse'
|
|
1951
|
+
*/
|
|
1952
|
+
this.type = 'ellipse';
|
|
1953
|
+
this.init(annotation, options, index);
|
|
1954
|
+
this.collection = 'shapes';
|
|
1955
|
+
}
|
|
1956
|
+
/* *
|
|
1957
|
+
*
|
|
1958
|
+
* Functions
|
|
1959
|
+
*
|
|
1960
|
+
* */
|
|
1961
|
+
ControllableEllipse.prototype.init = function (annotation, options, index) {
|
|
1962
|
+
if (defined(options.yAxis)) {
|
|
1963
|
+
options.points.forEach(function (point) {
|
|
1964
|
+
point.yAxis = options.yAxis;
|
|
1965
|
+
});
|
|
1966
|
+
}
|
|
1967
|
+
if (defined(options.xAxis)) {
|
|
1968
|
+
options.points.forEach(function (point) {
|
|
1969
|
+
point.xAxis = options.xAxis;
|
|
1970
|
+
});
|
|
1971
|
+
}
|
|
1972
|
+
ControllableMixin.init.call(this, annotation, options, index);
|
|
1973
|
+
};
|
|
1974
|
+
/**
|
|
1975
|
+
*
|
|
1976
|
+
* Render the element
|
|
1977
|
+
* @param parent parent SVG element.
|
|
1978
|
+
*/
|
|
1979
|
+
ControllableEllipse.prototype.render = function (parent) {
|
|
1980
|
+
this.graphic = this.annotation.chart.renderer.createElement('ellipse')
|
|
1981
|
+
.attr(this.attrsFromOptions(this.options))
|
|
1982
|
+
.add(parent);
|
|
1983
|
+
ControllableMixin.render.call(this);
|
|
1984
|
+
};
|
|
1985
|
+
/**
|
|
1986
|
+
* Translate the points.
|
|
1987
|
+
* Mostly used to handle dragging of the ellipse.
|
|
1988
|
+
*/
|
|
1989
|
+
ControllableEllipse.prototype.translate = function (dx, dy) {
|
|
1990
|
+
ControllableMixin.translateShape.call(this, dx, dy, true);
|
|
1991
|
+
};
|
|
1992
|
+
/**
|
|
1993
|
+
* Get the distance from the line to the point.
|
|
1994
|
+
* @param point1 first point which is on the line
|
|
1995
|
+
* @param point2 second point
|
|
1996
|
+
* @param x0 point's x value from which you want to calculate the distance from
|
|
1997
|
+
* @param y0 point's y value from which you want to calculate the distance from
|
|
1998
|
+
*/
|
|
1999
|
+
ControllableEllipse.prototype.getDistanceFromLine = function (point1, point2, x0, y0) {
|
|
2000
|
+
return Math.abs((point2.y - point1.y) * x0 - (point2.x - point1.x) * y0 +
|
|
2001
|
+
point2.x * point1.y - point2.y * point1.x) / Math.sqrt((point2.y - point1.y) * (point2.y - point1.y) +
|
|
2002
|
+
(point2.x - point1.x) * (point2.x - point1.x));
|
|
2003
|
+
};
|
|
2004
|
+
/**
|
|
2005
|
+
* The fuction calculates the svg attributes of the ellipse, and returns all
|
|
2006
|
+
* parameters neccessary to draw the ellipse.
|
|
2007
|
+
* @param position absolute position of the first point in points array
|
|
2008
|
+
* @param position2 absolute position of the second point in points array
|
|
2009
|
+
*/
|
|
2010
|
+
ControllableEllipse.prototype.getAttrs = function (position, position2) {
|
|
2011
|
+
var x1 = position.x,
|
|
2012
|
+
y1 = position.y,
|
|
2013
|
+
x2 = position2.x,
|
|
2014
|
+
y2 = position2.y,
|
|
2015
|
+
cx = (x1 + x2) / 2,
|
|
2016
|
+
cy = (y1 + y2) / 2,
|
|
2017
|
+
rx = Math.sqrt((x1 - x2) * (x1 - x2) / 4 + (y1 - y2) * (y1 - y2) / 4),
|
|
2018
|
+
tan = (y2 - y1) / (x2 - x1);
|
|
2019
|
+
var angle = Math.atan(tan) * 180 / Math.PI;
|
|
2020
|
+
if (cx < x1) {
|
|
2021
|
+
angle += 180;
|
|
2022
|
+
}
|
|
2023
|
+
var ry = this.getRY();
|
|
2024
|
+
return { cx: cx, cy: cy, rx: rx, ry: ry, angle: angle };
|
|
2025
|
+
};
|
|
2026
|
+
/**
|
|
2027
|
+
* Get the value of minor radius of the ellipse.
|
|
2028
|
+
*/
|
|
2029
|
+
ControllableEllipse.prototype.getRY = function () {
|
|
2030
|
+
var yAxis = this.getYAxis();
|
|
2031
|
+
return defined(yAxis) ?
|
|
2032
|
+
Math.abs(yAxis.toPixels(this.options.ry) - yAxis.toPixels(0)) :
|
|
2033
|
+
this.options.ry;
|
|
2034
|
+
};
|
|
2035
|
+
/**
|
|
2036
|
+
* get the yAxis object to which the ellipse is pinned.
|
|
2037
|
+
*/
|
|
2038
|
+
ControllableEllipse.prototype.getYAxis = function () {
|
|
2039
|
+
var yAxisIndex = this.options.yAxis;
|
|
2040
|
+
return this.chart.yAxis[yAxisIndex];
|
|
2041
|
+
};
|
|
2042
|
+
/**
|
|
2043
|
+
* Get the absolute coordinates of the MockPoint
|
|
2044
|
+
* @param point MockPoint that is added through options
|
|
2045
|
+
*/
|
|
2046
|
+
ControllableEllipse.prototype.getAbsolutePosition = function (point) {
|
|
2047
|
+
return this.anchor(point).absolutePosition;
|
|
2048
|
+
};
|
|
2049
|
+
/**
|
|
2050
|
+
*
|
|
2051
|
+
* Redraw the element
|
|
2052
|
+
* @param animation display an annimation
|
|
2053
|
+
*/
|
|
2054
|
+
ControllableEllipse.prototype.redraw = function (animation) {
|
|
2055
|
+
var position = this.getAbsolutePosition(this.points[0]),
|
|
2056
|
+
position2 = this.getAbsolutePosition(this.points[1]),
|
|
2057
|
+
attrs = this.getAttrs(position,
|
|
2058
|
+
position2);
|
|
2059
|
+
if (position) {
|
|
2060
|
+
this.graphic[animation ? 'animate' : 'attr']({
|
|
2061
|
+
cx: attrs.cx,
|
|
2062
|
+
cy: attrs.cy,
|
|
2063
|
+
rx: attrs.rx,
|
|
2064
|
+
ry: attrs.ry,
|
|
2065
|
+
rotation: attrs.angle,
|
|
2066
|
+
rotationOriginX: attrs.cx,
|
|
2067
|
+
rotationOriginY: attrs.cy
|
|
2068
|
+
});
|
|
2069
|
+
}
|
|
2070
|
+
else {
|
|
2071
|
+
this.graphic.attr({
|
|
2072
|
+
x: 0,
|
|
2073
|
+
y: -9e9
|
|
2074
|
+
});
|
|
2075
|
+
}
|
|
2076
|
+
this.graphic.placed = Boolean(position);
|
|
2077
|
+
ControllableMixin.redraw.call(this, animation);
|
|
2078
|
+
};
|
|
2079
|
+
/**
|
|
2080
|
+
* Set the radius Y.
|
|
2081
|
+
*
|
|
2082
|
+
* @param {number} ry a radius in y direction to be set
|
|
2083
|
+
*/
|
|
2084
|
+
ControllableEllipse.prototype.setYRadius = function (ry) {
|
|
2085
|
+
this.options.ry = ry;
|
|
2086
|
+
this.annotation.userOptions.shapes[0].ry = ry;
|
|
2087
|
+
this.annotation.options.shapes[0].ry = ry;
|
|
2088
|
+
};
|
|
2089
|
+
/* *
|
|
2090
|
+
*
|
|
2091
|
+
* Static Properties
|
|
2092
|
+
*
|
|
2093
|
+
* */
|
|
2094
|
+
/**
|
|
2095
|
+
* A map object which allows to map options attributes to element
|
|
2096
|
+
* attributes.
|
|
2097
|
+
*
|
|
2098
|
+
* @name Highcharts.AnnotationControllableEllipse.attrsMap
|
|
2099
|
+
* @type {Highcharts.Dictionary<string>}
|
|
2100
|
+
*/
|
|
2101
|
+
ControllableEllipse.attrsMap = merge(ControllablePath.attrsMap, {
|
|
2102
|
+
ry: 'ry'
|
|
2103
|
+
});
|
|
2104
|
+
return ControllableEllipse;
|
|
2105
|
+
}());
|
|
2106
|
+
|
|
2107
|
+
return ControllableEllipse;
|
|
2108
|
+
});
|
|
1894
2109
|
_registerModule(_modules, 'Extensions/Annotations/Controllables/ControllableLabel.js', [_modules['Extensions/Annotations/Mixins/ControllableMixin.js'], _modules['Core/FormatUtilities.js'], _modules['Extensions/Annotations/MockPoint.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Tooltip.js'], _modules['Core/Utilities.js']], function (ControllableMixin, F, MockPoint, SVGRenderer, Tooltip, U) {
|
|
1895
2110
|
/* *
|
|
1896
2111
|
*
|
|
@@ -1946,7 +2161,7 @@
|
|
|
1946
2161
|
this.point = ControllableMixin.point;
|
|
1947
2162
|
this.rotate = ControllableMixin.rotate;
|
|
1948
2163
|
this.scale = ControllableMixin.scale;
|
|
1949
|
-
this.setControlPointsVisibility = ControllableMixin.setControlPointsVisibility;
|
|
2164
|
+
this.setControlPointsVisibility = (ControllableMixin.setControlPointsVisibility);
|
|
1950
2165
|
this.shouldBeDrawn = ControllableMixin.shouldBeDrawn;
|
|
1951
2166
|
this.transform = ControllableMixin.transform;
|
|
1952
2167
|
this.transformPoint = ControllableMixin.transformPoint;
|
|
@@ -2179,10 +2394,6 @@
|
|
|
2179
2394
|
};
|
|
2180
2395
|
/**
|
|
2181
2396
|
* Returns the label position relative to its anchor.
|
|
2182
|
-
*
|
|
2183
|
-
* @param {Highcharts.AnnotationAnchorObject} anchor
|
|
2184
|
-
*
|
|
2185
|
-
* @return {Highcharts.PositionObject|null}
|
|
2186
2397
|
*/
|
|
2187
2398
|
ControllableLabel.prototype.position = function (anchor) {
|
|
2188
2399
|
var item = this.graphic,
|
|
@@ -2211,7 +2422,8 @@
|
|
|
2211
2422
|
plotY: anchorRelativePosition.y,
|
|
2212
2423
|
negative: point.negative,
|
|
2213
2424
|
ttBelow: point.ttBelow,
|
|
2214
|
-
h: (anchorRelativePosition.height ||
|
|
2425
|
+
h: (anchorRelativePosition.height ||
|
|
2426
|
+
anchorRelativePosition.width)
|
|
2215
2427
|
});
|
|
2216
2428
|
}
|
|
2217
2429
|
else if (itemOptions.positioner) {
|
|
@@ -2359,7 +2571,7 @@
|
|
|
2359
2571
|
this.point = ControllableMixin.point;
|
|
2360
2572
|
this.rotate = ControllableMixin.rotate;
|
|
2361
2573
|
this.scale = ControllableMixin.scale;
|
|
2362
|
-
this.setControlPointsVisibility = ControllableMixin.setControlPointsVisibility;
|
|
2574
|
+
this.setControlPointsVisibility = (ControllableMixin.setControlPointsVisibility);
|
|
2363
2575
|
this.shouldBeDrawn = ControllableMixin.shouldBeDrawn;
|
|
2364
2576
|
this.transform = ControllableMixin.transform;
|
|
2365
2577
|
this.transformPoint = ControllableMixin.transformPoint;
|
|
@@ -2425,7 +2637,7 @@
|
|
|
2425
2637
|
|
|
2426
2638
|
return ControllableImage;
|
|
2427
2639
|
});
|
|
2428
|
-
_registerModule(_modules, 'Extensions/Annotations/Annotations.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Extensions/Annotations/Mixins/ControllableMixin.js'], _modules['Extensions/Annotations/Controllables/ControllableRect.js'], _modules['Extensions/Annotations/Controllables/ControllableCircle.js'], _modules['Extensions/Annotations/Controllables/ControllablePath.js'], _modules['Extensions/Annotations/Controllables/ControllableImage.js'], _modules['Extensions/Annotations/Controllables/ControllableLabel.js'], _modules['Extensions/Annotations/ControlPoint.js'], _modules['Extensions/Annotations/Mixins/EventEmitterMixin.js'], _modules['Core/Globals.js'], _modules['Extensions/Annotations/MockPoint.js'], _modules['Core/Pointer.js'], _modules['Core/Utilities.js']
|
|
2640
|
+
_registerModule(_modules, 'Extensions/Annotations/Annotations.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Extensions/Annotations/Mixins/ControllableMixin.js'], _modules['Extensions/Annotations/Controllables/ControllableRect.js'], _modules['Extensions/Annotations/Controllables/ControllableCircle.js'], _modules['Extensions/Annotations/Controllables/ControllableEllipse.js'], _modules['Extensions/Annotations/Controllables/ControllablePath.js'], _modules['Extensions/Annotations/Controllables/ControllableImage.js'], _modules['Extensions/Annotations/Controllables/ControllableLabel.js'], _modules['Extensions/Annotations/ControlPoint.js'], _modules['Extensions/Annotations/Mixins/EventEmitterMixin.js'], _modules['Core/Globals.js'], _modules['Extensions/Annotations/MockPoint.js'], _modules['Core/Pointer.js'], _modules['Core/Utilities.js']], function (A, Chart, ControllableMixin, ControllableRect, ControllableCircle, ControllableEllipse, ControllablePath, ControllableImage, ControllableLabel, ControlPoint, EventEmitterMixin, H, MockPoint, Pointer, U) {
|
|
2429
2641
|
/* *
|
|
2430
2642
|
*
|
|
2431
2643
|
* (c) 2009-2021 Highsoft, Black Label
|
|
@@ -2647,7 +2859,10 @@
|
|
|
2647
2859
|
};
|
|
2648
2860
|
Annotation.prototype.addClipPaths = function () {
|
|
2649
2861
|
this.setClipAxes();
|
|
2650
|
-
if (this.clipXAxis &&
|
|
2862
|
+
if (this.clipXAxis &&
|
|
2863
|
+
this.clipYAxis &&
|
|
2864
|
+
this.options.crop // #15399
|
|
2865
|
+
) {
|
|
2651
2866
|
this.clipRect = this.chart.renderer.clipRect(this.getClipBox());
|
|
2652
2867
|
}
|
|
2653
2868
|
};
|
|
@@ -2749,8 +2964,10 @@
|
|
|
2749
2964
|
.add();
|
|
2750
2965
|
this.shapesGroup = renderer
|
|
2751
2966
|
.g('annotation-shapes')
|
|
2752
|
-
.add(this.graphic)
|
|
2753
|
-
|
|
2967
|
+
.add(this.graphic);
|
|
2968
|
+
if (this.options.crop) { // #15399
|
|
2969
|
+
this.shapesGroup.clip(this.chart.plotBoxClip);
|
|
2970
|
+
}
|
|
2754
2971
|
this.labelsGroup = renderer
|
|
2755
2972
|
.g('annotation-labels')
|
|
2756
2973
|
.attr({
|
|
@@ -2836,7 +3053,6 @@
|
|
|
2836
3053
|
* @param {Partial<Highcharts.AnnotationsOptions>} userOptions
|
|
2837
3054
|
* New user options for the annotation.
|
|
2838
3055
|
*
|
|
2839
|
-
* @return {void}
|
|
2840
3056
|
*/
|
|
2841
3057
|
Annotation.prototype.update = function (userOptions, redraw) {
|
|
2842
3058
|
var chart = this.chart,
|
|
@@ -2866,7 +3082,11 @@
|
|
|
2866
3082
|
/**
|
|
2867
3083
|
* Initialisation of a single shape
|
|
2868
3084
|
* @private
|
|
2869
|
-
* @param {Object} shapeOptions
|
|
3085
|
+
* @param {Object} shapeOptions
|
|
3086
|
+
* a confg object for a single shape
|
|
3087
|
+
* @param {number} index
|
|
3088
|
+
* annotation may have many shapes, this is the shape's index saved in
|
|
3089
|
+
* shapes.index.
|
|
2870
3090
|
*/
|
|
2871
3091
|
Annotation.prototype.initShape = function (shapeOptions, index) {
|
|
2872
3092
|
var options = merge(this.options.shapeOptions, {
|
|
@@ -2972,6 +3192,7 @@
|
|
|
2972
3192
|
Annotation.shapesMap = {
|
|
2973
3193
|
'rect': ControllableRect,
|
|
2974
3194
|
'circle': ControllableCircle,
|
|
3195
|
+
'ellipse': ControllableEllipse,
|
|
2975
3196
|
'path': ControllablePath,
|
|
2976
3197
|
'image': ControllableImage
|
|
2977
3198
|
};
|
|
@@ -3048,9 +3269,18 @@
|
|
|
3048
3269
|
* Animation defer settings
|
|
3049
3270
|
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
3050
3271
|
* @since 8.2.0
|
|
3051
|
-
* @apioption annotations.animation
|
|
3052
3272
|
*/
|
|
3053
3273
|
animation: {},
|
|
3274
|
+
/**
|
|
3275
|
+
* Whether to hide the part of the annotation
|
|
3276
|
+
* that is outside the plot area.
|
|
3277
|
+
*
|
|
3278
|
+
* @sample highcharts/annotations/label-crop-overflow/
|
|
3279
|
+
* Crop line annotation
|
|
3280
|
+
* @type {boolean}
|
|
3281
|
+
* @since 9.3.0
|
|
3282
|
+
*/
|
|
3283
|
+
crop: true,
|
|
3054
3284
|
/**
|
|
3055
3285
|
* The animation delay time in milliseconds.
|
|
3056
3286
|
* Set to `0` renders annotation immediately.
|
|
@@ -3115,7 +3345,7 @@
|
|
|
3115
3345
|
*
|
|
3116
3346
|
* @type {Highcharts.ColorString}
|
|
3117
3347
|
*/
|
|
3118
|
-
borderColor:
|
|
3348
|
+
borderColor: "#000000" /* neutralColor100 */,
|
|
3119
3349
|
/**
|
|
3120
3350
|
* The border radius in pixels for the annotaiton's label.
|
|
3121
3351
|
*
|
|
@@ -3410,6 +3640,32 @@
|
|
|
3410
3640
|
* @requires modules/annotations
|
|
3411
3641
|
*/
|
|
3412
3642
|
shapeOptions: {
|
|
3643
|
+
/**
|
|
3644
|
+
*
|
|
3645
|
+
* The radius of the shape in y direction.
|
|
3646
|
+
* Used for the ellipse.
|
|
3647
|
+
*
|
|
3648
|
+
* @sample highcharts/annotations/ellipse/
|
|
3649
|
+
* Ellipse annotation
|
|
3650
|
+
*
|
|
3651
|
+
* @type {number}
|
|
3652
|
+
* @apioption annotations.shapeOptions.ry
|
|
3653
|
+
**/
|
|
3654
|
+
/**
|
|
3655
|
+
*
|
|
3656
|
+
* The xAxis index to which the points should be attached.
|
|
3657
|
+
* Used for the ellipse.
|
|
3658
|
+
*
|
|
3659
|
+
* @type {number}
|
|
3660
|
+
* @apioption annotations.shapeOptions.xAxis
|
|
3661
|
+
**/
|
|
3662
|
+
/**
|
|
3663
|
+
* The yAxis index to which the points should be attached.
|
|
3664
|
+
* Used for the ellipse.
|
|
3665
|
+
*
|
|
3666
|
+
* @type {number}
|
|
3667
|
+
* @apioption annotations.shapeOptions.yAxis
|
|
3668
|
+
**/
|
|
3413
3669
|
/**
|
|
3414
3670
|
* The width of the shape.
|
|
3415
3671
|
*
|
|
@@ -3429,11 +3685,15 @@
|
|
|
3429
3685
|
* @apioption annotations.shapeOptions.height
|
|
3430
3686
|
*/
|
|
3431
3687
|
/**
|
|
3432
|
-
* The type of the shape
|
|
3688
|
+
* The type of the shape.
|
|
3689
|
+
* Avaliable options are circle, rect and ellipse.
|
|
3433
3690
|
*
|
|
3434
3691
|
* @sample highcharts/annotations/shape/
|
|
3435
3692
|
* Basic shape annotation
|
|
3436
3693
|
*
|
|
3694
|
+
* @sample highcharts/annotations/ellipse/
|
|
3695
|
+
* Ellipse annotation
|
|
3696
|
+
*
|
|
3437
3697
|
* @type {string}
|
|
3438
3698
|
* @default rect
|
|
3439
3699
|
* @apioption annotations.shapeOptions.type
|
|
@@ -3515,9 +3775,10 @@
|
|
|
3515
3775
|
width: 10,
|
|
3516
3776
|
height: 10,
|
|
3517
3777
|
style: {
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3778
|
+
cursor: 'pointer',
|
|
3779
|
+
fill: "#ffffff" /* backgroundColor */,
|
|
3780
|
+
stroke: "#000000" /* neutralColor100 */,
|
|
3781
|
+
'stroke-width': 2
|
|
3521
3782
|
},
|
|
3522
3783
|
visible: false,
|
|
3523
3784
|
events: {}
|
|
@@ -3568,7 +3829,8 @@
|
|
|
3568
3829
|
******************************************************************** */
|
|
3569
3830
|
extend(chartProto, /** @lends Highcharts.Chart# */ {
|
|
3570
3831
|
initAnnotation: function (userOptions) {
|
|
3571
|
-
var Constructor = Annotation
|
|
3832
|
+
var Constructor = Annotation
|
|
3833
|
+
.types[userOptions.type] || Annotation,
|
|
3572
3834
|
annotation = new Constructor(this,
|
|
3573
3835
|
userOptions);
|
|
3574
3836
|
this.annotations.push(annotation);
|
|
@@ -3580,7 +3842,8 @@
|
|
|
3580
3842
|
* @param {Highcharts.AnnotationsOptions} options
|
|
3581
3843
|
* The annotation options for the new, detailed annotation.
|
|
3582
3844
|
* @param {boolean} [redraw]
|
|
3583
|
-
*
|
|
3845
|
+
* @sample highcharts/annotations/add-annotation/
|
|
3846
|
+
* Add annotation
|
|
3584
3847
|
* @return {Highcharts.Annotation} - The newly generated annotation.
|
|
3585
3848
|
*/
|
|
3586
3849
|
addAnnotation: function (userOptions, redraw) {
|
|
@@ -3602,7 +3865,7 @@
|
|
|
3602
3865
|
*/
|
|
3603
3866
|
removeAnnotation: function (idOrAnnotation) {
|
|
3604
3867
|
var annotations = this.annotations,
|
|
3605
|
-
annotation = idOrAnnotation.coll === 'annotations' ?
|
|
3868
|
+
annotation = (idOrAnnotation.coll === 'annotations') ?
|
|
3606
3869
|
idOrAnnotation :
|
|
3607
3870
|
find(annotations,
|
|
3608
3871
|
function (annotation) {
|
|
@@ -3721,15 +3984,15 @@
|
|
|
3721
3984
|
// Annotation placed on a exported data point
|
|
3722
3985
|
// - add new column
|
|
3723
3986
|
if (!wasAdded) {
|
|
3724
|
-
event.dataRows.forEach(function (row
|
|
3987
|
+
event.dataRows.forEach(function (row) {
|
|
3725
3988
|
if (!wasAdded &&
|
|
3726
3989
|
row.xValues &&
|
|
3727
3990
|
xAxisIndex !== void 0 &&
|
|
3728
3991
|
annotationX === row.xValues[xAxisIndex]) {
|
|
3729
3992
|
if (joinAnnotations &&
|
|
3730
3993
|
row.length > startRowLength) {
|
|
3731
|
-
row[row.length - 1] +=
|
|
3732
|
-
|
|
3994
|
+
row[row.length - 1] += (annotationSeparator +
|
|
3995
|
+
annotationText_1);
|
|
3733
3996
|
}
|
|
3734
3997
|
else {
|
|
3735
3998
|
row.push(annotationText_1);
|
|
@@ -3847,7 +4110,7 @@
|
|
|
3847
4110
|
|
|
3848
4111
|
return Annotation;
|
|
3849
4112
|
});
|
|
3850
|
-
_registerModule(_modules, '
|
|
4113
|
+
_registerModule(_modules, 'Core/Chart/ChartNavigationComposition.js', [], function () {
|
|
3851
4114
|
/**
|
|
3852
4115
|
*
|
|
3853
4116
|
* (c) 2010-2021 Paweł Fus
|
|
@@ -3857,56 +4120,91 @@
|
|
|
3857
4120
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
3858
4121
|
*
|
|
3859
4122
|
* */
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
updates: [],
|
|
3874
|
-
update: function (options,
|
|
3875
|
-
redraw) {
|
|
3876
|
-
this.updates.forEach(function (updateConfig) {
|
|
3877
|
-
updateConfig.update.call(updateConfig.context,
|
|
3878
|
-
options,
|
|
3879
|
-
redraw);
|
|
3880
|
-
});
|
|
3881
|
-
}
|
|
3882
|
-
};
|
|
3883
|
-
}
|
|
3884
|
-
},
|
|
3885
|
-
/**
|
|
3886
|
-
* Registers an `update()` method in the `chart.navigation` object.
|
|
4123
|
+
/* *
|
|
4124
|
+
*
|
|
4125
|
+
* Composition
|
|
4126
|
+
*
|
|
4127
|
+
* */
|
|
4128
|
+
var ChartNavigationComposition;
|
|
4129
|
+
(function (ChartNavigationComposition) {
|
|
4130
|
+
/* *
|
|
4131
|
+
*
|
|
4132
|
+
* Declarations
|
|
4133
|
+
*
|
|
4134
|
+
* */
|
|
4135
|
+
/* *
|
|
3887
4136
|
*
|
|
4137
|
+
* Functions
|
|
4138
|
+
*
|
|
4139
|
+
* */
|
|
4140
|
+
/* eslint-disable valid-jsdoc */
|
|
4141
|
+
/**
|
|
3888
4142
|
* @private
|
|
3889
|
-
* @param {Highcharts.ChartNavigationUpdateFunction} update
|
|
3890
|
-
* The `update()` method that will be called in `chart.update()`.
|
|
3891
|
-
* @param {Highcharts.Chart} chart
|
|
3892
|
-
* The chart instance. `update()` will use that as a context
|
|
3893
|
-
* (`this`).
|
|
3894
|
-
* @return {void}
|
|
3895
4143
|
*/
|
|
3896
|
-
|
|
4144
|
+
function compose(chart) {
|
|
3897
4145
|
if (!chart.navigation) {
|
|
3898
|
-
|
|
4146
|
+
chart.navigation = new Additions(chart);
|
|
3899
4147
|
}
|
|
3900
|
-
chart
|
|
3901
|
-
update: update,
|
|
3902
|
-
context: chart
|
|
3903
|
-
});
|
|
4148
|
+
return chart;
|
|
3904
4149
|
}
|
|
3905
|
-
|
|
4150
|
+
ChartNavigationComposition.compose = compose;
|
|
4151
|
+
/* *
|
|
4152
|
+
*
|
|
4153
|
+
* Class
|
|
4154
|
+
*
|
|
4155
|
+
* */
|
|
4156
|
+
/**
|
|
4157
|
+
* Initializes `chart.navigation` object which delegates `update()` methods
|
|
4158
|
+
* to all other common classes (used in exporting and navigationBindings).
|
|
4159
|
+
* @private
|
|
4160
|
+
*/
|
|
4161
|
+
var Additions = /** @class */ (function () {
|
|
4162
|
+
/* *
|
|
4163
|
+
*
|
|
4164
|
+
* Constructor
|
|
4165
|
+
*
|
|
4166
|
+
* */
|
|
4167
|
+
function Additions(chart) {
|
|
4168
|
+
this.updates = [];
|
|
4169
|
+
this.chart = chart;
|
|
4170
|
+
}
|
|
4171
|
+
/* *
|
|
4172
|
+
*
|
|
4173
|
+
* Functions
|
|
4174
|
+
*
|
|
4175
|
+
* */
|
|
4176
|
+
/**
|
|
4177
|
+
* Registers an `update()` method in the `chart.navigation` object.
|
|
4178
|
+
*
|
|
4179
|
+
* @private
|
|
4180
|
+
* @param {UpdateFunction} updateFn
|
|
4181
|
+
* The `update()` method that will be called in `chart.update()`.
|
|
4182
|
+
*/
|
|
4183
|
+
Additions.prototype.addUpdate = function (updateFn) {
|
|
4184
|
+
this.chart.navigation.updates.push(updateFn);
|
|
4185
|
+
};
|
|
4186
|
+
/**
|
|
4187
|
+
* @private
|
|
4188
|
+
*/
|
|
4189
|
+
Additions.prototype.update = function (options, redraw) {
|
|
4190
|
+
var _this = this;
|
|
4191
|
+
this.updates.forEach(function (updateFn) {
|
|
4192
|
+
updateFn.call(_this.chart, options, redraw);
|
|
4193
|
+
});
|
|
4194
|
+
};
|
|
4195
|
+
return Additions;
|
|
4196
|
+
}());
|
|
4197
|
+
ChartNavigationComposition.Additions = Additions;
|
|
4198
|
+
})(ChartNavigationComposition || (ChartNavigationComposition = {}));
|
|
4199
|
+
/* *
|
|
4200
|
+
*
|
|
4201
|
+
* Default Export
|
|
4202
|
+
*
|
|
4203
|
+
* */
|
|
3906
4204
|
|
|
3907
|
-
return
|
|
4205
|
+
return ChartNavigationComposition;
|
|
3908
4206
|
});
|
|
3909
|
-
_registerModule(_modules, 'Extensions/Annotations/NavigationBindings.js', [_modules['Extensions/Annotations/Annotations.js'], _modules['Core/Chart/Chart.js'], _modules['
|
|
4207
|
+
_registerModule(_modules, 'Extensions/Annotations/NavigationBindings.js', [_modules['Extensions/Annotations/Annotations.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Chart/ChartNavigationComposition.js'], _modules['Core/FormatUtilities.js'], _modules['Core/Globals.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Utilities.js']], function (Annotation, Chart, ChartNavigationComposition, F, H, D, U) {
|
|
3910
4208
|
/* *
|
|
3911
4209
|
*
|
|
3912
4210
|
* (c) 2009-2021 Highsoft, Black Label
|
|
@@ -4054,8 +4352,9 @@
|
|
|
4054
4352
|
*/
|
|
4055
4353
|
getAssignedAxis: function (coords) {
|
|
4056
4354
|
return coords.filter(function (coord) {
|
|
4057
|
-
var
|
|
4058
|
-
|
|
4355
|
+
var extremes = coord.axis.getExtremes(),
|
|
4356
|
+
axisMin = extremes.min,
|
|
4357
|
+
axisMax = extremes.max,
|
|
4059
4358
|
// Correct axis edges when axis has series
|
|
4060
4359
|
// with pointRange (like column)
|
|
4061
4360
|
minPointOffset = pick(coord.axis.minPointOffset, 0);
|
|
@@ -4126,7 +4425,9 @@
|
|
|
4126
4425
|
navigation.eventsToUnbind.push(addEvent(subContainer, 'click', function (event) {
|
|
4127
4426
|
var bindings = navigation.getButtonEvents(subContainer,
|
|
4128
4427
|
event);
|
|
4129
|
-
if (bindings &&
|
|
4428
|
+
if (bindings &&
|
|
4429
|
+
bindings.button.className
|
|
4430
|
+
.indexOf('highcharts-disabled-btn') === -1) {
|
|
4130
4431
|
navigation.bindingsButtonClick(bindings.button, bindings.events, event);
|
|
4131
4432
|
}
|
|
4132
4433
|
}));
|
|
@@ -4156,9 +4457,11 @@
|
|
|
4156
4457
|
*/
|
|
4157
4458
|
NavigationBindings.prototype.initUpdate = function () {
|
|
4158
4459
|
var navigation = this;
|
|
4159
|
-
|
|
4460
|
+
ChartNavigationComposition
|
|
4461
|
+
.compose(this.chart).navigation
|
|
4462
|
+
.addUpdate(function (options) {
|
|
4160
4463
|
navigation.update(options);
|
|
4161
|
-
}
|
|
4464
|
+
});
|
|
4162
4465
|
};
|
|
4163
4466
|
/**
|
|
4164
4467
|
* Hook for click on a button, method selcts/unselects buttons,
|
|
@@ -4170,7 +4473,7 @@
|
|
|
4170
4473
|
* @param {Highcharts.HTMLDOMElement} [button]
|
|
4171
4474
|
* Clicked button
|
|
4172
4475
|
*
|
|
4173
|
-
* @param {
|
|
4476
|
+
* @param {Object} events
|
|
4174
4477
|
* Events passed down from bindings (`init`, `start`, `step`, `end`)
|
|
4175
4478
|
*
|
|
4176
4479
|
* @param {Highcharts.PointerEventObject} clickEvent
|
|
@@ -4178,8 +4481,13 @@
|
|
|
4178
4481
|
*/
|
|
4179
4482
|
NavigationBindings.prototype.bindingsButtonClick = function (button, events, clickEvent) {
|
|
4180
4483
|
var navigation = this,
|
|
4181
|
-
chart = navigation.chart
|
|
4484
|
+
chart = navigation.chart,
|
|
4485
|
+
svgContainer = chart.renderer.boxWrapper;
|
|
4486
|
+
var shouldEventBeFired = true;
|
|
4182
4487
|
if (navigation.selectedButtonElement) {
|
|
4488
|
+
if (navigation.selectedButtonElement.classList === button.classList) {
|
|
4489
|
+
shouldEventBeFired = false;
|
|
4490
|
+
}
|
|
4183
4491
|
fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });
|
|
4184
4492
|
if (navigation.nextEvent) {
|
|
4185
4493
|
// Remove in-progress annotations adders:
|
|
@@ -4190,15 +4498,24 @@
|
|
|
4190
4498
|
navigation.mouseMoveEvent = navigation.nextEvent = false;
|
|
4191
4499
|
}
|
|
4192
4500
|
}
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
events.init
|
|
4501
|
+
if (shouldEventBeFired) {
|
|
4502
|
+
navigation.selectedButton = events;
|
|
4503
|
+
navigation.selectedButtonElement = button;
|
|
4504
|
+
fireEvent(navigation, 'selectButton', { button: button });
|
|
4505
|
+
// Call "init" event, for example to open modal window
|
|
4506
|
+
if (events.init) {
|
|
4507
|
+
events.init.call(navigation, button, clickEvent);
|
|
4508
|
+
}
|
|
4509
|
+
if (events.start || events.steps) {
|
|
4510
|
+
chart.renderer.boxWrapper.addClass(PREFIX + 'draw-mode');
|
|
4511
|
+
}
|
|
4199
4512
|
}
|
|
4200
|
-
|
|
4201
|
-
chart.
|
|
4513
|
+
else {
|
|
4514
|
+
chart.stockTools && chart.stockTools.toggleButtonAciveClass(button);
|
|
4515
|
+
svgContainer.removeClass(PREFIX + 'draw-mode');
|
|
4516
|
+
navigation.nextEvent = false;
|
|
4517
|
+
navigation.mouseMoveEvent = false;
|
|
4518
|
+
navigation.selectedButton = null;
|
|
4202
4519
|
}
|
|
4203
4520
|
};
|
|
4204
4521
|
/**
|
|
@@ -4269,8 +4586,7 @@
|
|
|
4269
4586
|
navigation.stepIndex++;
|
|
4270
4587
|
if (selectedButton.steps[navigation.stepIndex]) {
|
|
4271
4588
|
// If we have more steps, bind them one by one:
|
|
4272
|
-
navigation.mouseMoveEvent = navigation.nextEvent =
|
|
4273
|
-
selectedButton.steps[navigation.stepIndex];
|
|
4589
|
+
navigation.mouseMoveEvent = navigation.nextEvent = selectedButton.steps[navigation.stepIndex];
|
|
4274
4590
|
}
|
|
4275
4591
|
else {
|
|
4276
4592
|
fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });
|
|
@@ -4404,10 +4720,10 @@
|
|
|
4404
4720
|
* @param {string} key
|
|
4405
4721
|
* Option name, for example "visible" or "x", "y"
|
|
4406
4722
|
*
|
|
4407
|
-
* @param {
|
|
4723
|
+
* @param {Object} parentEditables
|
|
4408
4724
|
* Editables from NavigationBindings.annotationsEditable
|
|
4409
4725
|
*
|
|
4410
|
-
* @param {
|
|
4726
|
+
* @param {Object} parent
|
|
4411
4727
|
* Where new options will be assigned
|
|
4412
4728
|
*/
|
|
4413
4729
|
function traverse(option, key, parentEditables, parent) {
|
|
@@ -4448,7 +4764,9 @@
|
|
|
4448
4764
|
parent[key] = nextParent;
|
|
4449
4765
|
}
|
|
4450
4766
|
objectEach(option, function (nestedOption, nestedKey) {
|
|
4451
|
-
traverse(nestedOption, nestedKey, key === 0 ?
|
|
4767
|
+
traverse(nestedOption, nestedKey, key === 0 ?
|
|
4768
|
+
parentEditables :
|
|
4769
|
+
nestedEditables[key], nextParent);
|
|
4452
4770
|
});
|
|
4453
4771
|
}
|
|
4454
4772
|
else {
|
|
@@ -4487,14 +4805,14 @@
|
|
|
4487
4805
|
*
|
|
4488
4806
|
* @function Highcharts.NavigationBindings#getClickedClassNames
|
|
4489
4807
|
*
|
|
4490
|
-
* @param {Highcharts.HTMLDOMElement}
|
|
4491
|
-
*
|
|
4808
|
+
* @param {Highcharts.HTMLDOMElement} container
|
|
4809
|
+
* Container that event is bound to.
|
|
4492
4810
|
*
|
|
4493
4811
|
* @param {global.Event} event
|
|
4494
|
-
*
|
|
4812
|
+
* Browser's event.
|
|
4495
4813
|
*
|
|
4496
4814
|
* @return {Array<Array<string, Highcharts.HTMLDOMElement>>}
|
|
4497
|
-
*
|
|
4815
|
+
* Array of class names with corresponding elements
|
|
4498
4816
|
*/
|
|
4499
4817
|
NavigationBindings.prototype.getClickedClassNames = function (container, event) {
|
|
4500
4818
|
var element = event.target,
|
|
@@ -4532,7 +4850,7 @@
|
|
|
4532
4850
|
* @param {global.Event} event
|
|
4533
4851
|
* Browser's event.
|
|
4534
4852
|
*
|
|
4535
|
-
* @return {
|
|
4853
|
+
* @return {Object}
|
|
4536
4854
|
* Object with events (init, start, steps, and end)
|
|
4537
4855
|
*/
|
|
4538
4856
|
NavigationBindings.prototype.getButtonEvents = function (container, event) {
|
|
@@ -4603,6 +4921,7 @@
|
|
|
4603
4921
|
},
|
|
4604
4922
|
// Simple shapes:
|
|
4605
4923
|
circle: ['shapes'],
|
|
4924
|
+
ellipse: ['shapes'],
|
|
4606
4925
|
verticalLine: [],
|
|
4607
4926
|
label: ['labelOptions'],
|
|
4608
4927
|
// Measure
|
|
@@ -4619,7 +4938,9 @@
|
|
|
4619
4938
|
// Define non editable fields per annotation, for example Rectangle inherits
|
|
4620
4939
|
// options from Measure, but crosshairs are not available
|
|
4621
4940
|
NavigationBindings.annotationsNonEditable = {
|
|
4622
|
-
rectangle: ['crosshairX', 'crosshairY', '
|
|
4941
|
+
rectangle: ['crosshairX', 'crosshairY', 'labelOptions'],
|
|
4942
|
+
ellipse: ['labelOptions'],
|
|
4943
|
+
circle: ['labelOptions']
|
|
4623
4944
|
};
|
|
4624
4945
|
return NavigationBindings;
|
|
4625
4946
|
}());
|
|
@@ -4696,10 +5017,10 @@
|
|
|
4696
5017
|
if (annotation.options.type === 'measure') {
|
|
4697
5018
|
// Manually disable crooshars according to
|
|
4698
5019
|
// stroke width of the shape:
|
|
4699
|
-
typeOptions.crosshairY.enabled =
|
|
4700
|
-
|
|
4701
|
-
typeOptions.crosshairX.enabled =
|
|
4702
|
-
|
|
5020
|
+
typeOptions.crosshairY.enabled = (typeOptions.crosshairY
|
|
5021
|
+
.strokeWidth !== 0);
|
|
5022
|
+
typeOptions.crosshairX.enabled = (typeOptions.crosshairX
|
|
5023
|
+
.strokeWidth !== 0);
|
|
4703
5024
|
}
|
|
4704
5025
|
annotation.update(config);
|
|
4705
5026
|
}
|
|
@@ -4736,7 +5057,6 @@
|
|
|
4736
5057
|
* Configure the Popup strings in the chart. Requires the
|
|
4737
5058
|
* `annotations.js` or `annotations-advanced.src.js` module to be
|
|
4738
5059
|
* loaded.
|
|
4739
|
-
*
|
|
4740
5060
|
* @since 7.0.0
|
|
4741
5061
|
* @product highcharts highstock
|
|
4742
5062
|
*/
|
|
@@ -4750,6 +5070,7 @@
|
|
|
4750
5070
|
simpleShapes: 'Simple shapes',
|
|
4751
5071
|
lines: 'Lines',
|
|
4752
5072
|
circle: 'Circle',
|
|
5073
|
+
ellipse: 'Ellipse',
|
|
4753
5074
|
rectangle: 'Rectangle',
|
|
4754
5075
|
label: 'Label',
|
|
4755
5076
|
shapeOptions: 'Shape options',
|
|
@@ -4810,9 +5131,16 @@
|
|
|
4810
5131
|
* - `end`: last event to be called after last step event
|
|
4811
5132
|
*
|
|
4812
5133
|
* @type {Highcharts.Dictionary<Highcharts.NavigationBindingsOptionsObject>|*}
|
|
4813
|
-
*
|
|
4814
|
-
*
|
|
5134
|
+
*
|
|
5135
|
+
* @sample {highstock} stock/stocktools/stocktools-thresholds
|
|
5136
|
+
* Custom bindings
|
|
5137
|
+
* @sample {highcharts} highcharts/annotations/bindings/
|
|
5138
|
+
* Simple binding
|
|
5139
|
+
* @sample {highcharts} highcharts/annotations/bindings-custom-annotation/
|
|
5140
|
+
* Custom annotation binding
|
|
5141
|
+
*
|
|
4815
5142
|
* @since 7.0.0
|
|
5143
|
+
* @requires modules/annotations
|
|
4816
5144
|
* @product highcharts highstock
|
|
4817
5145
|
*/
|
|
4818
5146
|
bindings: {
|
|
@@ -4849,10 +5177,7 @@
|
|
|
4849
5177
|
},
|
|
4850
5178
|
r: 5
|
|
4851
5179
|
}]
|
|
4852
|
-
}, navigation
|
|
4853
|
-
.annotationsOptions, navigation
|
|
4854
|
-
.bindings
|
|
4855
|
-
.circleAnnotation
|
|
5180
|
+
}, navigation.annotationsOptions, navigation.bindings.circleAnnotation
|
|
4856
5181
|
.annotationsOptions));
|
|
4857
5182
|
},
|
|
4858
5183
|
/** @ignore-option */
|
|
@@ -4860,16 +5185,14 @@
|
|
|
4860
5185
|
function (e, annotation) {
|
|
4861
5186
|
var mockPointOpts = annotation.options.shapes[0]
|
|
4862
5187
|
.point,
|
|
4863
|
-
inverted = this.chart.inverted,
|
|
4864
|
-
x,
|
|
4865
|
-
y,
|
|
4866
5188
|
distance;
|
|
4867
5189
|
if (isNumber(mockPointOpts.xAxis) &&
|
|
4868
5190
|
isNumber(mockPointOpts.yAxis)) {
|
|
4869
|
-
|
|
4870
|
-
.
|
|
4871
|
-
|
|
4872
|
-
.
|
|
5191
|
+
var inverted = this.chart.inverted,
|
|
5192
|
+
x = this.chart.xAxis[mockPointOpts.xAxis]
|
|
5193
|
+
.toPixels(mockPointOpts.x),
|
|
5194
|
+
y = this.chart.yAxis[mockPointOpts.yAxis]
|
|
5195
|
+
.toPixels(mockPointOpts.y);
|
|
4873
5196
|
distance = Math.max(Math.sqrt(Math.pow(inverted ? y - e.chartX : x - e.chartX, 2) +
|
|
4874
5197
|
Math.pow(inverted ? x - e.chartY : y - e.chartY, 2)), 5);
|
|
4875
5198
|
}
|
|
@@ -4881,6 +5204,59 @@
|
|
|
4881
5204
|
}
|
|
4882
5205
|
]
|
|
4883
5206
|
},
|
|
5207
|
+
ellipseAnnotation: {
|
|
5208
|
+
className: 'highcharts-ellipse-annotation',
|
|
5209
|
+
start: function (e) {
|
|
5210
|
+
var coords = this.chart.pointer.getCoordinates(e),
|
|
5211
|
+
coordsX = this.utils.getAssignedAxis(coords.xAxis),
|
|
5212
|
+
coordsY = this.utils.getAssignedAxis(coords.yAxis),
|
|
5213
|
+
navigation = this.chart.options.navigation;
|
|
5214
|
+
if (!coordsX || !coordsY) {
|
|
5215
|
+
return;
|
|
5216
|
+
}
|
|
5217
|
+
return this.chart.addAnnotation(merge({
|
|
5218
|
+
langKey: 'ellipse',
|
|
5219
|
+
type: 'basicAnnotation',
|
|
5220
|
+
shapes: [
|
|
5221
|
+
{
|
|
5222
|
+
type: 'ellipse',
|
|
5223
|
+
xAxis: coordsX.axis.options.index,
|
|
5224
|
+
yAxis: coordsY.axis.options.index,
|
|
5225
|
+
points: [{
|
|
5226
|
+
x: coordsX.value,
|
|
5227
|
+
y: coordsY.value
|
|
5228
|
+
}, {
|
|
5229
|
+
x: coordsX.value,
|
|
5230
|
+
y: coordsY.value
|
|
5231
|
+
}],
|
|
5232
|
+
ry: 1
|
|
5233
|
+
}
|
|
5234
|
+
]
|
|
5235
|
+
}, navigation.annotationsOptions, navigation.bindings.ellipseAnnotation
|
|
5236
|
+
.annotationOptions));
|
|
5237
|
+
},
|
|
5238
|
+
steps: [
|
|
5239
|
+
function (e, annotation) {
|
|
5240
|
+
var target = annotation.shapes[0],
|
|
5241
|
+
position = target.getAbsolutePosition(target.points[1]);
|
|
5242
|
+
target.translatePoint(e.chartX - position.x, e.chartY - position.y, 1);
|
|
5243
|
+
target.redraw(false);
|
|
5244
|
+
},
|
|
5245
|
+
function (e, annotation) {
|
|
5246
|
+
var target = annotation.shapes[0],
|
|
5247
|
+
position = target.getAbsolutePosition(target.points[0]),
|
|
5248
|
+
position2 = target.getAbsolutePosition(target.points[1]),
|
|
5249
|
+
newR = target.getDistanceFromLine(position,
|
|
5250
|
+
position2,
|
|
5251
|
+
e.chartX,
|
|
5252
|
+
e.chartY),
|
|
5253
|
+
yAxis = target.getYAxis(),
|
|
5254
|
+
newRY = Math.abs(yAxis.toValue(0) - yAxis.toValue(newR));
|
|
5255
|
+
target.setYRadius(newRY);
|
|
5256
|
+
target.redraw(false);
|
|
5257
|
+
}
|
|
5258
|
+
]
|
|
5259
|
+
},
|
|
4884
5260
|
/**
|
|
4885
5261
|
* A rectangle annotation bindings. Includes `start` and one event
|
|
4886
5262
|
* in `steps` array.
|
|
@@ -4914,7 +5290,8 @@
|
|
|
4914
5290
|
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
4915
5291
|
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
4916
5292
|
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
4917
|
-
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y }
|
|
5293
|
+
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
5294
|
+
{ command: 'Z' }
|
|
4918
5295
|
]
|
|
4919
5296
|
}]
|
|
4920
5297
|
}, navigation
|
|
@@ -4999,7 +5376,7 @@
|
|
|
4999
5376
|
* from a different server.
|
|
5000
5377
|
*
|
|
5001
5378
|
* @type {string}
|
|
5002
|
-
* @default https://code.highcharts.com/9.2
|
|
5379
|
+
* @default https://code.highcharts.com/9.3.2/gfx/stock-icons/
|
|
5003
5380
|
* @since 7.1.3
|
|
5004
5381
|
* @apioption navigation.iconsURL
|
|
5005
5382
|
*/
|
|
@@ -5055,6 +5432,7 @@
|
|
|
5055
5432
|
* @extends annotations
|
|
5056
5433
|
* @exclude crookedLine, elliottWave, fibonacci, infinityLine,
|
|
5057
5434
|
* measure, pitchfork, tunnel, verticalLine, basicAnnotation
|
|
5435
|
+
* @requires modules/annotations
|
|
5058
5436
|
* @apioption navigation.annotationsOptions
|
|
5059
5437
|
*/
|
|
5060
5438
|
annotationsOptions: {
|
|
@@ -5081,28 +5459,29 @@
|
|
|
5081
5459
|
if (chart.navigationBindings &&
|
|
5082
5460
|
chart.navigationBindings.container &&
|
|
5083
5461
|
chart.navigationBindings.container[0]) {
|
|
5084
|
-
// Get the HTML element coresponding to the
|
|
5085
|
-
//
|
|
5086
|
-
var buttonNode = chart.navigationBindings.container[0]
|
|
5462
|
+
// Get the HTML element coresponding to the className taken
|
|
5463
|
+
// from StockToolsBindings.
|
|
5464
|
+
var buttonNode = chart.navigationBindings.container[0]
|
|
5465
|
+
.querySelectorAll('.' + key);
|
|
5087
5466
|
if (buttonNode) {
|
|
5088
5467
|
for (var i = 0; i < buttonNode.length; i++) {
|
|
5089
|
-
var button = buttonNode[i]
|
|
5468
|
+
var button = buttonNode[i],
|
|
5469
|
+
cls = button.className;
|
|
5090
5470
|
if (value.noDataState === 'normal') {
|
|
5091
|
-
// If button has noDataState: 'normal',
|
|
5092
|
-
//
|
|
5093
|
-
|
|
5094
|
-
if (button.className.indexOf(disabledClassName) !== -1) {
|
|
5471
|
+
// If button has noDataState: 'normal', and has
|
|
5472
|
+
// disabledClassName, remove this className.
|
|
5473
|
+
if (cls.indexOf(disabledClassName) !== -1) {
|
|
5095
5474
|
button.classList.remove(disabledClassName);
|
|
5096
5475
|
}
|
|
5097
5476
|
}
|
|
5098
5477
|
else if (!buttonsEnabled_1) {
|
|
5099
|
-
if (
|
|
5478
|
+
if (cls.indexOf(disabledClassName) === -1) {
|
|
5100
5479
|
button.className += ' ' + disabledClassName;
|
|
5101
5480
|
}
|
|
5102
5481
|
}
|
|
5103
5482
|
else {
|
|
5104
5483
|
// Enable all buttons by deleting the className.
|
|
5105
|
-
if (
|
|
5484
|
+
if (cls.indexOf(disabledClassName) !== -1) {
|
|
5106
5485
|
button.classList.remove(disabledClassName);
|
|
5107
5486
|
}
|
|
5108
5487
|
}
|
|
@@ -5118,7 +5497,7 @@
|
|
|
5118
5497
|
|
|
5119
5498
|
return NavigationBindings;
|
|
5120
5499
|
});
|
|
5121
|
-
_registerModule(_modules, 'Stock/StockToolsBindings.js', [_modules['Core/
|
|
5500
|
+
_registerModule(_modules, 'Stock/StockToolsBindings.js', [_modules['Core/DefaultOptions.js'], _modules['Core/Globals.js'], _modules['Extensions/Annotations/NavigationBindings.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (D, H, NavigationBindings, Series, U) {
|
|
5122
5501
|
/**
|
|
5123
5502
|
*
|
|
5124
5503
|
* Events generator for Stock tools
|
|
@@ -5238,34 +5617,35 @@
|
|
|
5238
5617
|
};
|
|
5239
5618
|
};
|
|
5240
5619
|
bindingsUtils.indicatorsWithAxes = [
|
|
5620
|
+
'apo',
|
|
5241
5621
|
'ad',
|
|
5622
|
+
'aroon',
|
|
5623
|
+
'aroonoscillator',
|
|
5242
5624
|
'atr',
|
|
5625
|
+
'ao',
|
|
5243
5626
|
'cci',
|
|
5627
|
+
'chaikin',
|
|
5244
5628
|
'cmf',
|
|
5245
|
-
'disparityindex',
|
|
5246
5629
|
'cmo',
|
|
5630
|
+
'disparityindex',
|
|
5247
5631
|
'dmi',
|
|
5632
|
+
'dpo',
|
|
5633
|
+
'linearRegressionAngle',
|
|
5634
|
+
'linearRegressionIntercept',
|
|
5635
|
+
'linearRegressionSlope',
|
|
5636
|
+
'klinger',
|
|
5248
5637
|
'macd',
|
|
5249
5638
|
'mfi',
|
|
5639
|
+
'momentum',
|
|
5640
|
+
'natr',
|
|
5641
|
+
'obv',
|
|
5642
|
+
'ppo',
|
|
5250
5643
|
'roc',
|
|
5251
5644
|
'rsi',
|
|
5252
|
-
'
|
|
5253
|
-
'
|
|
5254
|
-
'aroonoscillator',
|
|
5645
|
+
'slowstochastic',
|
|
5646
|
+
'stochastic',
|
|
5255
5647
|
'trix',
|
|
5256
|
-
'
|
|
5257
|
-
'dpo',
|
|
5258
|
-
'ppo',
|
|
5259
|
-
'natr',
|
|
5260
|
-
'obv',
|
|
5261
|
-
'williamsr',
|
|
5262
|
-
'stochastic',
|
|
5263
|
-
'slowstochastic',
|
|
5264
|
-
'linearRegression',
|
|
5265
|
-
'linearRegressionSlope',
|
|
5266
|
-
'linearRegressionIntercept',
|
|
5267
|
-
'linearRegressionAngle',
|
|
5268
|
-
'klinger'
|
|
5648
|
+
'williamsr'
|
|
5269
5649
|
];
|
|
5270
5650
|
bindingsUtils.manageIndicators = function (data) {
|
|
5271
5651
|
var navigation = this,
|
|
@@ -5453,7 +5833,7 @@
|
|
|
5453
5833
|
* @private
|
|
5454
5834
|
* @function bindingsUtils.isLastPriceEnabled
|
|
5455
5835
|
*
|
|
5456
|
-
* @param {
|
|
5836
|
+
* @param {Array} series
|
|
5457
5837
|
* Array of series.
|
|
5458
5838
|
*
|
|
5459
5839
|
* @return {boolean}
|
|
@@ -5551,7 +5931,8 @@
|
|
|
5551
5931
|
if (!isNumber(height)) {
|
|
5552
5932
|
// Check if the previous axis is the
|
|
5553
5933
|
// indicator axis (every indicator inherits from sma)
|
|
5554
|
-
height = yAxes[index - 1].series
|
|
5934
|
+
height = yAxes[index - 1].series
|
|
5935
|
+
.every(function (s) { return s.is('sma'); }) ?
|
|
5555
5936
|
previousAxisHeight : defaultHeight / 100;
|
|
5556
5937
|
}
|
|
5557
5938
|
if (!isNumber(top)) {
|
|
@@ -5979,7 +6360,8 @@
|
|
|
5979
6360
|
y: coordsY.value
|
|
5980
6361
|
}]
|
|
5981
6362
|
}
|
|
5982
|
-
}, navigation.annotationsOptions, navigation.bindings.arrowInfinityLine
|
|
6363
|
+
}, navigation.annotationsOptions, navigation.bindings.arrowInfinityLine
|
|
6364
|
+
.annotationsOptions);
|
|
5983
6365
|
return this.chart.addAnnotation(options);
|
|
5984
6366
|
},
|
|
5985
6367
|
/** @ignore-option */
|
|
@@ -6122,7 +6504,7 @@
|
|
|
6122
6504
|
*
|
|
6123
6505
|
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
6124
6506
|
* @product highstock
|
|
6125
|
-
* @default {"className": "highcharts-
|
|
6507
|
+
* @default {"className": "highcharts-crooked5", "start": function() {}, "steps": [function() {}, function() {}, function() {}, function() {}], "annotationsOptions": {}}
|
|
6126
6508
|
*/
|
|
6127
6509
|
crooked5: {
|
|
6128
6510
|
/** @ignore-option */
|
|
@@ -6141,7 +6523,7 @@
|
|
|
6141
6523
|
y = coordsY.value,
|
|
6142
6524
|
navigation = this.chart.options.navigation,
|
|
6143
6525
|
options = merge({
|
|
6144
|
-
langKey: '
|
|
6526
|
+
langKey: 'crooked5',
|
|
6145
6527
|
type: 'crookedLine',
|
|
6146
6528
|
typeOptions: {
|
|
6147
6529
|
xAxis: coordsX.axis.options.index,
|
|
@@ -6215,7 +6597,7 @@
|
|
|
6215
6597
|
},
|
|
6216
6598
|
labelOptions: {
|
|
6217
6599
|
style: {
|
|
6218
|
-
color:
|
|
6600
|
+
color: "#666666" /* neutralColor60 */
|
|
6219
6601
|
}
|
|
6220
6602
|
}
|
|
6221
6603
|
},
|
|
@@ -6277,7 +6659,7 @@
|
|
|
6277
6659
|
},
|
|
6278
6660
|
labelOptions: {
|
|
6279
6661
|
style: {
|
|
6280
|
-
color:
|
|
6662
|
+
color: "#666666" /* neutralColor60 */
|
|
6281
6663
|
}
|
|
6282
6664
|
}
|
|
6283
6665
|
},
|
|
@@ -6329,23 +6711,23 @@
|
|
|
6329
6711
|
y: y },
|
|
6330
6712
|
crosshairX: {
|
|
6331
6713
|
strokeWidth: 1,
|
|
6332
|
-
stroke:
|
|
6714
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6333
6715
|
},
|
|
6334
6716
|
crosshairY: {
|
|
6335
6717
|
enabled: false,
|
|
6336
6718
|
strokeWidth: 0,
|
|
6337
|
-
stroke:
|
|
6719
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6338
6720
|
},
|
|
6339
6721
|
background: {
|
|
6340
6722
|
width: 0,
|
|
6341
6723
|
height: 0,
|
|
6342
6724
|
strokeWidth: 0,
|
|
6343
|
-
stroke:
|
|
6725
|
+
stroke: "#ffffff" /* backgroundColor */
|
|
6344
6726
|
}
|
|
6345
6727
|
},
|
|
6346
6728
|
labelOptions: {
|
|
6347
6729
|
style: {
|
|
6348
|
-
color:
|
|
6730
|
+
color: "#666666" /* neutralColor60 */
|
|
6349
6731
|
}
|
|
6350
6732
|
}
|
|
6351
6733
|
},
|
|
@@ -6394,22 +6776,22 @@
|
|
|
6394
6776
|
crosshairX: {
|
|
6395
6777
|
enabled: false,
|
|
6396
6778
|
strokeWidth: 0,
|
|
6397
|
-
stroke:
|
|
6779
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6398
6780
|
},
|
|
6399
6781
|
crosshairY: {
|
|
6400
6782
|
strokeWidth: 1,
|
|
6401
|
-
stroke:
|
|
6783
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6402
6784
|
},
|
|
6403
6785
|
background: {
|
|
6404
6786
|
width: 0,
|
|
6405
6787
|
height: 0,
|
|
6406
6788
|
strokeWidth: 0,
|
|
6407
|
-
stroke:
|
|
6789
|
+
stroke: "#ffffff" /* backgroundColor */
|
|
6408
6790
|
}
|
|
6409
6791
|
},
|
|
6410
6792
|
labelOptions: {
|
|
6411
6793
|
style: {
|
|
6412
|
-
color:
|
|
6794
|
+
color: "#666666" /* neutralColor60 */
|
|
6413
6795
|
}
|
|
6414
6796
|
}
|
|
6415
6797
|
},
|
|
@@ -6462,16 +6844,16 @@
|
|
|
6462
6844
|
},
|
|
6463
6845
|
crosshairX: {
|
|
6464
6846
|
strokeWidth: 1,
|
|
6465
|
-
stroke:
|
|
6847
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6466
6848
|
},
|
|
6467
6849
|
crosshairY: {
|
|
6468
6850
|
strokeWidth: 1,
|
|
6469
|
-
stroke:
|
|
6851
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6470
6852
|
}
|
|
6471
6853
|
},
|
|
6472
6854
|
labelOptions: {
|
|
6473
6855
|
style: {
|
|
6474
|
-
color:
|
|
6856
|
+
color: "#666666" /* neutralColor60 */
|
|
6475
6857
|
}
|
|
6476
6858
|
}
|
|
6477
6859
|
},
|
|
@@ -6524,7 +6906,7 @@
|
|
|
6524
6906
|
},
|
|
6525
6907
|
labelOptions: {
|
|
6526
6908
|
style: {
|
|
6527
|
-
color:
|
|
6909
|
+
color: "#666666" /* neutralColor60 */
|
|
6528
6910
|
}
|
|
6529
6911
|
}
|
|
6530
6912
|
},
|
|
@@ -6577,7 +6959,8 @@
|
|
|
6577
6959
|
}
|
|
6578
6960
|
},
|
|
6579
6961
|
navigation.annotationsOptions,
|
|
6580
|
-
navigation.bindings.parallelChannel
|
|
6962
|
+
navigation.bindings.parallelChannel
|
|
6963
|
+
.annotationsOptions);
|
|
6581
6964
|
return this.chart.addAnnotation(options);
|
|
6582
6965
|
},
|
|
6583
6966
|
/** @ignore-option */
|
|
@@ -6618,7 +7001,7 @@
|
|
|
6618
7001
|
y: coordsY.value,
|
|
6619
7002
|
controlPoint: {
|
|
6620
7003
|
style: {
|
|
6621
|
-
fill:
|
|
7004
|
+
fill: "#f21313" /* negativeColor */
|
|
6622
7005
|
}
|
|
6623
7006
|
}
|
|
6624
7007
|
}, { x: x, y: y },
|
|
@@ -6682,7 +7065,7 @@
|
|
|
6682
7065
|
},
|
|
6683
7066
|
labelOptions: {
|
|
6684
7067
|
style: {
|
|
6685
|
-
color:
|
|
7068
|
+
color: "#666666" /* neutralColor60 */,
|
|
6686
7069
|
fontSize: '11px'
|
|
6687
7070
|
}
|
|
6688
7071
|
},
|
|
@@ -6705,6 +7088,44 @@
|
|
|
6705
7088
|
* @product highstock
|
|
6706
7089
|
* @default {"className": "highcharts-vertical-label", "start": function() {}, "annotationsOptions": {}}
|
|
6707
7090
|
*/
|
|
7091
|
+
timeCycles: {
|
|
7092
|
+
className: 'highcharts-time-cycles',
|
|
7093
|
+
start: function (e) {
|
|
7094
|
+
var closestPoint = bindingsUtils.attractToPoint(e,
|
|
7095
|
+
this.chart),
|
|
7096
|
+
navigation = this.chart.options.navigation,
|
|
7097
|
+
options,
|
|
7098
|
+
annotation;
|
|
7099
|
+
// Exit if clicked out of axes area
|
|
7100
|
+
if (!closestPoint) {
|
|
7101
|
+
return;
|
|
7102
|
+
}
|
|
7103
|
+
options = merge({
|
|
7104
|
+
langKey: 'timeCycles',
|
|
7105
|
+
type: 'timeCycles',
|
|
7106
|
+
typeOptions: {
|
|
7107
|
+
xAxis: closestPoint.xAxis,
|
|
7108
|
+
yAxis: closestPoint.yAxis,
|
|
7109
|
+
points: [{
|
|
7110
|
+
x: closestPoint.x
|
|
7111
|
+
}, {
|
|
7112
|
+
x: closestPoint.x
|
|
7113
|
+
}],
|
|
7114
|
+
line: {
|
|
7115
|
+
stroke: 'rgba(0, 0, 0, 0.75)',
|
|
7116
|
+
fill: 'transparent',
|
|
7117
|
+
strokeWidth: 2
|
|
7118
|
+
}
|
|
7119
|
+
}
|
|
7120
|
+
}, navigation.annotationsOptions, navigation.bindings.timeCycles.annotationsOptions);
|
|
7121
|
+
annotation = this.chart.addAnnotation(options);
|
|
7122
|
+
annotation.options.events.click.call(annotation, {});
|
|
7123
|
+
return annotation;
|
|
7124
|
+
},
|
|
7125
|
+
steps: [
|
|
7126
|
+
bindingsUtils.updateNthPoint(1)
|
|
7127
|
+
]
|
|
7128
|
+
},
|
|
6708
7129
|
verticalLabel: {
|
|
6709
7130
|
/** @ignore-option */
|
|
6710
7131
|
className: 'highcharts-vertical-label',
|
|
@@ -6736,7 +7157,7 @@
|
|
|
6736
7157
|
},
|
|
6737
7158
|
labelOptions: {
|
|
6738
7159
|
style: {
|
|
6739
|
-
color:
|
|
7160
|
+
color: "#666666" /* neutralColor60 */,
|
|
6740
7161
|
fontSize: '11px'
|
|
6741
7162
|
}
|
|
6742
7163
|
},
|
|
@@ -6752,8 +7173,8 @@
|
|
|
6752
7173
|
/**
|
|
6753
7174
|
* A vertical arrow annotation bindings. Includes `start` event. On click,
|
|
6754
7175
|
* finds the closest point and marks it with an arrow.
|
|
6755
|
-
*
|
|
6756
|
-
* pointing from above and
|
|
7176
|
+
* `#06b535` is the color of the arrow when
|
|
7177
|
+
* pointing from above and `#f21313`
|
|
6757
7178
|
* when pointing from below the point.
|
|
6758
7179
|
*
|
|
6759
7180
|
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
@@ -6792,7 +7213,7 @@
|
|
|
6792
7213
|
connector: {
|
|
6793
7214
|
fill: 'none',
|
|
6794
7215
|
stroke: closestPoint.below ?
|
|
6795
|
-
|
|
7216
|
+
"#f21313" /* negativeColor */ : "#06b535" /* positiveColor */
|
|
6796
7217
|
}
|
|
6797
7218
|
},
|
|
6798
7219
|
shapeOptions: {
|
|
@@ -6804,6 +7225,67 @@
|
|
|
6804
7225
|
annotation.options.events.click.call(annotation, {});
|
|
6805
7226
|
}
|
|
6806
7227
|
},
|
|
7228
|
+
/**
|
|
7229
|
+
* The Fibonacci Time Zones annotation bindings. Includes `start` and one
|
|
7230
|
+
* event in `steps` array.
|
|
7231
|
+
*
|
|
7232
|
+
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
7233
|
+
* @product highstock
|
|
7234
|
+
* @default {"className": "highcharts-fibonacci-time-zones", "start": function() {}, "steps": [function() {}], "annotationsOptions": {}}
|
|
7235
|
+
*/
|
|
7236
|
+
fibonacciTimeZones: {
|
|
7237
|
+
/** @ignore-option */
|
|
7238
|
+
className: 'highcharts-fibonacci-time-zones',
|
|
7239
|
+
// eslint-disable-next-line valid-jsdoc
|
|
7240
|
+
/** @ignore-option */
|
|
7241
|
+
start: function (e) {
|
|
7242
|
+
var coords = this.chart.pointer.getCoordinates(e),
|
|
7243
|
+
coordsX = this.utils.getAssignedAxis(coords.xAxis),
|
|
7244
|
+
coordsY = this.utils.getAssignedAxis(coords.yAxis);
|
|
7245
|
+
// Exit if clicked out of axes area
|
|
7246
|
+
if (!coordsX || !coordsY) {
|
|
7247
|
+
return;
|
|
7248
|
+
}
|
|
7249
|
+
var navigation = this.chart.options.navigation,
|
|
7250
|
+
options = merge({
|
|
7251
|
+
type: 'fibonacciTimeZones',
|
|
7252
|
+
langKey: 'fibonacciTimeZones',
|
|
7253
|
+
typeOptions: {
|
|
7254
|
+
xAxis: coordsX.axis.options.index,
|
|
7255
|
+
yAxis: coordsY.axis.options.index,
|
|
7256
|
+
points: [{
|
|
7257
|
+
x: coordsX.value
|
|
7258
|
+
}]
|
|
7259
|
+
}
|
|
7260
|
+
},
|
|
7261
|
+
navigation.annotationsOptions,
|
|
7262
|
+
navigation.bindings.fibonacciTimeZones
|
|
7263
|
+
.annotationsOptions);
|
|
7264
|
+
return this.chart.addAnnotation(options);
|
|
7265
|
+
},
|
|
7266
|
+
/** @ignore-option */
|
|
7267
|
+
// eslint-disable-next-line valid-jsdoc
|
|
7268
|
+
steps: [
|
|
7269
|
+
function (e, annotation) {
|
|
7270
|
+
var mockPointOpts = annotation.options.typeOptions.points,
|
|
7271
|
+
x = mockPointOpts && mockPointOpts[0].x,
|
|
7272
|
+
coords = this.chart.pointer.getCoordinates(e),
|
|
7273
|
+
coordsX = this.utils.getAssignedAxis(coords.xAxis),
|
|
7274
|
+
coordsY = this.utils.getAssignedAxis(coords.yAxis);
|
|
7275
|
+
annotation.update({
|
|
7276
|
+
typeOptions: {
|
|
7277
|
+
xAxis: coordsX.axis.options.index,
|
|
7278
|
+
yAxis: coordsY.axis.options.index,
|
|
7279
|
+
points: [{
|
|
7280
|
+
x: x
|
|
7281
|
+
}, {
|
|
7282
|
+
x: coordsX.value
|
|
7283
|
+
}]
|
|
7284
|
+
}
|
|
7285
|
+
});
|
|
7286
|
+
}
|
|
7287
|
+
]
|
|
7288
|
+
},
|
|
6807
7289
|
// Flag types:
|
|
6808
7290
|
/**
|
|
6809
7291
|
* A flag series bindings. Includes `start` event. On click, finds the
|
|
@@ -7007,6 +7489,23 @@
|
|
|
7007
7489
|
fireEvent(this, 'deselectButton', { button: button });
|
|
7008
7490
|
}
|
|
7009
7491
|
},
|
|
7492
|
+
/**
|
|
7493
|
+
* Change main series to `'hlc'` type.
|
|
7494
|
+
*
|
|
7495
|
+
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
7496
|
+
* @product highstock
|
|
7497
|
+
* @default {"className": "highcharts-series-type-hlc", "init": function () {}}
|
|
7498
|
+
*/
|
|
7499
|
+
seriesTypeHLC: {
|
|
7500
|
+
className: 'highcharts-series-type-hlc',
|
|
7501
|
+
init: function (button) {
|
|
7502
|
+
this.chart.series[0].update({
|
|
7503
|
+
type: 'hlc',
|
|
7504
|
+
useOhlcData: true
|
|
7505
|
+
});
|
|
7506
|
+
fireEvent(this, 'deselectButton', { button: button });
|
|
7507
|
+
}
|
|
7508
|
+
},
|
|
7010
7509
|
/**
|
|
7011
7510
|
* Changes main series to `'hollowcandlestick'` type.
|
|
7012
7511
|
*
|
|
@@ -7069,7 +7568,10 @@
|
|
|
7069
7568
|
series.forEach(function (series) {
|
|
7070
7569
|
series.update({
|
|
7071
7570
|
lastPrice: { enabled: !priceIndicatorEnabled },
|
|
7072
|
-
lastVisiblePrice: {
|
|
7571
|
+
lastVisiblePrice: {
|
|
7572
|
+
enabled: !priceIndicatorEnabled,
|
|
7573
|
+
label: { enabled: true }
|
|
7574
|
+
}
|
|
7073
7575
|
}, false);
|
|
7074
7576
|
});
|
|
7075
7577
|
chart.redraw();
|
|
@@ -7258,10 +7760,12 @@
|
|
|
7258
7760
|
typeOHLC: 'OHLC',
|
|
7259
7761
|
typeLine: 'Line',
|
|
7260
7762
|
typeCandlestick: 'Candlestick',
|
|
7763
|
+
typeHLC: 'HLC',
|
|
7261
7764
|
typeHollowCandlestick: 'Hollow Candlestick',
|
|
7262
7765
|
typeHeikinAshi: 'Heikin Ashi',
|
|
7263
7766
|
// Basic shapes:
|
|
7264
7767
|
circle: 'Circle',
|
|
7768
|
+
ellipse: 'Ellipse',
|
|
7265
7769
|
label: 'Label',
|
|
7266
7770
|
rectangle: 'Rectangle',
|
|
7267
7771
|
// Flags:
|
|
@@ -7279,7 +7783,7 @@
|
|
|
7279
7783
|
ray: 'Ray',
|
|
7280
7784
|
arrowRay: 'Arrow ray',
|
|
7281
7785
|
line: 'Line',
|
|
7282
|
-
|
|
7786
|
+
arrowInfinityLine: 'Arrow line',
|
|
7283
7787
|
horizontalLine: 'Horizontal line',
|
|
7284
7788
|
verticalLine: 'Vertical line',
|
|
7285
7789
|
infinityLine: 'Infinity line',
|
|
@@ -7294,14 +7798,17 @@
|
|
|
7294
7798
|
verticalArrow: 'Vertical arrow',
|
|
7295
7799
|
// Advanced:
|
|
7296
7800
|
fibonacci: 'Fibonacci',
|
|
7801
|
+
fibonacciTimeZones: 'Fibonacci Time Zones',
|
|
7297
7802
|
pitchfork: 'Pitchfork',
|
|
7298
|
-
parallelChannel: 'Parallel channel'
|
|
7803
|
+
parallelChannel: 'Parallel channel',
|
|
7804
|
+
timeCycles: 'Time Cycles'
|
|
7299
7805
|
}
|
|
7300
7806
|
},
|
|
7301
7807
|
navigation: {
|
|
7302
7808
|
popup: {
|
|
7303
7809
|
// Annotations:
|
|
7304
7810
|
circle: 'Circle',
|
|
7811
|
+
ellipse: 'Ellipse',
|
|
7305
7812
|
rectangle: 'Rectangle',
|
|
7306
7813
|
label: 'Label',
|
|
7307
7814
|
segment: 'Segment',
|
|
@@ -7309,7 +7816,7 @@
|
|
|
7309
7816
|
ray: 'Ray',
|
|
7310
7817
|
arrowRay: 'Arrow ray',
|
|
7311
7818
|
line: 'Line',
|
|
7312
|
-
|
|
7819
|
+
arrowInfinityLine: 'Arrow line',
|
|
7313
7820
|
horizontalLine: 'Horizontal line',
|
|
7314
7821
|
verticalLine: 'Vertical line',
|
|
7315
7822
|
crooked3: 'Crooked 3 line',
|
|
@@ -7320,6 +7827,7 @@
|
|
|
7320
7827
|
verticalLabel: 'Vertical label',
|
|
7321
7828
|
verticalArrow: 'Vertical arrow',
|
|
7322
7829
|
fibonacci: 'Fibonacci',
|
|
7830
|
+
fibonacciTimeZones: 'Fibonacci Time Zones',
|
|
7323
7831
|
pitchfork: 'Pitchfork',
|
|
7324
7832
|
parallelChannel: 'Parallel channel',
|
|
7325
7833
|
infinityLine: 'Infinity line',
|
|
@@ -7327,6 +7835,7 @@
|
|
|
7327
7835
|
measureXY: 'Measure XY',
|
|
7328
7836
|
measureX: 'Measure X',
|
|
7329
7837
|
measureY: 'Measure Y',
|
|
7838
|
+
timeCycles: 'Time Cycles',
|
|
7330
7839
|
// Flags:
|
|
7331
7840
|
flags: 'Flags',
|
|
7332
7841
|
// GUI elements:
|
|
@@ -7344,7 +7853,11 @@
|
|
|
7344
7853
|
crosshairY: 'Crosshair Y',
|
|
7345
7854
|
tunnel: 'Tunnel',
|
|
7346
7855
|
background: 'Background',
|
|
7856
|
+
// Indicators' searchbox (#16019):
|
|
7857
|
+
noFilterMatch: 'No match',
|
|
7347
7858
|
// Indicators' params (#15170):
|
|
7859
|
+
searchIndicators: 'Search Indicators',
|
|
7860
|
+
clearFilter: '\u2715 clear filter',
|
|
7348
7861
|
index: 'Index',
|
|
7349
7862
|
period: 'Period',
|
|
7350
7863
|
periods: 'Periods',
|
|
@@ -7372,7 +7885,346 @@
|
|
|
7372
7885
|
factor: 'Factor',
|
|
7373
7886
|
fastAvgPeriod: 'Fast average period',
|
|
7374
7887
|
slowAvgPeriod: 'Slow average period',
|
|
7375
|
-
average: 'Average'
|
|
7888
|
+
average: 'Average',
|
|
7889
|
+
/**
|
|
7890
|
+
* Configure the aliases for indicator names.
|
|
7891
|
+
*
|
|
7892
|
+
* @product highstock
|
|
7893
|
+
* @since 9.3.0
|
|
7894
|
+
*/
|
|
7895
|
+
indicatorAliases: {
|
|
7896
|
+
// Overlays
|
|
7897
|
+
/**
|
|
7898
|
+
* Acceleration Bands alias.
|
|
7899
|
+
*
|
|
7900
|
+
* @default ['Acceleration Bands']
|
|
7901
|
+
* @type {Array<string>}
|
|
7902
|
+
*/
|
|
7903
|
+
abands: ['Acceleration Bands'],
|
|
7904
|
+
/**
|
|
7905
|
+
* Bollinger Bands alias.
|
|
7906
|
+
*
|
|
7907
|
+
* @default ['Bollinger Bands']
|
|
7908
|
+
* @type {Array<string>}
|
|
7909
|
+
*/
|
|
7910
|
+
bb: ['Bollinger Bands'],
|
|
7911
|
+
/**
|
|
7912
|
+
* Double Exponential Moving Average alias.
|
|
7913
|
+
*
|
|
7914
|
+
* @default ['Double Exponential Moving Average']
|
|
7915
|
+
* @type {Array<string>}
|
|
7916
|
+
*/
|
|
7917
|
+
dema: ['Double Exponential Moving Average'],
|
|
7918
|
+
/**
|
|
7919
|
+
* Exponential Moving Average alias.
|
|
7920
|
+
*
|
|
7921
|
+
* @default ['Exponential Moving Average']
|
|
7922
|
+
* @type {Array<string>}
|
|
7923
|
+
*/
|
|
7924
|
+
ema: ['Exponential Moving Average'],
|
|
7925
|
+
/**
|
|
7926
|
+
* Ichimoku Kinko Hyo alias.
|
|
7927
|
+
*
|
|
7928
|
+
* @default ['Ichimoku Kinko Hyo']
|
|
7929
|
+
* @type {Array<string>}
|
|
7930
|
+
*/
|
|
7931
|
+
ikh: ['Ichimoku Kinko Hyo'],
|
|
7932
|
+
/**
|
|
7933
|
+
* Keltner Channels alias.
|
|
7934
|
+
*
|
|
7935
|
+
* @default ['Keltner Channels']
|
|
7936
|
+
* @type {Array<string>}
|
|
7937
|
+
*/
|
|
7938
|
+
keltnerchannels: ['Keltner Channels'],
|
|
7939
|
+
/**
|
|
7940
|
+
* Linear Regression alias.
|
|
7941
|
+
*
|
|
7942
|
+
* @default ['Linear Regression']
|
|
7943
|
+
* @type {Array<string>}
|
|
7944
|
+
*/
|
|
7945
|
+
linearRegression: ['Linear Regression'],
|
|
7946
|
+
/**
|
|
7947
|
+
* Pivot Points alias.
|
|
7948
|
+
*
|
|
7949
|
+
* @default ['Pivot Points']
|
|
7950
|
+
* @type {Array<string>}
|
|
7951
|
+
*/
|
|
7952
|
+
pivotpoints: ['Pivot Points'],
|
|
7953
|
+
/**
|
|
7954
|
+
* Price Channel alias.
|
|
7955
|
+
*
|
|
7956
|
+
* @default ['Price Channel']
|
|
7957
|
+
* @type {Array<string>}
|
|
7958
|
+
*/
|
|
7959
|
+
pc: ['Price Channel'],
|
|
7960
|
+
/**
|
|
7961
|
+
* Price Envelopes alias.
|
|
7962
|
+
*
|
|
7963
|
+
* @default ['Price Envelopes']
|
|
7964
|
+
* @type {Array<string>}
|
|
7965
|
+
*/
|
|
7966
|
+
priceenvelopes: ['Price Envelopes'],
|
|
7967
|
+
/**
|
|
7968
|
+
* Parabolic SAR alias.
|
|
7969
|
+
*
|
|
7970
|
+
* @default ['Parabolic SAR']
|
|
7971
|
+
* @type {Array<string>}
|
|
7972
|
+
*/
|
|
7973
|
+
psar: ['Parabolic SAR'],
|
|
7974
|
+
/**
|
|
7975
|
+
* Simple Moving Average alias.
|
|
7976
|
+
*
|
|
7977
|
+
* @default ['Simple Moving Average']
|
|
7978
|
+
* @type {Array<string>}
|
|
7979
|
+
*/
|
|
7980
|
+
sma: ['Simple Moving Average'],
|
|
7981
|
+
/**
|
|
7982
|
+
* Super Trend alias.
|
|
7983
|
+
*
|
|
7984
|
+
* @default ['Super Trend']
|
|
7985
|
+
* @type {Array<string>}
|
|
7986
|
+
*/
|
|
7987
|
+
supertrend: ['Super Trend'],
|
|
7988
|
+
/**
|
|
7989
|
+
* Triple Exponential Moving Average alias.
|
|
7990
|
+
*
|
|
7991
|
+
* @default ['Triple Exponential Moving Average']
|
|
7992
|
+
* @type {Array<string>}
|
|
7993
|
+
*/
|
|
7994
|
+
tema: ['Triple Exponential Moving Average'],
|
|
7995
|
+
/**
|
|
7996
|
+
* Volume by Price alias.
|
|
7997
|
+
*
|
|
7998
|
+
* @default ['Volume by Price']
|
|
7999
|
+
* @type {Array<string>}
|
|
8000
|
+
*/
|
|
8001
|
+
vbp: ['Volume by Price'],
|
|
8002
|
+
/**
|
|
8003
|
+
* Volume Weighted Moving Average alias.
|
|
8004
|
+
*
|
|
8005
|
+
* @default ['Volume Weighted Moving Average']
|
|
8006
|
+
* @type {Array<string>}
|
|
8007
|
+
*/
|
|
8008
|
+
vwap: ['Volume Weighted Moving Average'],
|
|
8009
|
+
/**
|
|
8010
|
+
* Weighted Moving Average alias.
|
|
8011
|
+
*
|
|
8012
|
+
* @default ['Weighted Moving Average']
|
|
8013
|
+
* @type {Array<string>}
|
|
8014
|
+
*/
|
|
8015
|
+
wma: ['Weighted Moving Average'],
|
|
8016
|
+
/**
|
|
8017
|
+
* Zig Zagalias.
|
|
8018
|
+
*
|
|
8019
|
+
* @default ['Zig Zag']
|
|
8020
|
+
* @type {Array<string>}
|
|
8021
|
+
*/
|
|
8022
|
+
zigzag: ['Zig Zag'],
|
|
8023
|
+
// Oscilators
|
|
8024
|
+
/**
|
|
8025
|
+
* Absolute price indicator alias.
|
|
8026
|
+
*
|
|
8027
|
+
* @default ['Absolute price indicator']
|
|
8028
|
+
* @type {Array<string>}
|
|
8029
|
+
*/
|
|
8030
|
+
apo: ['Absolute price indicator'],
|
|
8031
|
+
/**
|
|
8032
|
+
* Accumulation/Distribution alias.
|
|
8033
|
+
*
|
|
8034
|
+
* @default ['Accumulation/Distribution’]
|
|
8035
|
+
* @type {Array<string>}
|
|
8036
|
+
*/
|
|
8037
|
+
ad: ['Accumulation/Distribution'],
|
|
8038
|
+
/**
|
|
8039
|
+
* Aroon alias.
|
|
8040
|
+
*
|
|
8041
|
+
* @default ['Aroon']
|
|
8042
|
+
* @type {Array<string>}
|
|
8043
|
+
*/
|
|
8044
|
+
aroon: ['Aroon'],
|
|
8045
|
+
/**
|
|
8046
|
+
* Aroon oscillator alias.
|
|
8047
|
+
*
|
|
8048
|
+
* @default ['Aroon oscillator']
|
|
8049
|
+
* @type {Array<string>}
|
|
8050
|
+
*/
|
|
8051
|
+
aroonoscillator: ['Aroon oscillator'],
|
|
8052
|
+
/**
|
|
8053
|
+
* Average True Range alias.
|
|
8054
|
+
*
|
|
8055
|
+
* @default ['Average True Range’]
|
|
8056
|
+
* @type {Array<string>}
|
|
8057
|
+
*/
|
|
8058
|
+
atr: ['Average True Range'],
|
|
8059
|
+
/**
|
|
8060
|
+
* Awesome oscillator alias.
|
|
8061
|
+
*
|
|
8062
|
+
* @default ['Awesome oscillator’]
|
|
8063
|
+
* @type {Array<string>}
|
|
8064
|
+
*/
|
|
8065
|
+
ao: ['Awesome oscillator'],
|
|
8066
|
+
/**
|
|
8067
|
+
* Commodity Channel Index alias.
|
|
8068
|
+
*
|
|
8069
|
+
* @default ['Commodity Channel Index’]
|
|
8070
|
+
* @type {Array<string>}
|
|
8071
|
+
*/
|
|
8072
|
+
cci: ['Commodity Channel Index'],
|
|
8073
|
+
/**
|
|
8074
|
+
* Chaikin alias.
|
|
8075
|
+
*
|
|
8076
|
+
* @default ['Chaikin’]
|
|
8077
|
+
* @type {Array<string>}
|
|
8078
|
+
*/
|
|
8079
|
+
chaikin: ['Chaikin'],
|
|
8080
|
+
/**
|
|
8081
|
+
* Chaikin Money Flow alias.
|
|
8082
|
+
*
|
|
8083
|
+
* @default ['Chaikin Money Flow’]
|
|
8084
|
+
* @type {Array<string>}
|
|
8085
|
+
*/
|
|
8086
|
+
cmf: ['Chaikin Money Flow'],
|
|
8087
|
+
/**
|
|
8088
|
+
* Chande Momentum Oscillator alias.
|
|
8089
|
+
*
|
|
8090
|
+
* @default ['Chande Momentum Oscillator’]
|
|
8091
|
+
* @type {Array<string>}
|
|
8092
|
+
*/
|
|
8093
|
+
cmo: ['Chande Momentum Oscillator'],
|
|
8094
|
+
/**
|
|
8095
|
+
* Disparity Index alias.
|
|
8096
|
+
*
|
|
8097
|
+
* @default ['Disparity Index’]
|
|
8098
|
+
* @type {Array<string>}
|
|
8099
|
+
*/
|
|
8100
|
+
disparityindex: ['Disparity Index'],
|
|
8101
|
+
/**
|
|
8102
|
+
* Directional Movement Index alias.
|
|
8103
|
+
*
|
|
8104
|
+
* @default ['Directional Movement Index’]
|
|
8105
|
+
* @type {Array<string>}
|
|
8106
|
+
*/
|
|
8107
|
+
dmi: ['Directional Movement Index'],
|
|
8108
|
+
/**
|
|
8109
|
+
* Detrended price oscillator alias.
|
|
8110
|
+
*
|
|
8111
|
+
* @default ['Detrended price oscillator’]
|
|
8112
|
+
* @type {Array<string>}
|
|
8113
|
+
*/
|
|
8114
|
+
dpo: ['Detrended price oscillator'],
|
|
8115
|
+
/**
|
|
8116
|
+
* Klinger Oscillator alias.
|
|
8117
|
+
*
|
|
8118
|
+
* @default [‘Klinger Oscillator’]
|
|
8119
|
+
* @type {Array<string>}
|
|
8120
|
+
*/
|
|
8121
|
+
klinger: ['Klinger Oscillator'],
|
|
8122
|
+
/**
|
|
8123
|
+
* Linear Regression Angle alias.
|
|
8124
|
+
*
|
|
8125
|
+
* @default [‘Linear Regression Angle’]
|
|
8126
|
+
* @type {Array<string>}
|
|
8127
|
+
*/
|
|
8128
|
+
linearRegressionAngle: ['Linear Regression Angle'],
|
|
8129
|
+
/**
|
|
8130
|
+
* Linear Regression Intercept alias.
|
|
8131
|
+
*
|
|
8132
|
+
* @default [‘Linear Regression Intercept’]
|
|
8133
|
+
* @type {Array<string>}
|
|
8134
|
+
*/
|
|
8135
|
+
linearRegressionIntercept: ['Linear Regression Intercept'],
|
|
8136
|
+
/**
|
|
8137
|
+
* Linear Regression Slope alias.
|
|
8138
|
+
*
|
|
8139
|
+
* @default [‘Linear Regression Slope’]
|
|
8140
|
+
* @type {Array<string>}
|
|
8141
|
+
*/
|
|
8142
|
+
linearRegressionSlope: ['Linear Regression Slope'],
|
|
8143
|
+
/**
|
|
8144
|
+
* Moving Average Convergence Divergence alias.
|
|
8145
|
+
*
|
|
8146
|
+
* @default ['Moving Average Convergence Divergence’]
|
|
8147
|
+
* @type {Array<string>}
|
|
8148
|
+
*/
|
|
8149
|
+
macd: ['Moving Average Convergence Divergence'],
|
|
8150
|
+
/**
|
|
8151
|
+
* Money Flow Index alias.
|
|
8152
|
+
*
|
|
8153
|
+
* @default ['Money Flow Index’]
|
|
8154
|
+
* @type {Array<string>}
|
|
8155
|
+
*/
|
|
8156
|
+
mfi: ['Money Flow Index'],
|
|
8157
|
+
/**
|
|
8158
|
+
* Momentum alias.
|
|
8159
|
+
*
|
|
8160
|
+
* @default [‘Momentum’]
|
|
8161
|
+
* @type {Array<string>}
|
|
8162
|
+
*/
|
|
8163
|
+
momentum: ['Momentum'],
|
|
8164
|
+
/**
|
|
8165
|
+
* Normalized Average True Range alias.
|
|
8166
|
+
*
|
|
8167
|
+
* @default ['Normalized Average True Range’]
|
|
8168
|
+
* @type {Array<string>}
|
|
8169
|
+
*/
|
|
8170
|
+
natr: ['Normalized Average True Range'],
|
|
8171
|
+
/**
|
|
8172
|
+
* On-Balance Volume alias.
|
|
8173
|
+
*
|
|
8174
|
+
* @default ['On-Balance Volume’]
|
|
8175
|
+
* @type {Array<string>}
|
|
8176
|
+
*/
|
|
8177
|
+
obv: ['On-Balance Volume'],
|
|
8178
|
+
/**
|
|
8179
|
+
* Percentage Price oscillator alias.
|
|
8180
|
+
*
|
|
8181
|
+
* @default ['Percentage Price oscillator’]
|
|
8182
|
+
* @type {Array<string>}
|
|
8183
|
+
*/
|
|
8184
|
+
ppo: ['Percentage Price oscillator'],
|
|
8185
|
+
/**
|
|
8186
|
+
* Rate of Change alias.
|
|
8187
|
+
*
|
|
8188
|
+
* @default ['Rate of Change’]
|
|
8189
|
+
* @type {Array<string>}
|
|
8190
|
+
*/
|
|
8191
|
+
roc: ['Rate of Change'],
|
|
8192
|
+
/**
|
|
8193
|
+
* Relative Strength Index alias.
|
|
8194
|
+
*
|
|
8195
|
+
* @default ['Relative Strength Index’]
|
|
8196
|
+
* @type {Array<string>}
|
|
8197
|
+
*/
|
|
8198
|
+
rsi: ['Relative Strength Index'],
|
|
8199
|
+
/**
|
|
8200
|
+
* Slow Stochastic alias.
|
|
8201
|
+
*
|
|
8202
|
+
* @default [‘Slow Stochastic’]
|
|
8203
|
+
* @type {Array<string>}
|
|
8204
|
+
*/
|
|
8205
|
+
slowstochastic: ['Slow Stochastic'],
|
|
8206
|
+
/**
|
|
8207
|
+
* Stochastic alias.
|
|
8208
|
+
*
|
|
8209
|
+
* @default [‘Stochastic’]
|
|
8210
|
+
* @type {Array<string>}
|
|
8211
|
+
*/
|
|
8212
|
+
stochastic: ['Stochastic'],
|
|
8213
|
+
/**
|
|
8214
|
+
* TRIX alias.
|
|
8215
|
+
*
|
|
8216
|
+
* @default [‘TRIX’]
|
|
8217
|
+
* @type {Array<string>}
|
|
8218
|
+
*/
|
|
8219
|
+
trix: ['TRIX'],
|
|
8220
|
+
/**
|
|
8221
|
+
* Williams %R alias.
|
|
8222
|
+
*
|
|
8223
|
+
* @default [‘Williams %R’]
|
|
8224
|
+
* @type {Array<string>}
|
|
8225
|
+
*/
|
|
8226
|
+
williamsr: ['Williams %R']
|
|
8227
|
+
}
|
|
7376
8228
|
}
|
|
7377
8229
|
}
|
|
7378
8230
|
},
|
|
@@ -7483,10 +8335,11 @@
|
|
|
7483
8335
|
* A collection of strings pointing to config options for
|
|
7484
8336
|
* the items.
|
|
7485
8337
|
*
|
|
7486
|
-
* @type {
|
|
8338
|
+
* @type {Array}
|
|
7487
8339
|
* @default [
|
|
7488
8340
|
* 'label',
|
|
7489
8341
|
* 'circle',
|
|
8342
|
+
* 'ellipse',
|
|
7490
8343
|
* 'rectangle'
|
|
7491
8344
|
* ]
|
|
7492
8345
|
*
|
|
@@ -7494,6 +8347,7 @@
|
|
|
7494
8347
|
items: [
|
|
7495
8348
|
'label',
|
|
7496
8349
|
'circle',
|
|
8350
|
+
'ellipse',
|
|
7497
8351
|
'rectangle'
|
|
7498
8352
|
],
|
|
7499
8353
|
circle: {
|
|
@@ -7505,6 +8359,15 @@
|
|
|
7505
8359
|
*/
|
|
7506
8360
|
symbol: 'circle.svg'
|
|
7507
8361
|
},
|
|
8362
|
+
ellipse: {
|
|
8363
|
+
/**
|
|
8364
|
+
* A predefined background symbol for the button.
|
|
8365
|
+
*
|
|
8366
|
+
* @type {string}
|
|
8367
|
+
*
|
|
8368
|
+
*/
|
|
8369
|
+
symbol: 'ellipse.svg'
|
|
8370
|
+
},
|
|
7508
8371
|
rectangle: {
|
|
7509
8372
|
/**
|
|
7510
8373
|
* A predefined background symbol for the button.
|
|
@@ -7529,7 +8392,7 @@
|
|
|
7529
8392
|
* A collection of strings pointing to config options for
|
|
7530
8393
|
* the items.
|
|
7531
8394
|
*
|
|
7532
|
-
* @type {
|
|
8395
|
+
* @type {Array}
|
|
7533
8396
|
* @default [
|
|
7534
8397
|
* 'flagCirclepin',
|
|
7535
8398
|
* 'flagDiamondpin',
|
|
@@ -7584,14 +8447,14 @@
|
|
|
7584
8447
|
* A collection of strings pointing to config options for
|
|
7585
8448
|
* the items.
|
|
7586
8449
|
*
|
|
7587
|
-
* @type {
|
|
8450
|
+
* @type {Array}
|
|
7588
8451
|
* @default [
|
|
7589
8452
|
* 'segment',
|
|
7590
8453
|
* 'arrowSegment',
|
|
7591
8454
|
* 'ray',
|
|
7592
8455
|
* 'arrowRay',
|
|
7593
8456
|
* 'line',
|
|
7594
|
-
* '
|
|
8457
|
+
* 'arrowInfinityLine',
|
|
7595
8458
|
* 'horizontalLine',
|
|
7596
8459
|
* 'verticalLine'
|
|
7597
8460
|
* ]
|
|
@@ -7602,7 +8465,7 @@
|
|
|
7602
8465
|
'ray',
|
|
7603
8466
|
'arrowRay',
|
|
7604
8467
|
'line',
|
|
7605
|
-
'
|
|
8468
|
+
'arrowInfinityLine',
|
|
7606
8469
|
'horizontalLine',
|
|
7607
8470
|
'verticalLine'
|
|
7608
8471
|
],
|
|
@@ -7646,7 +8509,7 @@
|
|
|
7646
8509
|
*/
|
|
7647
8510
|
symbol: 'line.svg'
|
|
7648
8511
|
},
|
|
7649
|
-
|
|
8512
|
+
arrowInfinityLine: {
|
|
7650
8513
|
/**
|
|
7651
8514
|
* A predefined background symbol for the button.
|
|
7652
8515
|
*
|
|
@@ -7676,7 +8539,7 @@
|
|
|
7676
8539
|
* A collection of strings pointing to config options for
|
|
7677
8540
|
* the items.
|
|
7678
8541
|
*
|
|
7679
|
-
* @type {
|
|
8542
|
+
* @type {Array}
|
|
7680
8543
|
* @default [
|
|
7681
8544
|
* 'elliott3',
|
|
7682
8545
|
* 'elliott5',
|
|
@@ -7729,7 +8592,7 @@
|
|
|
7729
8592
|
* A collection of strings pointing to config options for
|
|
7730
8593
|
* the items.
|
|
7731
8594
|
*
|
|
7732
|
-
* @type {
|
|
8595
|
+
* @type {Array}
|
|
7733
8596
|
* @default [
|
|
7734
8597
|
* 'verticalCounter',
|
|
7735
8598
|
* 'verticalLabel',
|
|
@@ -7771,17 +8634,21 @@
|
|
|
7771
8634
|
* A collection of strings pointing to config options for
|
|
7772
8635
|
* the items.
|
|
7773
8636
|
*
|
|
7774
|
-
* @type {
|
|
8637
|
+
* @type {Array}
|
|
7775
8638
|
* @default [
|
|
7776
8639
|
* 'fibonacci',
|
|
8640
|
+
* 'fibonacciTimeZones',
|
|
7777
8641
|
* 'pitchfork',
|
|
7778
|
-
* 'parallelChannel'
|
|
8642
|
+
* 'parallelChannel',
|
|
8643
|
+
* 'timeCycles'
|
|
7779
8644
|
* ]
|
|
7780
8645
|
*/
|
|
7781
8646
|
items: [
|
|
7782
8647
|
'fibonacci',
|
|
8648
|
+
'fibonacciTimeZones',
|
|
7783
8649
|
'pitchfork',
|
|
7784
|
-
'parallelChannel'
|
|
8650
|
+
'parallelChannel',
|
|
8651
|
+
'timeCycles'
|
|
7785
8652
|
],
|
|
7786
8653
|
pitchfork: {
|
|
7787
8654
|
/**
|
|
@@ -7799,6 +8666,14 @@
|
|
|
7799
8666
|
*/
|
|
7800
8667
|
symbol: 'fibonacci.svg'
|
|
7801
8668
|
},
|
|
8669
|
+
fibonacciTimeZones: {
|
|
8670
|
+
/**
|
|
8671
|
+
* A predefined background symbol for the button.
|
|
8672
|
+
*
|
|
8673
|
+
* @type {string}
|
|
8674
|
+
*/
|
|
8675
|
+
symbol: 'fibonacci-timezone.svg'
|
|
8676
|
+
},
|
|
7802
8677
|
parallelChannel: {
|
|
7803
8678
|
/**
|
|
7804
8679
|
* A predefined background symbol for the button.
|
|
@@ -7806,6 +8681,14 @@
|
|
|
7806
8681
|
* @type {string}
|
|
7807
8682
|
*/
|
|
7808
8683
|
symbol: 'parallel-channel.svg'
|
|
8684
|
+
},
|
|
8685
|
+
timeCycles: {
|
|
8686
|
+
/**
|
|
8687
|
+
* A predefined backgroud symbol for the button.
|
|
8688
|
+
*
|
|
8689
|
+
* @type {string}
|
|
8690
|
+
*/
|
|
8691
|
+
symbol: 'time-cycles.svg'
|
|
7809
8692
|
}
|
|
7810
8693
|
},
|
|
7811
8694
|
measure: {
|
|
@@ -7813,7 +8696,7 @@
|
|
|
7813
8696
|
* A collection of strings pointing to config options for
|
|
7814
8697
|
* the items.
|
|
7815
8698
|
*
|
|
7816
|
-
* @type {
|
|
8699
|
+
* @type {Array}
|
|
7817
8700
|
* @default [
|
|
7818
8701
|
* 'measureXY',
|
|
7819
8702
|
* 'measureX',
|
|
@@ -7879,7 +8762,7 @@
|
|
|
7879
8762
|
* A collection of strings pointing to config options for
|
|
7880
8763
|
* the items.
|
|
7881
8764
|
*
|
|
7882
|
-
* @type {
|
|
8765
|
+
* @type {Array}
|
|
7883
8766
|
* @default [
|
|
7884
8767
|
* 'zoomX',
|
|
7885
8768
|
* 'zoomY',
|
|
@@ -7921,7 +8804,7 @@
|
|
|
7921
8804
|
* A collection of strings pointing to config options for
|
|
7922
8805
|
* the items.
|
|
7923
8806
|
*
|
|
7924
|
-
* @type {
|
|
8807
|
+
* @type {Array}
|
|
7925
8808
|
* @default [
|
|
7926
8809
|
* 'typeOHLC',
|
|
7927
8810
|
* 'typeLine',
|
|
@@ -7934,6 +8817,7 @@
|
|
|
7934
8817
|
'typeLine',
|
|
7935
8818
|
'typeCandlestick',
|
|
7936
8819
|
'typeHollowCandlestick',
|
|
8820
|
+
'typeHLC',
|
|
7937
8821
|
'typeHeikinAshi'
|
|
7938
8822
|
],
|
|
7939
8823
|
typeOHLC: {
|
|
@@ -7960,6 +8844,14 @@
|
|
|
7960
8844
|
*/
|
|
7961
8845
|
symbol: 'series-candlestick.svg'
|
|
7962
8846
|
},
|
|
8847
|
+
typeHLC: {
|
|
8848
|
+
/**
|
|
8849
|
+
* A predefined background symbol for the button.
|
|
8850
|
+
*
|
|
8851
|
+
* @type {string}
|
|
8852
|
+
*/
|
|
8853
|
+
symbol: 'series-hlc.svg'
|
|
8854
|
+
},
|
|
7963
8855
|
typeHeikinAshi: {
|
|
7964
8856
|
/**
|
|
7965
8857
|
* A predefined background symbol for the button.
|
|
@@ -8056,9 +8948,11 @@
|
|
|
8056
8948
|
/**
|
|
8057
8949
|
* Toolbar Class
|
|
8058
8950
|
* @private
|
|
8059
|
-
* @
|
|
8060
|
-
* @param {Object}
|
|
8061
|
-
*
|
|
8951
|
+
* @class
|
|
8952
|
+
* @param {Object}
|
|
8953
|
+
* Options of toolbar
|
|
8954
|
+
* @param {Highcharts.Chart}
|
|
8955
|
+
* Reference to chart
|
|
8062
8956
|
*/
|
|
8063
8957
|
var Toolbar = /** @class */ (function () {
|
|
8064
8958
|
function Toolbar(options, langOptions, chart) {
|
|
@@ -8118,11 +9012,14 @@
|
|
|
8118
9012
|
/**
|
|
8119
9013
|
* Create submenu (list of buttons) for the option. In example main button
|
|
8120
9014
|
* is Line, in submenu will be buttons with types of lines.
|
|
9015
|
+
*
|
|
8121
9016
|
* @private
|
|
8122
|
-
*
|
|
8123
|
-
*
|
|
8124
|
-
*
|
|
8125
|
-
*
|
|
9017
|
+
*
|
|
9018
|
+
* @param {Highcharts.Dictionary<Highcharts.HTMLDOMElement>} parentBtn
|
|
9019
|
+
* Button which has submenu
|
|
9020
|
+
*
|
|
9021
|
+
* @param {Highcharts.StockToolsGuiDefinitionsButtonsOptions} button
|
|
9022
|
+
* List of all buttons
|
|
8126
9023
|
*/
|
|
8127
9024
|
Toolbar.prototype.addSubmenu = function (parentBtn, button) {
|
|
8128
9025
|
var _self = this,
|
|
@@ -8184,12 +9081,14 @@
|
|
|
8184
9081
|
};
|
|
8185
9082
|
/**
|
|
8186
9083
|
* Create buttons in submenu
|
|
9084
|
+
*
|
|
8187
9085
|
* @private
|
|
8188
|
-
* @param {Highcharts.HTMLDOMElement}
|
|
8189
|
-
* button where submenu is placed
|
|
8190
|
-
* @param {Highcharts.StockToolsGuiDefinitionsButtonsOptions}
|
|
8191
|
-
* list of all buttons options
|
|
8192
9086
|
*
|
|
9087
|
+
* @param {Highcharts.HTMLDOMElement} buttonWrapper
|
|
9088
|
+
* Button where submenu is placed
|
|
9089
|
+
*
|
|
9090
|
+
* @param {Highcharts.StockToolsGuiDefinitionsButtonsOptions} button
|
|
9091
|
+
* List of all buttons options
|
|
8193
9092
|
*/
|
|
8194
9093
|
Toolbar.prototype.addSubmenuItems = function (buttonWrapper, button) {
|
|
8195
9094
|
var _self = this,
|
|
@@ -8482,7 +9381,7 @@
|
|
|
8482
9381
|
button.style.backgroundImage;
|
|
8483
9382
|
// set active class
|
|
8484
9383
|
if (redraw) {
|
|
8485
|
-
this.
|
|
9384
|
+
this.toggleButtonAciveClass(mainNavButton);
|
|
8486
9385
|
}
|
|
8487
9386
|
};
|
|
8488
9387
|
/*
|
|
@@ -8491,7 +9390,7 @@
|
|
|
8491
9390
|
* @param {HTMLDOMElement} - button
|
|
8492
9391
|
*
|
|
8493
9392
|
*/
|
|
8494
|
-
Toolbar.prototype.
|
|
9393
|
+
Toolbar.prototype.toggleButtonAciveClass = function (button) {
|
|
8495
9394
|
if (button.className.indexOf(activeClass) >= 0) {
|
|
8496
9395
|
button.classList.remove(activeClass);
|
|
8497
9396
|
}
|
|
@@ -8557,7 +9456,7 @@
|
|
|
8557
9456
|
Toolbar.prototype.getIconsURL = function () {
|
|
8558
9457
|
return this.chart.options.navigation.iconsURL ||
|
|
8559
9458
|
this.options.iconsURL ||
|
|
8560
|
-
'https://code.highcharts.com/9.2
|
|
9459
|
+
'https://code.highcharts.com/9.3.2/gfx/stock-icons/';
|
|
8561
9460
|
};
|
|
8562
9461
|
return Toolbar;
|
|
8563
9462
|
}());
|
|
@@ -8567,6 +9466,7 @@
|
|
|
8567
9466
|
*/
|
|
8568
9467
|
Toolbar.prototype.classMapping = {
|
|
8569
9468
|
circle: PREFIX + 'circle-annotation',
|
|
9469
|
+
ellipse: PREFIX + 'ellipse-annotation',
|
|
8570
9470
|
rectangle: PREFIX + 'rectangle-annotation',
|
|
8571
9471
|
label: PREFIX + 'label-annotation',
|
|
8572
9472
|
segment: PREFIX + 'segment',
|
|
@@ -8574,7 +9474,7 @@
|
|
|
8574
9474
|
ray: PREFIX + 'ray',
|
|
8575
9475
|
arrowRay: PREFIX + 'arrow-ray',
|
|
8576
9476
|
line: PREFIX + 'infinity-line',
|
|
8577
|
-
|
|
9477
|
+
arrowInfinityLine: PREFIX + 'arrow-infinity-line',
|
|
8578
9478
|
verticalLine: PREFIX + 'vertical-line',
|
|
8579
9479
|
horizontalLine: PREFIX + 'horizontal-line',
|
|
8580
9480
|
crooked3: PREFIX + 'crooked3',
|
|
@@ -8583,10 +9483,12 @@
|
|
|
8583
9483
|
elliott5: PREFIX + 'elliott5',
|
|
8584
9484
|
pitchfork: PREFIX + 'pitchfork',
|
|
8585
9485
|
fibonacci: PREFIX + 'fibonacci',
|
|
9486
|
+
fibonacciTimeZones: PREFIX + 'fibonacci-time-zones',
|
|
8586
9487
|
parallelChannel: PREFIX + 'parallel-channel',
|
|
8587
9488
|
measureX: PREFIX + 'measure-x',
|
|
8588
9489
|
measureY: PREFIX + 'measure-y',
|
|
8589
9490
|
measureXY: PREFIX + 'measure-xy',
|
|
9491
|
+
timeCycles: PREFIX + 'time-cycles',
|
|
8590
9492
|
verticalCounter: PREFIX + 'vertical-counter',
|
|
8591
9493
|
verticalLabel: PREFIX + 'vertical-label',
|
|
8592
9494
|
verticalArrow: PREFIX + 'vertical-arrow',
|
|
@@ -8601,6 +9503,7 @@
|
|
|
8601
9503
|
zoomXY: PREFIX + 'zoom-xy',
|
|
8602
9504
|
typeLine: PREFIX + 'series-type-line',
|
|
8603
9505
|
typeOHLC: PREFIX + 'series-type-ohlc',
|
|
9506
|
+
typeHLC: PREFIX + 'series-type-hlc',
|
|
8604
9507
|
typeCandlestick: PREFIX + 'series-type-candlestick',
|
|
8605
9508
|
typeHollowCandlestick: PREFIX + 'series-type-hollowcandlestick',
|
|
8606
9509
|
typeHeikinAshi: PREFIX + 'series-type-heikinashi',
|
|
@@ -8640,7 +9543,7 @@
|
|
|
8640
9543
|
button = button.parentNode.parentNode;
|
|
8641
9544
|
}
|
|
8642
9545
|
// Set active class on the current button
|
|
8643
|
-
gui.
|
|
9546
|
+
gui.toggleButtonAciveClass(button);
|
|
8644
9547
|
}
|
|
8645
9548
|
});
|
|
8646
9549
|
addEvent(NavigationBindings, 'deselectButton', function (event) {
|
|
@@ -8652,7 +9555,7 @@
|
|
|
8652
9555
|
if (button.parentNode.className.indexOf(className) >= 0) {
|
|
8653
9556
|
button = button.parentNode.parentNode;
|
|
8654
9557
|
}
|
|
8655
|
-
gui.
|
|
9558
|
+
gui.toggleButtonAciveClass(button);
|
|
8656
9559
|
}
|
|
8657
9560
|
});
|
|
8658
9561
|
// Check if the correct price indicator button is displayed, #15029.
|
|
@@ -8663,8 +9566,12 @@
|
|
|
8663
9566
|
stockTools.toolbar &&
|
|
8664
9567
|
stockTools.toolbar.querySelector('.highcharts-current-price-indicator');
|
|
8665
9568
|
// Change the initial button background.
|
|
8666
|
-
if (stockTools &&
|
|
8667
|
-
|
|
9569
|
+
if (stockTools &&
|
|
9570
|
+
chart.navigationBindings &&
|
|
9571
|
+
chart.options.series &&
|
|
9572
|
+
button) {
|
|
9573
|
+
if (chart.navigationBindings.constructor.prototype.utils
|
|
9574
|
+
.isPriceIndicatorEnabled(chart.series)) {
|
|
8668
9575
|
button.firstChild.style['background-image'] =
|
|
8669
9576
|
'url("' + stockTools.getIconsURL() + 'current-price-hide.svg")';
|
|
8670
9577
|
}
|