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
|
@@ -8,11 +8,27 @@
|
|
|
8
8
|
*
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
|
+
var __extends = (this && this.__extends) || (function () {
|
|
12
|
+
var extendStatics = function (d, b) {
|
|
13
|
+
extendStatics = Object.setPrototypeOf ||
|
|
14
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
15
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
16
|
+
return extendStatics(d, b);
|
|
17
|
+
};
|
|
18
|
+
return function (d, b) {
|
|
19
|
+
if (typeof b !== "function" && b !== null)
|
|
20
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
21
|
+
extendStatics(d, b);
|
|
22
|
+
function __() { this.constructor = d; }
|
|
23
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
24
|
+
};
|
|
25
|
+
})();
|
|
11
26
|
import A from '../../Core/Animation/AnimationUtilities.js';
|
|
12
27
|
var getDeferredAnimation = A.getDeferredAnimation;
|
|
13
|
-
import
|
|
14
|
-
|
|
15
|
-
import
|
|
28
|
+
import AnnotationChart from './AnnotationChart.js';
|
|
29
|
+
import AnnotationDefaults from './AnnotationDefaults.js';
|
|
30
|
+
import Controllable from './Controllables/Controllable.js';
|
|
31
|
+
var controllableProto = Controllable.prototype;
|
|
16
32
|
import ControllableRect from './Controllables/ControllableRect.js';
|
|
17
33
|
import ControllableCircle from './Controllables/ControllableCircle.js';
|
|
18
34
|
import ControllableEllipse from './Controllables/ControllableEllipse.js';
|
|
@@ -20,49 +36,58 @@ import ControllablePath from './Controllables/ControllablePath.js';
|
|
|
20
36
|
import ControllableImage from './Controllables/ControllableImage.js';
|
|
21
37
|
import ControllableLabel from './Controllables/ControllableLabel.js';
|
|
22
38
|
import ControlPoint from './ControlPoint.js';
|
|
23
|
-
import
|
|
24
|
-
import H from '../../Core/Globals.js';
|
|
39
|
+
import EventEmitter from './EventEmitter.js';
|
|
25
40
|
import MockPoint from './MockPoint.js';
|
|
26
|
-
import
|
|
41
|
+
import NavigationBindings from './NavigationBindings.js';
|
|
42
|
+
import PopupComposition from './Popup/PopupComposition.js';
|
|
27
43
|
import U from '../../Core/Utilities.js';
|
|
28
|
-
var addEvent = U.addEvent,
|
|
29
|
-
/*
|
|
30
|
-
*
|
|
31
|
-
* ANNOTATION
|
|
44
|
+
var addEvent = U.addEvent, destroyObjectProperties = U.destroyObjectProperties, erase = U.erase, extend = U.extend, find = U.find, fireEvent = U.fireEvent, merge = U.merge, pick = U.pick, splat = U.splat, wrap = U.wrap;
|
|
45
|
+
/* *
|
|
32
46
|
*
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Possible directions for draggable annotations. An empty string (`''`)
|
|
36
|
-
* makes the annotation undraggable.
|
|
47
|
+
* Functions
|
|
37
48
|
*
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
/**
|
|
41
|
-
* @private
|
|
42
|
-
* @typedef {
|
|
43
|
-
* Highcharts.AnnotationControllableCircle|
|
|
44
|
-
* Highcharts.AnnotationControllableImage|
|
|
45
|
-
* Highcharts.AnnotationControllablePath|
|
|
46
|
-
* Highcharts.AnnotationControllableRect
|
|
47
|
-
* }
|
|
48
|
-
* Highcharts.AnnotationShapeType
|
|
49
|
-
* @requires modules/annotations
|
|
50
|
-
*/
|
|
49
|
+
* */
|
|
51
50
|
/**
|
|
51
|
+
* Hide or show annotaiton attached to points.
|
|
52
52
|
* @private
|
|
53
|
-
* @typedef {
|
|
54
|
-
* Highcharts.AnnotationControllableLabel
|
|
55
|
-
* }
|
|
56
|
-
* Highcharts.AnnotationLabelType
|
|
57
|
-
* @requires modules/annotations
|
|
58
53
|
*/
|
|
54
|
+
function adjustVisibility(item) {
|
|
55
|
+
var label = item.graphic, hasVisiblePoints = item.points.some(function (point) { return (point.series.visible !== false &&
|
|
56
|
+
point.visible !== false); });
|
|
57
|
+
if (label) {
|
|
58
|
+
if (!hasVisiblePoints) {
|
|
59
|
+
label.hide();
|
|
60
|
+
}
|
|
61
|
+
else if (label.visibility === 'hidden') {
|
|
62
|
+
label.show();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
59
66
|
/**
|
|
60
|
-
* A point-like object, a mock point or a point used in series.
|
|
61
67
|
* @private
|
|
62
|
-
* @typedef {Highcharts.AnnotationMockPoint|Highcharts.Point} Highcharts.AnnotationPointType
|
|
63
|
-
* @requires modules/annotations
|
|
64
68
|
*/
|
|
65
|
-
|
|
69
|
+
function getLabelsAndShapesOptions(baseOptions, newOptions) {
|
|
70
|
+
var mergedOptions = {};
|
|
71
|
+
['labels', 'shapes'].forEach(function (name) {
|
|
72
|
+
var someBaseOptions = baseOptions[name];
|
|
73
|
+
if (someBaseOptions) {
|
|
74
|
+
if (newOptions[name]) {
|
|
75
|
+
mergedOptions[name] = splat(newOptions[name]).map(function (basicOptions, i) {
|
|
76
|
+
return merge(someBaseOptions[i], basicOptions);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
mergedOptions[name] = baseOptions[name];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return mergedOptions;
|
|
85
|
+
}
|
|
86
|
+
/* *
|
|
87
|
+
*
|
|
88
|
+
* Class
|
|
89
|
+
*
|
|
90
|
+
* */
|
|
66
91
|
/**
|
|
67
92
|
* An annotation class which serves as a container for items like labels or
|
|
68
93
|
* shapes. Created items are positioned on the chart either by linking them to
|
|
@@ -71,87 +96,89 @@ var addEvent = U.addEvent, defined = U.defined, destroyObjectProperties = U.dest
|
|
|
71
96
|
* @class
|
|
72
97
|
* @name Highcharts.Annotation
|
|
73
98
|
*
|
|
74
|
-
* @param {Highcharts.Chart} chart
|
|
75
|
-
*
|
|
99
|
+
* @param {Highcharts.Chart} chart
|
|
100
|
+
* A chart instance
|
|
101
|
+
* @param {Highcharts.AnnotationsOptions} userOptions
|
|
102
|
+
* The annotation options
|
|
76
103
|
*/
|
|
77
|
-
var Annotation = /** @class */ (function () {
|
|
104
|
+
var Annotation = /** @class */ (function (_super) {
|
|
105
|
+
__extends(Annotation, _super);
|
|
78
106
|
/* *
|
|
79
107
|
*
|
|
80
108
|
* Constructors
|
|
81
109
|
*
|
|
82
110
|
* */
|
|
83
111
|
function Annotation(chart, userOptions) {
|
|
112
|
+
var _this = _super.call(this) || this;
|
|
84
113
|
/* *
|
|
85
114
|
*
|
|
86
115
|
* Properties
|
|
87
116
|
*
|
|
88
117
|
* */
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var labelsAndShapes;
|
|
118
|
+
_this.annotation = void 0;
|
|
119
|
+
_this.coll = 'annotations';
|
|
120
|
+
_this.collection = void 0;
|
|
121
|
+
_this.animationConfig = void 0;
|
|
122
|
+
_this.graphic = void 0;
|
|
123
|
+
_this.group = void 0;
|
|
124
|
+
_this.labelCollector = void 0;
|
|
125
|
+
_this.labelsGroup = void 0;
|
|
126
|
+
_this.shapesGroup = void 0;
|
|
99
127
|
/**
|
|
100
128
|
* The chart that the annotation belongs to.
|
|
101
129
|
*
|
|
130
|
+
* @name Highcharts.Annotation#chart
|
|
102
131
|
* @type {Highcharts.Chart}
|
|
103
132
|
*/
|
|
104
|
-
|
|
133
|
+
_this.chart = chart;
|
|
105
134
|
/**
|
|
106
135
|
* The array of points which defines the annotation.
|
|
107
|
-
*
|
|
136
|
+
* @private
|
|
137
|
+
* @name Highcharts.Annotation#points
|
|
108
138
|
* @type {Array<Highcharts.Point>}
|
|
109
139
|
*/
|
|
110
|
-
|
|
140
|
+
_this.points = [];
|
|
111
141
|
/**
|
|
112
142
|
* The array of control points.
|
|
113
|
-
*
|
|
114
143
|
* @private
|
|
115
144
|
* @name Highcharts.Annotation#controlPoints
|
|
116
145
|
* @type {Array<Annotation.ControlPoint>}
|
|
117
146
|
*/
|
|
118
|
-
|
|
119
|
-
|
|
147
|
+
_this.controlPoints = [];
|
|
148
|
+
_this.coll = 'annotations';
|
|
120
149
|
/**
|
|
121
150
|
* The array of labels which belong to the annotation.
|
|
122
|
-
*
|
|
123
151
|
* @private
|
|
124
152
|
* @name Highcharts.Annotation#labels
|
|
125
153
|
* @type {Array<Highcharts.AnnotationLabelType>}
|
|
126
154
|
*/
|
|
127
|
-
|
|
155
|
+
_this.labels = [];
|
|
128
156
|
/**
|
|
129
157
|
* The array of shapes which belong to the annotation.
|
|
130
|
-
*
|
|
131
158
|
* @private
|
|
132
159
|
* @name Highcharts.Annotation#shapes
|
|
133
160
|
* @type {Array<Highcharts.AnnotationShapeType>}
|
|
134
161
|
*/
|
|
135
|
-
|
|
162
|
+
_this.shapes = [];
|
|
136
163
|
/**
|
|
137
164
|
* The options for the annotations.
|
|
138
165
|
*
|
|
139
166
|
* @name Highcharts.Annotation#options
|
|
140
167
|
* @type {Highcharts.AnnotationsOptions}
|
|
141
168
|
*/
|
|
142
|
-
|
|
169
|
+
_this.options = merge(_this.defaultOptions, userOptions);
|
|
143
170
|
/**
|
|
144
171
|
* The user options for the annotations.
|
|
145
172
|
*
|
|
146
173
|
* @name Highcharts.Annotation#userOptions
|
|
147
174
|
* @type {Highcharts.AnnotationsOptions}
|
|
148
175
|
*/
|
|
149
|
-
|
|
176
|
+
_this.userOptions = userOptions;
|
|
150
177
|
// Handle labels and shapes - those are arrays
|
|
151
178
|
// Merging does not work with arrays (stores reference)
|
|
152
|
-
labelsAndShapes =
|
|
153
|
-
|
|
154
|
-
|
|
179
|
+
var labelsAndShapes = getLabelsAndShapesOptions(_this.options, userOptions);
|
|
180
|
+
_this.options.labels = labelsAndShapes.labels;
|
|
181
|
+
_this.options.shapes = labelsAndShapes.shapes;
|
|
155
182
|
/**
|
|
156
183
|
* The callback that reports to the overlapping-labels module which
|
|
157
184
|
* labels it should account for.
|
|
@@ -177,51 +204,32 @@ var Annotation = /** @class */ (function () {
|
|
|
177
204
|
* @name Highcharts.Annotation#labelsGroup
|
|
178
205
|
* @type {Highcharts.SVGElement}
|
|
179
206
|
*/
|
|
180
|
-
|
|
207
|
+
_this.init(chart, _this.options);
|
|
208
|
+
return _this;
|
|
181
209
|
}
|
|
210
|
+
/* *
|
|
211
|
+
*
|
|
212
|
+
* Static Functions
|
|
213
|
+
*
|
|
214
|
+
* */
|
|
182
215
|
/**
|
|
183
|
-
* Initialize the annotation.
|
|
184
216
|
* @private
|
|
185
217
|
*/
|
|
186
|
-
Annotation.
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
this.setLabelCollector();
|
|
193
|
-
this.animationConfig = getDeferredAnimation(chart, animOptions);
|
|
194
|
-
};
|
|
195
|
-
Annotation.prototype.getLabelsAndShapesOptions = function (baseOptions, newOptions) {
|
|
196
|
-
var mergedOptions = {};
|
|
197
|
-
['labels', 'shapes'].forEach(function (name) {
|
|
198
|
-
var someBaseOptions = baseOptions[name];
|
|
199
|
-
if (someBaseOptions) {
|
|
200
|
-
if (newOptions[name]) {
|
|
201
|
-
mergedOptions[name] = splat(newOptions[name]).map(function (basicOptions, i) {
|
|
202
|
-
return merge(someBaseOptions[i], basicOptions);
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
mergedOptions[name] = baseOptions[name];
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
return mergedOptions;
|
|
211
|
-
};
|
|
212
|
-
Annotation.prototype.addShapes = function () {
|
|
213
|
-
var shapes = this.options.shapes || [];
|
|
214
|
-
shapes.forEach(function (shapeOptions, i) {
|
|
215
|
-
var shape = this.initShape(shapeOptions, i);
|
|
216
|
-
merge(true, shapes[i], shape.options);
|
|
217
|
-
}, this);
|
|
218
|
-
};
|
|
219
|
-
Annotation.prototype.addLabels = function () {
|
|
220
|
-
(this.options.labels || []).forEach(function (labelsOptions, i) {
|
|
221
|
-
var labels = this.initLabel(labelsOptions, i);
|
|
222
|
-
merge(true, this.options.labels[i], labels.options);
|
|
223
|
-
}, this);
|
|
218
|
+
Annotation.compose = function (ChartClass, PointerClass, SVGRendererClass) {
|
|
219
|
+
AnnotationChart.compose(Annotation, ChartClass, PointerClass);
|
|
220
|
+
ControllableLabel.compose(SVGRendererClass);
|
|
221
|
+
ControllablePath.compose(ChartClass, SVGRendererClass);
|
|
222
|
+
NavigationBindings.compose(Annotation, ChartClass);
|
|
223
|
+
PopupComposition.compose(NavigationBindings, PointerClass);
|
|
224
224
|
};
|
|
225
|
+
/* *
|
|
226
|
+
*
|
|
227
|
+
* Functions
|
|
228
|
+
*
|
|
229
|
+
* */
|
|
230
|
+
/**
|
|
231
|
+
* @private
|
|
232
|
+
*/
|
|
225
233
|
Annotation.prototype.addClipPaths = function () {
|
|
226
234
|
this.setClipAxes();
|
|
227
235
|
if (this.clipXAxis &&
|
|
@@ -231,21 +239,60 @@ var Annotation = /** @class */ (function () {
|
|
|
231
239
|
this.clipRect = this.chart.renderer.clipRect(this.getClipBox());
|
|
232
240
|
}
|
|
233
241
|
};
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
242
|
+
/**
|
|
243
|
+
* @private
|
|
244
|
+
*/
|
|
245
|
+
Annotation.prototype.addLabels = function () {
|
|
246
|
+
var _this = this;
|
|
247
|
+
var labelsOptions = (this.options.labels || []);
|
|
248
|
+
labelsOptions.forEach(function (labelOptions, i) {
|
|
249
|
+
var label = _this.initLabel(labelOptions, i);
|
|
250
|
+
merge(true, labelsOptions[i], label.options);
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* @private
|
|
255
|
+
*/
|
|
256
|
+
Annotation.prototype.addShapes = function () {
|
|
257
|
+
var _this = this;
|
|
258
|
+
var shapes = this.options.shapes || [];
|
|
259
|
+
shapes.forEach(function (shapeOptions, i) {
|
|
260
|
+
var shape = _this.initShape(shapeOptions, i);
|
|
261
|
+
merge(true, shapes[i], shape.options);
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* Destroy the annotation. This function does not touch the chart
|
|
266
|
+
* that the annotation belongs to (all annotations are kept in
|
|
267
|
+
* the chart.annotations array) - it is recommended to use
|
|
268
|
+
* {@link Highcharts.Chart#removeAnnotation} instead.
|
|
269
|
+
* @private
|
|
270
|
+
*/
|
|
271
|
+
Annotation.prototype.destroy = function () {
|
|
272
|
+
var chart = this.chart, destroyItem = function (item) {
|
|
273
|
+
item.destroy();
|
|
274
|
+
};
|
|
275
|
+
this.labels.forEach(destroyItem);
|
|
276
|
+
this.shapes.forEach(destroyItem);
|
|
277
|
+
this.clipXAxis = null;
|
|
278
|
+
this.clipYAxis = null;
|
|
279
|
+
erase(chart.labelCollectors, this.labelCollector);
|
|
280
|
+
_super.prototype.destroy.call(this);
|
|
281
|
+
controllableProto.destroy.call(this);
|
|
282
|
+
destroyObjectProperties(this, chart);
|
|
283
|
+
};
|
|
284
|
+
/**
|
|
285
|
+
* Destroy a single item.
|
|
286
|
+
* @private
|
|
287
|
+
*/
|
|
288
|
+
Annotation.prototype.destroyItem = function (item) {
|
|
289
|
+
// erase from shapes or labels array
|
|
290
|
+
erase(this[item.itemType + 's'], item);
|
|
291
|
+
item.destroy();
|
|
248
292
|
};
|
|
293
|
+
/**
|
|
294
|
+
* @private
|
|
295
|
+
*/
|
|
249
296
|
Annotation.prototype.getClipBox = function () {
|
|
250
297
|
if (this.clipXAxis && this.clipYAxis) {
|
|
251
298
|
return {
|
|
@@ -256,26 +303,51 @@ var Annotation = /** @class */ (function () {
|
|
|
256
303
|
};
|
|
257
304
|
}
|
|
258
305
|
};
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
306
|
+
/**
|
|
307
|
+
* Initialize the annotation.
|
|
308
|
+
* @private
|
|
309
|
+
*/
|
|
310
|
+
Annotation.prototype.init = function (_annotationOrChart, _userOptions, _index) {
|
|
311
|
+
var chart = this.chart, animOptions = this.options.animation;
|
|
312
|
+
this.linkPoints();
|
|
313
|
+
this.addControlPoints();
|
|
314
|
+
this.addShapes();
|
|
315
|
+
this.addLabels();
|
|
316
|
+
this.setLabelCollector();
|
|
317
|
+
this.animationConfig = getDeferredAnimation(chart, animOptions);
|
|
270
318
|
};
|
|
271
319
|
/**
|
|
272
|
-
*
|
|
320
|
+
* Initialisation of a single label
|
|
273
321
|
* @private
|
|
274
|
-
* @param {Highcharts.AnnotationsOptions} - user options for an annotation
|
|
275
322
|
*/
|
|
276
|
-
Annotation.prototype.
|
|
277
|
-
|
|
323
|
+
Annotation.prototype.initLabel = function (labelOptions, index) {
|
|
324
|
+
var options = merge(this.options.labelOptions, {
|
|
325
|
+
controlPointOptions: this.options.controlPointOptions
|
|
326
|
+
}, labelOptions), label = new ControllableLabel(this, options, index);
|
|
327
|
+
label.itemType = 'label';
|
|
328
|
+
this.labels.push(label);
|
|
329
|
+
return label;
|
|
330
|
+
};
|
|
331
|
+
/**
|
|
332
|
+
* Initialisation of a single shape
|
|
333
|
+
* @private
|
|
334
|
+
* @param {Object} shapeOptions
|
|
335
|
+
* a confg object for a single shape
|
|
336
|
+
* @param {number} index
|
|
337
|
+
* annotation may have many shapes, this is the shape's index saved in
|
|
338
|
+
* shapes.index.
|
|
339
|
+
*/
|
|
340
|
+
Annotation.prototype.initShape = function (shapeOptions, index) {
|
|
341
|
+
var options = merge(this.options.shapeOptions, {
|
|
342
|
+
controlPointOptions: this.options.controlPointOptions
|
|
343
|
+
}, shapeOptions), shape = new (Annotation.shapesMap[options.type])(this, options, index);
|
|
344
|
+
shape.itemType = 'shape';
|
|
345
|
+
this.shapes.push(shape);
|
|
346
|
+
return shape;
|
|
278
347
|
};
|
|
348
|
+
/**
|
|
349
|
+
* @private
|
|
350
|
+
*/
|
|
279
351
|
Annotation.prototype.redraw = function (animation) {
|
|
280
352
|
this.linkPoints();
|
|
281
353
|
if (!this.graphic) {
|
|
@@ -286,12 +358,29 @@ var Annotation = /** @class */ (function () {
|
|
|
286
358
|
}
|
|
287
359
|
this.redrawItems(this.shapes, animation);
|
|
288
360
|
this.redrawItems(this.labels, animation);
|
|
289
|
-
|
|
361
|
+
controllableProto.redraw.call(this, animation);
|
|
362
|
+
};
|
|
363
|
+
/**
|
|
364
|
+
* Redraw a single item.
|
|
365
|
+
* @private
|
|
366
|
+
*/
|
|
367
|
+
Annotation.prototype.redrawItem = function (item, animation) {
|
|
368
|
+
item.linkPoints();
|
|
369
|
+
if (!item.shouldBeDrawn()) {
|
|
370
|
+
this.destroyItem(item);
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
if (!item.graphic) {
|
|
374
|
+
this.renderItem(item);
|
|
375
|
+
}
|
|
376
|
+
item.redraw(pick(animation, true) && item.graphic.placed);
|
|
377
|
+
if (item.points.length) {
|
|
378
|
+
adjustVisibility(item);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
290
381
|
};
|
|
291
382
|
/**
|
|
292
383
|
* @private
|
|
293
|
-
* @param {Array<Highcharts.AnnotationControllable>} items
|
|
294
|
-
* @param {boolean} [animation]
|
|
295
384
|
*/
|
|
296
385
|
Annotation.prototype.redrawItems = function (items, animation) {
|
|
297
386
|
var i = items.length;
|
|
@@ -303,15 +392,16 @@ var Annotation = /** @class */ (function () {
|
|
|
303
392
|
}
|
|
304
393
|
};
|
|
305
394
|
/**
|
|
395
|
+
* See {@link Highcharts.Chart#removeAnnotation}.
|
|
306
396
|
* @private
|
|
307
|
-
* @param {Array<Highcharts.AnnotationControllable>} items
|
|
308
397
|
*/
|
|
309
|
-
Annotation.prototype.
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
this.renderItem(items[i]);
|
|
313
|
-
}
|
|
398
|
+
Annotation.prototype.remove = function () {
|
|
399
|
+
// Let chart.update() remove annoations on demand
|
|
400
|
+
return this.chart.removeAnnotation(this);
|
|
314
401
|
};
|
|
402
|
+
/**
|
|
403
|
+
* @private
|
|
404
|
+
*/
|
|
315
405
|
Annotation.prototype.render = function () {
|
|
316
406
|
var renderer = this.chart.renderer;
|
|
317
407
|
this.graphic = renderer
|
|
@@ -346,63 +436,97 @@ var Annotation = /** @class */ (function () {
|
|
|
346
436
|
this.renderItems(this.shapes);
|
|
347
437
|
this.renderItems(this.labels);
|
|
348
438
|
this.addEvents();
|
|
349
|
-
|
|
439
|
+
controllableProto.render.call(this);
|
|
350
440
|
};
|
|
351
441
|
/**
|
|
352
|
-
* Set the annotation's visibility.
|
|
353
442
|
* @private
|
|
354
|
-
* @param {boolean} [visible]
|
|
355
|
-
* Whether to show or hide an annotation. If the param is omitted, the
|
|
356
|
-
* annotation's visibility is toggled.
|
|
357
443
|
*/
|
|
358
|
-
Annotation.prototype.
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
this.setControlPointsVisibility(false);
|
|
363
|
-
if (navigation.activeAnnotation === this &&
|
|
364
|
-
navigation.popup &&
|
|
365
|
-
navigation.popup.formType === 'annotation-toolbar') {
|
|
366
|
-
fireEvent(navigation, 'closePopup');
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
options.visible = visibility;
|
|
444
|
+
Annotation.prototype.renderItem = function (item) {
|
|
445
|
+
item.render(item.itemType === 'label' ?
|
|
446
|
+
this.labelsGroup :
|
|
447
|
+
this.shapesGroup);
|
|
370
448
|
};
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
449
|
+
/**
|
|
450
|
+
* @private
|
|
451
|
+
*/
|
|
452
|
+
Annotation.prototype.renderItems = function (items) {
|
|
453
|
+
var i = items.length;
|
|
454
|
+
while (i--) {
|
|
455
|
+
this.renderItem(items[i]);
|
|
456
|
+
}
|
|
378
457
|
};
|
|
379
458
|
/**
|
|
380
|
-
* Destroy the annotation. This function does not touch the chart
|
|
381
|
-
* that the annotation belongs to (all annotations are kept in
|
|
382
|
-
* the chart.annotations array) - it is recommended to use
|
|
383
|
-
* {@link Highcharts.Chart#removeAnnotation} instead.
|
|
384
459
|
* @private
|
|
385
460
|
*/
|
|
386
|
-
Annotation.prototype.
|
|
387
|
-
var chart = this.chart,
|
|
388
|
-
|
|
461
|
+
Annotation.prototype.setClipAxes = function () {
|
|
462
|
+
var xAxes = this.chart.xAxis, yAxes = this.chart.yAxis, linkedAxes = (this.options.labels || [])
|
|
463
|
+
.concat(this.options.shapes || [])
|
|
464
|
+
.reduce(function (axes, labelOrShape) {
|
|
465
|
+
var point = labelOrShape &&
|
|
466
|
+
(labelOrShape.point ||
|
|
467
|
+
(labelOrShape.points && labelOrShape.points[0]));
|
|
468
|
+
return [
|
|
469
|
+
xAxes[point && point.xAxis] || axes[0],
|
|
470
|
+
yAxes[point && point.yAxis] || axes[1]
|
|
471
|
+
];
|
|
472
|
+
}, []);
|
|
473
|
+
this.clipXAxis = linkedAxes[0];
|
|
474
|
+
this.clipYAxis = linkedAxes[1];
|
|
475
|
+
};
|
|
476
|
+
/**
|
|
477
|
+
* @private
|
|
478
|
+
*/
|
|
479
|
+
Annotation.prototype.setControlPointsVisibility = function (visible) {
|
|
480
|
+
var setItemControlPointsVisibility = function (item) {
|
|
481
|
+
item.setControlPointsVisibility(visible);
|
|
389
482
|
};
|
|
390
|
-
|
|
391
|
-
this.shapes.forEach(
|
|
392
|
-
this.
|
|
393
|
-
this.clipYAxis = null;
|
|
394
|
-
erase(chart.labelCollectors, this.labelCollector);
|
|
395
|
-
EventEmitterMixin.destroy.call(this);
|
|
396
|
-
ControllableMixin.destroy.call(this);
|
|
397
|
-
destroyObjectProperties(this, chart);
|
|
483
|
+
controllableProto.setControlPointsVisibility.call(this, visible);
|
|
484
|
+
this.shapes.forEach(setItemControlPointsVisibility);
|
|
485
|
+
this.labels.forEach(setItemControlPointsVisibility);
|
|
398
486
|
};
|
|
399
487
|
/**
|
|
400
|
-
* See {@link Highcharts.Chart#removeAnnotation}.
|
|
401
488
|
* @private
|
|
402
489
|
*/
|
|
403
|
-
Annotation.prototype.
|
|
404
|
-
|
|
405
|
-
|
|
490
|
+
Annotation.prototype.setLabelCollector = function () {
|
|
491
|
+
var annotation = this;
|
|
492
|
+
annotation.labelCollector = function () {
|
|
493
|
+
return annotation.labels.reduce(function (labels, label) {
|
|
494
|
+
if (!label.options.allowOverlap) {
|
|
495
|
+
labels.push(label.graphic);
|
|
496
|
+
}
|
|
497
|
+
return labels;
|
|
498
|
+
}, []);
|
|
499
|
+
};
|
|
500
|
+
annotation.chart.labelCollectors.push(annotation.labelCollector);
|
|
501
|
+
};
|
|
502
|
+
/**
|
|
503
|
+
* Set an annotation options.
|
|
504
|
+
* @private
|
|
505
|
+
* @param {Highcharts.AnnotationsOptions} userOptions
|
|
506
|
+
* User options for an annotation
|
|
507
|
+
*/
|
|
508
|
+
Annotation.prototype.setOptions = function (userOptions) {
|
|
509
|
+
this.options = merge(this.defaultOptions, userOptions);
|
|
510
|
+
};
|
|
511
|
+
/**
|
|
512
|
+
* Set the annotation's visibility.
|
|
513
|
+
* @private
|
|
514
|
+
* @param {boolean} [visible]
|
|
515
|
+
* Whether to show or hide an annotation. If the param is omitted, the
|
|
516
|
+
* annotation's visibility is toggled.
|
|
517
|
+
*/
|
|
518
|
+
Annotation.prototype.setVisibility = function (visible) {
|
|
519
|
+
var options = this.options, navigation = this.chart.navigationBindings, visibility = pick(visible, !options.visible);
|
|
520
|
+
this.graphic.attr('visibility', visibility ? 'inherit' : 'hidden');
|
|
521
|
+
if (!visibility) {
|
|
522
|
+
this.setControlPointsVisibility(false);
|
|
523
|
+
if (navigation.activeAnnotation === this &&
|
|
524
|
+
navigation.popup &&
|
|
525
|
+
navigation.popup.formType === 'annotation-toolbar') {
|
|
526
|
+
fireEvent(navigation, 'closePopup');
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
options.visible = visibility;
|
|
406
530
|
};
|
|
407
531
|
/**
|
|
408
532
|
* Updates an annotation.
|
|
@@ -410,11 +534,11 @@ var Annotation = /** @class */ (function () {
|
|
|
410
534
|
* @function Highcharts.Annotation#update
|
|
411
535
|
*
|
|
412
536
|
* @param {Partial<Highcharts.AnnotationsOptions>} userOptions
|
|
413
|
-
*
|
|
537
|
+
* New user options for the annotation.
|
|
414
538
|
*
|
|
415
539
|
*/
|
|
416
540
|
Annotation.prototype.update = function (userOptions, redraw) {
|
|
417
|
-
var chart = this.chart, labelsAndShapes =
|
|
541
|
+
var chart = this.chart, labelsAndShapes = getLabelsAndShapesOptions(this.userOptions, userOptions), userOptionsIndex = chart.annotations.indexOf(this), options = merge(true, this.userOptions, userOptions);
|
|
418
542
|
options.labels = labelsAndShapes.labels;
|
|
419
543
|
options.shapes = labelsAndShapes.shapes;
|
|
420
544
|
this.destroy();
|
|
@@ -428,98 +552,11 @@ var Annotation = /** @class */ (function () {
|
|
|
428
552
|
fireEvent(this, 'afterUpdate');
|
|
429
553
|
this.isUpdating = false;
|
|
430
554
|
};
|
|
431
|
-
/*
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
* Initialisation of a single shape
|
|
437
|
-
* @private
|
|
438
|
-
* @param {Object} shapeOptions
|
|
439
|
-
* a confg object for a single shape
|
|
440
|
-
* @param {number} index
|
|
441
|
-
* annotation may have many shapes, this is the shape's index saved in
|
|
442
|
-
* shapes.index.
|
|
443
|
-
*/
|
|
444
|
-
Annotation.prototype.initShape = function (shapeOptions, index) {
|
|
445
|
-
var options = merge(this.options.shapeOptions, {
|
|
446
|
-
controlPointOptions: this.options.controlPointOptions
|
|
447
|
-
}, shapeOptions), shape = new Annotation.shapesMap[options.type](this, options, index);
|
|
448
|
-
shape.itemType = 'shape';
|
|
449
|
-
this.shapes.push(shape);
|
|
450
|
-
return shape;
|
|
451
|
-
};
|
|
452
|
-
/**
|
|
453
|
-
* Initialisation of a single label
|
|
454
|
-
* @private
|
|
455
|
-
*/
|
|
456
|
-
Annotation.prototype.initLabel = function (labelOptions, index) {
|
|
457
|
-
var options = merge(this.options.labelOptions, {
|
|
458
|
-
controlPointOptions: this.options.controlPointOptions
|
|
459
|
-
}, labelOptions), label = new ControllableLabel(this, options, index);
|
|
460
|
-
label.itemType = 'label';
|
|
461
|
-
this.labels.push(label);
|
|
462
|
-
return label;
|
|
463
|
-
};
|
|
464
|
-
/**
|
|
465
|
-
* Redraw a single item.
|
|
466
|
-
* @private
|
|
467
|
-
* @param {Annotation.Label|Annotation.Shape} item
|
|
468
|
-
* @param {boolean} [animation]
|
|
469
|
-
*/
|
|
470
|
-
Annotation.prototype.redrawItem = function (item, animation) {
|
|
471
|
-
item.linkPoints();
|
|
472
|
-
if (!item.shouldBeDrawn()) {
|
|
473
|
-
this.destroyItem(item);
|
|
474
|
-
}
|
|
475
|
-
else {
|
|
476
|
-
if (!item.graphic) {
|
|
477
|
-
this.renderItem(item);
|
|
478
|
-
}
|
|
479
|
-
item.redraw(pick(animation, true) && item.graphic.placed);
|
|
480
|
-
if (item.points.length) {
|
|
481
|
-
this.adjustVisibility(item);
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
};
|
|
485
|
-
/**
|
|
486
|
-
* Hide or show annotaiton attached to points.
|
|
487
|
-
* @private
|
|
488
|
-
* @param {Annotation.Label|Annotation.Shape} item
|
|
489
|
-
*/
|
|
490
|
-
Annotation.prototype.adjustVisibility = function (item) {
|
|
491
|
-
var hasVisiblePoints = false, label = item.graphic;
|
|
492
|
-
item.points.forEach(function (point) {
|
|
493
|
-
if (point.series.visible !== false &&
|
|
494
|
-
point.visible !== false) {
|
|
495
|
-
hasVisiblePoints = true;
|
|
496
|
-
}
|
|
497
|
-
});
|
|
498
|
-
if (!hasVisiblePoints) {
|
|
499
|
-
label.hide();
|
|
500
|
-
}
|
|
501
|
-
else if (label.visibility === 'hidden') {
|
|
502
|
-
label.show();
|
|
503
|
-
}
|
|
504
|
-
};
|
|
505
|
-
/**
|
|
506
|
-
* Destroy a single item.
|
|
507
|
-
* @private
|
|
508
|
-
* @param {Annotation.Label|Annotation.Shape} item
|
|
509
|
-
*/
|
|
510
|
-
Annotation.prototype.destroyItem = function (item) {
|
|
511
|
-
// erase from shapes or labels array
|
|
512
|
-
erase(this[item.itemType + 's'], item);
|
|
513
|
-
item.destroy();
|
|
514
|
-
};
|
|
515
|
-
/**
|
|
516
|
-
* @private
|
|
517
|
-
*/
|
|
518
|
-
Annotation.prototype.renderItem = function (item) {
|
|
519
|
-
item.render(item.itemType === 'label' ?
|
|
520
|
-
this.labelsGroup :
|
|
521
|
-
this.shapesGroup);
|
|
522
|
-
};
|
|
555
|
+
/* *
|
|
556
|
+
*
|
|
557
|
+
* Static Properties
|
|
558
|
+
*
|
|
559
|
+
* */
|
|
523
560
|
/**
|
|
524
561
|
* @private
|
|
525
562
|
*/
|
|
@@ -545,12 +582,10 @@ var Annotation = /** @class */ (function () {
|
|
|
545
582
|
*/
|
|
546
583
|
Annotation.types = {};
|
|
547
584
|
return Annotation;
|
|
548
|
-
}());
|
|
549
|
-
merge(true, Annotation.prototype,
|
|
550
|
-
// restore original Annotation implementation after mixin overwrite
|
|
551
|
-
merge(Annotation.prototype,
|
|
552
|
-
/** @lends Highcharts.Annotation# */
|
|
553
|
-
{
|
|
585
|
+
}(EventEmitter));
|
|
586
|
+
merge(true, Annotation.prototype, Controllable.prototype,
|
|
587
|
+
// restore original Annotation implementation after mixin overwrite:
|
|
588
|
+
merge(Annotation.prototype, {
|
|
554
589
|
/**
|
|
555
590
|
* List of events for `annotation.options.events` that should not be
|
|
556
591
|
* added to `annotation.graphic` but to the `annotation`.
|
|
@@ -559,834 +594,8 @@ merge(Annotation.prototype,
|
|
|
559
594
|
* @type {Array<string>}
|
|
560
595
|
*/
|
|
561
596
|
nonDOMEvents: ['add', 'afterUpdate', 'drag', 'remove'],
|
|
562
|
-
|
|
563
|
-
* A basic type of an annotation. It allows to add custom labels
|
|
564
|
-
* or shapes. The items can be tied to points, axis coordinates
|
|
565
|
-
* or chart pixel coordinates.
|
|
566
|
-
*
|
|
567
|
-
* @sample highcharts/annotations/basic/
|
|
568
|
-
* Basic annotations
|
|
569
|
-
* @sample highcharts/demo/annotations/
|
|
570
|
-
* Advanced annotations
|
|
571
|
-
* @sample highcharts/css/annotations
|
|
572
|
-
* Styled mode
|
|
573
|
-
* @sample highcharts/annotations-advanced/controllable
|
|
574
|
-
* Controllable items
|
|
575
|
-
* @sample {highstock} stock/annotations/fibonacci-retracements
|
|
576
|
-
* Custom annotation, Fibonacci retracement
|
|
577
|
-
*
|
|
578
|
-
* @type {Array<*>}
|
|
579
|
-
* @since 6.0.0
|
|
580
|
-
* @requires modules/annotations
|
|
581
|
-
* @optionparent annotations
|
|
582
|
-
*
|
|
583
|
-
* @private
|
|
584
|
-
*/
|
|
585
|
-
defaultOptions: {
|
|
586
|
-
/**
|
|
587
|
-
* Sets an ID for an annotation. Can be user later when
|
|
588
|
-
* removing an annotation in [Chart#removeAnnotation(id)](
|
|
589
|
-
* /class-reference/Highcharts.Chart#removeAnnotation) method.
|
|
590
|
-
*
|
|
591
|
-
* @type {number|string}
|
|
592
|
-
* @apioption annotations.id
|
|
593
|
-
*/
|
|
594
|
-
/**
|
|
595
|
-
* Whether the annotation is visible.
|
|
596
|
-
*
|
|
597
|
-
* @sample highcharts/annotations/visible/
|
|
598
|
-
* Set annotation visibility
|
|
599
|
-
*/
|
|
600
|
-
visible: true,
|
|
601
|
-
/**
|
|
602
|
-
* Enable or disable the initial animation when a series is
|
|
603
|
-
* displayed for the `annotation`. The animation can also be set
|
|
604
|
-
* as a configuration object. Please note that this option only
|
|
605
|
-
* applies to the initial animation.
|
|
606
|
-
* For other animations, see [chart.animation](#chart.animation)
|
|
607
|
-
* and the animation parameter under the API methods.
|
|
608
|
-
* The following properties are supported:
|
|
609
|
-
*
|
|
610
|
-
* - `defer`: The animation delay time in milliseconds.
|
|
611
|
-
*
|
|
612
|
-
* @sample {highcharts} highcharts/annotations/defer/
|
|
613
|
-
* Animation defer settings
|
|
614
|
-
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
615
|
-
* @since 8.2.0
|
|
616
|
-
*/
|
|
617
|
-
animation: {},
|
|
618
|
-
/**
|
|
619
|
-
* Whether to hide the part of the annotation
|
|
620
|
-
* that is outside the plot area.
|
|
621
|
-
*
|
|
622
|
-
* @sample highcharts/annotations/label-crop-overflow/
|
|
623
|
-
* Crop line annotation
|
|
624
|
-
* @type {boolean}
|
|
625
|
-
* @since 9.3.0
|
|
626
|
-
*/
|
|
627
|
-
crop: true,
|
|
628
|
-
/**
|
|
629
|
-
* The animation delay time in milliseconds.
|
|
630
|
-
* Set to `0` renders annotation immediately.
|
|
631
|
-
* As `undefined` inherits defer time from the [series.animation.defer](#plotOptions.series.animation.defer).
|
|
632
|
-
*
|
|
633
|
-
* @type {number}
|
|
634
|
-
* @since 8.2.0
|
|
635
|
-
* @apioption annotations.animation.defer
|
|
636
|
-
*/
|
|
637
|
-
/**
|
|
638
|
-
* Allow an annotation to be draggable by a user. Possible
|
|
639
|
-
* values are `'x'`, `'xy'`, `'y'` and `''` (disabled).
|
|
640
|
-
*
|
|
641
|
-
* @sample highcharts/annotations/draggable/
|
|
642
|
-
* Annotations draggable: 'xy'
|
|
643
|
-
*
|
|
644
|
-
* @type {Highcharts.AnnotationDraggableValue}
|
|
645
|
-
*/
|
|
646
|
-
draggable: 'xy',
|
|
647
|
-
/**
|
|
648
|
-
* Options for annotation's labels. Each label inherits options
|
|
649
|
-
* from the labelOptions object. An option from the labelOptions
|
|
650
|
-
* can be overwritten by config for a specific label.
|
|
651
|
-
*
|
|
652
|
-
* @requires modules/annotations
|
|
653
|
-
*/
|
|
654
|
-
labelOptions: {
|
|
655
|
-
/**
|
|
656
|
-
* The alignment of the annotation's label. If right,
|
|
657
|
-
* the right side of the label should be touching the point.
|
|
658
|
-
*
|
|
659
|
-
* @sample highcharts/annotations/label-position/
|
|
660
|
-
* Set labels position
|
|
661
|
-
*
|
|
662
|
-
* @type {Highcharts.AlignValue}
|
|
663
|
-
*/
|
|
664
|
-
align: 'center',
|
|
665
|
-
/**
|
|
666
|
-
* Whether to allow the annotation's labels to overlap.
|
|
667
|
-
* To make the labels less sensitive for overlapping,
|
|
668
|
-
* the can be set to 0.
|
|
669
|
-
*
|
|
670
|
-
* @sample highcharts/annotations/tooltip-like/
|
|
671
|
-
* Hide overlapping labels
|
|
672
|
-
*/
|
|
673
|
-
allowOverlap: false,
|
|
674
|
-
/**
|
|
675
|
-
* The background color or gradient for the annotation's
|
|
676
|
-
* label.
|
|
677
|
-
*
|
|
678
|
-
* @sample highcharts/annotations/label-presentation/
|
|
679
|
-
* Set labels graphic options
|
|
680
|
-
*
|
|
681
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
682
|
-
*/
|
|
683
|
-
backgroundColor: 'rgba(0, 0, 0, 0.75)',
|
|
684
|
-
/**
|
|
685
|
-
* The border color for the annotation's label.
|
|
686
|
-
*
|
|
687
|
-
* @sample highcharts/annotations/label-presentation/
|
|
688
|
-
* Set labels graphic options
|
|
689
|
-
*
|
|
690
|
-
* @type {Highcharts.ColorString}
|
|
691
|
-
*/
|
|
692
|
-
borderColor: "#000000" /* Palette.neutralColor100 */,
|
|
693
|
-
/**
|
|
694
|
-
* The border radius in pixels for the annotaiton's label.
|
|
695
|
-
*
|
|
696
|
-
* @sample highcharts/annotations/label-presentation/
|
|
697
|
-
* Set labels graphic options
|
|
698
|
-
*/
|
|
699
|
-
borderRadius: 3,
|
|
700
|
-
/**
|
|
701
|
-
* The border width in pixels for the annotation's label
|
|
702
|
-
*
|
|
703
|
-
* @sample highcharts/annotations/label-presentation/
|
|
704
|
-
* Set labels graphic options
|
|
705
|
-
*/
|
|
706
|
-
borderWidth: 1,
|
|
707
|
-
/**
|
|
708
|
-
* A class name for styling by CSS.
|
|
709
|
-
*
|
|
710
|
-
* @sample highcharts/css/annotations
|
|
711
|
-
* Styled mode annotations
|
|
712
|
-
*
|
|
713
|
-
* @since 6.0.5
|
|
714
|
-
*/
|
|
715
|
-
className: 'highcharts-no-tooltip',
|
|
716
|
-
/**
|
|
717
|
-
* Whether to hide the annotation's label
|
|
718
|
-
* that is outside the plot area.
|
|
719
|
-
*
|
|
720
|
-
* @sample highcharts/annotations/label-crop-overflow/
|
|
721
|
-
* Crop or justify labels
|
|
722
|
-
*/
|
|
723
|
-
crop: false,
|
|
724
|
-
/**
|
|
725
|
-
* The label's pixel distance from the point.
|
|
726
|
-
*
|
|
727
|
-
* @sample highcharts/annotations/label-position/
|
|
728
|
-
* Set labels position
|
|
729
|
-
*
|
|
730
|
-
* @type {number}
|
|
731
|
-
* @apioption annotations.labelOptions.distance
|
|
732
|
-
*/
|
|
733
|
-
/**
|
|
734
|
-
* A
|
|
735
|
-
* [format](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
|
|
736
|
-
* string for the data label.
|
|
737
|
-
*
|
|
738
|
-
* @see [plotOptions.series.dataLabels.format](plotOptions.series.dataLabels.format.html)
|
|
739
|
-
*
|
|
740
|
-
* @sample highcharts/annotations/label-text/
|
|
741
|
-
* Set labels text
|
|
742
|
-
*
|
|
743
|
-
* @type {string}
|
|
744
|
-
* @apioption annotations.labelOptions.format
|
|
745
|
-
*/
|
|
746
|
-
/**
|
|
747
|
-
* Alias for the format option.
|
|
748
|
-
*
|
|
749
|
-
* @see [format](annotations.labelOptions.format.html)
|
|
750
|
-
*
|
|
751
|
-
* @sample highcharts/annotations/label-text/
|
|
752
|
-
* Set labels text
|
|
753
|
-
*
|
|
754
|
-
* @type {string}
|
|
755
|
-
* @apioption annotations.labelOptions.text
|
|
756
|
-
*/
|
|
757
|
-
/**
|
|
758
|
-
* Callback JavaScript function to format the annotation's
|
|
759
|
-
* label. Note that if a `format` or `text` are defined,
|
|
760
|
-
* the format or text take precedence and the formatter is
|
|
761
|
-
* ignored. `This` refers to a point object.
|
|
762
|
-
*
|
|
763
|
-
* @sample highcharts/annotations/label-text/
|
|
764
|
-
* Set labels text
|
|
765
|
-
*
|
|
766
|
-
* @type {Highcharts.FormatterCallbackFunction<Highcharts.Point>}
|
|
767
|
-
* @default function () { return defined(this.y) ? this.y : 'Annotation label'; }
|
|
768
|
-
*/
|
|
769
|
-
formatter: function () {
|
|
770
|
-
return defined(this.y) ? this.y : 'Annotation label';
|
|
771
|
-
},
|
|
772
|
-
/**
|
|
773
|
-
* Whether the annotation is visible in the exported data
|
|
774
|
-
* table.
|
|
775
|
-
*
|
|
776
|
-
* @sample highcharts/annotations/include-in-data-export/
|
|
777
|
-
* Do not include in the data export
|
|
778
|
-
*
|
|
779
|
-
* @since 8.2.0
|
|
780
|
-
* @requires modules/export-data
|
|
781
|
-
*/
|
|
782
|
-
includeInDataExport: true,
|
|
783
|
-
/**
|
|
784
|
-
* How to handle the annotation's label that flow outside
|
|
785
|
-
* the plot area. The justify option aligns the label inside
|
|
786
|
-
* the plot area.
|
|
787
|
-
*
|
|
788
|
-
* @sample highcharts/annotations/label-crop-overflow/
|
|
789
|
-
* Crop or justify labels
|
|
790
|
-
*
|
|
791
|
-
* @validvalue ["allow", "justify"]
|
|
792
|
-
*/
|
|
793
|
-
overflow: 'justify',
|
|
794
|
-
/**
|
|
795
|
-
* When either the borderWidth or the backgroundColor is
|
|
796
|
-
* set, this is the padding within the box.
|
|
797
|
-
*
|
|
798
|
-
* @sample highcharts/annotations/label-presentation/
|
|
799
|
-
* Set labels graphic options
|
|
800
|
-
*/
|
|
801
|
-
padding: 5,
|
|
802
|
-
/**
|
|
803
|
-
* The shadow of the box. The shadow can be an object
|
|
804
|
-
* configuration containing `color`, `offsetX`, `offsetY`,
|
|
805
|
-
* `opacity` and `width`.
|
|
806
|
-
*
|
|
807
|
-
* @sample highcharts/annotations/label-presentation/
|
|
808
|
-
* Set labels graphic options
|
|
809
|
-
*
|
|
810
|
-
* @type {boolean|Highcharts.ShadowOptionsObject}
|
|
811
|
-
*/
|
|
812
|
-
shadow: false,
|
|
813
|
-
/**
|
|
814
|
-
* The name of a symbol to use for the border around the
|
|
815
|
-
* label. Symbols are predefined functions on the Renderer
|
|
816
|
-
* object.
|
|
817
|
-
*
|
|
818
|
-
* @sample highcharts/annotations/shapes/
|
|
819
|
-
* Available shapes for labels
|
|
820
|
-
*/
|
|
821
|
-
shape: 'callout',
|
|
822
|
-
/**
|
|
823
|
-
* Styles for the annotation's label.
|
|
824
|
-
*
|
|
825
|
-
* @see [plotOptions.series.dataLabels.style](plotOptions.series.dataLabels.style.html)
|
|
826
|
-
*
|
|
827
|
-
* @sample highcharts/annotations/label-presentation/
|
|
828
|
-
* Set labels graphic options
|
|
829
|
-
*
|
|
830
|
-
* @type {Highcharts.CSSObject}
|
|
831
|
-
*/
|
|
832
|
-
style: {
|
|
833
|
-
/** @ignore */
|
|
834
|
-
fontSize: '11px',
|
|
835
|
-
/** @ignore */
|
|
836
|
-
fontWeight: 'normal',
|
|
837
|
-
/** @ignore */
|
|
838
|
-
color: 'contrast'
|
|
839
|
-
},
|
|
840
|
-
/**
|
|
841
|
-
* Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)
|
|
842
|
-
* to render the annotation's label.
|
|
843
|
-
*/
|
|
844
|
-
useHTML: false,
|
|
845
|
-
/**
|
|
846
|
-
* The vertical alignment of the annotation's label.
|
|
847
|
-
*
|
|
848
|
-
* @sample highcharts/annotations/label-position/
|
|
849
|
-
* Set labels position
|
|
850
|
-
*
|
|
851
|
-
* @type {Highcharts.VerticalAlignValue}
|
|
852
|
-
*/
|
|
853
|
-
verticalAlign: 'bottom',
|
|
854
|
-
/**
|
|
855
|
-
* The x position offset of the label relative to the point.
|
|
856
|
-
* Note that if a `distance` is defined, the distance takes
|
|
857
|
-
* precedence over `x` and `y` options.
|
|
858
|
-
*
|
|
859
|
-
* @sample highcharts/annotations/label-position/
|
|
860
|
-
* Set labels position
|
|
861
|
-
*/
|
|
862
|
-
x: 0,
|
|
863
|
-
/**
|
|
864
|
-
* The y position offset of the label relative to the point.
|
|
865
|
-
* Note that if a `distance` is defined, the distance takes
|
|
866
|
-
* precedence over `x` and `y` options.
|
|
867
|
-
*
|
|
868
|
-
* @sample highcharts/annotations/label-position/
|
|
869
|
-
* Set labels position
|
|
870
|
-
*/
|
|
871
|
-
y: -16
|
|
872
|
-
},
|
|
873
|
-
/**
|
|
874
|
-
* An array of labels for the annotation. For options that apply
|
|
875
|
-
* to multiple labels, they can be added to the
|
|
876
|
-
* [labelOptions](annotations.labelOptions.html).
|
|
877
|
-
*
|
|
878
|
-
* @type {Array<*>}
|
|
879
|
-
* @extends annotations.labelOptions
|
|
880
|
-
* @apioption annotations.labels
|
|
881
|
-
*/
|
|
882
|
-
/**
|
|
883
|
-
* This option defines the point to which the label will be
|
|
884
|
-
* connected. It can be either the point which exists in the
|
|
885
|
-
* series - it is referenced by the point's id - or a new point
|
|
886
|
-
* with defined x, y properties and optionally axes.
|
|
887
|
-
*
|
|
888
|
-
* @sample highcharts/annotations/mock-point/
|
|
889
|
-
* Attach annotation to a mock point
|
|
890
|
-
* @sample highcharts/annotations/mock-points/
|
|
891
|
-
* Attach annotation to a mock point with different ways
|
|
892
|
-
*
|
|
893
|
-
* @declare Highcharts.AnnotationMockPointOptionsObject
|
|
894
|
-
* @type {
|
|
895
|
-
* string|
|
|
896
|
-
* Highcharts.AnnotationMockPointOptionsObject|
|
|
897
|
-
* Highcharts.AnnotationMockPointFunction
|
|
898
|
-
* }
|
|
899
|
-
* @requires modules/annotations
|
|
900
|
-
* @apioption annotations.labels.point
|
|
901
|
-
*/
|
|
902
|
-
/**
|
|
903
|
-
* An array of shapes for the annotation. For options that apply
|
|
904
|
-
* to multiple shapes, then can be added to the
|
|
905
|
-
* [shapeOptions](annotations.shapeOptions.html).
|
|
906
|
-
*
|
|
907
|
-
* @type {Array<*>}
|
|
908
|
-
* @extends annotations.shapeOptions
|
|
909
|
-
* @apioption annotations.shapes
|
|
910
|
-
*/
|
|
911
|
-
/**
|
|
912
|
-
* This option defines the point to which the shape will be
|
|
913
|
-
* connected. It can be either the point which exists in the
|
|
914
|
-
* series - it is referenced by the point's id - or a new point
|
|
915
|
-
* with defined x, y properties and optionally axes.
|
|
916
|
-
*
|
|
917
|
-
* @sample highcharts/annotations/mock-points/
|
|
918
|
-
* Attach annotation to a mock point with different ways
|
|
919
|
-
*
|
|
920
|
-
* @declare Highcharts.AnnotationMockPointOptionsObject
|
|
921
|
-
* @type {
|
|
922
|
-
* string|
|
|
923
|
-
* Highcharts.AnnotationMockPointOptionsObject|
|
|
924
|
-
* Highcharts.AnnotationMockPointFunction
|
|
925
|
-
* }
|
|
926
|
-
* @extends annotations.labels.point
|
|
927
|
-
* @requires modules/annotations
|
|
928
|
-
* @apioption annotations.shapes.point
|
|
929
|
-
*/
|
|
930
|
-
/**
|
|
931
|
-
* An array of points for the shape
|
|
932
|
-
* or a callback function that returns that shape point.
|
|
933
|
-
*
|
|
934
|
-
* This option is available
|
|
935
|
-
* for shapes which can use multiple points such as path. A
|
|
936
|
-
* point can be either a point object or a point's id.
|
|
937
|
-
*
|
|
938
|
-
* @see [annotations.shapes.point](annotations.shapes.point.html)
|
|
939
|
-
*
|
|
940
|
-
* @type {Array<Highcharts.AnnotationShapePointOptions>}
|
|
941
|
-
* @extends annotations.labels.point
|
|
942
|
-
* @apioption annotations.shapes.points
|
|
943
|
-
*/
|
|
944
|
-
/**
|
|
945
|
-
* The URL for an image to use as the annotation shape. Note,
|
|
946
|
-
* type has to be set to `'image'`.
|
|
947
|
-
*
|
|
948
|
-
* @see [annotations.shapes.type](annotations.shapes.type)
|
|
949
|
-
* @sample highcharts/annotations/shape-src/
|
|
950
|
-
* Define a marker image url for annotations
|
|
951
|
-
*
|
|
952
|
-
* @type {string}
|
|
953
|
-
* @apioption annotations.shapes.src
|
|
954
|
-
*/
|
|
955
|
-
/**
|
|
956
|
-
* Id of the marker which will be drawn at the final vertex of
|
|
957
|
-
* the path. Custom markers can be defined in defs property.
|
|
958
|
-
*
|
|
959
|
-
* @see [defs.markers](defs.markers.html)
|
|
960
|
-
*
|
|
961
|
-
* @sample highcharts/annotations/custom-markers/
|
|
962
|
-
* Define a custom marker for annotations
|
|
963
|
-
*
|
|
964
|
-
* @type {string}
|
|
965
|
-
* @apioption annotations.shapes.markerEnd
|
|
966
|
-
*/
|
|
967
|
-
/**
|
|
968
|
-
* Id of the marker which will be drawn at the first vertex of
|
|
969
|
-
* the path. Custom markers can be defined in defs property.
|
|
970
|
-
*
|
|
971
|
-
* @see [defs.markers](defs.markers.html)
|
|
972
|
-
*
|
|
973
|
-
* @sample {highcharts} highcharts/annotations/custom-markers/
|
|
974
|
-
* Define a custom marker for annotations
|
|
975
|
-
*
|
|
976
|
-
* @type {string}
|
|
977
|
-
* @apioption annotations.shapes.markerStart
|
|
978
|
-
*/
|
|
979
|
-
/**
|
|
980
|
-
* Options for annotation's shapes. Each shape inherits options
|
|
981
|
-
* from the shapeOptions object. An option from the shapeOptions
|
|
982
|
-
* can be overwritten by config for a specific shape.
|
|
983
|
-
*
|
|
984
|
-
* @requires modules/annotations
|
|
985
|
-
*/
|
|
986
|
-
shapeOptions: {
|
|
987
|
-
/**
|
|
988
|
-
*
|
|
989
|
-
* The radius of the shape in y direction.
|
|
990
|
-
* Used for the ellipse.
|
|
991
|
-
*
|
|
992
|
-
* @sample highcharts/annotations/ellipse/
|
|
993
|
-
* Ellipse annotation
|
|
994
|
-
*
|
|
995
|
-
* @type {number}
|
|
996
|
-
* @apioption annotations.shapeOptions.ry
|
|
997
|
-
**/
|
|
998
|
-
/**
|
|
999
|
-
*
|
|
1000
|
-
* The xAxis index to which the points should be attached.
|
|
1001
|
-
* Used for the ellipse.
|
|
1002
|
-
*
|
|
1003
|
-
* @type {number}
|
|
1004
|
-
* @apioption annotations.shapeOptions.xAxis
|
|
1005
|
-
**/
|
|
1006
|
-
/**
|
|
1007
|
-
* The yAxis index to which the points should be attached.
|
|
1008
|
-
* Used for the ellipse.
|
|
1009
|
-
*
|
|
1010
|
-
* @type {number}
|
|
1011
|
-
* @apioption annotations.shapeOptions.yAxis
|
|
1012
|
-
**/
|
|
1013
|
-
/**
|
|
1014
|
-
* The width of the shape.
|
|
1015
|
-
*
|
|
1016
|
-
* @sample highcharts/annotations/shape/
|
|
1017
|
-
* Basic shape annotation
|
|
1018
|
-
*
|
|
1019
|
-
* @type {number}
|
|
1020
|
-
* @apioption annotations.shapeOptions.width
|
|
1021
|
-
**/
|
|
1022
|
-
/**
|
|
1023
|
-
* The height of the shape.
|
|
1024
|
-
*
|
|
1025
|
-
* @sample highcharts/annotations/shape/
|
|
1026
|
-
* Basic shape annotation
|
|
1027
|
-
*
|
|
1028
|
-
* @type {number}
|
|
1029
|
-
* @apioption annotations.shapeOptions.height
|
|
1030
|
-
*/
|
|
1031
|
-
/**
|
|
1032
|
-
* The type of the shape.
|
|
1033
|
-
* Avaliable options are circle, rect and ellipse.
|
|
1034
|
-
*
|
|
1035
|
-
* @sample highcharts/annotations/shape/
|
|
1036
|
-
* Basic shape annotation
|
|
1037
|
-
*
|
|
1038
|
-
* @sample highcharts/annotations/ellipse/
|
|
1039
|
-
* Ellipse annotation
|
|
1040
|
-
*
|
|
1041
|
-
* @type {string}
|
|
1042
|
-
* @default rect
|
|
1043
|
-
* @apioption annotations.shapeOptions.type
|
|
1044
|
-
*/
|
|
1045
|
-
/**
|
|
1046
|
-
* The URL for an image to use as the annotation shape.
|
|
1047
|
-
* Note, type has to be set to `'image'`.
|
|
1048
|
-
*
|
|
1049
|
-
* @see [annotations.shapeOptions.type](annotations.shapeOptions.type)
|
|
1050
|
-
* @sample highcharts/annotations/shape-src/
|
|
1051
|
-
* Define a marker image url for annotations
|
|
1052
|
-
*
|
|
1053
|
-
* @type {string}
|
|
1054
|
-
* @apioption annotations.shapeOptions.src
|
|
1055
|
-
*/
|
|
1056
|
-
/**
|
|
1057
|
-
* Name of the dash style to use for the shape's stroke.
|
|
1058
|
-
*
|
|
1059
|
-
* @sample {highcharts} highcharts/plotoptions/series-dashstyle-all/
|
|
1060
|
-
* Possible values demonstrated
|
|
1061
|
-
*
|
|
1062
|
-
* @type {Highcharts.DashStyleValue}
|
|
1063
|
-
* @apioption annotations.shapeOptions.dashStyle
|
|
1064
|
-
*/
|
|
1065
|
-
/**
|
|
1066
|
-
* The color of the shape's stroke.
|
|
1067
|
-
*
|
|
1068
|
-
* @sample highcharts/annotations/shape/
|
|
1069
|
-
* Basic shape annotation
|
|
1070
|
-
*
|
|
1071
|
-
* @type {Highcharts.ColorString}
|
|
1072
|
-
*/
|
|
1073
|
-
stroke: 'rgba(0, 0, 0, 0.75)',
|
|
1074
|
-
/**
|
|
1075
|
-
* The pixel stroke width of the shape.
|
|
1076
|
-
*
|
|
1077
|
-
* @sample highcharts/annotations/shape/
|
|
1078
|
-
* Basic shape annotation
|
|
1079
|
-
*/
|
|
1080
|
-
strokeWidth: 1,
|
|
1081
|
-
/**
|
|
1082
|
-
* The color of the shape's fill.
|
|
1083
|
-
*
|
|
1084
|
-
* @sample highcharts/annotations/shape/
|
|
1085
|
-
* Basic shape annotation
|
|
1086
|
-
*
|
|
1087
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
1088
|
-
*/
|
|
1089
|
-
fill: 'rgba(0, 0, 0, 0.75)',
|
|
1090
|
-
/**
|
|
1091
|
-
* The radius of the shape.
|
|
1092
|
-
*
|
|
1093
|
-
* @sample highcharts/annotations/shape/
|
|
1094
|
-
* Basic shape annotation
|
|
1095
|
-
*/
|
|
1096
|
-
r: 0,
|
|
1097
|
-
/**
|
|
1098
|
-
* Defines additional snapping area around an annotation
|
|
1099
|
-
* making this annotation to focus. Defined in pixels.
|
|
1100
|
-
*/
|
|
1101
|
-
snap: 2
|
|
1102
|
-
},
|
|
1103
|
-
/**
|
|
1104
|
-
* Options for annotation's control points. Each control point
|
|
1105
|
-
* inherits options from controlPointOptions object.
|
|
1106
|
-
* Options from the controlPointOptions can be overwritten
|
|
1107
|
-
* by options in a specific control point.
|
|
1108
|
-
*
|
|
1109
|
-
* @declare Highcharts.AnnotationControlPointOptionsObject
|
|
1110
|
-
* @requires modules/annotations
|
|
1111
|
-
* @apioption annotations.controlPointOptions
|
|
1112
|
-
*/
|
|
1113
|
-
controlPointOptions: {
|
|
1114
|
-
/**
|
|
1115
|
-
* @type {Highcharts.AnnotationControlPointPositionerFunction}
|
|
1116
|
-
* @apioption annotations.controlPointOptions.positioner
|
|
1117
|
-
*/
|
|
1118
|
-
symbol: 'circle',
|
|
1119
|
-
width: 10,
|
|
1120
|
-
height: 10,
|
|
1121
|
-
style: {
|
|
1122
|
-
cursor: 'pointer',
|
|
1123
|
-
fill: "#ffffff" /* Palette.backgroundColor */,
|
|
1124
|
-
stroke: "#000000" /* Palette.neutralColor100 */,
|
|
1125
|
-
'stroke-width': 2
|
|
1126
|
-
},
|
|
1127
|
-
visible: false,
|
|
1128
|
-
events: {}
|
|
1129
|
-
},
|
|
1130
|
-
/**
|
|
1131
|
-
* Event callback when annotation is added to the chart.
|
|
1132
|
-
*
|
|
1133
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1134
|
-
* @since 7.1.0
|
|
1135
|
-
* @apioption annotations.events.add
|
|
1136
|
-
*/
|
|
1137
|
-
/**
|
|
1138
|
-
* Event callback when annotation is updated (e.g. drag and
|
|
1139
|
-
* droppped or resized by control points).
|
|
1140
|
-
*
|
|
1141
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1142
|
-
* @since 7.1.0
|
|
1143
|
-
* @apioption annotations.events.afterUpdate
|
|
1144
|
-
*/
|
|
1145
|
-
/**
|
|
1146
|
-
* Fires when the annotation is clicked.
|
|
1147
|
-
*
|
|
1148
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1149
|
-
* @since 7.1.0
|
|
1150
|
-
* @apioption annotations.events.click
|
|
1151
|
-
*/
|
|
1152
|
-
/**
|
|
1153
|
-
* Event callback when annotation is removed from the chart.
|
|
1154
|
-
*
|
|
1155
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1156
|
-
* @since 7.1.0
|
|
1157
|
-
* @apioption annotations.events.remove
|
|
1158
|
-
*/
|
|
1159
|
-
/**
|
|
1160
|
-
* Events available in annotations.
|
|
1161
|
-
*
|
|
1162
|
-
* @requires modules/annotations
|
|
1163
|
-
*/
|
|
1164
|
-
events: {},
|
|
1165
|
-
/**
|
|
1166
|
-
* The Z index of the annotation.
|
|
1167
|
-
*/
|
|
1168
|
-
zIndex: 6
|
|
1169
|
-
}
|
|
597
|
+
defaultOptions: AnnotationDefaults
|
|
1170
598
|
}));
|
|
1171
|
-
H.extendAnnotation = function (Constructor, BaseConstructor, prototype, defaultOptions) {
|
|
1172
|
-
BaseConstructor = BaseConstructor || Annotation;
|
|
1173
|
-
extend(Constructor.prototype, merge(BaseConstructor.prototype, prototype));
|
|
1174
|
-
Constructor.prototype.defaultOptions = merge(Constructor.prototype.defaultOptions, defaultOptions || {});
|
|
1175
|
-
};
|
|
1176
|
-
/* *********************************************************************
|
|
1177
|
-
*
|
|
1178
|
-
* EXTENDING CHART PROTOTYPE
|
|
1179
|
-
*
|
|
1180
|
-
******************************************************************** */
|
|
1181
|
-
extend(chartProto, /** @lends Highcharts.Chart# */ {
|
|
1182
|
-
initAnnotation: function (userOptions) {
|
|
1183
|
-
var Constructor = Annotation
|
|
1184
|
-
.types[userOptions.type] || Annotation, annotation = new Constructor(this, userOptions);
|
|
1185
|
-
this.annotations.push(annotation);
|
|
1186
|
-
return annotation;
|
|
1187
|
-
},
|
|
1188
|
-
/**
|
|
1189
|
-
* Add an annotation to the chart after render time.
|
|
1190
|
-
*
|
|
1191
|
-
* @param {Highcharts.AnnotationsOptions} options
|
|
1192
|
-
* The annotation options for the new, detailed annotation.
|
|
1193
|
-
* @param {boolean} [redraw]
|
|
1194
|
-
* @sample highcharts/annotations/add-annotation/
|
|
1195
|
-
* Add annotation
|
|
1196
|
-
* @return {Highcharts.Annotation} - The newly generated annotation.
|
|
1197
|
-
*/
|
|
1198
|
-
addAnnotation: function (userOptions, redraw) {
|
|
1199
|
-
var annotation = this.initAnnotation(userOptions);
|
|
1200
|
-
this.options.annotations.push(annotation.options);
|
|
1201
|
-
if (pick(redraw, true)) {
|
|
1202
|
-
annotation.redraw();
|
|
1203
|
-
annotation.graphic.attr({
|
|
1204
|
-
opacity: 1
|
|
1205
|
-
});
|
|
1206
|
-
}
|
|
1207
|
-
return annotation;
|
|
1208
|
-
},
|
|
1209
|
-
/**
|
|
1210
|
-
* Remove an annotation from the chart.
|
|
1211
|
-
*
|
|
1212
|
-
* @param {number|string|Highcharts.Annotation} idOrAnnotation
|
|
1213
|
-
* The annotation's id or direct annotation object.
|
|
1214
|
-
*/
|
|
1215
|
-
removeAnnotation: function (idOrAnnotation) {
|
|
1216
|
-
var annotations = this.annotations, annotation = (idOrAnnotation.coll === 'annotations') ?
|
|
1217
|
-
idOrAnnotation :
|
|
1218
|
-
find(annotations, function (annotation) {
|
|
1219
|
-
return annotation.options.id === idOrAnnotation;
|
|
1220
|
-
});
|
|
1221
|
-
if (annotation) {
|
|
1222
|
-
fireEvent(annotation, 'remove');
|
|
1223
|
-
erase(this.options.annotations, annotation.options);
|
|
1224
|
-
erase(annotations, annotation);
|
|
1225
|
-
annotation.destroy();
|
|
1226
|
-
}
|
|
1227
|
-
},
|
|
1228
|
-
drawAnnotations: function () {
|
|
1229
|
-
this.plotBoxClip.attr(this.plotBox);
|
|
1230
|
-
this.annotations.forEach(function (annotation) {
|
|
1231
|
-
annotation.redraw();
|
|
1232
|
-
annotation.graphic.animate({
|
|
1233
|
-
opacity: 1
|
|
1234
|
-
}, annotation.animationConfig);
|
|
1235
|
-
});
|
|
1236
|
-
}
|
|
1237
|
-
});
|
|
1238
|
-
// Let chart.update() update annotations
|
|
1239
|
-
chartProto.collectionsWithUpdate.push('annotations');
|
|
1240
|
-
// Let chart.update() create annoations on demand
|
|
1241
|
-
chartProto.collectionsWithInit.annotations = [chartProto.addAnnotation];
|
|
1242
|
-
// Create lookups initially
|
|
1243
|
-
addEvent(Chart, 'afterInit', function () {
|
|
1244
|
-
this.annotations = [];
|
|
1245
|
-
if (!this.options.annotations) {
|
|
1246
|
-
this.options.annotations = [];
|
|
1247
|
-
}
|
|
1248
|
-
});
|
|
1249
|
-
chartProto.callbacks.push(function (chart) {
|
|
1250
|
-
chart.plotBoxClip = this.renderer.clipRect(this.plotBox);
|
|
1251
|
-
chart.controlPointsGroup = chart.renderer
|
|
1252
|
-
.g('control-points')
|
|
1253
|
-
.attr({ zIndex: 99 })
|
|
1254
|
-
.clip(chart.plotBoxClip)
|
|
1255
|
-
.add();
|
|
1256
|
-
chart.options.annotations.forEach(function (annotationOptions, i) {
|
|
1257
|
-
if (
|
|
1258
|
-
// Verify that it has not been previously added in a responsive rule
|
|
1259
|
-
!chart.annotations.some(function (annotation) {
|
|
1260
|
-
return annotation.options === annotationOptions;
|
|
1261
|
-
})) {
|
|
1262
|
-
var annotation = chart.initAnnotation(annotationOptions);
|
|
1263
|
-
chart.options.annotations[i] = annotation.options;
|
|
1264
|
-
}
|
|
1265
|
-
});
|
|
1266
|
-
chart.drawAnnotations();
|
|
1267
|
-
addEvent(chart, 'redraw', chart.drawAnnotations);
|
|
1268
|
-
addEvent(chart, 'destroy', function () {
|
|
1269
|
-
chart.plotBoxClip.destroy();
|
|
1270
|
-
chart.controlPointsGroup.destroy();
|
|
1271
|
-
});
|
|
1272
|
-
addEvent(chart, 'exportData', function (event) {
|
|
1273
|
-
var annotations = chart.annotations, csvColumnHeaderFormatter = ((this.options.exporting &&
|
|
1274
|
-
this.options.exporting.csv) ||
|
|
1275
|
-
{}).columnHeaderFormatter,
|
|
1276
|
-
// If second row doesn't have xValues
|
|
1277
|
-
// then it is a title row thus multiple level header is in use.
|
|
1278
|
-
multiLevelHeaders = !event.dataRows[1].xValues, annotationHeader = (chart.options.lang &&
|
|
1279
|
-
chart.options.lang.exportData &&
|
|
1280
|
-
chart.options.lang.exportData.annotationHeader), columnHeaderFormatter = function (index) {
|
|
1281
|
-
var s;
|
|
1282
|
-
if (csvColumnHeaderFormatter) {
|
|
1283
|
-
s = csvColumnHeaderFormatter(index);
|
|
1284
|
-
if (s !== false) {
|
|
1285
|
-
return s;
|
|
1286
|
-
}
|
|
1287
|
-
}
|
|
1288
|
-
s = annotationHeader + ' ' + index;
|
|
1289
|
-
if (multiLevelHeaders) {
|
|
1290
|
-
return {
|
|
1291
|
-
columnTitle: s,
|
|
1292
|
-
topLevelColumnTitle: s
|
|
1293
|
-
};
|
|
1294
|
-
}
|
|
1295
|
-
return s;
|
|
1296
|
-
}, startRowLength = event.dataRows[0].length, annotationSeparator = (chart.options.exporting &&
|
|
1297
|
-
chart.options.exporting.csv &&
|
|
1298
|
-
chart.options.exporting.csv.annotations &&
|
|
1299
|
-
chart.options.exporting.csv.annotations.itemDelimiter), joinAnnotations = (chart.options.exporting &&
|
|
1300
|
-
chart.options.exporting.csv &&
|
|
1301
|
-
chart.options.exporting.csv.annotations &&
|
|
1302
|
-
chart.options.exporting.csv.annotations.join);
|
|
1303
|
-
annotations.forEach(function (annotation) {
|
|
1304
|
-
if (annotation.options.labelOptions &&
|
|
1305
|
-
annotation.options.labelOptions.includeInDataExport) {
|
|
1306
|
-
annotation.labels.forEach(function (label) {
|
|
1307
|
-
if (label.options.text) {
|
|
1308
|
-
var annotationText_1 = label.options.text;
|
|
1309
|
-
label.points.forEach(function (points) {
|
|
1310
|
-
var annotationX = points.x, xAxisIndex = points.series.xAxis ?
|
|
1311
|
-
points.series.xAxis.options.index :
|
|
1312
|
-
-1;
|
|
1313
|
-
var wasAdded = false;
|
|
1314
|
-
// Annotation not connected to any xAxis -
|
|
1315
|
-
// add new row.
|
|
1316
|
-
if (xAxisIndex === -1) {
|
|
1317
|
-
var n = event.dataRows[0].length, newRow = new Array(n);
|
|
1318
|
-
for (var i = 0; i < n; ++i) {
|
|
1319
|
-
newRow[i] = '';
|
|
1320
|
-
}
|
|
1321
|
-
newRow.push(annotationText_1);
|
|
1322
|
-
newRow.xValues = [];
|
|
1323
|
-
newRow.xValues[xAxisIndex] = annotationX;
|
|
1324
|
-
event.dataRows.push(newRow);
|
|
1325
|
-
wasAdded = true;
|
|
1326
|
-
}
|
|
1327
|
-
// Annotation placed on a exported data point
|
|
1328
|
-
// - add new column
|
|
1329
|
-
if (!wasAdded) {
|
|
1330
|
-
event.dataRows.forEach(function (row) {
|
|
1331
|
-
if (!wasAdded &&
|
|
1332
|
-
row.xValues &&
|
|
1333
|
-
xAxisIndex !== void 0 &&
|
|
1334
|
-
annotationX === row.xValues[xAxisIndex]) {
|
|
1335
|
-
if (joinAnnotations &&
|
|
1336
|
-
row.length > startRowLength) {
|
|
1337
|
-
row[row.length - 1] += (annotationSeparator +
|
|
1338
|
-
annotationText_1);
|
|
1339
|
-
}
|
|
1340
|
-
else {
|
|
1341
|
-
row.push(annotationText_1);
|
|
1342
|
-
}
|
|
1343
|
-
wasAdded = true;
|
|
1344
|
-
}
|
|
1345
|
-
});
|
|
1346
|
-
}
|
|
1347
|
-
// Annotation not placed on any exported data point,
|
|
1348
|
-
// but connected to the xAxis - add new row
|
|
1349
|
-
if (!wasAdded) {
|
|
1350
|
-
var n = event.dataRows[0].length, newRow = new Array(n);
|
|
1351
|
-
for (var i = 0; i < n; ++i) {
|
|
1352
|
-
newRow[i] = '';
|
|
1353
|
-
}
|
|
1354
|
-
newRow[0] = annotationX;
|
|
1355
|
-
newRow.push(annotationText_1);
|
|
1356
|
-
newRow.xValues = [];
|
|
1357
|
-
if (xAxisIndex !== void 0) {
|
|
1358
|
-
newRow.xValues[xAxisIndex] = annotationX;
|
|
1359
|
-
}
|
|
1360
|
-
event.dataRows.push(newRow);
|
|
1361
|
-
}
|
|
1362
|
-
});
|
|
1363
|
-
}
|
|
1364
|
-
});
|
|
1365
|
-
}
|
|
1366
|
-
});
|
|
1367
|
-
var maxRowLen = 0;
|
|
1368
|
-
event.dataRows.forEach(function (row) {
|
|
1369
|
-
maxRowLen = Math.max(maxRowLen, row.length);
|
|
1370
|
-
});
|
|
1371
|
-
var newRows = maxRowLen - event.dataRows[0].length;
|
|
1372
|
-
for (var i = 0; i < newRows; i++) {
|
|
1373
|
-
var header = columnHeaderFormatter(i + 1);
|
|
1374
|
-
if (multiLevelHeaders) {
|
|
1375
|
-
event.dataRows[0].push(header.topLevelColumnTitle);
|
|
1376
|
-
event.dataRows[1].push(header.columnTitle);
|
|
1377
|
-
}
|
|
1378
|
-
else {
|
|
1379
|
-
event.dataRows[0].push(header);
|
|
1380
|
-
}
|
|
1381
|
-
}
|
|
1382
|
-
});
|
|
1383
|
-
});
|
|
1384
|
-
wrap(Pointer.prototype, 'onContainerMouseDown', function (proceed) {
|
|
1385
|
-
if (!this.chart.hasDraggedAnnotation) {
|
|
1386
|
-
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
|
|
1387
|
-
}
|
|
1388
|
-
});
|
|
1389
|
-
H.Annotation = Annotation;
|
|
1390
599
|
/* *
|
|
1391
600
|
*
|
|
1392
601
|
* Default Export
|
|
@@ -1399,55 +608,37 @@ export default Annotation;
|
|
|
1399
608
|
*
|
|
1400
609
|
* */
|
|
1401
610
|
/**
|
|
1402
|
-
*
|
|
1403
|
-
*
|
|
1404
|
-
* @interface Highcharts.AnnotationMockPointOptionsObject
|
|
1405
|
-
*
|
|
1406
|
-
*/
|
|
1407
|
-
/**
|
|
1408
|
-
* The x position of the point. Units can be either in axis
|
|
1409
|
-
* or chart pixel coordinates.
|
|
1410
|
-
*
|
|
1411
|
-
* @type {number}
|
|
1412
|
-
* @name Highcharts.AnnotationMockPointOptionsObject.x
|
|
1413
|
-
*/
|
|
1414
|
-
/**
|
|
1415
|
-
* The y position of the point. Units can be either in axis
|
|
1416
|
-
* or chart pixel coordinates.
|
|
611
|
+
* Possible directions for draggable annotations. An empty string (`''`)
|
|
612
|
+
* makes the annotation undraggable.
|
|
1417
613
|
*
|
|
1418
|
-
* @
|
|
1419
|
-
* @
|
|
614
|
+
* @typedef {''|'x'|'xy'|'y'} Highcharts.AnnotationDraggableValue
|
|
615
|
+
* @requires modules/annotations
|
|
1420
616
|
*/
|
|
1421
617
|
/**
|
|
1422
|
-
*
|
|
1423
|
-
*
|
|
1424
|
-
*
|
|
1425
|
-
*
|
|
1426
|
-
*
|
|
1427
|
-
*
|
|
1428
|
-
*
|
|
1429
|
-
* @
|
|
618
|
+
* @private
|
|
619
|
+
* @typedef {
|
|
620
|
+
* Highcharts.AnnotationControllableCircle|
|
|
621
|
+
* Highcharts.AnnotationControllableImage|
|
|
622
|
+
* Highcharts.AnnotationControllablePath|
|
|
623
|
+
* Highcharts.AnnotationControllableRect
|
|
624
|
+
* } Highcharts.AnnotationShapeType
|
|
625
|
+
* @requires modules/annotations
|
|
1430
626
|
*/
|
|
1431
627
|
/**
|
|
1432
|
-
*
|
|
1433
|
-
*
|
|
1434
|
-
*
|
|
1435
|
-
*
|
|
1436
|
-
*
|
|
1437
|
-
*
|
|
1438
|
-
* @type {number|string|null}
|
|
1439
|
-
* @name Highcharts.AnnotationMockPointOptionsObject.yAxis
|
|
628
|
+
* @private
|
|
629
|
+
* @typedef {
|
|
630
|
+
* Highcharts.AnnotationControllableLabel
|
|
631
|
+
* } Highcharts.AnnotationLabelType
|
|
632
|
+
* @requires modules/annotations
|
|
1440
633
|
*/
|
|
1441
634
|
/**
|
|
1442
|
-
*
|
|
1443
|
-
*
|
|
1444
|
-
* @
|
|
1445
|
-
*
|
|
1446
|
-
*
|
|
1447
|
-
*
|
|
1448
|
-
*
|
|
1449
|
-
* @return {Highcharts.AnnotationMockPointOptionsObject}
|
|
1450
|
-
* Annotations shape point.
|
|
635
|
+
* A point-like object, a mock point or a point used in series.
|
|
636
|
+
* @private
|
|
637
|
+
* @typedef {
|
|
638
|
+
* Highcharts.AnnotationMockPoint|
|
|
639
|
+
* Highcharts.Point
|
|
640
|
+
* } Highcharts.AnnotationPointType
|
|
641
|
+
* @requires modules/annotations
|
|
1451
642
|
*/
|
|
1452
643
|
/**
|
|
1453
644
|
* Shape point as string, object or function.
|
|
@@ -1456,6 +647,6 @@ export default Annotation;
|
|
|
1456
647
|
* string|
|
|
1457
648
|
* Highcharts.AnnotationMockPointOptionsObject|
|
|
1458
649
|
* Highcharts.AnnotationMockPointFunction
|
|
1459
|
-
* }Highcharts.AnnotationShapePointOptions
|
|
650
|
+
* } Highcharts.AnnotationShapePointOptions
|
|
1460
651
|
*/
|
|
1461
|
-
''; //
|
|
652
|
+
(''); // keeps doclets above in JS file
|