highcharts 9.2.0 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -6
- package/bower.json +1 -1
- package/css/annotations/popup.css +48 -8
- package/css/annotations/popup.scss +70 -22
- package/css/highcharts.css +45 -0
- package/css/highcharts.scss +40 -0
- package/css/themes/dark-unica.css +45 -0
- package/css/themes/grid-light.css +45 -0
- package/css/themes/sand-signika.css +45 -0
- package/es-modules/Accessibility/A11yI18n.js +273 -224
- package/es-modules/Accessibility/Accessibility.js +237 -128
- package/es-modules/Accessibility/AccessibilityComponent.js +79 -314
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +10 -0
- package/es-modules/Accessibility/Components/ContainerComponent.js +52 -27
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +173 -104
- package/es-modules/Accessibility/Components/LegendComponent.js +97 -65
- package/es-modules/Accessibility/Components/MenuComponent.js +243 -149
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +170 -88
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +152 -115
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +133 -68
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +64 -27
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +38 -21
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +380 -325
- package/es-modules/Accessibility/Components/ZoomComponent.js +28 -20
- package/es-modules/Accessibility/FocusBorder.js +192 -147
- package/es-modules/Accessibility/HighContrastMode.js +78 -66
- package/es-modules/Accessibility/HighContrastTheme.js +10 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +146 -71
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -1
- package/es-modules/Accessibility/Options/LangOptions.js +1 -2
- package/es-modules/Accessibility/Options/Options.js +32 -17
- package/es-modules/Accessibility/ProxyElement.js +212 -0
- package/es-modules/Accessibility/ProxyProvider.js +305 -0
- package/es-modules/Accessibility/Utils/Announcer.js +15 -8
- package/es-modules/Accessibility/Utils/ChartUtilities.js +41 -16
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
- package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -30
- package/es-modules/Core/Axis/Axis.js +37 -30
- package/es-modules/Core/Axis/AxisDefaults.js +35 -24
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +54 -4
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
- package/es-modules/Core/Axis/OrdinalAxis.js +5 -13
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +10 -3
- package/es-modules/Core/Axis/TreeGridAxis.js +2 -2
- package/es-modules/Core/Axis/TreeGridTick.js +1 -2
- package/es-modules/Core/Chart/Chart.js +2 -3
- package/es-modules/Core/Chart/ChartDefaults.js +3 -4
- package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/es-modules/Core/Chart/MapChart.js +10 -22
- package/es-modules/Core/Chart/StockChart.js +3 -293
- package/es-modules/Core/Color/Palettes.js +22 -0
- package/es-modules/Core/DefaultOptions.js +19 -17
- package/es-modules/Core/Foundation.js +39 -31
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +3 -3
- package/es-modules/Core/Legend/Legend.js +7 -3
- package/es-modules/Core/Navigator.js +7 -8
- package/es-modules/Core/Pointer.js +39 -36
- package/es-modules/Core/Renderer/HTML/AST.js +3 -6
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -18
- package/es-modules/Core/Renderer/SVG/SVGElement.js +3 -4
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -18
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +17 -13
- package/es-modules/Core/ScrollbarDefaults.js +10 -9
- package/es-modules/Core/Series/DataLabel.js +2 -3
- package/es-modules/Core/Series/Point.js +5 -3
- package/es-modules/Core/Series/Series.js +156 -162
- package/es-modules/Core/Series/SeriesDefaults.js +3 -4
- package/es-modules/Core/Series/SeriesRegistry.js +1 -2
- package/es-modules/Core/Tooltip.js +44 -17
- package/es-modules/Core/Utilities.js +15 -7
- package/es-modules/Data/DataConverter.js +489 -0
- package/es-modules/Data/DataPromise.js +252 -0
- package/es-modules/Data/DataSeriesConverter.js +203 -0
- package/es-modules/Data/DataTable.js +1204 -0
- package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/es-modules/Data/Parsers/CSVParser.js +399 -0
- package/es-modules/Data/Parsers/DataParser.js +101 -0
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +220 -0
- package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/es-modules/Data/Stores/CSVStore.js +317 -0
- package/es-modules/Data/Stores/DataStore.js +276 -0
- package/es-modules/Data/Stores/GoogleSheetsStore.js +167 -0
- package/es-modules/Data/Stores/HTMLTableStore.js +351 -0
- package/es-modules/Extensions/Annotations/Annotations.js +61 -11
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +7 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +90 -28
- package/es-modules/Extensions/Annotations/Popup.js +479 -141
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +14 -8
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +5 -5
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +207 -0
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -5
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
- package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
- package/es-modules/Extensions/Boost/BoostOverrides.js +3 -1
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/BoostCanvas.js +1 -2
- package/es-modules/Extensions/CurrentDateIndication.js +2 -3
- package/es-modules/Extensions/Data.js +73 -67
- package/es-modules/Extensions/DataGrouping.js +33 -18
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DownloadURL.js +2 -2
- package/es-modules/Extensions/DragPanes.js +1 -2
- package/es-modules/Extensions/Drilldown.js +2 -3
- package/es-modules/Extensions/Exporting/Exporting.js +12 -11
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
- package/es-modules/Extensions/GeoJSON.js +39 -63
- package/es-modules/Extensions/MarkerClusters.js +115 -97
- package/es-modules/Extensions/NoDataToDisplay.js +1 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +10 -9
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -3
- package/es-modules/Extensions/Pane.js +5 -6
- package/es-modules/Extensions/Polar.js +1 -1
- package/es-modules/Extensions/RangeSelector.js +3 -4
- package/es-modules/Extensions/Sonification/ChartSonify.js +247 -637
- package/es-modules/Extensions/Sonification/Earcon.js +136 -102
- package/es-modules/Extensions/Sonification/Instrument.js +496 -426
- package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
- package/es-modules/Extensions/Sonification/Options.js +10 -0
- package/es-modules/Extensions/Sonification/PointSonify.js +203 -152
- package/es-modules/Extensions/Sonification/SeriesSonify.js +459 -0
- package/es-modules/Extensions/Sonification/SignalHandler.js +124 -0
- package/es-modules/Extensions/Sonification/Sonification.js +26 -52
- package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +62 -84
- package/es-modules/Extensions/Sonification/Timeline.js +255 -567
- package/es-modules/Extensions/Sonification/TimelineEvent.js +158 -0
- package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/es-modules/Maps/MapNavigation.js +27 -64
- package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
- package/es-modules/Maps/MapPointer.js +7 -5
- package/es-modules/Maps/MapView.js +450 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/es-modules/Maps/Projection.js +436 -0
- package/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/es-modules/Maps/Projections/Miller.js +16 -0
- package/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +4 -5
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -8
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubblePoint.js +5 -0
- package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
- package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -18
- package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
- package/es-modules/Series/ColorMapComposition.js +109 -0
- package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
- package/es-modules/Series/Column/ColumnSeries.js +3 -4
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +6 -6
- package/es-modules/Series/DataModifyComposition.js +539 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
- package/es-modules/Series/DerivedComposition.js +137 -0
- package/es-modules/Series/DrawPointComposition.js +111 -0
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -3
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
- package/es-modules/Series/Flags/FlagsSeries.js +18 -25
- package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
- package/es-modules/Series/Gantt/GanttSeries.js +0 -2
- package/es-modules/Series/Gauge/GaugePoint.js +1 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
- package/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/es-modules/Series/HLC/HLCSeries.js +383 -0
- package/es-modules/Series/Heatmap/HeatmapPoint.js +3 -4
- package/es-modules/Series/Heatmap/HeatmapSeries.js +19 -6
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +2 -3
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -7
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +2 -2
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +33 -34
- package/es-modules/Series/Line/LineSeries.js +1 -2
- package/es-modules/Series/Map/MapPoint.js +23 -16
- package/es-modules/Series/Map/MapSeries.js +271 -309
- package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
- package/es-modules/Series/MapLine/MapLineSeries.js +2 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
- package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
- package/es-modules/Series/Networkgraph/Networkgraph.js +5 -5
- package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +76 -29
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -6
- package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
- package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
- package/es-modules/Series/Organization/OrganizationSeries.js +2 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +46 -6
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
- package/es-modules/Series/Pie/PieDataLabel.js +1 -2
- package/es-modules/Series/Pie/PieSeries.js +6 -7
- package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
- package/es-modules/Series/Sankey/SankeySeries.js +89 -20
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +4 -4
- package/es-modules/Series/Tilemap/TilemapPoint.js +2 -3
- package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
- package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +86 -76
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +8 -8
- package/es-modules/Series/Venn/VennPoint.js +16 -7
- package/es-modules/Series/Venn/VennSeries.js +5 -8
- package/es-modules/Series/Venn/VennUtils.js +550 -439
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -3
- package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +24 -20
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +673 -484
- package/es-modules/Series/XRange/XRangePoint.js +1 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -6
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
- package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +27 -11
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +19 -11
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +17 -11
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +11 -9
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -16
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
- package/es-modules/{Mixins/MultipleLines.js → Stock/Indicators/MultipleLinesComposition.js} +136 -87
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +14 -13
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -49
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -8
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +23 -7
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
- package/es-modules/Stock/StockToolsBindings.js +144 -42
- package/es-modules/Stock/StockToolsGui.js +409 -15
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +4 -10
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +2 -2
- package/es-modules/masters/indicators/indicators.src.js +2 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +16 -2
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +6 -3
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -2
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -3
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +33 -2
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +4 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +799 -801
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +793 -755
- package/highcharts-more.js +194 -193
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +208 -120
- package/highcharts.d.ts +9814 -4231
- package/highcharts.js +585 -587
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +9814 -4231
- package/highcharts.src.js +626 -603
- package/highmaps.js +728 -707
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2824 -1613
- package/highstock.js +788 -782
- package/highstock.js.map +1 -1
- package/highstock.src.js +1913 -1284
- package/indicators/acceleration-bands.js +10 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +156 -112
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +4 -4
- package/indicators/apo.js +5 -6
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +16 -84
- package/indicators/aroon-oscillator.js +9 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +160 -177
- package/indicators/aroon.js +9 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +156 -112
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +10 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +180 -117
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +8 -9
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +8 -76
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +5 -6
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +3 -75
- package/indicators/disparity-index.js +6 -7
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +19 -74
- package/indicators/dmi.js +11 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +173 -116
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -13
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +7 -188
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +197 -203
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +677 -743
- package/indicators/indicators.js +12 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +213 -143
- package/indicators/keltner-channels.js +10 -10
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +164 -118
- package/indicators/klinger.js +12 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +161 -184
- package/indicators/macd.js +2 -2
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +2 -3
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +3 -3
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +2 -4
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +5 -6
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +3 -75
- package/indicators/price-channel.js +9 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +207 -168
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +9 -9
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +5 -6
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +2 -72
- package/indicators/stochastic.js +10 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +209 -164
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +6 -7
- package/indicators/tema.js +6 -7
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +28 -75
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +4 -5
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +8 -76
- package/indicators/volume-by-price.js +16 -16
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +24 -7
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +5 -6
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +41 -51
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +5 -0
- package/modules/accessibility.js +237 -216
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +5 -0
- package/modules/accessibility.src.js +7400 -6078
- package/modules/annotations-advanced.d.ts +30 -0
- package/modules/annotations-advanced.js +192 -165
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +30 -0
- package/modules/annotations-advanced.src.js +1604 -332
- package/modules/annotations.js +121 -106
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +981 -238
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +3 -3
- package/modules/boost.js +79 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +10 -9
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +69 -98
- package/modules/current-date-indicator.js +4 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +4 -4
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +32 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +85 -88
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +35 -19
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +3 -3
- package/modules/dependency-wheel.js +11 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +4 -7
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +8 -8
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +3 -3
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +24 -24
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +4 -4
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +4 -4
- package/modules/export-data.js +1 -1
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +3 -3
- package/modules/exporting.js +39 -38
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +102 -72
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +9 -6
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +217 -218
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +167 -152
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +39 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +177 -162
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +4 -4
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +91 -86
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +37 -37
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +136 -14
- package/modules/map.js +144 -122
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +136 -14
- package/modules/map.src.js +2227 -1039
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +173 -142
- package/modules/networkgraph.d.ts +12 -1
- package/modules/networkgraph.js +49 -49
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +12 -1
- package/modules/networkgraph.src.js +91 -43
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +3 -3
- package/modules/offline-exporting.js +18 -17
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +14 -14
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +26 -26
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +4 -4
- package/modules/organization.js +13 -13
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +4 -4
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +89 -78
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.d.ts +12 -1
- package/modules/sankey.js +29 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +12 -1
- package/modules/sankey.src.js +300 -176
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +59 -55
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +3034 -2553
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +178 -163
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +1028 -144
- package/modules/stock.d.ts +39 -6
- package/modules/stock.js +204 -196
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +39 -6
- package/modules/stock.src.js +1667 -1061
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +61 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +329 -266
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +3 -4
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +5 -5
- package/modules/treegrid.js +56 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +126 -120
- package/modules/treemap.js +41 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +319 -254
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +731 -721
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +90 -62
- package/modules/wordcloud.js +23 -24
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +897 -949
- package/modules/xrange.js +2 -2
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +2 -1
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Axis/MapAxis.js +0 -157
- package/es-modules/Core/Color/Palette.js +0 -82
- package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
- package/es-modules/Mixins/ColorMapSeries.js +0 -82
- package/es-modules/Mixins/ColorSeries.js +0 -77
- package/es-modules/Mixins/DerivedSeries.js +0 -118
- package/es-modules/Mixins/DrawPoint.js +0 -81
- package/es-modules/Mixins/IndicatorRequired.js +0 -56
- package/es-modules/Mixins/Navigation.js +0 -54
- package/es-modules/Mixins/NelderMead.js +0 -132
- package/es-modules/Mixins/Polygon.js +0 -259
- package/es-modules/Mixins/ReduceArray.js +0 -54
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highstock JS v9.
|
|
2
|
+
* @license Highstock JS v9.3.1 (2021-11-05)
|
|
3
3
|
*
|
|
4
4
|
* Advanced Highcharts Stock tools
|
|
5
5
|
*
|
|
@@ -294,8 +294,7 @@
|
|
|
294
294
|
* @param {Highcharts.AnnotationControllable} target
|
|
295
295
|
* @return {Highcharts.PositionObject}
|
|
296
296
|
*/
|
|
297
|
-
var
|
|
298
|
-
merge = U.merge,
|
|
297
|
+
var merge = U.merge,
|
|
299
298
|
pick = U.pick;
|
|
300
299
|
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
301
300
|
/**
|
|
@@ -1189,8 +1188,11 @@
|
|
|
1189
1188
|
*
|
|
1190
1189
|
* @param {number} dx translation for x coordinate
|
|
1191
1190
|
* @param {number} dy translation for y coordinate
|
|
1191
|
+
* @param {boolean|undefined} translateSecondPoint If the shape has two
|
|
1192
|
+
* points attached to it, this option allows you to translate also
|
|
1193
|
+
* the second point
|
|
1192
1194
|
*/
|
|
1193
|
-
translateShape: function (dx, dy) {
|
|
1195
|
+
translateShape: function (dx, dy, translateSecondPoint) {
|
|
1194
1196
|
var chart = this.annotation.chart,
|
|
1195
1197
|
// Annotation.options
|
|
1196
1198
|
shapeOptions = this.annotation.userOptions,
|
|
@@ -1198,6 +1200,9 @@
|
|
|
1198
1200
|
annotationIndex = chart.annotations.indexOf(this.annotation),
|
|
1199
1201
|
chartOptions = chart.options.annotations[annotationIndex];
|
|
1200
1202
|
this.translatePoint(dx, dy, 0);
|
|
1203
|
+
if (translateSecondPoint) {
|
|
1204
|
+
this.translatePoint(dx, dy, 1);
|
|
1205
|
+
}
|
|
1201
1206
|
// Options stored in:
|
|
1202
1207
|
// - chart (for exporting)
|
|
1203
1208
|
// - current config (for redraws)
|
|
@@ -1891,6 +1896,215 @@
|
|
|
1891
1896
|
|
|
1892
1897
|
return ControllableCircle;
|
|
1893
1898
|
});
|
|
1899
|
+
_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) {
|
|
1900
|
+
/* *
|
|
1901
|
+
*
|
|
1902
|
+
* Author: Pawel Lysy
|
|
1903
|
+
*
|
|
1904
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
1905
|
+
*
|
|
1906
|
+
* */
|
|
1907
|
+
var merge = U.merge,
|
|
1908
|
+
defined = U.defined;
|
|
1909
|
+
/**
|
|
1910
|
+
* A controllable ellipse class.
|
|
1911
|
+
*
|
|
1912
|
+
* @requires modules/annotations
|
|
1913
|
+
*
|
|
1914
|
+
* @private
|
|
1915
|
+
* @class
|
|
1916
|
+
* @name Highcharts.AnnotationControllableEllipse
|
|
1917
|
+
*
|
|
1918
|
+
* @param {Highcharts.Annotation} annotation an annotation instance
|
|
1919
|
+
* @param {Highcharts.AnnotationsShapeOptions} options a shape's options
|
|
1920
|
+
* @param {number} index of the Ellipse
|
|
1921
|
+
*/
|
|
1922
|
+
var ControllableEllipse = /** @class */ (function () {
|
|
1923
|
+
/* *
|
|
1924
|
+
*
|
|
1925
|
+
* Constructor
|
|
1926
|
+
*
|
|
1927
|
+
* */
|
|
1928
|
+
function ControllableEllipse(annotation, options, index) {
|
|
1929
|
+
/* *
|
|
1930
|
+
*
|
|
1931
|
+
* Properties
|
|
1932
|
+
*
|
|
1933
|
+
* */
|
|
1934
|
+
this.addControlPoints = ControllableMixin.addControlPoints;
|
|
1935
|
+
this.anchor = ControllableMixin.anchor;
|
|
1936
|
+
this.attr = ControllableMixin.attr;
|
|
1937
|
+
this.attrsFromOptions = ControllableMixin.attrsFromOptions;
|
|
1938
|
+
this.destroy = ControllableMixin.destroy;
|
|
1939
|
+
this.getPointsOptions = ControllableMixin.getPointsOptions;
|
|
1940
|
+
this.linkPoints = ControllableMixin.linkPoints;
|
|
1941
|
+
this.point = ControllableMixin.point;
|
|
1942
|
+
this.scale = ControllableMixin.scale;
|
|
1943
|
+
this.setControlPointsVisibility = ControllableMixin.setControlPointsVisibility;
|
|
1944
|
+
this.shouldBeDrawn = ControllableMixin.shouldBeDrawn;
|
|
1945
|
+
this.transform = ControllableMixin.transform;
|
|
1946
|
+
this.translatePoint = ControllableMixin.translatePoint;
|
|
1947
|
+
this.transformPoint = ControllableMixin.transformPoint;
|
|
1948
|
+
/**
|
|
1949
|
+
* @type 'ellipse'
|
|
1950
|
+
*/
|
|
1951
|
+
this.type = 'ellipse';
|
|
1952
|
+
this.init(annotation, options, index);
|
|
1953
|
+
this.collection = 'shapes';
|
|
1954
|
+
}
|
|
1955
|
+
/* *
|
|
1956
|
+
*
|
|
1957
|
+
* Functions
|
|
1958
|
+
*
|
|
1959
|
+
* */
|
|
1960
|
+
ControllableEllipse.prototype.init = function (annotation, options, index) {
|
|
1961
|
+
if (defined(options.yAxis)) {
|
|
1962
|
+
options.points.forEach(function (point) {
|
|
1963
|
+
point.yAxis = options.yAxis;
|
|
1964
|
+
});
|
|
1965
|
+
}
|
|
1966
|
+
if (defined(options.xAxis)) {
|
|
1967
|
+
options.points.forEach(function (point) {
|
|
1968
|
+
point.xAxis = options.xAxis;
|
|
1969
|
+
});
|
|
1970
|
+
}
|
|
1971
|
+
ControllableMixin.init.call(this, annotation, options, index);
|
|
1972
|
+
};
|
|
1973
|
+
/**
|
|
1974
|
+
*
|
|
1975
|
+
* Render the element
|
|
1976
|
+
* @param parent parent SVG element.
|
|
1977
|
+
*/
|
|
1978
|
+
ControllableEllipse.prototype.render = function (parent) {
|
|
1979
|
+
this.graphic = this.annotation.chart.renderer.createElement('ellipse')
|
|
1980
|
+
.attr(this.attrsFromOptions(this.options))
|
|
1981
|
+
.add(parent);
|
|
1982
|
+
ControllableMixin.render.call(this);
|
|
1983
|
+
};
|
|
1984
|
+
/**
|
|
1985
|
+
* Translate the points.
|
|
1986
|
+
* Mostly used to handle dragging of the ellipse.
|
|
1987
|
+
*/
|
|
1988
|
+
ControllableEllipse.prototype.translate = function (dx, dy) {
|
|
1989
|
+
ControllableMixin.translateShape.call(this, dx, dy, true);
|
|
1990
|
+
};
|
|
1991
|
+
/**
|
|
1992
|
+
* Get the distance from the line to the point.
|
|
1993
|
+
* @param point1 first point which is on the line
|
|
1994
|
+
* @param point2 second point
|
|
1995
|
+
* @param x0 point's x value from which you want to calculate the distance from
|
|
1996
|
+
* @param y0 point's y value from which you want to calculate the distance from
|
|
1997
|
+
*/
|
|
1998
|
+
ControllableEllipse.prototype.getDistanceFromLine = function (point1, point2, x0, y0) {
|
|
1999
|
+
return Math.abs((point2.y - point1.y) * x0 - (point2.x - point1.x) * y0 +
|
|
2000
|
+
point2.x * point1.y - point2.y * point1.x) / Math.sqrt((point2.y - point1.y) * (point2.y - point1.y) +
|
|
2001
|
+
(point2.x - point1.x) * (point2.x - point1.x));
|
|
2002
|
+
};
|
|
2003
|
+
/**
|
|
2004
|
+
* The fuction calculates the svg attributes of the ellipse, and returns all
|
|
2005
|
+
* parameters neccessary to draw the ellipse.
|
|
2006
|
+
* @param position absolute position of the first point in points array
|
|
2007
|
+
* @param position2 absolute position of the second point in points array
|
|
2008
|
+
*/
|
|
2009
|
+
ControllableEllipse.prototype.getAttrs = function (position, position2) {
|
|
2010
|
+
var x1 = position.x,
|
|
2011
|
+
y1 = position.y,
|
|
2012
|
+
x2 = position2.x,
|
|
2013
|
+
y2 = position2.y,
|
|
2014
|
+
cx = (x1 + x2) / 2,
|
|
2015
|
+
cy = (y1 + y2) / 2,
|
|
2016
|
+
rx = Math.sqrt((x1 - x2) * (x1 - x2) / 4 + (y1 - y2) * (y1 - y2) / 4),
|
|
2017
|
+
tan = (y2 - y1) / (x2 - x1);
|
|
2018
|
+
var angle = Math.atan(tan) * 180 / Math.PI;
|
|
2019
|
+
if (cx < x1) {
|
|
2020
|
+
angle += 180;
|
|
2021
|
+
}
|
|
2022
|
+
var ry = this.getRY();
|
|
2023
|
+
return { cx: cx, cy: cy, rx: rx, ry: ry, angle: angle };
|
|
2024
|
+
};
|
|
2025
|
+
/**
|
|
2026
|
+
* Get the value of minor radius of the ellipse.
|
|
2027
|
+
*/
|
|
2028
|
+
ControllableEllipse.prototype.getRY = function () {
|
|
2029
|
+
var yAxis = this.getYAxis();
|
|
2030
|
+
return defined(yAxis) ?
|
|
2031
|
+
Math.abs(yAxis.toPixels(this.options.ry) - yAxis.toPixels(0)) :
|
|
2032
|
+
this.options.ry;
|
|
2033
|
+
};
|
|
2034
|
+
/**
|
|
2035
|
+
* get the yAxis object to which the ellipse is pinned.
|
|
2036
|
+
*/
|
|
2037
|
+
ControllableEllipse.prototype.getYAxis = function () {
|
|
2038
|
+
var yAxisIndex = this.options.yAxis;
|
|
2039
|
+
return this.chart.yAxis[yAxisIndex];
|
|
2040
|
+
};
|
|
2041
|
+
/**
|
|
2042
|
+
* Get the absolute coordinates of the MockPoint
|
|
2043
|
+
* @param point MockPoint that is added through options
|
|
2044
|
+
*/
|
|
2045
|
+
ControllableEllipse.prototype.getAbsolutePosition = function (point) {
|
|
2046
|
+
return this.anchor(point).absolutePosition;
|
|
2047
|
+
};
|
|
2048
|
+
/**
|
|
2049
|
+
*
|
|
2050
|
+
* Redraw the element
|
|
2051
|
+
* @param animation display an annimation
|
|
2052
|
+
*/
|
|
2053
|
+
ControllableEllipse.prototype.redraw = function (animation) {
|
|
2054
|
+
var position = this.getAbsolutePosition(this.points[0]),
|
|
2055
|
+
position2 = this.getAbsolutePosition(this.points[1]),
|
|
2056
|
+
attrs = this.getAttrs(position,
|
|
2057
|
+
position2);
|
|
2058
|
+
if (position) {
|
|
2059
|
+
this.graphic[animation ? 'animate' : 'attr']({
|
|
2060
|
+
cx: attrs.cx,
|
|
2061
|
+
cy: attrs.cy,
|
|
2062
|
+
rx: attrs.rx,
|
|
2063
|
+
ry: attrs.ry,
|
|
2064
|
+
rotation: attrs.angle,
|
|
2065
|
+
rotationOriginX: attrs.cx,
|
|
2066
|
+
rotationOriginY: attrs.cy
|
|
2067
|
+
});
|
|
2068
|
+
}
|
|
2069
|
+
else {
|
|
2070
|
+
this.graphic.attr({
|
|
2071
|
+
x: 0,
|
|
2072
|
+
y: -9e9
|
|
2073
|
+
});
|
|
2074
|
+
}
|
|
2075
|
+
this.graphic.placed = Boolean(position);
|
|
2076
|
+
ControllableMixin.redraw.call(this, animation);
|
|
2077
|
+
};
|
|
2078
|
+
/**
|
|
2079
|
+
* Set the radius Y.
|
|
2080
|
+
*
|
|
2081
|
+
* @param {number} ry a radius in y direction to be set
|
|
2082
|
+
*/
|
|
2083
|
+
ControllableEllipse.prototype.setYRadius = function (ry) {
|
|
2084
|
+
this.options.ry = ry;
|
|
2085
|
+
this.annotation.userOptions.shapes[0].ry = ry;
|
|
2086
|
+
this.annotation.options.shapes[0].ry = ry;
|
|
2087
|
+
};
|
|
2088
|
+
/* *
|
|
2089
|
+
*
|
|
2090
|
+
* Static Properties
|
|
2091
|
+
*
|
|
2092
|
+
* */
|
|
2093
|
+
/**
|
|
2094
|
+
* A map object which allows to map options attributes to element
|
|
2095
|
+
* attributes.
|
|
2096
|
+
*
|
|
2097
|
+
* @name Highcharts.AnnotationControllableEllipse.attrsMap
|
|
2098
|
+
* @type {Highcharts.Dictionary<string>}
|
|
2099
|
+
*/
|
|
2100
|
+
ControllableEllipse.attrsMap = merge(ControllablePath.attrsMap, {
|
|
2101
|
+
ry: 'ry'
|
|
2102
|
+
});
|
|
2103
|
+
return ControllableEllipse;
|
|
2104
|
+
}());
|
|
2105
|
+
|
|
2106
|
+
return ControllableEllipse;
|
|
2107
|
+
});
|
|
1894
2108
|
_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
2109
|
/* *
|
|
1896
2110
|
*
|
|
@@ -2425,7 +2639,7 @@
|
|
|
2425
2639
|
|
|
2426
2640
|
return ControllableImage;
|
|
2427
2641
|
});
|
|
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']
|
|
2642
|
+
_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
2643
|
/* *
|
|
2430
2644
|
*
|
|
2431
2645
|
* (c) 2009-2021 Highsoft, Black Label
|
|
@@ -2647,7 +2861,10 @@
|
|
|
2647
2861
|
};
|
|
2648
2862
|
Annotation.prototype.addClipPaths = function () {
|
|
2649
2863
|
this.setClipAxes();
|
|
2650
|
-
if (this.clipXAxis &&
|
|
2864
|
+
if (this.clipXAxis &&
|
|
2865
|
+
this.clipYAxis &&
|
|
2866
|
+
this.options.crop // #15399
|
|
2867
|
+
) {
|
|
2651
2868
|
this.clipRect = this.chart.renderer.clipRect(this.getClipBox());
|
|
2652
2869
|
}
|
|
2653
2870
|
};
|
|
@@ -2749,8 +2966,10 @@
|
|
|
2749
2966
|
.add();
|
|
2750
2967
|
this.shapesGroup = renderer
|
|
2751
2968
|
.g('annotation-shapes')
|
|
2752
|
-
.add(this.graphic)
|
|
2753
|
-
|
|
2969
|
+
.add(this.graphic);
|
|
2970
|
+
if (this.options.crop) { // #15399
|
|
2971
|
+
this.shapesGroup.clip(this.chart.plotBoxClip);
|
|
2972
|
+
}
|
|
2754
2973
|
this.labelsGroup = renderer
|
|
2755
2974
|
.g('annotation-labels')
|
|
2756
2975
|
.attr({
|
|
@@ -2867,6 +3086,9 @@
|
|
|
2867
3086
|
* Initialisation of a single shape
|
|
2868
3087
|
* @private
|
|
2869
3088
|
* @param {Object} shapeOptions - a confg object for a single shape
|
|
3089
|
+
* @param {number} index - annotation may have many shapes,
|
|
3090
|
+
* this is the shape's index saved in shapes.index.
|
|
3091
|
+
|
|
2870
3092
|
*/
|
|
2871
3093
|
Annotation.prototype.initShape = function (shapeOptions, index) {
|
|
2872
3094
|
var options = merge(this.options.shapeOptions, {
|
|
@@ -2972,6 +3194,7 @@
|
|
|
2972
3194
|
Annotation.shapesMap = {
|
|
2973
3195
|
'rect': ControllableRect,
|
|
2974
3196
|
'circle': ControllableCircle,
|
|
3197
|
+
'ellipse': ControllableEllipse,
|
|
2975
3198
|
'path': ControllablePath,
|
|
2976
3199
|
'image': ControllableImage
|
|
2977
3200
|
};
|
|
@@ -3048,9 +3271,18 @@
|
|
|
3048
3271
|
* Animation defer settings
|
|
3049
3272
|
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
3050
3273
|
* @since 8.2.0
|
|
3051
|
-
* @apioption annotations.animation
|
|
3052
3274
|
*/
|
|
3053
3275
|
animation: {},
|
|
3276
|
+
/**
|
|
3277
|
+
* Whether to hide the part of the annotation
|
|
3278
|
+
* that is outside the plot area.
|
|
3279
|
+
*
|
|
3280
|
+
* @sample highcharts/annotations/label-crop-overflow/
|
|
3281
|
+
* Crop line annotation
|
|
3282
|
+
* @type {boolean}
|
|
3283
|
+
* @since 9.3.0
|
|
3284
|
+
*/
|
|
3285
|
+
crop: true,
|
|
3054
3286
|
/**
|
|
3055
3287
|
* The animation delay time in milliseconds.
|
|
3056
3288
|
* Set to `0` renders annotation immediately.
|
|
@@ -3115,7 +3347,7 @@
|
|
|
3115
3347
|
*
|
|
3116
3348
|
* @type {Highcharts.ColorString}
|
|
3117
3349
|
*/
|
|
3118
|
-
borderColor:
|
|
3350
|
+
borderColor: "#000000" /* neutralColor100 */,
|
|
3119
3351
|
/**
|
|
3120
3352
|
* The border radius in pixels for the annotaiton's label.
|
|
3121
3353
|
*
|
|
@@ -3410,6 +3642,32 @@
|
|
|
3410
3642
|
* @requires modules/annotations
|
|
3411
3643
|
*/
|
|
3412
3644
|
shapeOptions: {
|
|
3645
|
+
/**
|
|
3646
|
+
*
|
|
3647
|
+
* The radius of the shape in y direction.
|
|
3648
|
+
* Used for the ellipse.
|
|
3649
|
+
*
|
|
3650
|
+
* @sample highcharts/annotations/ellipse/
|
|
3651
|
+
* Ellipse annotation
|
|
3652
|
+
*
|
|
3653
|
+
* @type {number}
|
|
3654
|
+
* @apioption annotations.shapeOptions.ry
|
|
3655
|
+
**/
|
|
3656
|
+
/**
|
|
3657
|
+
*
|
|
3658
|
+
* The xAxis index to which the points should be attached.
|
|
3659
|
+
* Used for the ellipse.
|
|
3660
|
+
*
|
|
3661
|
+
* @type {number}
|
|
3662
|
+
* @apioption annotations.shapeOptions.xAxis
|
|
3663
|
+
**/
|
|
3664
|
+
/**
|
|
3665
|
+
* The yAxis index to which the points should be attached.
|
|
3666
|
+
* Used for the ellipse.
|
|
3667
|
+
*
|
|
3668
|
+
* @type {number}
|
|
3669
|
+
* @apioption annotations.shapeOptions.yAxis
|
|
3670
|
+
**/
|
|
3413
3671
|
/**
|
|
3414
3672
|
* The width of the shape.
|
|
3415
3673
|
*
|
|
@@ -3429,11 +3687,15 @@
|
|
|
3429
3687
|
* @apioption annotations.shapeOptions.height
|
|
3430
3688
|
*/
|
|
3431
3689
|
/**
|
|
3432
|
-
* The type of the shape
|
|
3690
|
+
* The type of the shape.
|
|
3691
|
+
* Avaliable options are circle, rect and ellipse.
|
|
3433
3692
|
*
|
|
3434
3693
|
* @sample highcharts/annotations/shape/
|
|
3435
3694
|
* Basic shape annotation
|
|
3436
3695
|
*
|
|
3696
|
+
* @sample highcharts/annotations/ellipse/
|
|
3697
|
+
* Ellipse annotation
|
|
3698
|
+
*
|
|
3437
3699
|
* @type {string}
|
|
3438
3700
|
* @default rect
|
|
3439
3701
|
* @apioption annotations.shapeOptions.type
|
|
@@ -3515,9 +3777,10 @@
|
|
|
3515
3777
|
width: 10,
|
|
3516
3778
|
height: 10,
|
|
3517
3779
|
style: {
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3780
|
+
cursor: 'pointer',
|
|
3781
|
+
fill: "#ffffff" /* backgroundColor */,
|
|
3782
|
+
stroke: "#000000" /* neutralColor100 */,
|
|
3783
|
+
'stroke-width': 2
|
|
3521
3784
|
},
|
|
3522
3785
|
visible: false,
|
|
3523
3786
|
events: {}
|
|
@@ -3580,7 +3843,8 @@
|
|
|
3580
3843
|
* @param {Highcharts.AnnotationsOptions} options
|
|
3581
3844
|
* The annotation options for the new, detailed annotation.
|
|
3582
3845
|
* @param {boolean} [redraw]
|
|
3583
|
-
*
|
|
3846
|
+
* @sample highcharts/annotations/add-annotation/
|
|
3847
|
+
* Add annotation
|
|
3584
3848
|
* @return {Highcharts.Annotation} - The newly generated annotation.
|
|
3585
3849
|
*/
|
|
3586
3850
|
addAnnotation: function (userOptions, redraw) {
|
|
@@ -3847,7 +4111,7 @@
|
|
|
3847
4111
|
|
|
3848
4112
|
return Annotation;
|
|
3849
4113
|
});
|
|
3850
|
-
_registerModule(_modules, '
|
|
4114
|
+
_registerModule(_modules, 'Core/Chart/ChartNavigationComposition.js', [], function () {
|
|
3851
4115
|
/**
|
|
3852
4116
|
*
|
|
3853
4117
|
* (c) 2010-2021 Paweł Fus
|
|
@@ -3857,56 +4121,91 @@
|
|
|
3857
4121
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
3858
4122
|
*
|
|
3859
4123
|
* */
|
|
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.
|
|
4124
|
+
/* *
|
|
4125
|
+
*
|
|
4126
|
+
* Composition
|
|
4127
|
+
*
|
|
4128
|
+
* */
|
|
4129
|
+
var ChartNavigationComposition;
|
|
4130
|
+
(function (ChartNavigationComposition) {
|
|
4131
|
+
/* *
|
|
4132
|
+
*
|
|
4133
|
+
* Declarations
|
|
4134
|
+
*
|
|
4135
|
+
* */
|
|
4136
|
+
/* *
|
|
3887
4137
|
*
|
|
4138
|
+
* Functions
|
|
4139
|
+
*
|
|
4140
|
+
* */
|
|
4141
|
+
/* eslint-disable valid-jsdoc */
|
|
4142
|
+
/**
|
|
3888
4143
|
* @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
4144
|
*/
|
|
3896
|
-
|
|
4145
|
+
function compose(chart) {
|
|
3897
4146
|
if (!chart.navigation) {
|
|
3898
|
-
|
|
4147
|
+
chart.navigation = new Additions(chart);
|
|
3899
4148
|
}
|
|
3900
|
-
chart
|
|
3901
|
-
update: update,
|
|
3902
|
-
context: chart
|
|
3903
|
-
});
|
|
4149
|
+
return chart;
|
|
3904
4150
|
}
|
|
3905
|
-
|
|
4151
|
+
ChartNavigationComposition.compose = compose;
|
|
4152
|
+
/* *
|
|
4153
|
+
*
|
|
4154
|
+
* Class
|
|
4155
|
+
*
|
|
4156
|
+
* */
|
|
4157
|
+
/**
|
|
4158
|
+
* Initializes `chart.navigation` object which delegates `update()` methods
|
|
4159
|
+
* to all other common classes (used in exporting and navigationBindings).
|
|
4160
|
+
* @private
|
|
4161
|
+
*/
|
|
4162
|
+
var Additions = /** @class */ (function () {
|
|
4163
|
+
/* *
|
|
4164
|
+
*
|
|
4165
|
+
* Constructor
|
|
4166
|
+
*
|
|
4167
|
+
* */
|
|
4168
|
+
function Additions(chart) {
|
|
4169
|
+
this.updates = [];
|
|
4170
|
+
this.chart = chart;
|
|
4171
|
+
}
|
|
4172
|
+
/* *
|
|
4173
|
+
*
|
|
4174
|
+
* Functions
|
|
4175
|
+
*
|
|
4176
|
+
* */
|
|
4177
|
+
/**
|
|
4178
|
+
* Registers an `update()` method in the `chart.navigation` object.
|
|
4179
|
+
*
|
|
4180
|
+
* @private
|
|
4181
|
+
* @param {UpdateFunction} updateFn
|
|
4182
|
+
* The `update()` method that will be called in `chart.update()`.
|
|
4183
|
+
*/
|
|
4184
|
+
Additions.prototype.addUpdate = function (updateFn) {
|
|
4185
|
+
this.chart.navigation.updates.push(updateFn);
|
|
4186
|
+
};
|
|
4187
|
+
/**
|
|
4188
|
+
* @private
|
|
4189
|
+
*/
|
|
4190
|
+
Additions.prototype.update = function (options, redraw) {
|
|
4191
|
+
var _this = this;
|
|
4192
|
+
this.updates.forEach(function (updateFn) {
|
|
4193
|
+
updateFn.call(_this.chart, options, redraw);
|
|
4194
|
+
});
|
|
4195
|
+
};
|
|
4196
|
+
return Additions;
|
|
4197
|
+
}());
|
|
4198
|
+
ChartNavigationComposition.Additions = Additions;
|
|
4199
|
+
})(ChartNavigationComposition || (ChartNavigationComposition = {}));
|
|
4200
|
+
/* *
|
|
4201
|
+
*
|
|
4202
|
+
* Default Export
|
|
4203
|
+
*
|
|
4204
|
+
* */
|
|
3906
4205
|
|
|
3907
|
-
return
|
|
4206
|
+
return ChartNavigationComposition;
|
|
3908
4207
|
});
|
|
3909
|
-
_registerModule(_modules, 'Extensions/Annotations/NavigationBindings.js', [_modules['Extensions/Annotations/Annotations.js'], _modules['Core/Chart/Chart.js'], _modules['
|
|
4208
|
+
_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
4209
|
/* *
|
|
3911
4210
|
*
|
|
3912
4211
|
* (c) 2009-2021 Highsoft, Black Label
|
|
@@ -4054,8 +4353,9 @@
|
|
|
4054
4353
|
*/
|
|
4055
4354
|
getAssignedAxis: function (coords) {
|
|
4056
4355
|
return coords.filter(function (coord) {
|
|
4057
|
-
var
|
|
4058
|
-
|
|
4356
|
+
var extremes = coord.axis.getExtremes(),
|
|
4357
|
+
axisMin = extremes.min,
|
|
4358
|
+
axisMax = extremes.max,
|
|
4059
4359
|
// Correct axis edges when axis has series
|
|
4060
4360
|
// with pointRange (like column)
|
|
4061
4361
|
minPointOffset = pick(coord.axis.minPointOffset, 0);
|
|
@@ -4156,9 +4456,11 @@
|
|
|
4156
4456
|
*/
|
|
4157
4457
|
NavigationBindings.prototype.initUpdate = function () {
|
|
4158
4458
|
var navigation = this;
|
|
4159
|
-
|
|
4459
|
+
ChartNavigationComposition
|
|
4460
|
+
.compose(this.chart).navigation
|
|
4461
|
+
.addUpdate(function (options) {
|
|
4160
4462
|
navigation.update(options);
|
|
4161
|
-
}
|
|
4463
|
+
});
|
|
4162
4464
|
};
|
|
4163
4465
|
/**
|
|
4164
4466
|
* Hook for click on a button, method selcts/unselects buttons,
|
|
@@ -4178,8 +4480,13 @@
|
|
|
4178
4480
|
*/
|
|
4179
4481
|
NavigationBindings.prototype.bindingsButtonClick = function (button, events, clickEvent) {
|
|
4180
4482
|
var navigation = this,
|
|
4181
|
-
chart = navigation.chart
|
|
4483
|
+
chart = navigation.chart,
|
|
4484
|
+
svgContainer = chart.renderer.boxWrapper;
|
|
4485
|
+
var shouldEventBeFired = true;
|
|
4182
4486
|
if (navigation.selectedButtonElement) {
|
|
4487
|
+
if (navigation.selectedButtonElement.classList === button.classList) {
|
|
4488
|
+
shouldEventBeFired = false;
|
|
4489
|
+
}
|
|
4183
4490
|
fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });
|
|
4184
4491
|
if (navigation.nextEvent) {
|
|
4185
4492
|
// Remove in-progress annotations adders:
|
|
@@ -4190,15 +4497,24 @@
|
|
|
4190
4497
|
navigation.mouseMoveEvent = navigation.nextEvent = false;
|
|
4191
4498
|
}
|
|
4192
4499
|
}
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
events.init
|
|
4500
|
+
if (shouldEventBeFired) {
|
|
4501
|
+
navigation.selectedButton = events;
|
|
4502
|
+
navigation.selectedButtonElement = button;
|
|
4503
|
+
fireEvent(navigation, 'selectButton', { button: button });
|
|
4504
|
+
// Call "init" event, for example to open modal window
|
|
4505
|
+
if (events.init) {
|
|
4506
|
+
events.init.call(navigation, button, clickEvent);
|
|
4507
|
+
}
|
|
4508
|
+
if (events.start || events.steps) {
|
|
4509
|
+
chart.renderer.boxWrapper.addClass(PREFIX + 'draw-mode');
|
|
4510
|
+
}
|
|
4199
4511
|
}
|
|
4200
|
-
|
|
4201
|
-
chart.
|
|
4512
|
+
else {
|
|
4513
|
+
chart.stockTools && chart.stockTools.toggleButtonAciveClass(button);
|
|
4514
|
+
svgContainer.removeClass(PREFIX + 'draw-mode');
|
|
4515
|
+
navigation.nextEvent = false;
|
|
4516
|
+
navigation.mouseMoveEvent = false;
|
|
4517
|
+
navigation.selectedButton = null;
|
|
4202
4518
|
}
|
|
4203
4519
|
};
|
|
4204
4520
|
/**
|
|
@@ -4603,6 +4919,7 @@
|
|
|
4603
4919
|
},
|
|
4604
4920
|
// Simple shapes:
|
|
4605
4921
|
circle: ['shapes'],
|
|
4922
|
+
ellipse: ['shapes'],
|
|
4606
4923
|
verticalLine: [],
|
|
4607
4924
|
label: ['labelOptions'],
|
|
4608
4925
|
// Measure
|
|
@@ -4619,7 +4936,9 @@
|
|
|
4619
4936
|
// Define non editable fields per annotation, for example Rectangle inherits
|
|
4620
4937
|
// options from Measure, but crosshairs are not available
|
|
4621
4938
|
NavigationBindings.annotationsNonEditable = {
|
|
4622
|
-
rectangle: ['crosshairX', 'crosshairY', '
|
|
4939
|
+
rectangle: ['crosshairX', 'crosshairY', 'labelOptions'],
|
|
4940
|
+
ellipse: ['labelOptions'],
|
|
4941
|
+
circle: ['labelOptions']
|
|
4623
4942
|
};
|
|
4624
4943
|
return NavigationBindings;
|
|
4625
4944
|
}());
|
|
@@ -4736,7 +5055,6 @@
|
|
|
4736
5055
|
* Configure the Popup strings in the chart. Requires the
|
|
4737
5056
|
* `annotations.js` or `annotations-advanced.src.js` module to be
|
|
4738
5057
|
* loaded.
|
|
4739
|
-
*
|
|
4740
5058
|
* @since 7.0.0
|
|
4741
5059
|
* @product highcharts highstock
|
|
4742
5060
|
*/
|
|
@@ -4750,6 +5068,7 @@
|
|
|
4750
5068
|
simpleShapes: 'Simple shapes',
|
|
4751
5069
|
lines: 'Lines',
|
|
4752
5070
|
circle: 'Circle',
|
|
5071
|
+
ellipse: 'Ellipse',
|
|
4753
5072
|
rectangle: 'Rectangle',
|
|
4754
5073
|
label: 'Label',
|
|
4755
5074
|
shapeOptions: 'Shape options',
|
|
@@ -4810,9 +5129,16 @@
|
|
|
4810
5129
|
* - `end`: last event to be called after last step event
|
|
4811
5130
|
*
|
|
4812
5131
|
* @type {Highcharts.Dictionary<Highcharts.NavigationBindingsOptionsObject>|*}
|
|
4813
|
-
*
|
|
4814
|
-
*
|
|
5132
|
+
*
|
|
5133
|
+
* @sample {highstock} stock/stocktools/stocktools-thresholds
|
|
5134
|
+
* Custom bindings
|
|
5135
|
+
* @sample {highcharts} highcharts/annotations/bindings/
|
|
5136
|
+
* Simple binding
|
|
5137
|
+
* @sample {highcharts} highcharts/annotations/bindings-custom-annotation/
|
|
5138
|
+
* Custom annotation binding
|
|
5139
|
+
*
|
|
4815
5140
|
* @since 7.0.0
|
|
5141
|
+
* @requires modules/annotations
|
|
4816
5142
|
* @product highcharts highstock
|
|
4817
5143
|
*/
|
|
4818
5144
|
bindings: {
|
|
@@ -4849,27 +5175,21 @@
|
|
|
4849
5175
|
},
|
|
4850
5176
|
r: 5
|
|
4851
5177
|
}]
|
|
4852
|
-
}, navigation
|
|
4853
|
-
.annotationsOptions, navigation
|
|
4854
|
-
.bindings
|
|
4855
|
-
.circleAnnotation
|
|
4856
|
-
.annotationsOptions));
|
|
5178
|
+
}, navigation.annotationsOptions, navigation.bindings.circleAnnotation.annotationsOptions));
|
|
4857
5179
|
},
|
|
4858
5180
|
/** @ignore-option */
|
|
4859
5181
|
steps: [
|
|
4860
5182
|
function (e, annotation) {
|
|
4861
5183
|
var mockPointOpts = annotation.options.shapes[0]
|
|
4862
5184
|
.point,
|
|
4863
|
-
inverted = this.chart.inverted,
|
|
4864
|
-
x,
|
|
4865
|
-
y,
|
|
4866
5185
|
distance;
|
|
4867
5186
|
if (isNumber(mockPointOpts.xAxis) &&
|
|
4868
5187
|
isNumber(mockPointOpts.yAxis)) {
|
|
4869
|
-
|
|
4870
|
-
.
|
|
4871
|
-
|
|
4872
|
-
.
|
|
5188
|
+
var inverted = this.chart.inverted,
|
|
5189
|
+
x = this.chart.xAxis[mockPointOpts.xAxis]
|
|
5190
|
+
.toPixels(mockPointOpts.x),
|
|
5191
|
+
y = this.chart.yAxis[mockPointOpts.yAxis]
|
|
5192
|
+
.toPixels(mockPointOpts.y);
|
|
4873
5193
|
distance = Math.max(Math.sqrt(Math.pow(inverted ? y - e.chartX : x - e.chartX, 2) +
|
|
4874
5194
|
Math.pow(inverted ? x - e.chartY : y - e.chartY, 2)), 5);
|
|
4875
5195
|
}
|
|
@@ -4881,6 +5201,58 @@
|
|
|
4881
5201
|
}
|
|
4882
5202
|
]
|
|
4883
5203
|
},
|
|
5204
|
+
ellipseAnnotation: {
|
|
5205
|
+
className: 'highcharts-ellipse-annotation',
|
|
5206
|
+
start: function (e) {
|
|
5207
|
+
var coords = this.chart.pointer.getCoordinates(e),
|
|
5208
|
+
coordsX = this.utils.getAssignedAxis(coords.xAxis),
|
|
5209
|
+
coordsY = this.utils.getAssignedAxis(coords.yAxis),
|
|
5210
|
+
navigation = this.chart.options.navigation;
|
|
5211
|
+
if (!coordsX || !coordsY) {
|
|
5212
|
+
return;
|
|
5213
|
+
}
|
|
5214
|
+
return this.chart.addAnnotation(merge({
|
|
5215
|
+
langKey: 'ellipse',
|
|
5216
|
+
type: 'basicAnnotation',
|
|
5217
|
+
shapes: [
|
|
5218
|
+
{
|
|
5219
|
+
type: 'ellipse',
|
|
5220
|
+
xAxis: coordsX.axis.options.index,
|
|
5221
|
+
yAxis: coordsY.axis.options.index,
|
|
5222
|
+
points: [{
|
|
5223
|
+
x: coordsX.value,
|
|
5224
|
+
y: coordsY.value
|
|
5225
|
+
}, {
|
|
5226
|
+
x: coordsX.value,
|
|
5227
|
+
y: coordsY.value
|
|
5228
|
+
}],
|
|
5229
|
+
ry: 1
|
|
5230
|
+
}
|
|
5231
|
+
]
|
|
5232
|
+
}, navigation.annotationsOptions, navigation.bindings.ellipseAnnotation.annotationOptions));
|
|
5233
|
+
},
|
|
5234
|
+
steps: [
|
|
5235
|
+
function (e, annotation) {
|
|
5236
|
+
var target = annotation.shapes[0],
|
|
5237
|
+
position = target.getAbsolutePosition(target.points[1]);
|
|
5238
|
+
target.translatePoint(e.chartX - position.x, e.chartY - position.y, 1);
|
|
5239
|
+
target.redraw(false);
|
|
5240
|
+
},
|
|
5241
|
+
function (e, annotation) {
|
|
5242
|
+
var target = annotation.shapes[0],
|
|
5243
|
+
position = target.getAbsolutePosition(target.points[0]),
|
|
5244
|
+
position2 = target.getAbsolutePosition(target.points[1]),
|
|
5245
|
+
newR = target.getDistanceFromLine(position,
|
|
5246
|
+
position2,
|
|
5247
|
+
e.chartX,
|
|
5248
|
+
e.chartY),
|
|
5249
|
+
yAxis = target.getYAxis(),
|
|
5250
|
+
newRY = Math.abs(yAxis.toValue(0) - yAxis.toValue(newR));
|
|
5251
|
+
target.setYRadius(newRY);
|
|
5252
|
+
target.redraw(false);
|
|
5253
|
+
}
|
|
5254
|
+
]
|
|
5255
|
+
},
|
|
4884
5256
|
/**
|
|
4885
5257
|
* A rectangle annotation bindings. Includes `start` and one event
|
|
4886
5258
|
* in `steps` array.
|
|
@@ -4914,7 +5286,8 @@
|
|
|
4914
5286
|
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
4915
5287
|
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
4916
5288
|
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
4917
|
-
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y }
|
|
5289
|
+
{ xAxis: xAxis, yAxis: yAxis, x: x, y: y },
|
|
5290
|
+
{ command: 'Z' }
|
|
4918
5291
|
]
|
|
4919
5292
|
}]
|
|
4920
5293
|
}, navigation
|
|
@@ -4999,7 +5372,7 @@
|
|
|
4999
5372
|
* from a different server.
|
|
5000
5373
|
*
|
|
5001
5374
|
* @type {string}
|
|
5002
|
-
* @default https://code.highcharts.com/9.
|
|
5375
|
+
* @default https://code.highcharts.com/9.3.1/gfx/stock-icons/
|
|
5003
5376
|
* @since 7.1.3
|
|
5004
5377
|
* @apioption navigation.iconsURL
|
|
5005
5378
|
*/
|
|
@@ -5055,6 +5428,7 @@
|
|
|
5055
5428
|
* @extends annotations
|
|
5056
5429
|
* @exclude crookedLine, elliottWave, fibonacci, infinityLine,
|
|
5057
5430
|
* measure, pitchfork, tunnel, verticalLine, basicAnnotation
|
|
5431
|
+
* @requires modules/annotations
|
|
5058
5432
|
* @apioption navigation.annotationsOptions
|
|
5059
5433
|
*/
|
|
5060
5434
|
annotationsOptions: {
|
|
@@ -5118,7 +5492,7 @@
|
|
|
5118
5492
|
|
|
5119
5493
|
return NavigationBindings;
|
|
5120
5494
|
});
|
|
5121
|
-
_registerModule(_modules, 'Stock/StockToolsBindings.js', [_modules['Core/
|
|
5495
|
+
_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
5496
|
/**
|
|
5123
5497
|
*
|
|
5124
5498
|
* Events generator for Stock tools
|
|
@@ -5238,34 +5612,35 @@
|
|
|
5238
5612
|
};
|
|
5239
5613
|
};
|
|
5240
5614
|
bindingsUtils.indicatorsWithAxes = [
|
|
5615
|
+
'apo',
|
|
5241
5616
|
'ad',
|
|
5617
|
+
'aroon',
|
|
5618
|
+
'aroonoscillator',
|
|
5242
5619
|
'atr',
|
|
5620
|
+
'ao',
|
|
5243
5621
|
'cci',
|
|
5622
|
+
'chaikin',
|
|
5244
5623
|
'cmf',
|
|
5245
|
-
'disparityindex',
|
|
5246
5624
|
'cmo',
|
|
5625
|
+
'disparityindex',
|
|
5247
5626
|
'dmi',
|
|
5627
|
+
'dpo',
|
|
5628
|
+
'linearRegressionAngle',
|
|
5629
|
+
'linearRegressionIntercept',
|
|
5630
|
+
'linearRegressionSlope',
|
|
5631
|
+
'klinger',
|
|
5248
5632
|
'macd',
|
|
5249
5633
|
'mfi',
|
|
5250
|
-
'
|
|
5251
|
-
'rsi',
|
|
5252
|
-
'ao',
|
|
5253
|
-
'aroon',
|
|
5254
|
-
'aroonoscillator',
|
|
5255
|
-
'trix',
|
|
5256
|
-
'apo',
|
|
5257
|
-
'dpo',
|
|
5258
|
-
'ppo',
|
|
5634
|
+
'momentum',
|
|
5259
5635
|
'natr',
|
|
5260
5636
|
'obv',
|
|
5261
|
-
'
|
|
5262
|
-
'
|
|
5637
|
+
'ppo',
|
|
5638
|
+
'roc',
|
|
5639
|
+
'rsi',
|
|
5263
5640
|
'slowstochastic',
|
|
5264
|
-
'
|
|
5265
|
-
'
|
|
5266
|
-
'
|
|
5267
|
-
'linearRegressionAngle',
|
|
5268
|
-
'klinger'
|
|
5641
|
+
'stochastic',
|
|
5642
|
+
'trix',
|
|
5643
|
+
'williamsr'
|
|
5269
5644
|
];
|
|
5270
5645
|
bindingsUtils.manageIndicators = function (data) {
|
|
5271
5646
|
var navigation = this,
|
|
@@ -6122,7 +6497,7 @@
|
|
|
6122
6497
|
*
|
|
6123
6498
|
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
6124
6499
|
* @product highstock
|
|
6125
|
-
* @default {"className": "highcharts-
|
|
6500
|
+
* @default {"className": "highcharts-crooked5", "start": function() {}, "steps": [function() {}, function() {}, function() {}, function() {}], "annotationsOptions": {}}
|
|
6126
6501
|
*/
|
|
6127
6502
|
crooked5: {
|
|
6128
6503
|
/** @ignore-option */
|
|
@@ -6141,7 +6516,7 @@
|
|
|
6141
6516
|
y = coordsY.value,
|
|
6142
6517
|
navigation = this.chart.options.navigation,
|
|
6143
6518
|
options = merge({
|
|
6144
|
-
langKey: '
|
|
6519
|
+
langKey: 'crooked5',
|
|
6145
6520
|
type: 'crookedLine',
|
|
6146
6521
|
typeOptions: {
|
|
6147
6522
|
xAxis: coordsX.axis.options.index,
|
|
@@ -6215,7 +6590,7 @@
|
|
|
6215
6590
|
},
|
|
6216
6591
|
labelOptions: {
|
|
6217
6592
|
style: {
|
|
6218
|
-
color:
|
|
6593
|
+
color: "#666666" /* neutralColor60 */
|
|
6219
6594
|
}
|
|
6220
6595
|
}
|
|
6221
6596
|
},
|
|
@@ -6277,7 +6652,7 @@
|
|
|
6277
6652
|
},
|
|
6278
6653
|
labelOptions: {
|
|
6279
6654
|
style: {
|
|
6280
|
-
color:
|
|
6655
|
+
color: "#666666" /* neutralColor60 */
|
|
6281
6656
|
}
|
|
6282
6657
|
}
|
|
6283
6658
|
},
|
|
@@ -6329,23 +6704,23 @@
|
|
|
6329
6704
|
y: y },
|
|
6330
6705
|
crosshairX: {
|
|
6331
6706
|
strokeWidth: 1,
|
|
6332
|
-
stroke:
|
|
6707
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6333
6708
|
},
|
|
6334
6709
|
crosshairY: {
|
|
6335
6710
|
enabled: false,
|
|
6336
6711
|
strokeWidth: 0,
|
|
6337
|
-
stroke:
|
|
6712
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6338
6713
|
},
|
|
6339
6714
|
background: {
|
|
6340
6715
|
width: 0,
|
|
6341
6716
|
height: 0,
|
|
6342
6717
|
strokeWidth: 0,
|
|
6343
|
-
stroke:
|
|
6718
|
+
stroke: "#ffffff" /* backgroundColor */
|
|
6344
6719
|
}
|
|
6345
6720
|
},
|
|
6346
6721
|
labelOptions: {
|
|
6347
6722
|
style: {
|
|
6348
|
-
color:
|
|
6723
|
+
color: "#666666" /* neutralColor60 */
|
|
6349
6724
|
}
|
|
6350
6725
|
}
|
|
6351
6726
|
},
|
|
@@ -6394,22 +6769,22 @@
|
|
|
6394
6769
|
crosshairX: {
|
|
6395
6770
|
enabled: false,
|
|
6396
6771
|
strokeWidth: 0,
|
|
6397
|
-
stroke:
|
|
6772
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6398
6773
|
},
|
|
6399
6774
|
crosshairY: {
|
|
6400
6775
|
strokeWidth: 1,
|
|
6401
|
-
stroke:
|
|
6776
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6402
6777
|
},
|
|
6403
6778
|
background: {
|
|
6404
6779
|
width: 0,
|
|
6405
6780
|
height: 0,
|
|
6406
6781
|
strokeWidth: 0,
|
|
6407
|
-
stroke:
|
|
6782
|
+
stroke: "#ffffff" /* backgroundColor */
|
|
6408
6783
|
}
|
|
6409
6784
|
},
|
|
6410
6785
|
labelOptions: {
|
|
6411
6786
|
style: {
|
|
6412
|
-
color:
|
|
6787
|
+
color: "#666666" /* neutralColor60 */
|
|
6413
6788
|
}
|
|
6414
6789
|
}
|
|
6415
6790
|
},
|
|
@@ -6462,16 +6837,16 @@
|
|
|
6462
6837
|
},
|
|
6463
6838
|
crosshairX: {
|
|
6464
6839
|
strokeWidth: 1,
|
|
6465
|
-
stroke:
|
|
6840
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6466
6841
|
},
|
|
6467
6842
|
crosshairY: {
|
|
6468
6843
|
strokeWidth: 1,
|
|
6469
|
-
stroke:
|
|
6844
|
+
stroke: "#000000" /* neutralColor100 */
|
|
6470
6845
|
}
|
|
6471
6846
|
},
|
|
6472
6847
|
labelOptions: {
|
|
6473
6848
|
style: {
|
|
6474
|
-
color:
|
|
6849
|
+
color: "#666666" /* neutralColor60 */
|
|
6475
6850
|
}
|
|
6476
6851
|
}
|
|
6477
6852
|
},
|
|
@@ -6524,7 +6899,7 @@
|
|
|
6524
6899
|
},
|
|
6525
6900
|
labelOptions: {
|
|
6526
6901
|
style: {
|
|
6527
|
-
color:
|
|
6902
|
+
color: "#666666" /* neutralColor60 */
|
|
6528
6903
|
}
|
|
6529
6904
|
}
|
|
6530
6905
|
},
|
|
@@ -6618,7 +6993,7 @@
|
|
|
6618
6993
|
y: coordsY.value,
|
|
6619
6994
|
controlPoint: {
|
|
6620
6995
|
style: {
|
|
6621
|
-
fill:
|
|
6996
|
+
fill: "#f21313" /* negativeColor */
|
|
6622
6997
|
}
|
|
6623
6998
|
}
|
|
6624
6999
|
}, { x: x, y: y },
|
|
@@ -6682,7 +7057,7 @@
|
|
|
6682
7057
|
},
|
|
6683
7058
|
labelOptions: {
|
|
6684
7059
|
style: {
|
|
6685
|
-
color:
|
|
7060
|
+
color: "#666666" /* neutralColor60 */,
|
|
6686
7061
|
fontSize: '11px'
|
|
6687
7062
|
}
|
|
6688
7063
|
},
|
|
@@ -6705,6 +7080,44 @@
|
|
|
6705
7080
|
* @product highstock
|
|
6706
7081
|
* @default {"className": "highcharts-vertical-label", "start": function() {}, "annotationsOptions": {}}
|
|
6707
7082
|
*/
|
|
7083
|
+
timeCycles: {
|
|
7084
|
+
className: 'highcharts-time-cycles',
|
|
7085
|
+
start: function (e) {
|
|
7086
|
+
var closestPoint = bindingsUtils.attractToPoint(e,
|
|
7087
|
+
this.chart),
|
|
7088
|
+
navigation = this.chart.options.navigation,
|
|
7089
|
+
options,
|
|
7090
|
+
annotation;
|
|
7091
|
+
// Exit if clicked out of axes area
|
|
7092
|
+
if (!closestPoint) {
|
|
7093
|
+
return;
|
|
7094
|
+
}
|
|
7095
|
+
options = merge({
|
|
7096
|
+
langKey: 'timeCycles',
|
|
7097
|
+
type: 'timeCycles',
|
|
7098
|
+
typeOptions: {
|
|
7099
|
+
xAxis: closestPoint.xAxis,
|
|
7100
|
+
yAxis: closestPoint.yAxis,
|
|
7101
|
+
points: [{
|
|
7102
|
+
x: closestPoint.x
|
|
7103
|
+
}, {
|
|
7104
|
+
x: closestPoint.x
|
|
7105
|
+
}],
|
|
7106
|
+
line: {
|
|
7107
|
+
stroke: 'rgba(0, 0, 0, 0.75)',
|
|
7108
|
+
fill: 'transparent',
|
|
7109
|
+
strokeWidth: 2
|
|
7110
|
+
}
|
|
7111
|
+
}
|
|
7112
|
+
}, navigation.annotationsOptions, navigation.bindings.timeCycles.annotationsOptions);
|
|
7113
|
+
annotation = this.chart.addAnnotation(options);
|
|
7114
|
+
annotation.options.events.click.call(annotation, {});
|
|
7115
|
+
return annotation;
|
|
7116
|
+
},
|
|
7117
|
+
steps: [
|
|
7118
|
+
bindingsUtils.updateNthPoint(1)
|
|
7119
|
+
]
|
|
7120
|
+
},
|
|
6708
7121
|
verticalLabel: {
|
|
6709
7122
|
/** @ignore-option */
|
|
6710
7123
|
className: 'highcharts-vertical-label',
|
|
@@ -6736,7 +7149,7 @@
|
|
|
6736
7149
|
},
|
|
6737
7150
|
labelOptions: {
|
|
6738
7151
|
style: {
|
|
6739
|
-
color:
|
|
7152
|
+
color: "#666666" /* neutralColor60 */,
|
|
6740
7153
|
fontSize: '11px'
|
|
6741
7154
|
}
|
|
6742
7155
|
},
|
|
@@ -6752,8 +7165,8 @@
|
|
|
6752
7165
|
/**
|
|
6753
7166
|
* A vertical arrow annotation bindings. Includes `start` event. On click,
|
|
6754
7167
|
* finds the closest point and marks it with an arrow.
|
|
6755
|
-
*
|
|
6756
|
-
* pointing from above and
|
|
7168
|
+
* `#06b535` is the color of the arrow when
|
|
7169
|
+
* pointing from above and `#f21313`
|
|
6757
7170
|
* when pointing from below the point.
|
|
6758
7171
|
*
|
|
6759
7172
|
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
@@ -6792,7 +7205,7 @@
|
|
|
6792
7205
|
connector: {
|
|
6793
7206
|
fill: 'none',
|
|
6794
7207
|
stroke: closestPoint.below ?
|
|
6795
|
-
|
|
7208
|
+
"#f21313" /* negativeColor */ : "#06b535" /* positiveColor */
|
|
6796
7209
|
}
|
|
6797
7210
|
},
|
|
6798
7211
|
shapeOptions: {
|
|
@@ -6804,6 +7217,66 @@
|
|
|
6804
7217
|
annotation.options.events.click.call(annotation, {});
|
|
6805
7218
|
}
|
|
6806
7219
|
},
|
|
7220
|
+
/**
|
|
7221
|
+
* The Fibonacci Time Zones annotation bindings. Includes `start` and one
|
|
7222
|
+
* event in `steps` array.
|
|
7223
|
+
*
|
|
7224
|
+
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
7225
|
+
* @product highstock
|
|
7226
|
+
* @default {"className": "highcharts-fibonacci-time-zones", "start": function() {}, "steps": [function() {}], "annotationsOptions": {}}
|
|
7227
|
+
*/
|
|
7228
|
+
fibonacciTimeZones: {
|
|
7229
|
+
/** @ignore-option */
|
|
7230
|
+
className: 'highcharts-fibonacci-time-zones',
|
|
7231
|
+
// eslint-disable-next-line valid-jsdoc
|
|
7232
|
+
/** @ignore-option */
|
|
7233
|
+
start: function (e) {
|
|
7234
|
+
var coords = this.chart.pointer.getCoordinates(e),
|
|
7235
|
+
coordsX = this.utils.getAssignedAxis(coords.xAxis),
|
|
7236
|
+
coordsY = this.utils.getAssignedAxis(coords.yAxis);
|
|
7237
|
+
// Exit if clicked out of axes area
|
|
7238
|
+
if (!coordsX || !coordsY) {
|
|
7239
|
+
return;
|
|
7240
|
+
}
|
|
7241
|
+
var navigation = this.chart.options.navigation,
|
|
7242
|
+
options = merge({
|
|
7243
|
+
type: 'fibonacciTimeZones',
|
|
7244
|
+
langKey: 'fibonacciTimeZones',
|
|
7245
|
+
typeOptions: {
|
|
7246
|
+
xAxis: coordsX.axis.options.index,
|
|
7247
|
+
yAxis: coordsY.axis.options.index,
|
|
7248
|
+
points: [{
|
|
7249
|
+
x: coordsX.value
|
|
7250
|
+
}]
|
|
7251
|
+
}
|
|
7252
|
+
},
|
|
7253
|
+
navigation.annotationsOptions,
|
|
7254
|
+
navigation.bindings.fibonacciTimeZones.annotationsOptions);
|
|
7255
|
+
return this.chart.addAnnotation(options);
|
|
7256
|
+
},
|
|
7257
|
+
/** @ignore-option */
|
|
7258
|
+
// eslint-disable-next-line valid-jsdoc
|
|
7259
|
+
steps: [
|
|
7260
|
+
function (e, annotation) {
|
|
7261
|
+
var mockPointOpts = annotation.options.typeOptions.points,
|
|
7262
|
+
x = mockPointOpts && mockPointOpts[0].x,
|
|
7263
|
+
coords = this.chart.pointer.getCoordinates(e),
|
|
7264
|
+
coordsX = this.utils.getAssignedAxis(coords.xAxis),
|
|
7265
|
+
coordsY = this.utils.getAssignedAxis(coords.yAxis);
|
|
7266
|
+
annotation.update({
|
|
7267
|
+
typeOptions: {
|
|
7268
|
+
xAxis: coordsX.axis.options.index,
|
|
7269
|
+
yAxis: coordsY.axis.options.index,
|
|
7270
|
+
points: [{
|
|
7271
|
+
x: x
|
|
7272
|
+
}, {
|
|
7273
|
+
x: coordsX.value
|
|
7274
|
+
}]
|
|
7275
|
+
}
|
|
7276
|
+
});
|
|
7277
|
+
}
|
|
7278
|
+
]
|
|
7279
|
+
},
|
|
6807
7280
|
// Flag types:
|
|
6808
7281
|
/**
|
|
6809
7282
|
* A flag series bindings. Includes `start` event. On click, finds the
|
|
@@ -7007,6 +7480,23 @@
|
|
|
7007
7480
|
fireEvent(this, 'deselectButton', { button: button });
|
|
7008
7481
|
}
|
|
7009
7482
|
},
|
|
7483
|
+
/**
|
|
7484
|
+
* Change main series to `'hlc'` type.
|
|
7485
|
+
*
|
|
7486
|
+
* @type {Highcharts.NavigationBindingsOptionsObject}
|
|
7487
|
+
* @product highstock
|
|
7488
|
+
* @default {"className": "highcharts-series-type-hlc", "init": function () {}}
|
|
7489
|
+
*/
|
|
7490
|
+
seriesTypeHLC: {
|
|
7491
|
+
className: 'highcharts-series-type-hlc',
|
|
7492
|
+
init: function (button) {
|
|
7493
|
+
this.chart.series[0].update({
|
|
7494
|
+
type: 'hlc',
|
|
7495
|
+
useOhlcData: true
|
|
7496
|
+
});
|
|
7497
|
+
fireEvent(this, 'deselectButton', { button: button });
|
|
7498
|
+
}
|
|
7499
|
+
},
|
|
7010
7500
|
/**
|
|
7011
7501
|
* Changes main series to `'hollowcandlestick'` type.
|
|
7012
7502
|
*
|
|
@@ -7258,10 +7748,12 @@
|
|
|
7258
7748
|
typeOHLC: 'OHLC',
|
|
7259
7749
|
typeLine: 'Line',
|
|
7260
7750
|
typeCandlestick: 'Candlestick',
|
|
7751
|
+
typeHLC: 'HLC',
|
|
7261
7752
|
typeHollowCandlestick: 'Hollow Candlestick',
|
|
7262
7753
|
typeHeikinAshi: 'Heikin Ashi',
|
|
7263
7754
|
// Basic shapes:
|
|
7264
7755
|
circle: 'Circle',
|
|
7756
|
+
ellipse: 'Ellipse',
|
|
7265
7757
|
label: 'Label',
|
|
7266
7758
|
rectangle: 'Rectangle',
|
|
7267
7759
|
// Flags:
|
|
@@ -7279,7 +7771,7 @@
|
|
|
7279
7771
|
ray: 'Ray',
|
|
7280
7772
|
arrowRay: 'Arrow ray',
|
|
7281
7773
|
line: 'Line',
|
|
7282
|
-
|
|
7774
|
+
arrowInfinityLine: 'Arrow line',
|
|
7283
7775
|
horizontalLine: 'Horizontal line',
|
|
7284
7776
|
verticalLine: 'Vertical line',
|
|
7285
7777
|
infinityLine: 'Infinity line',
|
|
@@ -7294,14 +7786,17 @@
|
|
|
7294
7786
|
verticalArrow: 'Vertical arrow',
|
|
7295
7787
|
// Advanced:
|
|
7296
7788
|
fibonacci: 'Fibonacci',
|
|
7789
|
+
fibonacciTimeZones: 'Fibonacci Time Zones',
|
|
7297
7790
|
pitchfork: 'Pitchfork',
|
|
7298
|
-
parallelChannel: 'Parallel channel'
|
|
7791
|
+
parallelChannel: 'Parallel channel',
|
|
7792
|
+
timeCycles: 'Time Cycles'
|
|
7299
7793
|
}
|
|
7300
7794
|
},
|
|
7301
7795
|
navigation: {
|
|
7302
7796
|
popup: {
|
|
7303
7797
|
// Annotations:
|
|
7304
7798
|
circle: 'Circle',
|
|
7799
|
+
ellipse: 'Ellipse',
|
|
7305
7800
|
rectangle: 'Rectangle',
|
|
7306
7801
|
label: 'Label',
|
|
7307
7802
|
segment: 'Segment',
|
|
@@ -7309,7 +7804,7 @@
|
|
|
7309
7804
|
ray: 'Ray',
|
|
7310
7805
|
arrowRay: 'Arrow ray',
|
|
7311
7806
|
line: 'Line',
|
|
7312
|
-
|
|
7807
|
+
arrowInfinityLine: 'Arrow line',
|
|
7313
7808
|
horizontalLine: 'Horizontal line',
|
|
7314
7809
|
verticalLine: 'Vertical line',
|
|
7315
7810
|
crooked3: 'Crooked 3 line',
|
|
@@ -7320,6 +7815,7 @@
|
|
|
7320
7815
|
verticalLabel: 'Vertical label',
|
|
7321
7816
|
verticalArrow: 'Vertical arrow',
|
|
7322
7817
|
fibonacci: 'Fibonacci',
|
|
7818
|
+
fibonacciTimeZones: 'Fibonacci Time Zones',
|
|
7323
7819
|
pitchfork: 'Pitchfork',
|
|
7324
7820
|
parallelChannel: 'Parallel channel',
|
|
7325
7821
|
infinityLine: 'Infinity line',
|
|
@@ -7327,6 +7823,7 @@
|
|
|
7327
7823
|
measureXY: 'Measure XY',
|
|
7328
7824
|
measureX: 'Measure X',
|
|
7329
7825
|
measureY: 'Measure Y',
|
|
7826
|
+
timeCycles: 'Time Cycles',
|
|
7330
7827
|
// Flags:
|
|
7331
7828
|
flags: 'Flags',
|
|
7332
7829
|
// GUI elements:
|
|
@@ -7344,7 +7841,11 @@
|
|
|
7344
7841
|
crosshairY: 'Crosshair Y',
|
|
7345
7842
|
tunnel: 'Tunnel',
|
|
7346
7843
|
background: 'Background',
|
|
7844
|
+
// Indicators' searchbox (#16019):
|
|
7845
|
+
noFilterMatch: 'No match',
|
|
7347
7846
|
// Indicators' params (#15170):
|
|
7847
|
+
searchIndicators: 'Search Indicators',
|
|
7848
|
+
clearFilter: '\u2715 clear filter',
|
|
7348
7849
|
index: 'Index',
|
|
7349
7850
|
period: 'Period',
|
|
7350
7851
|
periods: 'Periods',
|
|
@@ -7372,7 +7873,346 @@
|
|
|
7372
7873
|
factor: 'Factor',
|
|
7373
7874
|
fastAvgPeriod: 'Fast average period',
|
|
7374
7875
|
slowAvgPeriod: 'Slow average period',
|
|
7375
|
-
average: 'Average'
|
|
7876
|
+
average: 'Average',
|
|
7877
|
+
/**
|
|
7878
|
+
* Configure the aliases for indicator names.
|
|
7879
|
+
*
|
|
7880
|
+
* @product highstock
|
|
7881
|
+
* @since 9.3.0
|
|
7882
|
+
*/
|
|
7883
|
+
indicatorAliases: {
|
|
7884
|
+
// Overlays
|
|
7885
|
+
/**
|
|
7886
|
+
* Acceleration Bands alias.
|
|
7887
|
+
*
|
|
7888
|
+
* @default ['Acceleration Bands']
|
|
7889
|
+
* @type {Array<string>}
|
|
7890
|
+
*/
|
|
7891
|
+
abands: ['Acceleration Bands'],
|
|
7892
|
+
/**
|
|
7893
|
+
* Bollinger Bands alias.
|
|
7894
|
+
*
|
|
7895
|
+
* @default ['Bollinger Bands']
|
|
7896
|
+
* @type {Array<string>}
|
|
7897
|
+
*/
|
|
7898
|
+
bb: ['Bollinger Bands'],
|
|
7899
|
+
/**
|
|
7900
|
+
* Double Exponential Moving Average alias.
|
|
7901
|
+
*
|
|
7902
|
+
* @default ['Double Exponential Moving Average']
|
|
7903
|
+
* @type {Array<string>}
|
|
7904
|
+
*/
|
|
7905
|
+
dema: ['Double Exponential Moving Average'],
|
|
7906
|
+
/**
|
|
7907
|
+
* Exponential Moving Average alias.
|
|
7908
|
+
*
|
|
7909
|
+
* @default ['Exponential Moving Average']
|
|
7910
|
+
* @type {Array<string>}
|
|
7911
|
+
*/
|
|
7912
|
+
ema: ['Exponential Moving Average'],
|
|
7913
|
+
/**
|
|
7914
|
+
* Ichimoku Kinko Hyo alias.
|
|
7915
|
+
*
|
|
7916
|
+
* @default ['Ichimoku Kinko Hyo']
|
|
7917
|
+
* @type {Array<string>}
|
|
7918
|
+
*/
|
|
7919
|
+
ikh: ['Ichimoku Kinko Hyo'],
|
|
7920
|
+
/**
|
|
7921
|
+
* Keltner Channels alias.
|
|
7922
|
+
*
|
|
7923
|
+
* @default ['Keltner Channels']
|
|
7924
|
+
* @type {Array<string>}
|
|
7925
|
+
*/
|
|
7926
|
+
keltnerchannels: ['Keltner Channels'],
|
|
7927
|
+
/**
|
|
7928
|
+
* Linear Regression alias.
|
|
7929
|
+
*
|
|
7930
|
+
* @default ['Linear Regression']
|
|
7931
|
+
* @type {Array<string>}
|
|
7932
|
+
*/
|
|
7933
|
+
linearRegression: ['Linear Regression'],
|
|
7934
|
+
/**
|
|
7935
|
+
* Pivot Points alias.
|
|
7936
|
+
*
|
|
7937
|
+
* @default ['Pivot Points']
|
|
7938
|
+
* @type {Array<string>}
|
|
7939
|
+
*/
|
|
7940
|
+
pivotpoints: ['Pivot Points'],
|
|
7941
|
+
/**
|
|
7942
|
+
* Price Channel alias.
|
|
7943
|
+
*
|
|
7944
|
+
* @default ['Price Channel']
|
|
7945
|
+
* @type {Array<string>}
|
|
7946
|
+
*/
|
|
7947
|
+
pc: ['Price Channel'],
|
|
7948
|
+
/**
|
|
7949
|
+
* Price Envelopes alias.
|
|
7950
|
+
*
|
|
7951
|
+
* @default ['Price Envelopes']
|
|
7952
|
+
* @type {Array<string>}
|
|
7953
|
+
*/
|
|
7954
|
+
priceenvelopes: ['Price Envelopes'],
|
|
7955
|
+
/**
|
|
7956
|
+
* Parabolic SAR alias.
|
|
7957
|
+
*
|
|
7958
|
+
* @default ['Parabolic SAR']
|
|
7959
|
+
* @type {Array<string>}
|
|
7960
|
+
*/
|
|
7961
|
+
psar: ['Parabolic SAR'],
|
|
7962
|
+
/**
|
|
7963
|
+
* Simple Moving Average alias.
|
|
7964
|
+
*
|
|
7965
|
+
* @default ['Simple Moving Average']
|
|
7966
|
+
* @type {Array<string>}
|
|
7967
|
+
*/
|
|
7968
|
+
sma: ['Simple Moving Average'],
|
|
7969
|
+
/**
|
|
7970
|
+
* Super Trend alias.
|
|
7971
|
+
*
|
|
7972
|
+
* @default ['Super Trend']
|
|
7973
|
+
* @type {Array<string>}
|
|
7974
|
+
*/
|
|
7975
|
+
supertrend: ['Super Trend'],
|
|
7976
|
+
/**
|
|
7977
|
+
* Triple Exponential Moving Average alias.
|
|
7978
|
+
*
|
|
7979
|
+
* @default ['Triple Exponential Moving Average']
|
|
7980
|
+
* @type {Array<string>}
|
|
7981
|
+
*/
|
|
7982
|
+
tema: ['Triple Exponential Moving Average'],
|
|
7983
|
+
/**
|
|
7984
|
+
* Volume by Price alias.
|
|
7985
|
+
*
|
|
7986
|
+
* @default ['Volume by Price']
|
|
7987
|
+
* @type {Array<string>}
|
|
7988
|
+
*/
|
|
7989
|
+
vbp: ['Volume by Price'],
|
|
7990
|
+
/**
|
|
7991
|
+
* Volume Weighted Moving Average alias.
|
|
7992
|
+
*
|
|
7993
|
+
* @default ['Volume Weighted Moving Average']
|
|
7994
|
+
* @type {Array<string>}
|
|
7995
|
+
*/
|
|
7996
|
+
vwap: ['Volume Weighted Moving Average'],
|
|
7997
|
+
/**
|
|
7998
|
+
* Weighted Moving Average alias.
|
|
7999
|
+
*
|
|
8000
|
+
* @default ['Weighted Moving Average']
|
|
8001
|
+
* @type {Array<string>}
|
|
8002
|
+
*/
|
|
8003
|
+
wma: ['Weighted Moving Average'],
|
|
8004
|
+
/**
|
|
8005
|
+
* Zig Zagalias.
|
|
8006
|
+
*
|
|
8007
|
+
* @default ['Zig Zag']
|
|
8008
|
+
* @type {Array<string>}
|
|
8009
|
+
*/
|
|
8010
|
+
zigzag: ['Zig Zag'],
|
|
8011
|
+
// Oscilators
|
|
8012
|
+
/**
|
|
8013
|
+
* Absolute price indicator alias.
|
|
8014
|
+
*
|
|
8015
|
+
* @default ['Absolute price indicator']
|
|
8016
|
+
* @type {Array<string>}
|
|
8017
|
+
*/
|
|
8018
|
+
apo: ['Absolute price indicator'],
|
|
8019
|
+
/**
|
|
8020
|
+
* Accumulation/Distribution alias.
|
|
8021
|
+
*
|
|
8022
|
+
* @default ['Accumulation/Distribution’]
|
|
8023
|
+
* @type {Array<string>}
|
|
8024
|
+
*/
|
|
8025
|
+
ad: ['Accumulation/Distribution'],
|
|
8026
|
+
/**
|
|
8027
|
+
* Aroon alias.
|
|
8028
|
+
*
|
|
8029
|
+
* @default ['Aroon']
|
|
8030
|
+
* @type {Array<string>}
|
|
8031
|
+
*/
|
|
8032
|
+
aroon: ['Aroon'],
|
|
8033
|
+
/**
|
|
8034
|
+
* Aroon oscillator alias.
|
|
8035
|
+
*
|
|
8036
|
+
* @default ['Aroon oscillator']
|
|
8037
|
+
* @type {Array<string>}
|
|
8038
|
+
*/
|
|
8039
|
+
aroonoscillator: ['Aroon oscillator'],
|
|
8040
|
+
/**
|
|
8041
|
+
* Average True Range alias.
|
|
8042
|
+
*
|
|
8043
|
+
* @default ['Average True Range’]
|
|
8044
|
+
* @type {Array<string>}
|
|
8045
|
+
*/
|
|
8046
|
+
atr: ['Average True Range'],
|
|
8047
|
+
/**
|
|
8048
|
+
* Awesome oscillator alias.
|
|
8049
|
+
*
|
|
8050
|
+
* @default ['Awesome oscillator’]
|
|
8051
|
+
* @type {Array<string>}
|
|
8052
|
+
*/
|
|
8053
|
+
ao: ['Awesome oscillator'],
|
|
8054
|
+
/**
|
|
8055
|
+
* Commodity Channel Index alias.
|
|
8056
|
+
*
|
|
8057
|
+
* @default ['Commodity Channel Index’]
|
|
8058
|
+
* @type {Array<string>}
|
|
8059
|
+
*/
|
|
8060
|
+
cci: ['Commodity Channel Index'],
|
|
8061
|
+
/**
|
|
8062
|
+
* Chaikin alias.
|
|
8063
|
+
*
|
|
8064
|
+
* @default ['Chaikin’]
|
|
8065
|
+
* @type {Array<string>}
|
|
8066
|
+
*/
|
|
8067
|
+
chaikin: ['Chaikin'],
|
|
8068
|
+
/**
|
|
8069
|
+
* Chaikin Money Flow alias.
|
|
8070
|
+
*
|
|
8071
|
+
* @default ['Chaikin Money Flow’]
|
|
8072
|
+
* @type {Array<string>}
|
|
8073
|
+
*/
|
|
8074
|
+
cmf: ['Chaikin Money Flow'],
|
|
8075
|
+
/**
|
|
8076
|
+
* Chande Momentum Oscillator alias.
|
|
8077
|
+
*
|
|
8078
|
+
* @default ['Chande Momentum Oscillator’]
|
|
8079
|
+
* @type {Array<string>}
|
|
8080
|
+
*/
|
|
8081
|
+
cmo: ['Chande Momentum Oscillator'],
|
|
8082
|
+
/**
|
|
8083
|
+
* Disparity Index alias.
|
|
8084
|
+
*
|
|
8085
|
+
* @default ['Disparity Index’]
|
|
8086
|
+
* @type {Array<string>}
|
|
8087
|
+
*/
|
|
8088
|
+
disparityindex: ['Disparity Index'],
|
|
8089
|
+
/**
|
|
8090
|
+
* Directional Movement Index alias.
|
|
8091
|
+
*
|
|
8092
|
+
* @default ['Directional Movement Index’]
|
|
8093
|
+
* @type {Array<string>}
|
|
8094
|
+
*/
|
|
8095
|
+
dmi: ['Directional Movement Index'],
|
|
8096
|
+
/**
|
|
8097
|
+
* Detrended price oscillator alias.
|
|
8098
|
+
*
|
|
8099
|
+
* @default ['Detrended price oscillator’]
|
|
8100
|
+
* @type {Array<string>}
|
|
8101
|
+
*/
|
|
8102
|
+
dpo: ['Detrended price oscillator'],
|
|
8103
|
+
/**
|
|
8104
|
+
* Klinger Oscillator alias.
|
|
8105
|
+
*
|
|
8106
|
+
* @default [‘Klinger Oscillator’]
|
|
8107
|
+
* @type {Array<string>}
|
|
8108
|
+
*/
|
|
8109
|
+
klinger: ['Klinger Oscillator'],
|
|
8110
|
+
/**
|
|
8111
|
+
* Linear Regression Angle alias.
|
|
8112
|
+
*
|
|
8113
|
+
* @default [‘Linear Regression Angle’]
|
|
8114
|
+
* @type {Array<string>}
|
|
8115
|
+
*/
|
|
8116
|
+
linearRegressionAngle: ['Linear Regression Angle'],
|
|
8117
|
+
/**
|
|
8118
|
+
* Linear Regression Intercept alias.
|
|
8119
|
+
*
|
|
8120
|
+
* @default [‘Linear Regression Intercept’]
|
|
8121
|
+
* @type {Array<string>}
|
|
8122
|
+
*/
|
|
8123
|
+
linearRegressionIntercept: ['Linear Regression Intercept'],
|
|
8124
|
+
/**
|
|
8125
|
+
* Linear Regression Slope alias.
|
|
8126
|
+
*
|
|
8127
|
+
* @default [‘Linear Regression Slope’]
|
|
8128
|
+
* @type {Array<string>}
|
|
8129
|
+
*/
|
|
8130
|
+
linearRegressionSlope: ['Linear Regression Slope'],
|
|
8131
|
+
/**
|
|
8132
|
+
* Moving Average Convergence Divergence alias.
|
|
8133
|
+
*
|
|
8134
|
+
* @default ['Moving Average Convergence Divergence’]
|
|
8135
|
+
* @type {Array<string>}
|
|
8136
|
+
*/
|
|
8137
|
+
macd: ['Moving Average Convergence Divergence'],
|
|
8138
|
+
/**
|
|
8139
|
+
* Money Flow Index alias.
|
|
8140
|
+
*
|
|
8141
|
+
* @default ['Money Flow Index’]
|
|
8142
|
+
* @type {Array<string>}
|
|
8143
|
+
*/
|
|
8144
|
+
mfi: ['Money Flow Index'],
|
|
8145
|
+
/**
|
|
8146
|
+
* Momentum alias.
|
|
8147
|
+
*
|
|
8148
|
+
* @default [‘Momentum’]
|
|
8149
|
+
* @type {Array<string>}
|
|
8150
|
+
*/
|
|
8151
|
+
momentum: ['Momentum'],
|
|
8152
|
+
/**
|
|
8153
|
+
* Normalized Average True Range alias.
|
|
8154
|
+
*
|
|
8155
|
+
* @default ['Normalized Average True Range’]
|
|
8156
|
+
* @type {Array<string>}
|
|
8157
|
+
*/
|
|
8158
|
+
natr: ['Normalized Average True Range'],
|
|
8159
|
+
/**
|
|
8160
|
+
* On-Balance Volume alias.
|
|
8161
|
+
*
|
|
8162
|
+
* @default ['On-Balance Volume’]
|
|
8163
|
+
* @type {Array<string>}
|
|
8164
|
+
*/
|
|
8165
|
+
obv: ['On-Balance Volume'],
|
|
8166
|
+
/**
|
|
8167
|
+
* Percentage Price oscillator alias.
|
|
8168
|
+
*
|
|
8169
|
+
* @default ['Percentage Price oscillator’]
|
|
8170
|
+
* @type {Array<string>}
|
|
8171
|
+
*/
|
|
8172
|
+
ppo: ['Percentage Price oscillator'],
|
|
8173
|
+
/**
|
|
8174
|
+
* Rate of Change alias.
|
|
8175
|
+
*
|
|
8176
|
+
* @default ['Rate of Change’]
|
|
8177
|
+
* @type {Array<string>}
|
|
8178
|
+
*/
|
|
8179
|
+
roc: ['Rate of Change'],
|
|
8180
|
+
/**
|
|
8181
|
+
* Relative Strength Index alias.
|
|
8182
|
+
*
|
|
8183
|
+
* @default ['Relative Strength Index’]
|
|
8184
|
+
* @type {Array<string>}
|
|
8185
|
+
*/
|
|
8186
|
+
rsi: ['Relative Strength Index'],
|
|
8187
|
+
/**
|
|
8188
|
+
* Slow Stochastic alias.
|
|
8189
|
+
*
|
|
8190
|
+
* @default [‘Slow Stochastic’]
|
|
8191
|
+
* @type {Array<string>}
|
|
8192
|
+
*/
|
|
8193
|
+
slowstochastic: ['Slow Stochastic'],
|
|
8194
|
+
/**
|
|
8195
|
+
* Stochastic alias.
|
|
8196
|
+
*
|
|
8197
|
+
* @default [‘Stochastic’]
|
|
8198
|
+
* @type {Array<string>}
|
|
8199
|
+
*/
|
|
8200
|
+
stochastic: ['Stochastic'],
|
|
8201
|
+
/**
|
|
8202
|
+
* TRIX alias.
|
|
8203
|
+
*
|
|
8204
|
+
* @default [‘TRIX’]
|
|
8205
|
+
* @type {Array<string>}
|
|
8206
|
+
*/
|
|
8207
|
+
trix: ['TRIX'],
|
|
8208
|
+
/**
|
|
8209
|
+
* Williams %R alias.
|
|
8210
|
+
*
|
|
8211
|
+
* @default [‘Williams %R’]
|
|
8212
|
+
* @type {Array<string>}
|
|
8213
|
+
*/
|
|
8214
|
+
williamsr: ['Williams %R']
|
|
8215
|
+
}
|
|
7376
8216
|
}
|
|
7377
8217
|
}
|
|
7378
8218
|
},
|
|
@@ -7487,6 +8327,7 @@
|
|
|
7487
8327
|
* @default [
|
|
7488
8328
|
* 'label',
|
|
7489
8329
|
* 'circle',
|
|
8330
|
+
* 'ellipse',
|
|
7490
8331
|
* 'rectangle'
|
|
7491
8332
|
* ]
|
|
7492
8333
|
*
|
|
@@ -7494,6 +8335,7 @@
|
|
|
7494
8335
|
items: [
|
|
7495
8336
|
'label',
|
|
7496
8337
|
'circle',
|
|
8338
|
+
'ellipse',
|
|
7497
8339
|
'rectangle'
|
|
7498
8340
|
],
|
|
7499
8341
|
circle: {
|
|
@@ -7505,6 +8347,15 @@
|
|
|
7505
8347
|
*/
|
|
7506
8348
|
symbol: 'circle.svg'
|
|
7507
8349
|
},
|
|
8350
|
+
ellipse: {
|
|
8351
|
+
/**
|
|
8352
|
+
* A predefined background symbol for the button.
|
|
8353
|
+
*
|
|
8354
|
+
* @type {string}
|
|
8355
|
+
*
|
|
8356
|
+
*/
|
|
8357
|
+
symbol: 'ellipse.svg'
|
|
8358
|
+
},
|
|
7508
8359
|
rectangle: {
|
|
7509
8360
|
/**
|
|
7510
8361
|
* A predefined background symbol for the button.
|
|
@@ -7591,7 +8442,7 @@
|
|
|
7591
8442
|
* 'ray',
|
|
7592
8443
|
* 'arrowRay',
|
|
7593
8444
|
* 'line',
|
|
7594
|
-
* '
|
|
8445
|
+
* 'arrowInfinityLine',
|
|
7595
8446
|
* 'horizontalLine',
|
|
7596
8447
|
* 'verticalLine'
|
|
7597
8448
|
* ]
|
|
@@ -7602,7 +8453,7 @@
|
|
|
7602
8453
|
'ray',
|
|
7603
8454
|
'arrowRay',
|
|
7604
8455
|
'line',
|
|
7605
|
-
'
|
|
8456
|
+
'arrowInfinityLine',
|
|
7606
8457
|
'horizontalLine',
|
|
7607
8458
|
'verticalLine'
|
|
7608
8459
|
],
|
|
@@ -7646,7 +8497,7 @@
|
|
|
7646
8497
|
*/
|
|
7647
8498
|
symbol: 'line.svg'
|
|
7648
8499
|
},
|
|
7649
|
-
|
|
8500
|
+
arrowInfinityLine: {
|
|
7650
8501
|
/**
|
|
7651
8502
|
* A predefined background symbol for the button.
|
|
7652
8503
|
*
|
|
@@ -7774,14 +8625,18 @@
|
|
|
7774
8625
|
* @type {array}
|
|
7775
8626
|
* @default [
|
|
7776
8627
|
* 'fibonacci',
|
|
8628
|
+
* 'fibonacciTimeZones',
|
|
7777
8629
|
* 'pitchfork',
|
|
7778
|
-
* 'parallelChannel'
|
|
8630
|
+
* 'parallelChannel',
|
|
8631
|
+
* 'timeCycles'
|
|
7779
8632
|
* ]
|
|
7780
8633
|
*/
|
|
7781
8634
|
items: [
|
|
7782
8635
|
'fibonacci',
|
|
8636
|
+
'fibonacciTimeZones',
|
|
7783
8637
|
'pitchfork',
|
|
7784
|
-
'parallelChannel'
|
|
8638
|
+
'parallelChannel',
|
|
8639
|
+
'timeCycles'
|
|
7785
8640
|
],
|
|
7786
8641
|
pitchfork: {
|
|
7787
8642
|
/**
|
|
@@ -7799,6 +8654,14 @@
|
|
|
7799
8654
|
*/
|
|
7800
8655
|
symbol: 'fibonacci.svg'
|
|
7801
8656
|
},
|
|
8657
|
+
fibonacciTimeZones: {
|
|
8658
|
+
/**
|
|
8659
|
+
* A predefined background symbol for the button.
|
|
8660
|
+
*
|
|
8661
|
+
* @type {string}
|
|
8662
|
+
*/
|
|
8663
|
+
symbol: 'fibonacci-timezone.svg'
|
|
8664
|
+
},
|
|
7802
8665
|
parallelChannel: {
|
|
7803
8666
|
/**
|
|
7804
8667
|
* A predefined background symbol for the button.
|
|
@@ -7806,6 +8669,14 @@
|
|
|
7806
8669
|
* @type {string}
|
|
7807
8670
|
*/
|
|
7808
8671
|
symbol: 'parallel-channel.svg'
|
|
8672
|
+
},
|
|
8673
|
+
timeCycles: {
|
|
8674
|
+
/**
|
|
8675
|
+
* A predefined backgroud symbol for the button.
|
|
8676
|
+
*
|
|
8677
|
+
* @type {string}
|
|
8678
|
+
*/
|
|
8679
|
+
symbol: 'time-cycles.svg'
|
|
7809
8680
|
}
|
|
7810
8681
|
},
|
|
7811
8682
|
measure: {
|
|
@@ -7934,6 +8805,7 @@
|
|
|
7934
8805
|
'typeLine',
|
|
7935
8806
|
'typeCandlestick',
|
|
7936
8807
|
'typeHollowCandlestick',
|
|
8808
|
+
'typeHLC',
|
|
7937
8809
|
'typeHeikinAshi'
|
|
7938
8810
|
],
|
|
7939
8811
|
typeOHLC: {
|
|
@@ -7960,6 +8832,14 @@
|
|
|
7960
8832
|
*/
|
|
7961
8833
|
symbol: 'series-candlestick.svg'
|
|
7962
8834
|
},
|
|
8835
|
+
typeHLC: {
|
|
8836
|
+
/**
|
|
8837
|
+
* A predefined background symbol for the button.
|
|
8838
|
+
*
|
|
8839
|
+
* @type {string}
|
|
8840
|
+
*/
|
|
8841
|
+
symbol: 'series-hlc.svg'
|
|
8842
|
+
},
|
|
7963
8843
|
typeHeikinAshi: {
|
|
7964
8844
|
/**
|
|
7965
8845
|
* A predefined background symbol for the button.
|
|
@@ -8482,7 +9362,7 @@
|
|
|
8482
9362
|
button.style.backgroundImage;
|
|
8483
9363
|
// set active class
|
|
8484
9364
|
if (redraw) {
|
|
8485
|
-
this.
|
|
9365
|
+
this.toggleButtonAciveClass(mainNavButton);
|
|
8486
9366
|
}
|
|
8487
9367
|
};
|
|
8488
9368
|
/*
|
|
@@ -8491,7 +9371,7 @@
|
|
|
8491
9371
|
* @param {HTMLDOMElement} - button
|
|
8492
9372
|
*
|
|
8493
9373
|
*/
|
|
8494
|
-
Toolbar.prototype.
|
|
9374
|
+
Toolbar.prototype.toggleButtonAciveClass = function (button) {
|
|
8495
9375
|
if (button.className.indexOf(activeClass) >= 0) {
|
|
8496
9376
|
button.classList.remove(activeClass);
|
|
8497
9377
|
}
|
|
@@ -8557,7 +9437,7 @@
|
|
|
8557
9437
|
Toolbar.prototype.getIconsURL = function () {
|
|
8558
9438
|
return this.chart.options.navigation.iconsURL ||
|
|
8559
9439
|
this.options.iconsURL ||
|
|
8560
|
-
'https://code.highcharts.com/9.
|
|
9440
|
+
'https://code.highcharts.com/9.3.1/gfx/stock-icons/';
|
|
8561
9441
|
};
|
|
8562
9442
|
return Toolbar;
|
|
8563
9443
|
}());
|
|
@@ -8567,6 +9447,7 @@
|
|
|
8567
9447
|
*/
|
|
8568
9448
|
Toolbar.prototype.classMapping = {
|
|
8569
9449
|
circle: PREFIX + 'circle-annotation',
|
|
9450
|
+
ellipse: PREFIX + 'ellipse-annotation',
|
|
8570
9451
|
rectangle: PREFIX + 'rectangle-annotation',
|
|
8571
9452
|
label: PREFIX + 'label-annotation',
|
|
8572
9453
|
segment: PREFIX + 'segment',
|
|
@@ -8574,7 +9455,7 @@
|
|
|
8574
9455
|
ray: PREFIX + 'ray',
|
|
8575
9456
|
arrowRay: PREFIX + 'arrow-ray',
|
|
8576
9457
|
line: PREFIX + 'infinity-line',
|
|
8577
|
-
|
|
9458
|
+
arrowInfinityLine: PREFIX + 'arrow-infinity-line',
|
|
8578
9459
|
verticalLine: PREFIX + 'vertical-line',
|
|
8579
9460
|
horizontalLine: PREFIX + 'horizontal-line',
|
|
8580
9461
|
crooked3: PREFIX + 'crooked3',
|
|
@@ -8583,10 +9464,12 @@
|
|
|
8583
9464
|
elliott5: PREFIX + 'elliott5',
|
|
8584
9465
|
pitchfork: PREFIX + 'pitchfork',
|
|
8585
9466
|
fibonacci: PREFIX + 'fibonacci',
|
|
9467
|
+
fibonacciTimeZones: PREFIX + 'fibonacci-time-zones',
|
|
8586
9468
|
parallelChannel: PREFIX + 'parallel-channel',
|
|
8587
9469
|
measureX: PREFIX + 'measure-x',
|
|
8588
9470
|
measureY: PREFIX + 'measure-y',
|
|
8589
9471
|
measureXY: PREFIX + 'measure-xy',
|
|
9472
|
+
timeCycles: PREFIX + 'time-cycles',
|
|
8590
9473
|
verticalCounter: PREFIX + 'vertical-counter',
|
|
8591
9474
|
verticalLabel: PREFIX + 'vertical-label',
|
|
8592
9475
|
verticalArrow: PREFIX + 'vertical-arrow',
|
|
@@ -8601,6 +9484,7 @@
|
|
|
8601
9484
|
zoomXY: PREFIX + 'zoom-xy',
|
|
8602
9485
|
typeLine: PREFIX + 'series-type-line',
|
|
8603
9486
|
typeOHLC: PREFIX + 'series-type-ohlc',
|
|
9487
|
+
typeHLC: PREFIX + 'series-type-hlc',
|
|
8604
9488
|
typeCandlestick: PREFIX + 'series-type-candlestick',
|
|
8605
9489
|
typeHollowCandlestick: PREFIX + 'series-type-hollowcandlestick',
|
|
8606
9490
|
typeHeikinAshi: PREFIX + 'series-type-heikinashi',
|
|
@@ -8640,7 +9524,7 @@
|
|
|
8640
9524
|
button = button.parentNode.parentNode;
|
|
8641
9525
|
}
|
|
8642
9526
|
// Set active class on the current button
|
|
8643
|
-
gui.
|
|
9527
|
+
gui.toggleButtonAciveClass(button);
|
|
8644
9528
|
}
|
|
8645
9529
|
});
|
|
8646
9530
|
addEvent(NavigationBindings, 'deselectButton', function (event) {
|
|
@@ -8652,7 +9536,7 @@
|
|
|
8652
9536
|
if (button.parentNode.className.indexOf(className) >= 0) {
|
|
8653
9537
|
button = button.parentNode.parentNode;
|
|
8654
9538
|
}
|
|
8655
|
-
gui.
|
|
9539
|
+
gui.toggleButtonAciveClass(button);
|
|
8656
9540
|
}
|
|
8657
9541
|
});
|
|
8658
9542
|
// Check if the correct price indicator button is displayed, #15029.
|