highcharts 10.2.0 → 10.2.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/bower.json +1 -1
- package/css/highcharts.css +10 -20
- package/css/themes/dark-unica.css +10 -20
- package/css/themes/grid-light.css +10 -20
- package/css/themes/sand-signika.css +10 -20
- package/es-modules/Accessibility/Accessibility.js +6 -0
- package/es-modules/Accessibility/Components/LegendComponent.js +8 -8
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -2
- package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
- package/es-modules/Core/Axis/Axis.js +3 -0
- package/es-modules/Core/Axis/Axis3D.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +1 -1
- package/es-modules/Core/Axis/BrokenAxis.js +1 -1
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +4 -0
- package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +2 -2
- package/es-modules/Core/Axis/RadialAxis.js +1 -1
- package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
- package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
- package/es-modules/Core/Axis/ZAxis.js +73 -70
- package/es-modules/Core/Chart/Chart.js +16 -2
- package/es-modules/Core/Chart/Chart3D.js +2 -2
- package/es-modules/Core/Chart/ChartDefaults.js +151 -2
- package/es-modules/Core/Chart/StockChart.js +5 -3
- package/es-modules/Core/DefaultOptions.js +2 -1
- package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
- package/es-modules/Core/Globals.js +2 -1
- package/es-modules/{Extensions → Core}/Math3D.js +48 -43
- package/es-modules/Core/Navigator.js +24 -7
- package/es-modules/Core/Pointer.js +7 -9
- package/es-modules/Core/Renderer/HTML/AST.js +4 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +103 -163
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +29 -27
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +3 -3
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
- package/es-modules/Core/Scrollbar.js +3 -1
- package/es-modules/Core/Series/DataLabel.js +8 -6
- package/es-modules/Core/Series/Point.js +2 -2
- package/es-modules/Core/Series/Series.js +36 -31
- package/es-modules/Core/Series/Series3D.js +1 -1
- package/es-modules/Core/Series/SeriesDefaults.js +8 -3
- package/es-modules/Core/Series/SeriesRegistry.js +6 -29
- package/es-modules/Core/Tooltip.js +14 -3
- package/es-modules/Core/Utilities.js +1 -3
- package/es-modules/Data/DataConverter.js +5 -0
- package/es-modules/Data/DataPromise.js +1 -1
- package/es-modules/Data/DataSeriesComposition.js +288 -0
- package/es-modules/Data/DataSeriesConverter.js +1 -1
- package/es-modules/Data/DataTable.js +2 -2
- package/es-modules/Data/Modifiers/ChainModifier.js +1 -1
- package/es-modules/Data/Modifiers/DataModifier.js +1 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +1 -1
- package/es-modules/Data/Modifiers/InvertModifier.js +1 -1
- package/es-modules/Data/Modifiers/RangeModifier.js +1 -1
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +1 -1
- package/es-modules/Data/Modifiers/SortModifier.js +1 -1
- package/es-modules/Data/Parsers/DataParser.js +1 -1
- package/es-modules/Data/Stores/DataStore.js +1 -1
- package/es-modules/Extensions/Annotations/Annotation.js +347 -1156
- package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
- package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
- package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
- package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +90 -61
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
- package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
- package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
- package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -674
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
- package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +10 -14
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +11 -19
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +10 -10
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +28 -20
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +63 -63
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +10 -19
- package/es-modules/Extensions/Annotations/Types/Measure.js +255 -249
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -17
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +20 -17
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +12 -13
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +11 -15
- package/es-modules/Extensions/Boost/Boost.js +320 -15
- package/es-modules/Extensions/Boost/BoostChart.js +245 -0
- package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
- package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
- package/es-modules/Extensions/Boost/Boostables.js +13 -2
- package/es-modules/Extensions/Boost/NamedColors.js +15 -6
- package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
- package/es-modules/Extensions/Boost/WGLShader.js +370 -376
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
- package/es-modules/Extensions/BoostCanvas.js +62 -46
- package/es-modules/Extensions/Breadcrumbs.js +4 -0
- package/es-modules/Extensions/DataGrouping.js +65 -27
- package/es-modules/Extensions/Debugger/Debugger.js +60 -22
- package/es-modules/Extensions/DraggablePoints.js +4 -3
- package/es-modules/Extensions/Drilldown.js +7 -8
- package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +341 -530
- package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
- package/es-modules/Extensions/Exporting/Exporting.js +5 -1
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +3 -1
- package/es-modules/Extensions/{FullScreen.js → Exporting/Fullscreen.js} +72 -27
- package/es-modules/Extensions/MarkerClusters.js +2 -0
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/ParallelCoordinates.js +11 -7
- package/es-modules/Extensions/ScrollablePlotArea.js +1 -1
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
- package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
- package/es-modules/Maps/MapPointer.js +1 -1
- package/es-modules/Maps/MapView.js +2 -1
- package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +8 -2
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
- package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
- package/es-modules/Series/Bubble/BubbleSeries.js +85 -66
- package/es-modules/Series/Column/ColumnSeries.js +2 -0
- package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +1 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +24 -11
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +16 -2
- package/es-modules/Series/DragNodesComposition.js +166 -0
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +1 -1
- package/es-modules/Series/GraphLayoutComposition.js +130 -0
- package/es-modules/Series/Heatmap/HeatmapSeries.js +5 -1
- package/es-modules/Series/Lollipop/LollipopPoint.js +21 -11
- package/es-modules/Series/Lollipop/LollipopSeries.js +15 -10
- package/es-modules/Series/Map/MapSeries.js +6 -1
- package/es-modules/Series/MapBubble/MapBubblePoint.js +15 -17
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +19 -19
- package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
- package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
- package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
- package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
- package/es-modules/Series/Organization/OrganizationSeries.js +9 -1
- package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
- package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -77
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +2 -2
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +197 -570
- package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
- package/es-modules/Series/Pie/PieSeries.js +3 -1
- package/es-modules/Series/PolarComposition.js +12 -12
- package/es-modules/Series/Sankey/SankeySeries.js +13 -1
- package/es-modules/Series/Scatter/ScatterSeries.js +4 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +1 -1
- package/es-modules/Series/SeriesOnPointComposition.js +5 -1
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +5 -6
- package/es-modules/Series/Sunburst/SunburstSeries.js +24 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +2 -0
- package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
- package/es-modules/Series/Vector/VectorSeries.js +2 -4
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -1
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
- package/es-modules/Series/XRange/XRangePoint.js +54 -45
- package/es-modules/Series/XRange/XRangeSeries.js +121 -273
- package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +10 -2
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +5 -0
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +22 -11
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +6 -1
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +16 -3
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +15 -2
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +6 -2
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +5 -1
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +16 -3
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +20 -0
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +15 -1
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +7 -2
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +25 -0
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +5 -0
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +19 -8
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +10 -0
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +34 -15
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +25 -0
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +12 -1
- package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +11 -1
- package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +12 -7
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +11 -1
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +11 -1
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +21 -10
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +23 -10
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +30 -2
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +16 -1
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +10 -0
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +13 -8
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +14 -4
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +16 -3
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +16 -6
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +16 -12
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +25 -0
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +15 -2
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +20 -2
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +25 -0
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -0
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +17 -3
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +25 -0
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +14 -4
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +32 -3
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +6 -6
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +11 -1
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +30 -2
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +10 -0
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +11 -1
- package/es-modules/Stock/StockToolbar.js +568 -0
- package/es-modules/Stock/StockTools.js +256 -0
- package/es-modules/Stock/StockToolsBindings.js +114 -629
- package/es-modules/Stock/StockToolsDefaults.js +1190 -0
- package/es-modules/Stock/StockToolsGui.js +150 -1771
- package/es-modules/Stock/StockToolsUtilities.js +423 -0
- package/es-modules/masters/highcharts-3d.src.js +5 -4
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +4 -3
- package/es-modules/masters/highcharts.src.js +5 -2
- 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/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +5 -7
- package/es-modules/masters/indicators/indicators.src.js +1 -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 +5 -5
- 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 +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
- package/es-modules/masters/modules/annotations.src.js +6 -4
- package/es-modules/masters/modules/arc-diagram.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 +6 -2
- 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 +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +5 -3
- 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 +5 -2
- package/es-modules/masters/modules/exporting.src.js +1 -2
- package/es-modules/masters/modules/full-screen.src.js +6 -2
- 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 +3 -2
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- 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 +2 -2
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +5 -2
- 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/series-on-point.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +10 -3
- package/es-modules/masters/modules/stock.src.js +1 -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 +2 -2
- 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 +5 -2
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.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 +98 -99
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +232 -211
- package/highcharts-gantt.js +808 -809
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +2308 -2136
- package/highcharts-more.d.ts +5 -8
- package/highcharts-more.js +201 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +5 -8
- package/highcharts-more.src.js +3671 -3275
- package/highcharts.d.ts +1400 -885
- package/highcharts.js +593 -595
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +1400 -885
- package/highcharts.src.js +847 -716
- package/highmaps.js +762 -763
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +1288 -1129
- package/highstock.js +796 -798
- package/highstock.js.map +1 -1
- package/highstock.src.js +953 -762
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +11 -3
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +6 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +23 -14
- package/indicators/apo.js +1 -1
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +6 -1
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +7 -3
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +16 -3
- package/indicators/atr.js +1 -1
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +17 -4
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +6 -2
- package/indicators/cci.js +1 -1
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +17 -4
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +13 -5
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +21 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +16 -2
- package/indicators/dema.js +1 -1
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +26 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +6 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +20 -9
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +35 -16
- package/indicators/indicators-all.js +199 -199
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +754 -162
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +12 -2
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +26 -1
- package/indicators/klinger.js +12 -12
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +13 -4
- package/indicators/macd.js +1 -1
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +22 -13
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +24 -11
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +31 -3
- package/indicators/natr.js +1 -1
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +17 -3
- package/indicators/obv.js +1 -1
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +32 -19
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +15 -5
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +14 -9
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +26 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +17 -4
- package/indicators/regressions.js +12 -11
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +50 -15
- package/indicators/roc.js +1 -1
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +16 -3
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +21 -3
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +26 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +16 -1
- package/indicators/supertrend.js +7 -7
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +18 -6
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +15 -5
- package/indicators/trix.js +1 -1
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +26 -1
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +38 -10
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +12 -2
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +31 -3
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +12 -2
- package/modules/accessibility.js +183 -182
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +559 -554
- package/modules/annotations-advanced.d.ts +1 -1
- package/modules/annotations-advanced.js +193 -192
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +1 -1
- package/modules/annotations-advanced.src.js +9263 -8654
- package/modules/annotations.d.ts +1 -1
- package/modules/annotations.js +128 -126
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.d.ts +1 -1
- package/modules/annotations.src.js +6699 -6063
- package/modules/arc-diagram.js +1 -1
- package/modules/arc-diagram.src.js +1 -1
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.d.ts +19 -0
- package/modules/boost-canvas.js +81 -16
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.d.ts +19 -0
- package/modules/boost-canvas.src.js +3334 -50
- package/modules/boost.d.ts +8 -26
- package/modules/boost.js +84 -77
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.d.ts +8 -26
- package/modules/boost.src.js +2423 -1888
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +2 -2
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +1 -1
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +5 -1
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +9 -9
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +2 -2
- package/modules/data.js +1 -1
- package/modules/data.src.js +1 -1
- package/modules/datagrouping.d.ts +22 -0
- package/modules/datagrouping.js +4 -4
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +22 -0
- package/modules/datagrouping.src.js +66 -28
- package/modules/debugger.js +6 -5
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +81 -40
- package/modules/dependency-wheel.js +12 -12
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +41 -14
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +5 -5
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +5 -4
- package/modules/drilldown.d.ts +0 -10
- package/modules/drilldown.js +29 -29
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +0 -10
- package/modules/drilldown.src.js +12 -9
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +25 -24
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +607 -499
- package/modules/exporting.js +38 -38
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +559 -507
- package/modules/full-screen.js +8 -8
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +76 -26
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +2 -2
- package/modules/gantt.js +217 -216
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +1481 -1440
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +1 -1
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +10 -2
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +6 -6
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +37 -22
- package/modules/map.d.ts +3 -3
- package/modules/map.js +171 -171
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +3 -3
- package/modules/map.src.js +442 -414
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +3 -1
- package/modules/networkgraph.js +55 -50
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.js +2259 -1938
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +2 -2
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +2 -2
- package/modules/organization.js +15 -15
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +10 -2
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +13 -8
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- 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.js +1 -1
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +14 -2
- package/modules/series-label.js +5 -5
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +3 -3
- package/modules/series-on-point.js +1 -1
- package/modules/series-on-point.js.map +1 -1
- package/modules/series-on-point.src.js +6 -2
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +2 -2
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +2 -2
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.d.ts +1 -23
- package/modules/stock-tools.js +109 -179
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.d.ts +1 -23
- package/modules/stock-tools.src.js +2605 -6335
- package/modules/stock.d.ts +8 -0
- package/modules/stock.js +105 -105
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +8 -0
- package/modules/stock.src.js +105 -45
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +72 -72
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +38 -12
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +3 -1
- package/modules/treegrid.js +57 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +1022 -1014
- package/modules/treemap.js +1 -1
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +8 -4
- 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 +2 -2
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +3 -5
- package/modules/venn.js +1 -1
- package/modules/venn.src.js +5 -5
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +1 -1
- package/modules/wordcloud.src.js +3 -3
- package/modules/xrange.js +17 -17
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +411 -397
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.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/StackingAxis.js +0 -215
- package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
- package/es-modules/Core/Axis/TreeGridTick.js +0 -317
- package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
- package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
- package/es-modules/Extensions/Annotations/Popup.js +0 -1123
- package/es-modules/Extensions/Boost/BoostAttach.js +0 -154
- package/es-modules/Extensions/Boost/BoostInit.js +0 -324
- package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
- package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
- package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
- package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
- package/es-modules/Extensions/Stacking.js +0 -517
- package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
- package/es-modules/Series/Networkgraph/Integrations.js +0 -348
- package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1180
- package/es-modules/Series/XRange/XRangeComposition.js +0 -49
|
@@ -10,550 +10,27 @@
|
|
|
10
10
|
*
|
|
11
11
|
* */
|
|
12
12
|
'use strict';
|
|
13
|
-
import D from '../Core/DefaultOptions.js';
|
|
14
|
-
var getOptions = D.getOptions, setOptions = D.setOptions;
|
|
15
13
|
import H from '../Core/Globals.js';
|
|
16
|
-
import
|
|
17
|
-
|
|
14
|
+
import NBU from '../Extensions/Annotations/NavigationBindingsUtilities.js';
|
|
15
|
+
var getAssignedAxis = NBU.getAssignedAxis;
|
|
16
|
+
import STU from './StockToolsUtilities.js';
|
|
17
|
+
var addFlagFromForm = STU.addFlagFromForm, attractToPoint = STU.attractToPoint, isNotNavigatorYAxis = STU.isNotNavigatorYAxis, isPriceIndicatorEnabled = STU.isPriceIndicatorEnabled, manageIndicators = STU.manageIndicators, updateHeight = STU.updateHeight, updateNthPoint = STU.updateNthPoint, updateRectSize = STU.updateRectSize;
|
|
18
18
|
import U from '../Core/Utilities.js';
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
22
|
-
/**
|
|
23
|
-
* Generates function which will add a flag series using modal in GUI.
|
|
24
|
-
* Method fires an event "showPopup" with config:
|
|
25
|
-
* `{type, options, callback}`.
|
|
26
|
-
*
|
|
27
|
-
* Example: NavigationBindings.utils.addFlagFromForm('url(...)') - will
|
|
28
|
-
* generate function that shows modal in GUI.
|
|
29
|
-
*
|
|
30
|
-
* @private
|
|
31
|
-
* @function bindingsUtils.addFlagFromForm
|
|
32
|
-
*
|
|
33
|
-
* @param {Highcharts.FlagsShapeValue} type
|
|
34
|
-
* Type of flag series, e.g. "squarepin"
|
|
35
|
-
*
|
|
36
|
-
* @return {Function}
|
|
37
|
-
* Callback to be used in `start` callback
|
|
38
|
-
*/
|
|
39
|
-
bindingsUtils.addFlagFromForm = function (type) {
|
|
40
|
-
return function (e) {
|
|
41
|
-
var navigation = this, chart = navigation.chart, toolbar = chart.stockTools, getFieldType = bindingsUtils.getFieldType, point = bindingsUtils.attractToPoint(e, chart), pointConfig, seriesOptions;
|
|
42
|
-
if (!point) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
pointConfig = {
|
|
46
|
-
x: point.x,
|
|
47
|
-
y: point.y
|
|
48
|
-
};
|
|
49
|
-
seriesOptions = {
|
|
50
|
-
type: 'flags',
|
|
51
|
-
onSeries: point.series.id,
|
|
52
|
-
shape: type,
|
|
53
|
-
data: [pointConfig],
|
|
54
|
-
xAxis: point.xAxis,
|
|
55
|
-
yAxis: point.yAxis,
|
|
56
|
-
point: {
|
|
57
|
-
events: {
|
|
58
|
-
click: function () {
|
|
59
|
-
var point = this, options = point.options;
|
|
60
|
-
fireEvent(navigation, 'showPopup', {
|
|
61
|
-
point: point,
|
|
62
|
-
formType: 'annotation-toolbar',
|
|
63
|
-
options: {
|
|
64
|
-
langKey: 'flags',
|
|
65
|
-
type: 'flags',
|
|
66
|
-
title: [
|
|
67
|
-
options.title,
|
|
68
|
-
getFieldType(options.title)
|
|
69
|
-
],
|
|
70
|
-
name: [
|
|
71
|
-
options.name,
|
|
72
|
-
getFieldType(options.name)
|
|
73
|
-
]
|
|
74
|
-
},
|
|
75
|
-
onSubmit: function (updated) {
|
|
76
|
-
if (updated.actionType === 'remove') {
|
|
77
|
-
point.remove();
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
point.update(navigation.fieldsToOptions(updated.fields, {}));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
if (!toolbar || !toolbar.guiEnabled) {
|
|
89
|
-
chart.addSeries(seriesOptions);
|
|
90
|
-
}
|
|
91
|
-
fireEvent(navigation, 'showPopup', {
|
|
92
|
-
formType: 'flag',
|
|
93
|
-
// Enabled options:
|
|
94
|
-
options: {
|
|
95
|
-
langKey: 'flags',
|
|
96
|
-
type: 'flags',
|
|
97
|
-
title: ['A', getFieldType('A')],
|
|
98
|
-
name: ['Flag A', getFieldType('Flag A')]
|
|
99
|
-
},
|
|
100
|
-
// Callback on submit:
|
|
101
|
-
onSubmit: function (data) {
|
|
102
|
-
navigation.fieldsToOptions(data.fields, seriesOptions.data[0]);
|
|
103
|
-
chart.addSeries(seriesOptions);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
bindingsUtils.indicatorsWithAxes = [
|
|
109
|
-
'apo',
|
|
110
|
-
'ad',
|
|
111
|
-
'aroon',
|
|
112
|
-
'aroonoscillator',
|
|
113
|
-
'atr',
|
|
114
|
-
'ao',
|
|
115
|
-
'cci',
|
|
116
|
-
'chaikin',
|
|
117
|
-
'cmf',
|
|
118
|
-
'cmo',
|
|
119
|
-
'disparityindex',
|
|
120
|
-
'dmi',
|
|
121
|
-
'dpo',
|
|
122
|
-
'linearRegressionAngle',
|
|
123
|
-
'linearRegressionIntercept',
|
|
124
|
-
'linearRegressionSlope',
|
|
125
|
-
'klinger',
|
|
126
|
-
'macd',
|
|
127
|
-
'mfi',
|
|
128
|
-
'momentum',
|
|
129
|
-
'natr',
|
|
130
|
-
'obv',
|
|
131
|
-
'ppo',
|
|
132
|
-
'roc',
|
|
133
|
-
'rsi',
|
|
134
|
-
'slowstochastic',
|
|
135
|
-
'stochastic',
|
|
136
|
-
'trix',
|
|
137
|
-
'williamsr'
|
|
138
|
-
];
|
|
139
|
-
bindingsUtils.manageIndicators = function (data) {
|
|
140
|
-
var navigation = this, chart = navigation.chart, seriesConfig = {
|
|
141
|
-
linkedTo: data.linkedTo,
|
|
142
|
-
type: data.type
|
|
143
|
-
}, indicatorsWithVolume = [
|
|
144
|
-
'ad',
|
|
145
|
-
'cmf',
|
|
146
|
-
'klinger',
|
|
147
|
-
'mfi',
|
|
148
|
-
'obv',
|
|
149
|
-
'vbp',
|
|
150
|
-
'vwap'
|
|
151
|
-
], indicatorsWithAxes = bindingsUtils.indicatorsWithAxes, yAxis, parentSeries, defaultOptions, series;
|
|
152
|
-
if (data.actionType === 'edit') {
|
|
153
|
-
navigation.fieldsToOptions(data.fields, seriesConfig);
|
|
154
|
-
series = chart.get(data.seriesId);
|
|
155
|
-
if (series) {
|
|
156
|
-
series.update(seriesConfig, false);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
else if (data.actionType === 'remove') {
|
|
160
|
-
series = chart.get(data.seriesId);
|
|
161
|
-
if (series) {
|
|
162
|
-
yAxis = series.yAxis;
|
|
163
|
-
if (series.linkedSeries) {
|
|
164
|
-
series.linkedSeries.forEach(function (linkedSeries) {
|
|
165
|
-
linkedSeries.remove(false);
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
series.remove(false);
|
|
169
|
-
if (indicatorsWithAxes.indexOf(series.type) >= 0) {
|
|
170
|
-
var removedYAxisProps = {
|
|
171
|
-
height: yAxis.options.height,
|
|
172
|
-
top: yAxis.options.top
|
|
173
|
-
};
|
|
174
|
-
yAxis.remove(false);
|
|
175
|
-
navigation.resizeYAxes(removedYAxisProps);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
seriesConfig.id = uniqueKey();
|
|
181
|
-
navigation.fieldsToOptions(data.fields, seriesConfig);
|
|
182
|
-
parentSeries = chart.get(seriesConfig.linkedTo);
|
|
183
|
-
defaultOptions = getOptions().plotOptions;
|
|
184
|
-
// Make sure that indicator uses the SUM approx if SUM approx is used
|
|
185
|
-
// by parent series (#13950).
|
|
186
|
-
if (typeof parentSeries !== 'undefined' &&
|
|
187
|
-
parentSeries instanceof Series &&
|
|
188
|
-
parentSeries.getDGApproximation() === 'sum' &&
|
|
189
|
-
// If indicator has defined approx type, use it (e.g. "ranges")
|
|
190
|
-
!defined(defaultOptions && defaultOptions[seriesConfig.type] &&
|
|
191
|
-
defaultOptions.dataGrouping &&
|
|
192
|
-
defaultOptions.dataGrouping.approximation)) {
|
|
193
|
-
seriesConfig.dataGrouping = {
|
|
194
|
-
approximation: 'sum'
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
if (indicatorsWithAxes.indexOf(data.type) >= 0) {
|
|
198
|
-
yAxis = chart.addAxis({
|
|
199
|
-
id: uniqueKey(),
|
|
200
|
-
offset: 0,
|
|
201
|
-
opposite: true,
|
|
202
|
-
title: {
|
|
203
|
-
text: ''
|
|
204
|
-
},
|
|
205
|
-
tickPixelInterval: 40,
|
|
206
|
-
showLastLabel: false,
|
|
207
|
-
labels: {
|
|
208
|
-
align: 'left',
|
|
209
|
-
y: -2
|
|
210
|
-
}
|
|
211
|
-
}, false, false);
|
|
212
|
-
seriesConfig.yAxis = yAxis.options.id;
|
|
213
|
-
navigation.resizeYAxes();
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
seriesConfig.yAxis = chart.get(data.linkedTo).options.yAxis;
|
|
217
|
-
}
|
|
218
|
-
if (indicatorsWithVolume.indexOf(data.type) >= 0) {
|
|
219
|
-
seriesConfig.params.volumeSeriesID = chart.series.filter(function (series) {
|
|
220
|
-
return series.options.type === 'column';
|
|
221
|
-
})[0].options.id;
|
|
222
|
-
}
|
|
223
|
-
chart.addSeries(seriesConfig, false);
|
|
224
|
-
}
|
|
225
|
-
fireEvent(navigation, 'deselectButton', {
|
|
226
|
-
button: navigation.selectedButtonElement
|
|
227
|
-
});
|
|
228
|
-
chart.redraw();
|
|
229
|
-
};
|
|
230
|
-
/**
|
|
231
|
-
* Update height for an annotation. Height is calculated as a difference
|
|
232
|
-
* between last point in `typeOptions` and current position. It's a value,
|
|
233
|
-
* not pixels height.
|
|
234
|
-
*
|
|
235
|
-
* @private
|
|
236
|
-
* @function bindingsUtils.updateHeight
|
|
19
|
+
var fireEvent = U.fireEvent, merge = U.merge;
|
|
20
|
+
/* *
|
|
237
21
|
*
|
|
238
|
-
*
|
|
239
|
-
* normalized browser event
|
|
22
|
+
* Constants
|
|
240
23
|
*
|
|
241
|
-
*
|
|
242
|
-
* Annotation to be updated
|
|
243
|
-
*
|
|
244
|
-
* @return {void}
|
|
245
|
-
*/
|
|
246
|
-
bindingsUtils.updateHeight = function (e, annotation) {
|
|
247
|
-
var options = annotation.options.typeOptions, yAxis = isNumber(options.yAxis) && this.chart.yAxis[options.yAxis];
|
|
248
|
-
if (yAxis && options.points) {
|
|
249
|
-
annotation.update({
|
|
250
|
-
typeOptions: {
|
|
251
|
-
height: yAxis.toValue(e[yAxis.horiz ? 'chartX' : 'chartY']) -
|
|
252
|
-
(options.points[1].y || 0)
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
// @todo
|
|
258
|
-
// Consider using getHoverData(), but always kdTree (columns?)
|
|
259
|
-
bindingsUtils.attractToPoint = function (e, chart) {
|
|
260
|
-
var coords = chart.pointer.getCoordinates(e), coordsX, coordsY, distX = Number.MAX_VALUE, closestPoint, x, y;
|
|
261
|
-
if (chart.navigationBindings) {
|
|
262
|
-
coordsX = chart.navigationBindings.utils.getAssignedAxis(coords.xAxis);
|
|
263
|
-
coordsY = chart.navigationBindings.utils.getAssignedAxis(coords.yAxis);
|
|
264
|
-
}
|
|
265
|
-
// Exit if clicked out of axes area.
|
|
266
|
-
if (!coordsX || !coordsY) {
|
|
267
|
-
return;
|
|
268
|
-
}
|
|
269
|
-
x = coordsX.value;
|
|
270
|
-
y = coordsY.value;
|
|
271
|
-
// Search by 'x' but only in yAxis' series.
|
|
272
|
-
coordsY.axis.series.forEach(function (series) {
|
|
273
|
-
if (series.points) {
|
|
274
|
-
series.points.forEach(function (point) {
|
|
275
|
-
if (point && distX > Math.abs(point.x - x)) {
|
|
276
|
-
distX = Math.abs(point.x - x);
|
|
277
|
-
closestPoint = point;
|
|
278
|
-
}
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
if (closestPoint && closestPoint.x && closestPoint.y) {
|
|
283
|
-
return {
|
|
284
|
-
x: closestPoint.x,
|
|
285
|
-
y: closestPoint.y,
|
|
286
|
-
below: y < closestPoint.y,
|
|
287
|
-
series: closestPoint.series,
|
|
288
|
-
xAxis: closestPoint.series.xAxis.options.index || 0,
|
|
289
|
-
yAxis: closestPoint.series.yAxis.options.index || 0
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
};
|
|
293
|
-
/**
|
|
294
|
-
* Shorthand to check if given yAxis comes from navigator.
|
|
295
|
-
*
|
|
296
|
-
* @private
|
|
297
|
-
* @function bindingsUtils.isNotNavigatorYAxis
|
|
298
|
-
*
|
|
299
|
-
* @param {Highcharts.Axis} axis
|
|
300
|
-
* Axis to check.
|
|
301
|
-
*
|
|
302
|
-
* @return {boolean}
|
|
303
|
-
* True, if axis comes from navigator.
|
|
304
|
-
*/
|
|
305
|
-
bindingsUtils.isNotNavigatorYAxis = function (axis) {
|
|
306
|
-
return axis.userOptions.className !== PREFIX + 'navigator-yaxis';
|
|
307
|
-
};
|
|
308
|
-
/**
|
|
309
|
-
* Check if any of the price indicators are enabled.
|
|
310
|
-
* @private
|
|
311
|
-
* @function bindingsUtils.isLastPriceEnabled
|
|
312
|
-
*
|
|
313
|
-
* @param {Array} series
|
|
314
|
-
* Array of series.
|
|
315
|
-
*
|
|
316
|
-
* @return {boolean}
|
|
317
|
-
* Tells which indicator is enabled.
|
|
318
|
-
*/
|
|
319
|
-
bindingsUtils.isPriceIndicatorEnabled = function (series) {
|
|
320
|
-
return series.some(function (s) { return s.lastVisiblePrice || s.lastPrice; });
|
|
321
|
-
};
|
|
24
|
+
* */
|
|
322
25
|
/**
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
* same, only index changes when adding an annotation.
|
|
326
|
-
*
|
|
327
|
-
* Example: NavigationBindings.utils.updateNthPoint(1) - will generate
|
|
328
|
-
* function that updates all consecutive points except point with index=0.
|
|
26
|
+
* @sample {highstock} stock/stocktools/custom-stock-tools-bindings
|
|
27
|
+
* Custom stock tools bindings
|
|
329
28
|
*
|
|
330
|
-
* @private
|
|
331
|
-
* @function bindingsUtils.updateNthPoint
|
|
332
|
-
*
|
|
333
|
-
* @param {number} startIndex
|
|
334
|
-
* Index from each point should udpated
|
|
335
|
-
*
|
|
336
|
-
* @return {Function}
|
|
337
|
-
* Callback to be used in steps array
|
|
338
|
-
*/
|
|
339
|
-
bindingsUtils.updateNthPoint = function (startIndex) {
|
|
340
|
-
return function (e, annotation) {
|
|
341
|
-
var options = annotation.options.typeOptions, xAxis = isNumber(options.xAxis) && this.chart.xAxis[options.xAxis], yAxis = isNumber(options.yAxis) && this.chart.yAxis[options.yAxis];
|
|
342
|
-
if (xAxis && yAxis) {
|
|
343
|
-
options.points.forEach(function (point, index) {
|
|
344
|
-
if (index >= startIndex) {
|
|
345
|
-
point.x = xAxis.toValue(e[xAxis.horiz ? 'chartX' : 'chartY']);
|
|
346
|
-
point.y = yAxis.toValue(e[yAxis.horiz ? 'chartX' : 'chartY']);
|
|
347
|
-
}
|
|
348
|
-
});
|
|
349
|
-
annotation.update({
|
|
350
|
-
typeOptions: {
|
|
351
|
-
points: options.points
|
|
352
|
-
}
|
|
353
|
-
});
|
|
354
|
-
}
|
|
355
|
-
};
|
|
356
|
-
};
|
|
357
|
-
// Extends NavigationBindigs to support indicators and resizers:
|
|
358
|
-
extend(NavigationBindings.prototype, {
|
|
359
|
-
/* eslint-disable valid-jsdoc */
|
|
360
|
-
/**
|
|
361
|
-
* Get current positions for all yAxes. If new axis does not have position,
|
|
362
|
-
* returned is default height and last available top place.
|
|
363
|
-
*
|
|
364
|
-
* @private
|
|
365
|
-
* @function Highcharts.NavigationBindings#getYAxisPositions
|
|
366
|
-
*
|
|
367
|
-
* @param {Array<Highcharts.Axis>} yAxes
|
|
368
|
-
* Array of yAxes available in the chart.
|
|
369
|
-
*
|
|
370
|
-
* @param {number} plotHeight
|
|
371
|
-
* Available height in the chart.
|
|
372
|
-
*
|
|
373
|
-
* @param {number} defaultHeight
|
|
374
|
-
* Default height in percents.
|
|
375
|
-
*
|
|
376
|
-
* @param {Highcharts.AxisPositions} removedYAxisProps
|
|
377
|
-
* Height and top value of the removed yAxis in percents.
|
|
378
|
-
*
|
|
379
|
-
* @return {Highcharts.YAxisPositions}
|
|
380
|
-
* An object containing an array of calculated positions
|
|
381
|
-
* in percentages. Format: `{top: Number, height: Number}`
|
|
382
|
-
* and maximum value of top + height of axes.
|
|
383
|
-
*/
|
|
384
|
-
getYAxisPositions: function (yAxes, plotHeight, defaultHeight, removedYAxisProps) {
|
|
385
|
-
var positions, allAxesHeight = 0, previousAxisHeight, removedHeight, removedTop;
|
|
386
|
-
/** @private */
|
|
387
|
-
function isPercentage(prop) {
|
|
388
|
-
return defined(prop) && !isNumber(prop) && prop.match('%');
|
|
389
|
-
}
|
|
390
|
-
if (removedYAxisProps) {
|
|
391
|
-
removedTop = correctFloat((parseFloat(removedYAxisProps.top) / 100));
|
|
392
|
-
removedHeight = correctFloat((parseFloat(removedYAxisProps.height) / 100));
|
|
393
|
-
}
|
|
394
|
-
positions = yAxes.map(function (yAxis, index) {
|
|
395
|
-
var height = correctFloat(isPercentage(yAxis.options.height) ?
|
|
396
|
-
parseFloat(yAxis.options.height) / 100 :
|
|
397
|
-
yAxis.height / plotHeight), top = correctFloat(isPercentage(yAxis.options.top) ?
|
|
398
|
-
parseFloat(yAxis.options.top) / 100 :
|
|
399
|
-
(yAxis.top - yAxis.chart.plotTop) / plotHeight);
|
|
400
|
-
if (!removedHeight) {
|
|
401
|
-
// New axis' height is NaN so we can check if
|
|
402
|
-
// the axis is newly created this way
|
|
403
|
-
if (!isNumber(height)) {
|
|
404
|
-
// Check if the previous axis is the
|
|
405
|
-
// indicator axis (every indicator inherits from sma)
|
|
406
|
-
height = yAxes[index - 1].series
|
|
407
|
-
.every(function (s) { return s.is('sma'); }) ?
|
|
408
|
-
previousAxisHeight : defaultHeight / 100;
|
|
409
|
-
}
|
|
410
|
-
if (!isNumber(top)) {
|
|
411
|
-
top = allAxesHeight;
|
|
412
|
-
}
|
|
413
|
-
previousAxisHeight = height;
|
|
414
|
-
allAxesHeight = correctFloat(Math.max(allAxesHeight, (top || 0) + (height || 0)));
|
|
415
|
-
}
|
|
416
|
-
else {
|
|
417
|
-
// Move all axes which were below the removed axis up.
|
|
418
|
-
if (top > removedTop) {
|
|
419
|
-
top -= removedHeight;
|
|
420
|
-
}
|
|
421
|
-
allAxesHeight = Math.max(allAxesHeight, (top || 0) + (height || 0));
|
|
422
|
-
}
|
|
423
|
-
return {
|
|
424
|
-
height: height * 100,
|
|
425
|
-
top: top * 100
|
|
426
|
-
};
|
|
427
|
-
});
|
|
428
|
-
return { positions: positions, allAxesHeight: allAxesHeight };
|
|
429
|
-
},
|
|
430
|
-
/**
|
|
431
|
-
* Get current resize options for each yAxis. Note that each resize is
|
|
432
|
-
* linked to the next axis, except the last one which shouldn't affect
|
|
433
|
-
* axes in the navigator. Because indicator can be removed with it's yAxis
|
|
434
|
-
* in the middle of yAxis array, we need to bind closest yAxes back.
|
|
435
|
-
*
|
|
436
|
-
* @private
|
|
437
|
-
* @function Highcharts.NavigationBindings#getYAxisResizers
|
|
438
|
-
*
|
|
439
|
-
* @param {Array<Highcharts.Axis>} yAxes
|
|
440
|
-
* Array of yAxes available in the chart
|
|
441
|
-
*
|
|
442
|
-
* @return {Array<object>}
|
|
443
|
-
* An array of resizer options.
|
|
444
|
-
* Format: `{enabled: Boolean, controlledAxis: { next: [String]}}`
|
|
445
|
-
*/
|
|
446
|
-
getYAxisResizers: function (yAxes) {
|
|
447
|
-
var resizers = [];
|
|
448
|
-
yAxes.forEach(function (_yAxis, index) {
|
|
449
|
-
var nextYAxis = yAxes[index + 1];
|
|
450
|
-
// We have next axis, bind them:
|
|
451
|
-
if (nextYAxis) {
|
|
452
|
-
resizers[index] = {
|
|
453
|
-
enabled: true,
|
|
454
|
-
controlledAxis: {
|
|
455
|
-
next: [
|
|
456
|
-
pick(nextYAxis.options.id, nextYAxis.options.index)
|
|
457
|
-
]
|
|
458
|
-
}
|
|
459
|
-
};
|
|
460
|
-
}
|
|
461
|
-
else {
|
|
462
|
-
// Remove binding:
|
|
463
|
-
resizers[index] = {
|
|
464
|
-
enabled: false
|
|
465
|
-
};
|
|
466
|
-
}
|
|
467
|
-
});
|
|
468
|
-
return resizers;
|
|
469
|
-
},
|
|
470
|
-
/**
|
|
471
|
-
* Resize all yAxes (except navigator) to fit the plotting height. Method
|
|
472
|
-
* checks if new axis is added, if the new axis will fit under previous
|
|
473
|
-
* axes it is placed there. If not, current plot area is scaled
|
|
474
|
-
* to make room for new axis.
|
|
475
|
-
*
|
|
476
|
-
* If axis is removed, the current plot area streaches to fit into 100%
|
|
477
|
-
* of the plot area.
|
|
478
|
-
*
|
|
479
|
-
* @private
|
|
480
|
-
* @function Highcharts.NavigationBindings#resizeYAxes
|
|
481
|
-
* @param {Highcharts.AxisPositions} [removedYAxisProps]
|
|
482
|
-
*
|
|
483
|
-
*
|
|
484
|
-
*/
|
|
485
|
-
resizeYAxes: function (removedYAxisProps) {
|
|
486
|
-
// The height of the new axis before rescalling. In %, but as a number.
|
|
487
|
-
var defaultHeight = 20;
|
|
488
|
-
var chart = this.chart,
|
|
489
|
-
// Only non-navigator axes
|
|
490
|
-
yAxes = chart.yAxis.filter(bindingsUtils.isNotNavigatorYAxis), plotHeight = chart.plotHeight,
|
|
491
|
-
// Gather current heights (in %)
|
|
492
|
-
_a = this.getYAxisPositions(yAxes, plotHeight, defaultHeight, removedYAxisProps), positions = _a.positions, allAxesHeight = _a.allAxesHeight, resizers = this.getYAxisResizers(yAxes);
|
|
493
|
-
// check if the axis is being either added or removed and
|
|
494
|
-
// if the new indicator axis will fit under existing axes.
|
|
495
|
-
// if so, there is no need to scale them.
|
|
496
|
-
if (!removedYAxisProps &&
|
|
497
|
-
allAxesHeight <= correctFloat(0.8 + defaultHeight / 100)) {
|
|
498
|
-
positions[positions.length - 1] = {
|
|
499
|
-
height: defaultHeight,
|
|
500
|
-
top: correctFloat(allAxesHeight * 100 - defaultHeight)
|
|
501
|
-
};
|
|
502
|
-
}
|
|
503
|
-
else {
|
|
504
|
-
positions.forEach(function (position) {
|
|
505
|
-
position.height = (position.height / (allAxesHeight * 100)) * 100;
|
|
506
|
-
position.top = (position.top / (allAxesHeight * 100)) * 100;
|
|
507
|
-
});
|
|
508
|
-
}
|
|
509
|
-
positions.forEach(function (position, index) {
|
|
510
|
-
yAxes[index].update({
|
|
511
|
-
height: position.height + '%',
|
|
512
|
-
top: position.top + '%',
|
|
513
|
-
resize: resizers[index],
|
|
514
|
-
offset: 0
|
|
515
|
-
}, false);
|
|
516
|
-
});
|
|
517
|
-
},
|
|
518
|
-
/**
|
|
519
|
-
* Utility to modify calculated positions according to the remaining/needed
|
|
520
|
-
* space. Later, these positions are used in `yAxis.update({ top, height })`
|
|
521
|
-
*
|
|
522
|
-
* @private
|
|
523
|
-
* @function Highcharts.NavigationBindings#recalculateYAxisPositions
|
|
524
|
-
* @param {Array<Highcharts.Dictionary<number>>} positions
|
|
525
|
-
* Default positions of all yAxes.
|
|
526
|
-
* @param {number} changedSpace
|
|
527
|
-
* How much space should be added or removed.
|
|
528
|
-
* @param {boolean} modifyHeight
|
|
529
|
-
* Update only `top` or both `top` and `height`.
|
|
530
|
-
* @param {number} adder
|
|
531
|
-
* `-1` or `1`, to determine whether we should add or remove space.
|
|
532
|
-
*
|
|
533
|
-
* @return {Array<object>}
|
|
534
|
-
* Modified positions,
|
|
535
|
-
*/
|
|
536
|
-
recalculateYAxisPositions: function (positions, changedSpace, modifyHeight, adder) {
|
|
537
|
-
positions.forEach(function (position, index) {
|
|
538
|
-
var prevPosition = positions[index - 1];
|
|
539
|
-
position.top = !prevPosition ? 0 :
|
|
540
|
-
correctFloat(prevPosition.height + prevPosition.top);
|
|
541
|
-
if (modifyHeight) {
|
|
542
|
-
position.height = correctFloat(position.height + adder * changedSpace);
|
|
543
|
-
}
|
|
544
|
-
});
|
|
545
|
-
return positions;
|
|
546
|
-
}
|
|
547
|
-
/* eslint-enable valid-jsdoc */
|
|
548
|
-
});
|
|
549
|
-
/**
|
|
550
29
|
* @type {Highcharts.Dictionary<Highcharts.NavigationBindingsOptionsObject>}
|
|
551
30
|
* @since 7.0.0
|
|
552
31
|
* @optionparent navigation.bindings
|
|
553
|
-
* @sample {highstock} stock/stocktools/custom-stock-tools-bindings
|
|
554
|
-
* Custom stock tools bindings
|
|
555
32
|
*/
|
|
556
|
-
var
|
|
33
|
+
var StockToolsBindings = {
|
|
557
34
|
// Line type annotations:
|
|
558
35
|
/**
|
|
559
36
|
* A segment annotation bindings. Includes `start` and one event in `steps`
|
|
@@ -569,12 +46,12 @@ var stockToolsBindings = {
|
|
|
569
46
|
// eslint-disable-next-line valid-jsdoc
|
|
570
47
|
/** @ignore-option */
|
|
571
48
|
start: function (e) {
|
|
572
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
49
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
573
50
|
// Exit if clicked out of axes area
|
|
574
51
|
if (!coordsX || !coordsY) {
|
|
575
52
|
return;
|
|
576
53
|
}
|
|
577
|
-
options = merge({
|
|
54
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
578
55
|
langKey: 'segment',
|
|
579
56
|
type: 'crookedLine',
|
|
580
57
|
typeOptions: {
|
|
@@ -593,7 +70,7 @@ var stockToolsBindings = {
|
|
|
593
70
|
},
|
|
594
71
|
/** @ignore-option */
|
|
595
72
|
steps: [
|
|
596
|
-
|
|
73
|
+
updateNthPoint(1)
|
|
597
74
|
]
|
|
598
75
|
},
|
|
599
76
|
/**
|
|
@@ -610,12 +87,12 @@ var stockToolsBindings = {
|
|
|
610
87
|
// eslint-disable-next-line valid-jsdoc
|
|
611
88
|
/** @ignore-option */
|
|
612
89
|
start: function (e) {
|
|
613
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
90
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
614
91
|
// Exit if clicked out of axes area
|
|
615
92
|
if (!coordsX || !coordsY) {
|
|
616
93
|
return;
|
|
617
94
|
}
|
|
618
|
-
options = merge({
|
|
95
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
619
96
|
langKey: 'arrowSegment',
|
|
620
97
|
type: 'crookedLine',
|
|
621
98
|
typeOptions: {
|
|
@@ -637,7 +114,7 @@ var stockToolsBindings = {
|
|
|
637
114
|
},
|
|
638
115
|
/** @ignore-option */
|
|
639
116
|
steps: [
|
|
640
|
-
|
|
117
|
+
updateNthPoint(1)
|
|
641
118
|
]
|
|
642
119
|
},
|
|
643
120
|
/**
|
|
@@ -654,12 +131,12 @@ var stockToolsBindings = {
|
|
|
654
131
|
// eslint-disable-next-line valid-jsdoc
|
|
655
132
|
/** @ignore-option */
|
|
656
133
|
start: function (e) {
|
|
657
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
134
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
658
135
|
// Exit if clicked out of axes area
|
|
659
136
|
if (!coordsX || !coordsY) {
|
|
660
137
|
return;
|
|
661
138
|
}
|
|
662
|
-
options = merge({
|
|
139
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
663
140
|
langKey: 'ray',
|
|
664
141
|
type: 'infinityLine',
|
|
665
142
|
typeOptions: {
|
|
@@ -679,7 +156,7 @@ var stockToolsBindings = {
|
|
|
679
156
|
},
|
|
680
157
|
/** @ignore-option */
|
|
681
158
|
steps: [
|
|
682
|
-
|
|
159
|
+
updateNthPoint(1)
|
|
683
160
|
]
|
|
684
161
|
},
|
|
685
162
|
/**
|
|
@@ -696,12 +173,12 @@ var stockToolsBindings = {
|
|
|
696
173
|
// eslint-disable-next-line valid-jsdoc
|
|
697
174
|
/** @ignore-option */
|
|
698
175
|
start: function (e) {
|
|
699
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
176
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
700
177
|
// Exit if clicked out of axes area
|
|
701
178
|
if (!coordsX || !coordsY) {
|
|
702
179
|
return;
|
|
703
180
|
}
|
|
704
|
-
options = merge({
|
|
181
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
705
182
|
langKey: 'arrowRay',
|
|
706
183
|
type: 'infinityLine',
|
|
707
184
|
typeOptions: {
|
|
@@ -724,7 +201,7 @@ var stockToolsBindings = {
|
|
|
724
201
|
},
|
|
725
202
|
/** @ignore-option */
|
|
726
203
|
steps: [
|
|
727
|
-
|
|
204
|
+
updateNthPoint(1)
|
|
728
205
|
]
|
|
729
206
|
},
|
|
730
207
|
/**
|
|
@@ -740,12 +217,12 @@ var stockToolsBindings = {
|
|
|
740
217
|
// eslint-disable-next-line valid-jsdoc
|
|
741
218
|
/** @ignore-option */
|
|
742
219
|
start: function (e) {
|
|
743
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
220
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
744
221
|
// Exit if clicked out of axes area
|
|
745
222
|
if (!coordsX || !coordsY) {
|
|
746
223
|
return;
|
|
747
224
|
}
|
|
748
|
-
options = merge({
|
|
225
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
749
226
|
langKey: 'infinityLine',
|
|
750
227
|
type: 'infinityLine',
|
|
751
228
|
typeOptions: {
|
|
@@ -765,7 +242,7 @@ var stockToolsBindings = {
|
|
|
765
242
|
},
|
|
766
243
|
/** @ignore-option */
|
|
767
244
|
steps: [
|
|
768
|
-
|
|
245
|
+
updateNthPoint(1)
|
|
769
246
|
]
|
|
770
247
|
},
|
|
771
248
|
/**
|
|
@@ -782,12 +259,12 @@ var stockToolsBindings = {
|
|
|
782
259
|
// eslint-disable-next-line valid-jsdoc
|
|
783
260
|
/** @ignore-option */
|
|
784
261
|
start: function (e) {
|
|
785
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
262
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
786
263
|
// Exit if clicked out of axes area
|
|
787
264
|
if (!coordsX || !coordsY) {
|
|
788
265
|
return;
|
|
789
266
|
}
|
|
790
|
-
options = merge({
|
|
267
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
791
268
|
langKey: 'arrowInfinityLine',
|
|
792
269
|
type: 'infinityLine',
|
|
793
270
|
typeOptions: {
|
|
@@ -811,7 +288,7 @@ var stockToolsBindings = {
|
|
|
811
288
|
},
|
|
812
289
|
/** @ignore-option */
|
|
813
290
|
steps: [
|
|
814
|
-
|
|
291
|
+
updateNthPoint(1)
|
|
815
292
|
]
|
|
816
293
|
},
|
|
817
294
|
/**
|
|
@@ -827,12 +304,12 @@ var stockToolsBindings = {
|
|
|
827
304
|
// eslint-disable-next-line valid-jsdoc
|
|
828
305
|
/** @ignore-option */
|
|
829
306
|
start: function (e) {
|
|
830
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
307
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
831
308
|
// Exit if clicked out of axes area
|
|
832
309
|
if (!coordsX || !coordsY) {
|
|
833
310
|
return;
|
|
834
311
|
}
|
|
835
|
-
options = merge({
|
|
312
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
836
313
|
langKey: 'horizontalLine',
|
|
837
314
|
type: 'infinityLine',
|
|
838
315
|
draggable: 'y',
|
|
@@ -845,7 +322,8 @@ var stockToolsBindings = {
|
|
|
845
322
|
y: coordsY.value
|
|
846
323
|
}]
|
|
847
324
|
}
|
|
848
|
-
}, navigation.annotationsOptions, navigation.bindings
|
|
325
|
+
}, navigation.annotationsOptions, navigation.bindings
|
|
326
|
+
.horizontalLine.annotationsOptions);
|
|
849
327
|
this.chart.addAnnotation(options);
|
|
850
328
|
}
|
|
851
329
|
},
|
|
@@ -862,12 +340,12 @@ var stockToolsBindings = {
|
|
|
862
340
|
// eslint-disable-next-line valid-jsdoc
|
|
863
341
|
/** @ignore-option */
|
|
864
342
|
start: function (e) {
|
|
865
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
343
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
866
344
|
// Exit if clicked out of axes area
|
|
867
345
|
if (!coordsX || !coordsY) {
|
|
868
346
|
return;
|
|
869
347
|
}
|
|
870
|
-
options = merge({
|
|
348
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
871
349
|
langKey: 'verticalLine',
|
|
872
350
|
type: 'infinityLine',
|
|
873
351
|
draggable: 'x',
|
|
@@ -899,7 +377,7 @@ var stockToolsBindings = {
|
|
|
899
377
|
// eslint-disable-next-line valid-jsdoc
|
|
900
378
|
/** @ignore-option */
|
|
901
379
|
start: function (e) {
|
|
902
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
380
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
903
381
|
// Exit if clicked out of axes area
|
|
904
382
|
if (!coordsX || !coordsY) {
|
|
905
383
|
return;
|
|
@@ -921,8 +399,8 @@ var stockToolsBindings = {
|
|
|
921
399
|
},
|
|
922
400
|
/** @ignore-option */
|
|
923
401
|
steps: [
|
|
924
|
-
|
|
925
|
-
|
|
402
|
+
updateNthPoint(1),
|
|
403
|
+
updateNthPoint(2)
|
|
926
404
|
]
|
|
927
405
|
},
|
|
928
406
|
/**
|
|
@@ -939,7 +417,7 @@ var stockToolsBindings = {
|
|
|
939
417
|
// eslint-disable-next-line valid-jsdoc
|
|
940
418
|
/** @ignore-option */
|
|
941
419
|
start: function (e) {
|
|
942
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
420
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
943
421
|
// Exit if clicked out of axes area
|
|
944
422
|
if (!coordsX || !coordsY) {
|
|
945
423
|
return;
|
|
@@ -963,10 +441,10 @@ var stockToolsBindings = {
|
|
|
963
441
|
},
|
|
964
442
|
/** @ignore-option */
|
|
965
443
|
steps: [
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
444
|
+
updateNthPoint(1),
|
|
445
|
+
updateNthPoint(2),
|
|
446
|
+
updateNthPoint(3),
|
|
447
|
+
updateNthPoint(4)
|
|
970
448
|
]
|
|
971
449
|
},
|
|
972
450
|
/**
|
|
@@ -983,7 +461,7 @@ var stockToolsBindings = {
|
|
|
983
461
|
// eslint-disable-next-line valid-jsdoc
|
|
984
462
|
/** @ignore-option */
|
|
985
463
|
start: function (e) {
|
|
986
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
464
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
987
465
|
// Exit if clicked out of axes area
|
|
988
466
|
if (!coordsX || !coordsY) {
|
|
989
467
|
return;
|
|
@@ -1011,9 +489,9 @@ var stockToolsBindings = {
|
|
|
1011
489
|
},
|
|
1012
490
|
/** @ignore-option */
|
|
1013
491
|
steps: [
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
492
|
+
updateNthPoint(1),
|
|
493
|
+
updateNthPoint(2),
|
|
494
|
+
updateNthPoint(3)
|
|
1017
495
|
]
|
|
1018
496
|
},
|
|
1019
497
|
/**
|
|
@@ -1030,7 +508,7 @@ var stockToolsBindings = {
|
|
|
1030
508
|
// eslint-disable-next-line valid-jsdoc
|
|
1031
509
|
/** @ignore-option */
|
|
1032
510
|
start: function (e) {
|
|
1033
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
511
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1034
512
|
// Exit if clicked out of axes area
|
|
1035
513
|
if (!coordsX || !coordsY) {
|
|
1036
514
|
return;
|
|
@@ -1060,11 +538,11 @@ var stockToolsBindings = {
|
|
|
1060
538
|
},
|
|
1061
539
|
/** @ignore-option */
|
|
1062
540
|
steps: [
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
541
|
+
updateNthPoint(1),
|
|
542
|
+
updateNthPoint(2),
|
|
543
|
+
updateNthPoint(3),
|
|
544
|
+
updateNthPoint(4),
|
|
545
|
+
updateNthPoint(5)
|
|
1068
546
|
]
|
|
1069
547
|
},
|
|
1070
548
|
/**
|
|
@@ -1081,7 +559,7 @@ var stockToolsBindings = {
|
|
|
1081
559
|
// eslint-disable-next-line valid-jsdoc
|
|
1082
560
|
/** @ignore-option */
|
|
1083
561
|
start: function (e) {
|
|
1084
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
562
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1085
563
|
// Exit if clicked out of axes area
|
|
1086
564
|
if (!coordsX || !coordsY) {
|
|
1087
565
|
return;
|
|
@@ -1120,7 +598,7 @@ var stockToolsBindings = {
|
|
|
1120
598
|
},
|
|
1121
599
|
/** @ignore-option */
|
|
1122
600
|
steps: [
|
|
1123
|
-
|
|
601
|
+
updateRectSize
|
|
1124
602
|
]
|
|
1125
603
|
},
|
|
1126
604
|
/**
|
|
@@ -1137,7 +615,7 @@ var stockToolsBindings = {
|
|
|
1137
615
|
// eslint-disable-next-line valid-jsdoc
|
|
1138
616
|
/** @ignore-option */
|
|
1139
617
|
start: function (e) {
|
|
1140
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
618
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1141
619
|
// Exit if clicked out of axes area
|
|
1142
620
|
if (!coordsX || !coordsY) {
|
|
1143
621
|
return;
|
|
@@ -1176,7 +654,7 @@ var stockToolsBindings = {
|
|
|
1176
654
|
},
|
|
1177
655
|
/** @ignore-option */
|
|
1178
656
|
steps: [
|
|
1179
|
-
|
|
657
|
+
updateRectSize
|
|
1180
658
|
]
|
|
1181
659
|
},
|
|
1182
660
|
/**
|
|
@@ -1193,7 +671,7 @@ var stockToolsBindings = {
|
|
|
1193
671
|
// eslint-disable-next-line valid-jsdoc
|
|
1194
672
|
/** @ignore-option */
|
|
1195
673
|
start: function (e) {
|
|
1196
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
674
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1197
675
|
// Exit if clicked out of axes area
|
|
1198
676
|
if (!coordsX || !coordsY) {
|
|
1199
677
|
return;
|
|
@@ -1230,7 +708,7 @@ var stockToolsBindings = {
|
|
|
1230
708
|
},
|
|
1231
709
|
/** @ignore-option */
|
|
1232
710
|
steps: [
|
|
1233
|
-
|
|
711
|
+
updateRectSize
|
|
1234
712
|
]
|
|
1235
713
|
},
|
|
1236
714
|
// Advanced type annotations:
|
|
@@ -1251,7 +729,7 @@ var stockToolsBindings = {
|
|
|
1251
729
|
// eslint-disable-next-line valid-jsdoc
|
|
1252
730
|
/** @ignore-option */
|
|
1253
731
|
start: function (e) {
|
|
1254
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
732
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1255
733
|
// Exit if clicked out of axes area
|
|
1256
734
|
if (!coordsX || !coordsY) {
|
|
1257
735
|
return;
|
|
@@ -1277,8 +755,8 @@ var stockToolsBindings = {
|
|
|
1277
755
|
},
|
|
1278
756
|
/** @ignore-option */
|
|
1279
757
|
steps: [
|
|
1280
|
-
|
|
1281
|
-
|
|
758
|
+
updateNthPoint(1),
|
|
759
|
+
updateHeight
|
|
1282
760
|
]
|
|
1283
761
|
},
|
|
1284
762
|
/**
|
|
@@ -1295,7 +773,7 @@ var stockToolsBindings = {
|
|
|
1295
773
|
// eslint-disable-next-line valid-jsdoc
|
|
1296
774
|
/** @ignore-option */
|
|
1297
775
|
start: function (e) {
|
|
1298
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
776
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1299
777
|
// Exit if clicked out of axes area
|
|
1300
778
|
if (!coordsX || !coordsY) {
|
|
1301
779
|
return;
|
|
@@ -1317,8 +795,8 @@ var stockToolsBindings = {
|
|
|
1317
795
|
},
|
|
1318
796
|
/** @ignore-option */
|
|
1319
797
|
steps: [
|
|
1320
|
-
|
|
1321
|
-
|
|
798
|
+
updateNthPoint(1),
|
|
799
|
+
updateHeight
|
|
1322
800
|
]
|
|
1323
801
|
},
|
|
1324
802
|
/**
|
|
@@ -1335,7 +813,7 @@ var stockToolsBindings = {
|
|
|
1335
813
|
// eslint-disable-next-line valid-jsdoc
|
|
1336
814
|
/** @ignore-option */
|
|
1337
815
|
start: function (e) {
|
|
1338
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
816
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1339
817
|
// Exit if clicked out of axes area
|
|
1340
818
|
if (!coordsX || !coordsY) {
|
|
1341
819
|
return;
|
|
@@ -1369,8 +847,8 @@ var stockToolsBindings = {
|
|
|
1369
847
|
},
|
|
1370
848
|
/** @ignore-option */
|
|
1371
849
|
steps: [
|
|
1372
|
-
|
|
1373
|
-
|
|
850
|
+
updateNthPoint(1),
|
|
851
|
+
updateNthPoint(2)
|
|
1374
852
|
]
|
|
1375
853
|
},
|
|
1376
854
|
// Labels with arrow and auto increments
|
|
@@ -1389,13 +867,13 @@ var stockToolsBindings = {
|
|
|
1389
867
|
// eslint-disable-next-line valid-jsdoc
|
|
1390
868
|
/** @ignore-option */
|
|
1391
869
|
start: function (e) {
|
|
1392
|
-
var closestPoint =
|
|
870
|
+
var closestPoint = attractToPoint(e, this.chart);
|
|
1393
871
|
// Exit if clicked out of axes area
|
|
1394
872
|
if (!closestPoint) {
|
|
1395
873
|
return;
|
|
1396
874
|
}
|
|
1397
875
|
this.verticalCounter = this.verticalCounter || 0;
|
|
1398
|
-
options = merge({
|
|
876
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
1399
877
|
langKey: 'verticalCounter',
|
|
1400
878
|
type: 'verticalLine',
|
|
1401
879
|
typeOptions: {
|
|
@@ -1420,8 +898,8 @@ var stockToolsBindings = {
|
|
|
1420
898
|
stroke: 'rgba(0, 0, 0, 0.75)',
|
|
1421
899
|
strokeWidth: 1
|
|
1422
900
|
}
|
|
1423
|
-
}, navigation.annotationsOptions, navigation.bindings
|
|
1424
|
-
|
|
901
|
+
}, navigation.annotationsOptions, navigation.bindings
|
|
902
|
+
.verticalCounter.annotationsOptions), annotation = this.chart.addAnnotation(options);
|
|
1425
903
|
this.verticalCounter++;
|
|
1426
904
|
annotation.options.events.click.call(annotation, {});
|
|
1427
905
|
}
|
|
@@ -1438,12 +916,12 @@ var stockToolsBindings = {
|
|
|
1438
916
|
timeCycles: {
|
|
1439
917
|
className: 'highcharts-time-cycles',
|
|
1440
918
|
start: function (e) {
|
|
1441
|
-
var closestPoint =
|
|
919
|
+
var closestPoint = attractToPoint(e, this.chart);
|
|
1442
920
|
// Exit if clicked out of axes area
|
|
1443
921
|
if (!closestPoint) {
|
|
1444
922
|
return;
|
|
1445
923
|
}
|
|
1446
|
-
options = merge({
|
|
924
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
1447
925
|
langKey: 'timeCycles',
|
|
1448
926
|
type: 'timeCycles',
|
|
1449
927
|
typeOptions: {
|
|
@@ -1460,13 +938,12 @@ var stockToolsBindings = {
|
|
|
1460
938
|
strokeWidth: 2
|
|
1461
939
|
}
|
|
1462
940
|
}
|
|
1463
|
-
}, navigation.annotationsOptions, navigation.bindings.timeCycles.annotationsOptions);
|
|
1464
|
-
annotation = this.chart.addAnnotation(options);
|
|
941
|
+
}, navigation.annotationsOptions, navigation.bindings.timeCycles.annotationsOptions), annotation = this.chart.addAnnotation(options);
|
|
1465
942
|
annotation.options.events.click.call(annotation, {});
|
|
1466
943
|
return annotation;
|
|
1467
944
|
},
|
|
1468
945
|
steps: [
|
|
1469
|
-
|
|
946
|
+
updateNthPoint(1)
|
|
1470
947
|
]
|
|
1471
948
|
},
|
|
1472
949
|
verticalLabel: {
|
|
@@ -1475,12 +952,12 @@ var stockToolsBindings = {
|
|
|
1475
952
|
// eslint-disable-next-line valid-jsdoc
|
|
1476
953
|
/** @ignore-option */
|
|
1477
954
|
start: function (e) {
|
|
1478
|
-
var closestPoint =
|
|
955
|
+
var closestPoint = attractToPoint(e, this.chart);
|
|
1479
956
|
// Exit if clicked out of axes area
|
|
1480
957
|
if (!closestPoint) {
|
|
1481
958
|
return;
|
|
1482
959
|
}
|
|
1483
|
-
options = merge({
|
|
960
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
1484
961
|
langKey: 'verticalLabel',
|
|
1485
962
|
type: 'verticalLine',
|
|
1486
963
|
typeOptions: {
|
|
@@ -1504,8 +981,8 @@ var stockToolsBindings = {
|
|
|
1504
981
|
stroke: 'rgba(0, 0, 0, 0.75)',
|
|
1505
982
|
strokeWidth: 1
|
|
1506
983
|
}
|
|
1507
|
-
}, navigation.annotationsOptions, navigation.bindings
|
|
1508
|
-
|
|
984
|
+
}, navigation.annotationsOptions, navigation.bindings
|
|
985
|
+
.verticalLabel.annotationsOptions), annotation = this.chart.addAnnotation(options);
|
|
1509
986
|
annotation.options.events.click.call(annotation, {});
|
|
1510
987
|
}
|
|
1511
988
|
},
|
|
@@ -1526,12 +1003,12 @@ var stockToolsBindings = {
|
|
|
1526
1003
|
// eslint-disable-next-line valid-jsdoc
|
|
1527
1004
|
/** @ignore-option */
|
|
1528
1005
|
start: function (e) {
|
|
1529
|
-
var closestPoint =
|
|
1006
|
+
var closestPoint = attractToPoint(e, this.chart);
|
|
1530
1007
|
// Exit if clicked out of axes area
|
|
1531
1008
|
if (!closestPoint) {
|
|
1532
1009
|
return;
|
|
1533
1010
|
}
|
|
1534
|
-
options = merge({
|
|
1011
|
+
var navigation = this.chart.options.navigation, options = merge({
|
|
1535
1012
|
langKey: 'verticalArrow',
|
|
1536
1013
|
type: 'verticalLine',
|
|
1537
1014
|
typeOptions: {
|
|
@@ -1548,15 +1025,16 @@ var stockToolsBindings = {
|
|
|
1548
1025
|
connector: {
|
|
1549
1026
|
fill: 'none',
|
|
1550
1027
|
stroke: closestPoint.below ?
|
|
1551
|
-
"#f21313" /* Palette.negativeColor */ :
|
|
1028
|
+
"#f21313" /* Palette.negativeColor */ :
|
|
1029
|
+
"#06b535" /* Palette.positiveColor */
|
|
1552
1030
|
}
|
|
1553
1031
|
},
|
|
1554
1032
|
shapeOptions: {
|
|
1555
1033
|
stroke: 'rgba(0, 0, 0, 0.75)',
|
|
1556
1034
|
strokeWidth: 1
|
|
1557
1035
|
}
|
|
1558
|
-
}, navigation.annotationsOptions, navigation.bindings
|
|
1559
|
-
|
|
1036
|
+
}, navigation.annotationsOptions, navigation.bindings
|
|
1037
|
+
.verticalArrow.annotationsOptions), annotation = this.chart.addAnnotation(options);
|
|
1560
1038
|
annotation.options.events.click.call(annotation, {});
|
|
1561
1039
|
}
|
|
1562
1040
|
},
|
|
@@ -1574,7 +1052,7 @@ var stockToolsBindings = {
|
|
|
1574
1052
|
// eslint-disable-next-line valid-jsdoc
|
|
1575
1053
|
/** @ignore-option */
|
|
1576
1054
|
start: function (e) {
|
|
1577
|
-
var coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
1055
|
+
var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1578
1056
|
// Exit if clicked out of axes area
|
|
1579
1057
|
if (!coordsX || !coordsY) {
|
|
1580
1058
|
return;
|
|
@@ -1597,7 +1075,7 @@ var stockToolsBindings = {
|
|
|
1597
1075
|
// eslint-disable-next-line valid-jsdoc
|
|
1598
1076
|
steps: [
|
|
1599
1077
|
function (e, annotation) {
|
|
1600
|
-
var mockPointOpts = annotation.options.typeOptions.points, x = mockPointOpts && mockPointOpts[0].x, coords = this.chart.pointer.getCoordinates(e), coordsX =
|
|
1078
|
+
var mockPointOpts = annotation.options.typeOptions.points, x = mockPointOpts && mockPointOpts[0].x, coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
|
|
1601
1079
|
annotation.update({
|
|
1602
1080
|
typeOptions: {
|
|
1603
1081
|
xAxis: coordsX.axis.options.index,
|
|
@@ -1625,7 +1103,7 @@ var stockToolsBindings = {
|
|
|
1625
1103
|
/** @ignore-option */
|
|
1626
1104
|
className: 'highcharts-flag-circlepin',
|
|
1627
1105
|
/** @ignore-option */
|
|
1628
|
-
start:
|
|
1106
|
+
start: addFlagFromForm('circlepin')
|
|
1629
1107
|
},
|
|
1630
1108
|
/**
|
|
1631
1109
|
* A flag series bindings. Includes `start` event. On click, finds the
|
|
@@ -1639,7 +1117,7 @@ var stockToolsBindings = {
|
|
|
1639
1117
|
/** @ignore-option */
|
|
1640
1118
|
className: 'highcharts-flag-diamondpin',
|
|
1641
1119
|
/** @ignore-option */
|
|
1642
|
-
start:
|
|
1120
|
+
start: addFlagFromForm('flag')
|
|
1643
1121
|
},
|
|
1644
1122
|
/**
|
|
1645
1123
|
* A flag series bindings. Includes `start` event.
|
|
@@ -1654,7 +1132,7 @@ var stockToolsBindings = {
|
|
|
1654
1132
|
/** @ignore-option */
|
|
1655
1133
|
className: 'highcharts-flag-squarepin',
|
|
1656
1134
|
/** @ignore-option */
|
|
1657
|
-
start:
|
|
1135
|
+
start: addFlagFromForm('squarepin')
|
|
1658
1136
|
},
|
|
1659
1137
|
/**
|
|
1660
1138
|
* A flag series bindings. Includes `start` event.
|
|
@@ -1669,7 +1147,7 @@ var stockToolsBindings = {
|
|
|
1669
1147
|
/** @ignore-option */
|
|
1670
1148
|
className: 'highcharts-flag-simplepin',
|
|
1671
1149
|
/** @ignore-option */
|
|
1672
|
-
start:
|
|
1150
|
+
start: addFlagFromForm('nopin')
|
|
1673
1151
|
},
|
|
1674
1152
|
// Other tools:
|
|
1675
1153
|
/**
|
|
@@ -1688,7 +1166,9 @@ var stockToolsBindings = {
|
|
|
1688
1166
|
init: function (button) {
|
|
1689
1167
|
this.chart.update({
|
|
1690
1168
|
chart: {
|
|
1691
|
-
|
|
1169
|
+
zooming: {
|
|
1170
|
+
type: 'x'
|
|
1171
|
+
}
|
|
1692
1172
|
}
|
|
1693
1173
|
});
|
|
1694
1174
|
fireEvent(this, 'deselectButton', { button: button });
|
|
@@ -1710,7 +1190,9 @@ var stockToolsBindings = {
|
|
|
1710
1190
|
init: function (button) {
|
|
1711
1191
|
this.chart.update({
|
|
1712
1192
|
chart: {
|
|
1713
|
-
|
|
1193
|
+
zooming: {
|
|
1194
|
+
type: 'y'
|
|
1195
|
+
}
|
|
1714
1196
|
}
|
|
1715
1197
|
});
|
|
1716
1198
|
fireEvent(this, 'deselectButton', { button: button });
|
|
@@ -1732,7 +1214,9 @@ var stockToolsBindings = {
|
|
|
1732
1214
|
init: function (button) {
|
|
1733
1215
|
this.chart.update({
|
|
1734
1216
|
chart: {
|
|
1735
|
-
|
|
1217
|
+
zooming: {
|
|
1218
|
+
type: 'xy'
|
|
1219
|
+
}
|
|
1736
1220
|
}
|
|
1737
1221
|
});
|
|
1738
1222
|
fireEvent(this, 'deselectButton', { button: button });
|
|
@@ -1864,10 +1348,11 @@ var stockToolsBindings = {
|
|
|
1864
1348
|
/** @ignore-option */
|
|
1865
1349
|
className: 'highcharts-full-screen',
|
|
1866
1350
|
noDataState: 'normal',
|
|
1867
|
-
// eslint-disable-next-line valid-jsdoc
|
|
1868
1351
|
/** @ignore-option */
|
|
1869
1352
|
init: function (button) {
|
|
1870
|
-
this.chart.fullscreen
|
|
1353
|
+
if (this.chart.fullscreen) {
|
|
1354
|
+
this.chart.fullscreen.toggle();
|
|
1355
|
+
}
|
|
1871
1356
|
fireEvent(this, 'deselectButton', { button: button });
|
|
1872
1357
|
}
|
|
1873
1358
|
},
|
|
@@ -1886,7 +1371,7 @@ var stockToolsBindings = {
|
|
|
1886
1371
|
// eslint-disable-next-line valid-jsdoc
|
|
1887
1372
|
/** @ignore-option */
|
|
1888
1373
|
init: function (button) {
|
|
1889
|
-
var chart = this.chart, series = chart.series, gui = chart.stockTools, priceIndicatorEnabled =
|
|
1374
|
+
var chart = this.chart, series = chart.series, gui = chart.stockTools, priceIndicatorEnabled = isPriceIndicatorEnabled(chart.series);
|
|
1890
1375
|
if (gui && gui.guiEnabled) {
|
|
1891
1376
|
series.forEach(function (series) {
|
|
1892
1377
|
series.update({
|
|
@@ -1926,7 +1411,7 @@ var stockToolsBindings = {
|
|
|
1926
1411
|
options: {},
|
|
1927
1412
|
// Callback on submit:
|
|
1928
1413
|
onSubmit: function (data) {
|
|
1929
|
-
|
|
1414
|
+
manageIndicators.call(navigation, data);
|
|
1930
1415
|
}
|
|
1931
1416
|
});
|
|
1932
1417
|
}
|
|
@@ -1995,11 +1480,11 @@ var stockToolsBindings = {
|
|
|
1995
1480
|
}
|
|
1996
1481
|
});
|
|
1997
1482
|
chart.yAxis.forEach(function (yAxis) {
|
|
1998
|
-
if (
|
|
1483
|
+
if (isNotNavigatorYAxis(yAxis)) {
|
|
1999
1484
|
yAxes.push(yAxis.options);
|
|
2000
1485
|
}
|
|
2001
1486
|
});
|
|
2002
|
-
H.win.localStorage.setItem(
|
|
1487
|
+
H.win.localStorage.setItem('highcharts-chart', JSON.stringify({
|
|
2003
1488
|
annotations: annotations,
|
|
2004
1489
|
indicators: indicators,
|
|
2005
1490
|
flags: flags,
|
|
@@ -2009,9 +1494,9 @@ var stockToolsBindings = {
|
|
|
2009
1494
|
}
|
|
2010
1495
|
}
|
|
2011
1496
|
};
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
1497
|
+
/* *
|
|
1498
|
+
*
|
|
1499
|
+
* Default Export
|
|
1500
|
+
*
|
|
1501
|
+
* */
|
|
1502
|
+
export default StockToolsBindings;
|