highcharts 10.0.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/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +8 -3
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
- package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
- package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +1 -1
- package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
- package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
- package/es-modules/Core/Animation/Fx.js +1 -1
- package/es-modules/Core/Axis/Axis.js +51 -46
- package/es-modules/Core/Axis/Axis3D.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +9 -9
- package/es-modules/Core/Axis/BrokenAxis.js +1 -1
- package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +821 -822
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- 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/Tick.js +22 -18
- 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 +76 -71
- package/es-modules/Core/Chart/Chart.js +42 -9
- package/es-modules/Core/Chart/Chart3D.js +2 -2
- package/es-modules/Core/Chart/ChartDefaults.js +165 -5
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +3 -1
- package/es-modules/Core/Chart/StockChart.js +12 -8
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +19 -16
- package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
- package/es-modules/Core/Globals.js +2 -1
- package/es-modules/Core/HttpUtilities.js +39 -37
- package/es-modules/Core/Legend/Legend.js +4 -4
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/{Extensions → Core}/Math3D.js +48 -43
- package/es-modules/Core/Navigator.js +31 -14
- package/es-modules/Core/Pointer.js +8 -10
- package/es-modules/Core/Renderer/HTML/AST.js +13 -7
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
- package/es-modules/Core/Scrollbar.js +12 -6
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +63 -40
- package/es-modules/Core/Series/Point.js +11 -2
- package/es-modules/Core/Series/Series.js +60 -43
- package/es-modules/Core/Series/Series3D.js +4 -2
- package/es-modules/Core/Series/SeriesDefaults.js +11 -6
- package/es-modules/Core/Series/SeriesRegistry.js +6 -29
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +17 -6
- package/es-modules/Core/Utilities.js +7 -9
- package/es-modules/Data/DataConverter.js +6 -1
- 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 +14 -12
- package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +1 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
- package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
- package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
- package/es-modules/Data/Modifiers/SortModifier.js +4 -2
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +2 -2
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
- package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
- package/es-modules/Data/Stores/CSVStore.js +8 -5
- package/es-modules/Data/Stores/DataStore.js +1 -1
- package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/Annotation.js +652 -0
- 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 +95 -63
- 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 -663
- 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 +23 -23
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
- package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
- 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 +70 -48
- package/es-modules/Extensions/Breadcrumbs.js +37 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +638 -602
- package/es-modules/Extensions/DataGrouping.js +68 -28
- package/es-modules/Extensions/Debugger/Debugger.js +60 -22
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DownloadURL.js +3 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +4 -3
- package/es-modules/Extensions/Drilldown.js +15 -14
- package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
- package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
- package/es-modules/Extensions/Exporting/Exporting.js +30 -17
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
- package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
- package/es-modules/Extensions/GeoJSON.js +3 -4
- package/es-modules/Extensions/MarkerClusters.js +5 -3
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -2
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Pane.js +3 -3
- package/es-modules/Extensions/ParallelCoordinates.js +12 -8
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
- package/es-modules/Maps/MapNavigation.js +3 -7
- package/es-modules/Maps/MapPointer.js +1 -1
- package/es-modules/Maps/MapView.js +31 -19
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
- package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
- package/es-modules/Maps/Projection.js +13 -11
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
- package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
- package/es-modules/Series/Bar/BarSeries.js +3 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
- package/es-modules/Series/Bullet/BulletPoint.js +3 -1
- package/es-modules/Series/Bullet/BulletSeries.js +4 -3
- package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
- package/es-modules/Series/CenteredUtilities.js +8 -2
- package/es-modules/Series/ColorMapComposition.js +111 -0
- package/es-modules/Series/Column/ColumnSeries.js +8 -4
- package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- package/es-modules/Series/DragNodesComposition.js +166 -0
- package/es-modules/Series/DrawPointUtilities.js +87 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
- package/es-modules/Series/Flags/FlagsPoint.js +4 -1
- package/es-modules/Series/Flags/FlagsSeries.js +13 -16
- package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
- package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +4 -2
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
- package/es-modules/Series/GraphLayoutComposition.js +130 -0
- package/es-modules/Series/HLC/HLCPoint.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +4 -2
- package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
- package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
- package/es-modules/Series/Item/ItemPoint.js +3 -1
- package/es-modules/Series/Item/ItemSeries.js +3 -1
- package/es-modules/Series/Line/LineSeries.js +4 -2
- package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
- package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
- package/es-modules/Series/Map/MapPoint.js +8 -6
- package/es-modules/Series/Map/MapSeries.js +115 -28
- package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
- package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
- 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/NodesComposition.js +45 -40
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
- package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
- package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
- package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +4 -2
- package/es-modules/Series/Pie/PiePoint.js +3 -1
- package/es-modules/Series/Pie/PieSeries.js +54 -38
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
- package/es-modules/Series/PolarComposition.js +819 -0
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
- package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
- package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
- package/es-modules/Series/Sankey/SankeySeries.js +38 -10
- package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
- package/es-modules/Series/SeriesOnPointComposition.js +395 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
- package/es-modules/Series/Spline/SplineSeries.js +13 -4
- package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
- package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
- package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
- package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
- package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
- package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
- package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
- package/es-modules/Series/Vector/VectorSeries.js +5 -5
- package/es-modules/Series/Venn/VennPoint.js +5 -5
- package/es-modules/Series/Venn/VennSeries.js +9 -6
- package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
- package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
- package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
- package/es-modules/Series/XRange/XRangePoint.js +57 -46
- package/es-modules/Series/XRange/XRangeSeries.js +124 -274
- package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
- package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
- package/es-modules/Stock/StockToolbar.js +568 -0
- package/es-modules/Stock/StockTools.js +256 -0
- package/es-modules/Stock/StockToolsBindings.js +140 -647
- 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 +7 -6
- 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 +2 -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 +5 -2
- package/es-modules/masters/modules/series-on-point.src.js +16 -0
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +2 -6
- 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 +233 -212
- package/highcharts-gantt.js +809 -805
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +3817 -3470
- package/highcharts-more.d.ts +15 -8
- package/highcharts-more.js +201 -195
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +15 -8
- package/highcharts-more.src.js +7994 -7461
- package/highcharts.d.ts +11364 -1136
- package/highcharts.js +593 -591
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +11364 -1136
- package/highcharts.src.js +1408 -1117
- package/highmaps.js +762 -758
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2237 -1721
- package/highstock.js +796 -792
- package/highstock.js.map +1 -1
- package/highstock.src.js +1617 -1224
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -12
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +99 -101
- 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 +25 -16
- package/indicators/apo.js +1 -1
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +6 -1
- package/indicators/aroon-oscillator.d.ts +1 -17
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +1 -17
- package/indicators/aroon-oscillator.src.js +95 -101
- package/indicators/aroon.d.ts +1 -17
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +1 -17
- package/indicators/aroon.src.js +104 -101
- package/indicators/atr.js +1 -1
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +17 -4
- package/indicators/bollinger-bands.d.ts +1 -17
- package/indicators/bollinger-bands.js +11 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +1 -17
- package/indicators/bollinger-bands.src.js +97 -103
- 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 +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +104 -105
- 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.d.ts +1 -17
- package/indicators/indicators-all.js +200 -199
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +882 -284
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +12 -2
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -12
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +114 -99
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +101 -102
- package/indicators/macd.js +10 -9
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +46 -25
- 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.d.ts +1 -17
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +1 -17
- package/indicators/price-channel.src.js +102 -107
- 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.d.ts +1 -17
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +1 -17
- package/indicators/stochastic.src.js +104 -99
- package/indicators/supertrend.js +7 -7
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +21 -9
- 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 +246 -242
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +797 -664
- 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 +9229 -8589
- 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 +6190 -5528
- package/modules/arc-diagram.js +7 -7
- package/modules/arc-diagram.js.map +1 -1
- package/modules/arc-diagram.src.js +10 -2
- 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 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.d.ts +19 -0
- package/modules/boost-canvas.src.js +3342 -52
- package/modules/boost.d.ts +8 -26
- package/modules/boost.js +88 -80
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.d.ts +8 -26
- package/modules/boost.src.js +2435 -1889
- 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.js.map +1 -1
- package/modules/bullet.src.js +2 -5
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +9 -5
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +2 -2
- package/modules/cylinder.js +9 -9
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +2 -2
- package/modules/data.d.ts +12 -12
- package/modules/data.js +33 -34
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +862 -829
- package/modules/datagrouping.d.ts +22 -0
- package/modules/datagrouping.js +9 -9
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +22 -0
- package/modules/datagrouping.src.js +69 -29
- package/modules/debugger.js +8 -6
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +85 -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 +2 -2
- 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 +37 -37
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +0 -10
- package/modules/drilldown.src.js +59 -25
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +24 -12
- package/modules/export-data.js +25 -22
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +641 -469
- package/modules/exporting.d.ts +8 -8
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +8 -8
- package/modules/exporting.src.js +442 -319
- package/modules/full-screen.js +8 -8
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +196 -78
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +3 -3
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +2 -2
- package/modules/gantt.js +219 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +2420 -2364
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +890 -891
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +137 -108
- 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 +9 -9
- 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 -169
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +3 -3
- package/modules/map.src.js +830 -605
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +4 -6
- package/modules/networkgraph.d.ts +1 -17
- package/modules/networkgraph.js +55 -50
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -17
- package/modules/networkgraph.src.js +2339 -2008
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +5 -5
- 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 +3 -3
- package/modules/organization.js +15 -15
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +12 -4
- 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 +14 -9
- 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 +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +15 -2
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.d.ts +1 -17
- package/modules/sankey.js +32 -32
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -17
- package/modules/sankey.src.js +102 -57
- package/modules/series-label.js +18 -18
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +474 -387
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +468 -0
- package/modules/solid-gauge.js +4 -4
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +6 -6
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +1 -1
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +4 -8
- 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 +2652 -6347
- package/modules/stock.d.ts +8 -0
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +8 -0
- package/modules/stock.src.js +208 -106
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +73 -73
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +251 -193
- 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 +6 -4
- package/modules/treegrid.js +57 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +1908 -1901
- package/modules/treemap.js +54 -53
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +217 -183
- 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 +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +82 -111
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +84 -113
- 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 +2 -2
- package/themes/high-contrast-dark.src.js +11 -11
- package/themes/high-contrast-light.js +2 -2
- package/themes/high-contrast-light.src.js +10 -10
- 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 -216
- package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
- package/es-modules/Core/Axis/TreeGridTick.js +0 -317
- package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
- 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 -150
- package/es-modules/Extensions/Boost/BoostInit.js +0 -323
- 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/FullScreen.js +0 -240
- package/es-modules/Extensions/Polar.js +0 -740
- package/es-modules/Extensions/Stacking.js +0 -517
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -114
- 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 -1178
- package/es-modules/Series/XRange/XRangeComposition.js +0 -49
|
@@ -1,1449 +0,0 @@
|
|
|
1
|
-
/* *
|
|
2
|
-
*
|
|
3
|
-
* (c) 2009-2021 Highsoft, Black Label
|
|
4
|
-
*
|
|
5
|
-
* License: www.highcharts.com/license
|
|
6
|
-
*
|
|
7
|
-
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
-
*
|
|
9
|
-
* */
|
|
10
|
-
'use strict';
|
|
11
|
-
import A from '../../Core/Animation/AnimationUtilities.js';
|
|
12
|
-
var getDeferredAnimation = A.getDeferredAnimation;
|
|
13
|
-
import Chart from '../../Core/Chart/Chart.js';
|
|
14
|
-
var chartProto = Chart.prototype;
|
|
15
|
-
import ControllableMixin from './Mixins/ControllableMixin.js';
|
|
16
|
-
import ControllableRect from './Controllables/ControllableRect.js';
|
|
17
|
-
import ControllableCircle from './Controllables/ControllableCircle.js';
|
|
18
|
-
import ControllableEllipse from './Controllables/ControllableEllipse.js';
|
|
19
|
-
import ControllablePath from './Controllables/ControllablePath.js';
|
|
20
|
-
import ControllableImage from './Controllables/ControllableImage.js';
|
|
21
|
-
import ControllableLabel from './Controllables/ControllableLabel.js';
|
|
22
|
-
import ControlPoint from './ControlPoint.js';
|
|
23
|
-
import EventEmitterMixin from './Mixins/EventEmitterMixin.js';
|
|
24
|
-
import H from '../../Core/Globals.js';
|
|
25
|
-
import MockPoint from './MockPoint.js';
|
|
26
|
-
import Pointer from '../../Core/Pointer.js';
|
|
27
|
-
import U from '../../Core/Utilities.js';
|
|
28
|
-
var addEvent = U.addEvent, defined = U.defined, 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;
|
|
29
|
-
/* *********************************************************************
|
|
30
|
-
*
|
|
31
|
-
* ANNOTATION
|
|
32
|
-
*
|
|
33
|
-
******************************************************************** */
|
|
34
|
-
/**
|
|
35
|
-
* Possible directions for draggable annotations. An empty string (`''`)
|
|
36
|
-
* makes the annotation undraggable.
|
|
37
|
-
*
|
|
38
|
-
* @typedef {''|'x'|'xy'|'y'} Highcharts.AnnotationDraggableValue
|
|
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
|
-
*/
|
|
51
|
-
/**
|
|
52
|
-
* @private
|
|
53
|
-
* @typedef {
|
|
54
|
-
* Highcharts.AnnotationControllableLabel
|
|
55
|
-
* }
|
|
56
|
-
* Highcharts.AnnotationLabelType
|
|
57
|
-
* @requires modules/annotations
|
|
58
|
-
*/
|
|
59
|
-
/**
|
|
60
|
-
* A point-like object, a mock point or a point used in series.
|
|
61
|
-
* @private
|
|
62
|
-
* @typedef {Highcharts.AnnotationMockPoint|Highcharts.Point} Highcharts.AnnotationPointType
|
|
63
|
-
* @requires modules/annotations
|
|
64
|
-
*/
|
|
65
|
-
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
66
|
-
/**
|
|
67
|
-
* An annotation class which serves as a container for items like labels or
|
|
68
|
-
* shapes. Created items are positioned on the chart either by linking them to
|
|
69
|
-
* existing points or created mock points
|
|
70
|
-
*
|
|
71
|
-
* @class
|
|
72
|
-
* @name Highcharts.Annotation
|
|
73
|
-
*
|
|
74
|
-
* @param {Highcharts.Chart} chart a chart instance
|
|
75
|
-
* @param {Highcharts.AnnotationsOptions} userOptions the options object
|
|
76
|
-
*/
|
|
77
|
-
var Annotation = /** @class */ (function () {
|
|
78
|
-
/* *
|
|
79
|
-
*
|
|
80
|
-
* Constructors
|
|
81
|
-
*
|
|
82
|
-
* */
|
|
83
|
-
function Annotation(chart, userOptions) {
|
|
84
|
-
/* *
|
|
85
|
-
*
|
|
86
|
-
* Properties
|
|
87
|
-
*
|
|
88
|
-
* */
|
|
89
|
-
this.annotation = void 0;
|
|
90
|
-
this.coll = 'annotations';
|
|
91
|
-
this.collection = void 0;
|
|
92
|
-
this.animationConfig = void 0;
|
|
93
|
-
this.graphic = void 0;
|
|
94
|
-
this.group = void 0;
|
|
95
|
-
this.labelCollector = void 0;
|
|
96
|
-
this.labelsGroup = void 0;
|
|
97
|
-
this.shapesGroup = void 0;
|
|
98
|
-
var labelsAndShapes;
|
|
99
|
-
/**
|
|
100
|
-
* The chart that the annotation belongs to.
|
|
101
|
-
*
|
|
102
|
-
* @type {Highcharts.Chart}
|
|
103
|
-
*/
|
|
104
|
-
this.chart = chart;
|
|
105
|
-
/**
|
|
106
|
-
* The array of points which defines the annotation.
|
|
107
|
-
*
|
|
108
|
-
* @type {Array<Highcharts.Point>}
|
|
109
|
-
*/
|
|
110
|
-
this.points = [];
|
|
111
|
-
/**
|
|
112
|
-
* The array of control points.
|
|
113
|
-
*
|
|
114
|
-
* @private
|
|
115
|
-
* @name Highcharts.Annotation#controlPoints
|
|
116
|
-
* @type {Array<Annotation.ControlPoint>}
|
|
117
|
-
*/
|
|
118
|
-
this.controlPoints = [];
|
|
119
|
-
this.coll = 'annotations';
|
|
120
|
-
/**
|
|
121
|
-
* The array of labels which belong to the annotation.
|
|
122
|
-
*
|
|
123
|
-
* @private
|
|
124
|
-
* @name Highcharts.Annotation#labels
|
|
125
|
-
* @type {Array<Highcharts.AnnotationLabelType>}
|
|
126
|
-
*/
|
|
127
|
-
this.labels = [];
|
|
128
|
-
/**
|
|
129
|
-
* The array of shapes which belong to the annotation.
|
|
130
|
-
*
|
|
131
|
-
* @private
|
|
132
|
-
* @name Highcharts.Annotation#shapes
|
|
133
|
-
* @type {Array<Highcharts.AnnotationShapeType>}
|
|
134
|
-
*/
|
|
135
|
-
this.shapes = [];
|
|
136
|
-
/**
|
|
137
|
-
* The options for the annotations.
|
|
138
|
-
*
|
|
139
|
-
* @name Highcharts.Annotation#options
|
|
140
|
-
* @type {Highcharts.AnnotationsOptions}
|
|
141
|
-
*/
|
|
142
|
-
this.options = merge(this.defaultOptions, userOptions);
|
|
143
|
-
/**
|
|
144
|
-
* The user options for the annotations.
|
|
145
|
-
*
|
|
146
|
-
* @name Highcharts.Annotation#userOptions
|
|
147
|
-
* @type {Highcharts.AnnotationsOptions}
|
|
148
|
-
*/
|
|
149
|
-
this.userOptions = userOptions;
|
|
150
|
-
// Handle labels and shapes - those are arrays
|
|
151
|
-
// Merging does not work with arrays (stores reference)
|
|
152
|
-
labelsAndShapes = this.getLabelsAndShapesOptions(this.options, userOptions);
|
|
153
|
-
this.options.labels = labelsAndShapes.labels;
|
|
154
|
-
this.options.shapes = labelsAndShapes.shapes;
|
|
155
|
-
/**
|
|
156
|
-
* The callback that reports to the overlapping-labels module which
|
|
157
|
-
* labels it should account for.
|
|
158
|
-
* @private
|
|
159
|
-
* @name Highcharts.Annotation#labelCollector
|
|
160
|
-
* @type {Function}
|
|
161
|
-
*/
|
|
162
|
-
/**
|
|
163
|
-
* The group svg element.
|
|
164
|
-
*
|
|
165
|
-
* @name Highcharts.Annotation#group
|
|
166
|
-
* @type {Highcharts.SVGElement}
|
|
167
|
-
*/
|
|
168
|
-
/**
|
|
169
|
-
* The group svg element of the annotation's shapes.
|
|
170
|
-
*
|
|
171
|
-
* @name Highcharts.Annotation#shapesGroup
|
|
172
|
-
* @type {Highcharts.SVGElement}
|
|
173
|
-
*/
|
|
174
|
-
/**
|
|
175
|
-
* The group svg element of the annotation's labels.
|
|
176
|
-
*
|
|
177
|
-
* @name Highcharts.Annotation#labelsGroup
|
|
178
|
-
* @type {Highcharts.SVGElement}
|
|
179
|
-
*/
|
|
180
|
-
this.init(chart, this.options);
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Initialize the annotation.
|
|
184
|
-
* @private
|
|
185
|
-
*/
|
|
186
|
-
Annotation.prototype.init = function () {
|
|
187
|
-
var chart = this.chart, animOptions = this.options.animation;
|
|
188
|
-
this.linkPoints();
|
|
189
|
-
this.addControlPoints();
|
|
190
|
-
this.addShapes();
|
|
191
|
-
this.addLabels();
|
|
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
|
-
if (baseOptions[name]) {
|
|
199
|
-
if (newOptions[name]) {
|
|
200
|
-
mergedOptions[name] = splat(newOptions[name]).map(function (basicOptions, i) {
|
|
201
|
-
return merge(baseOptions[name][i], basicOptions);
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
mergedOptions[name] = baseOptions[name];
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
return mergedOptions;
|
|
210
|
-
};
|
|
211
|
-
Annotation.prototype.addShapes = function () {
|
|
212
|
-
(this.options.shapes || []).forEach(function (shapeOptions, i) {
|
|
213
|
-
var shape = this.initShape(shapeOptions, i);
|
|
214
|
-
merge(true, this.options.shapes[i], shape.options);
|
|
215
|
-
}, this);
|
|
216
|
-
};
|
|
217
|
-
Annotation.prototype.addLabels = function () {
|
|
218
|
-
(this.options.labels || []).forEach(function (labelsOptions, i) {
|
|
219
|
-
var labels = this.initLabel(labelsOptions, i);
|
|
220
|
-
merge(true, this.options.labels[i], labels.options);
|
|
221
|
-
}, this);
|
|
222
|
-
};
|
|
223
|
-
Annotation.prototype.addClipPaths = function () {
|
|
224
|
-
this.setClipAxes();
|
|
225
|
-
if (this.clipXAxis &&
|
|
226
|
-
this.clipYAxis &&
|
|
227
|
-
this.options.crop // #15399
|
|
228
|
-
) {
|
|
229
|
-
this.clipRect = this.chart.renderer.clipRect(this.getClipBox());
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
Annotation.prototype.setClipAxes = function () {
|
|
233
|
-
var xAxes = this.chart.xAxis, yAxes = this.chart.yAxis, linkedAxes = (this.options.labels || [])
|
|
234
|
-
.concat(this.options.shapes || [])
|
|
235
|
-
.reduce(function (axes, labelOrShape) {
|
|
236
|
-
var point = labelOrShape &&
|
|
237
|
-
(labelOrShape.point ||
|
|
238
|
-
(labelOrShape.points && labelOrShape.points[0]));
|
|
239
|
-
return [
|
|
240
|
-
xAxes[point && point.xAxis] || axes[0],
|
|
241
|
-
yAxes[point && point.yAxis] || axes[1]
|
|
242
|
-
];
|
|
243
|
-
}, []);
|
|
244
|
-
this.clipXAxis = linkedAxes[0];
|
|
245
|
-
this.clipYAxis = linkedAxes[1];
|
|
246
|
-
};
|
|
247
|
-
Annotation.prototype.getClipBox = function () {
|
|
248
|
-
if (this.clipXAxis && this.clipYAxis) {
|
|
249
|
-
return {
|
|
250
|
-
x: this.clipXAxis.left,
|
|
251
|
-
y: this.clipYAxis.top,
|
|
252
|
-
width: this.clipXAxis.width,
|
|
253
|
-
height: this.clipYAxis.height
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
Annotation.prototype.setLabelCollector = function () {
|
|
258
|
-
var annotation = this;
|
|
259
|
-
annotation.labelCollector = function () {
|
|
260
|
-
return annotation.labels.reduce(function (labels, label) {
|
|
261
|
-
if (!label.options.allowOverlap) {
|
|
262
|
-
labels.push(label.graphic);
|
|
263
|
-
}
|
|
264
|
-
return labels;
|
|
265
|
-
}, []);
|
|
266
|
-
};
|
|
267
|
-
annotation.chart.labelCollectors.push(annotation.labelCollector);
|
|
268
|
-
};
|
|
269
|
-
/**
|
|
270
|
-
* Set an annotation options.
|
|
271
|
-
* @private
|
|
272
|
-
* @param {Highcharts.AnnotationsOptions} - user options for an annotation
|
|
273
|
-
*/
|
|
274
|
-
Annotation.prototype.setOptions = function (userOptions) {
|
|
275
|
-
this.options = merge(this.defaultOptions, userOptions);
|
|
276
|
-
};
|
|
277
|
-
Annotation.prototype.redraw = function (animation) {
|
|
278
|
-
this.linkPoints();
|
|
279
|
-
if (!this.graphic) {
|
|
280
|
-
this.render();
|
|
281
|
-
}
|
|
282
|
-
if (this.clipRect) {
|
|
283
|
-
this.clipRect.animate(this.getClipBox());
|
|
284
|
-
}
|
|
285
|
-
this.redrawItems(this.shapes, animation);
|
|
286
|
-
this.redrawItems(this.labels, animation);
|
|
287
|
-
ControllableMixin.redraw.call(this, animation);
|
|
288
|
-
};
|
|
289
|
-
/**
|
|
290
|
-
* @private
|
|
291
|
-
* @param {Array<Highcharts.AnnotationControllable>} items
|
|
292
|
-
* @param {boolean} [animation]
|
|
293
|
-
*/
|
|
294
|
-
Annotation.prototype.redrawItems = function (items, animation) {
|
|
295
|
-
var i = items.length;
|
|
296
|
-
// needs a backward loop
|
|
297
|
-
// labels/shapes array might be modified
|
|
298
|
-
// due to destruction of the item
|
|
299
|
-
while (i--) {
|
|
300
|
-
this.redrawItem(items[i], animation);
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
/**
|
|
304
|
-
* @private
|
|
305
|
-
* @param {Array<Highcharts.AnnotationControllable>} items
|
|
306
|
-
*/
|
|
307
|
-
Annotation.prototype.renderItems = function (items) {
|
|
308
|
-
var i = items.length;
|
|
309
|
-
while (i--) {
|
|
310
|
-
this.renderItem(items[i]);
|
|
311
|
-
}
|
|
312
|
-
};
|
|
313
|
-
Annotation.prototype.render = function () {
|
|
314
|
-
var renderer = this.chart.renderer;
|
|
315
|
-
this.graphic = renderer
|
|
316
|
-
.g('annotation')
|
|
317
|
-
.attr({
|
|
318
|
-
opacity: 0,
|
|
319
|
-
zIndex: this.options.zIndex,
|
|
320
|
-
visibility: this.options.visible ?
|
|
321
|
-
'visible' :
|
|
322
|
-
'hidden'
|
|
323
|
-
})
|
|
324
|
-
.add();
|
|
325
|
-
this.shapesGroup = renderer
|
|
326
|
-
.g('annotation-shapes')
|
|
327
|
-
.add(this.graphic);
|
|
328
|
-
if (this.options.crop) { // #15399
|
|
329
|
-
this.shapesGroup.clip(this.chart.plotBoxClip);
|
|
330
|
-
}
|
|
331
|
-
this.labelsGroup = renderer
|
|
332
|
-
.g('annotation-labels')
|
|
333
|
-
.attr({
|
|
334
|
-
// hideOverlappingLabels requires translation
|
|
335
|
-
translateX: 0,
|
|
336
|
-
translateY: 0
|
|
337
|
-
})
|
|
338
|
-
.add(this.graphic);
|
|
339
|
-
this.addClipPaths();
|
|
340
|
-
if (this.clipRect) {
|
|
341
|
-
this.graphic.clip(this.clipRect);
|
|
342
|
-
}
|
|
343
|
-
// Render shapes and labels before adding events (#13070).
|
|
344
|
-
this.renderItems(this.shapes);
|
|
345
|
-
this.renderItems(this.labels);
|
|
346
|
-
this.addEvents();
|
|
347
|
-
ControllableMixin.render.call(this);
|
|
348
|
-
};
|
|
349
|
-
/**
|
|
350
|
-
* Set the annotation's visibility.
|
|
351
|
-
* @private
|
|
352
|
-
* @param {boolean} [visible]
|
|
353
|
-
* Whether to show or hide an annotation. If the param is omitted, the
|
|
354
|
-
* annotation's visibility is toggled.
|
|
355
|
-
*/
|
|
356
|
-
Annotation.prototype.setVisibility = function (visible) {
|
|
357
|
-
var options = this.options, navigation = this.chart.navigationBindings, visibility = pick(visible, !options.visible);
|
|
358
|
-
this.graphic.attr('visibility', visibility ? 'visible' : 'hidden');
|
|
359
|
-
if (!visibility) {
|
|
360
|
-
this.setControlPointsVisibility(false);
|
|
361
|
-
if (navigation.activeAnnotation === this &&
|
|
362
|
-
navigation.popup &&
|
|
363
|
-
navigation.popup.formType === 'annotation-toolbar') {
|
|
364
|
-
fireEvent(navigation, 'closePopup');
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
options.visible = visibility;
|
|
368
|
-
};
|
|
369
|
-
Annotation.prototype.setControlPointsVisibility = function (visible) {
|
|
370
|
-
var setItemControlPointsVisibility = function (item) {
|
|
371
|
-
item.setControlPointsVisibility(visible);
|
|
372
|
-
};
|
|
373
|
-
ControllableMixin.setControlPointsVisibility.call(this, visible);
|
|
374
|
-
this.shapes.forEach(setItemControlPointsVisibility);
|
|
375
|
-
this.labels.forEach(setItemControlPointsVisibility);
|
|
376
|
-
};
|
|
377
|
-
/**
|
|
378
|
-
* Destroy the annotation. This function does not touch the chart
|
|
379
|
-
* that the annotation belongs to (all annotations are kept in
|
|
380
|
-
* the chart.annotations array) - it is recommended to use
|
|
381
|
-
* {@link Highcharts.Chart#removeAnnotation} instead.
|
|
382
|
-
* @private
|
|
383
|
-
*/
|
|
384
|
-
Annotation.prototype.destroy = function () {
|
|
385
|
-
var chart = this.chart, destroyItem = function (item) {
|
|
386
|
-
item.destroy();
|
|
387
|
-
};
|
|
388
|
-
this.labels.forEach(destroyItem);
|
|
389
|
-
this.shapes.forEach(destroyItem);
|
|
390
|
-
this.clipXAxis = null;
|
|
391
|
-
this.clipYAxis = null;
|
|
392
|
-
erase(chart.labelCollectors, this.labelCollector);
|
|
393
|
-
EventEmitterMixin.destroy.call(this);
|
|
394
|
-
ControllableMixin.destroy.call(this);
|
|
395
|
-
destroyObjectProperties(this, chart);
|
|
396
|
-
};
|
|
397
|
-
/**
|
|
398
|
-
* See {@link Highcharts.Chart#removeAnnotation}.
|
|
399
|
-
* @private
|
|
400
|
-
*/
|
|
401
|
-
Annotation.prototype.remove = function () {
|
|
402
|
-
// Let chart.update() remove annoations on demand
|
|
403
|
-
return this.chart.removeAnnotation(this);
|
|
404
|
-
};
|
|
405
|
-
/**
|
|
406
|
-
* Updates an annotation.
|
|
407
|
-
*
|
|
408
|
-
* @function Highcharts.Annotation#update
|
|
409
|
-
*
|
|
410
|
-
* @param {Partial<Highcharts.AnnotationsOptions>} userOptions
|
|
411
|
-
* New user options for the annotation.
|
|
412
|
-
*
|
|
413
|
-
*/
|
|
414
|
-
Annotation.prototype.update = function (userOptions, redraw) {
|
|
415
|
-
var chart = this.chart, labelsAndShapes = this.getLabelsAndShapesOptions(this.userOptions, userOptions), userOptionsIndex = chart.annotations.indexOf(this), options = merge(true, this.userOptions, userOptions);
|
|
416
|
-
options.labels = labelsAndShapes.labels;
|
|
417
|
-
options.shapes = labelsAndShapes.shapes;
|
|
418
|
-
this.destroy();
|
|
419
|
-
this.constructor(chart, options);
|
|
420
|
-
// Update options in chart options, used in exporting (#9767):
|
|
421
|
-
chart.options.annotations[userOptionsIndex] = options;
|
|
422
|
-
this.isUpdating = true;
|
|
423
|
-
if (pick(redraw, true)) {
|
|
424
|
-
chart.redraw();
|
|
425
|
-
}
|
|
426
|
-
fireEvent(this, 'afterUpdate');
|
|
427
|
-
this.isUpdating = false;
|
|
428
|
-
};
|
|
429
|
-
/* *************************************************************
|
|
430
|
-
* ITEM SECTION
|
|
431
|
-
* Contains methods for handling a single item in an annotation
|
|
432
|
-
**************************************************************** */
|
|
433
|
-
/**
|
|
434
|
-
* Initialisation of a single shape
|
|
435
|
-
* @private
|
|
436
|
-
* @param {Object} shapeOptions
|
|
437
|
-
* a confg object for a single shape
|
|
438
|
-
* @param {number} index
|
|
439
|
-
* annotation may have many shapes, this is the shape's index saved in
|
|
440
|
-
* shapes.index.
|
|
441
|
-
*/
|
|
442
|
-
Annotation.prototype.initShape = function (shapeOptions, index) {
|
|
443
|
-
var options = merge(this.options.shapeOptions, {
|
|
444
|
-
controlPointOptions: this.options.controlPointOptions
|
|
445
|
-
}, shapeOptions), shape = new Annotation.shapesMap[options.type](this, options, index);
|
|
446
|
-
shape.itemType = 'shape';
|
|
447
|
-
this.shapes.push(shape);
|
|
448
|
-
return shape;
|
|
449
|
-
};
|
|
450
|
-
/**
|
|
451
|
-
* Initialisation of a single label
|
|
452
|
-
* @private
|
|
453
|
-
*/
|
|
454
|
-
Annotation.prototype.initLabel = function (labelOptions, index) {
|
|
455
|
-
var options = merge(this.options.labelOptions, {
|
|
456
|
-
controlPointOptions: this.options.controlPointOptions
|
|
457
|
-
}, labelOptions), label = new ControllableLabel(this, options, index);
|
|
458
|
-
label.itemType = 'label';
|
|
459
|
-
this.labels.push(label);
|
|
460
|
-
return label;
|
|
461
|
-
};
|
|
462
|
-
/**
|
|
463
|
-
* Redraw a single item.
|
|
464
|
-
* @private
|
|
465
|
-
* @param {Annotation.Label|Annotation.Shape} item
|
|
466
|
-
* @param {boolean} [animation]
|
|
467
|
-
*/
|
|
468
|
-
Annotation.prototype.redrawItem = function (item, animation) {
|
|
469
|
-
item.linkPoints();
|
|
470
|
-
if (!item.shouldBeDrawn()) {
|
|
471
|
-
this.destroyItem(item);
|
|
472
|
-
}
|
|
473
|
-
else {
|
|
474
|
-
if (!item.graphic) {
|
|
475
|
-
this.renderItem(item);
|
|
476
|
-
}
|
|
477
|
-
item.redraw(pick(animation, true) && item.graphic.placed);
|
|
478
|
-
if (item.points.length) {
|
|
479
|
-
this.adjustVisibility(item);
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
};
|
|
483
|
-
/**
|
|
484
|
-
* Hide or show annotaiton attached to points.
|
|
485
|
-
* @private
|
|
486
|
-
* @param {Annotation.Label|Annotation.Shape} item
|
|
487
|
-
*/
|
|
488
|
-
Annotation.prototype.adjustVisibility = function (item) {
|
|
489
|
-
var hasVisiblePoints = false, label = item.graphic;
|
|
490
|
-
item.points.forEach(function (point) {
|
|
491
|
-
if (point.series.visible !== false &&
|
|
492
|
-
point.visible !== false) {
|
|
493
|
-
hasVisiblePoints = true;
|
|
494
|
-
}
|
|
495
|
-
});
|
|
496
|
-
if (!hasVisiblePoints) {
|
|
497
|
-
label.hide();
|
|
498
|
-
}
|
|
499
|
-
else if (label.visibility === 'hidden') {
|
|
500
|
-
label.show();
|
|
501
|
-
}
|
|
502
|
-
};
|
|
503
|
-
/**
|
|
504
|
-
* Destroy a single item.
|
|
505
|
-
* @private
|
|
506
|
-
* @param {Annotation.Label|Annotation.Shape} item
|
|
507
|
-
*/
|
|
508
|
-
Annotation.prototype.destroyItem = function (item) {
|
|
509
|
-
// erase from shapes or labels array
|
|
510
|
-
erase(this[item.itemType + 's'], item);
|
|
511
|
-
item.destroy();
|
|
512
|
-
};
|
|
513
|
-
/**
|
|
514
|
-
* @private
|
|
515
|
-
*/
|
|
516
|
-
Annotation.prototype.renderItem = function (item) {
|
|
517
|
-
item.render(item.itemType === 'label' ?
|
|
518
|
-
this.labelsGroup :
|
|
519
|
-
this.shapesGroup);
|
|
520
|
-
};
|
|
521
|
-
/**
|
|
522
|
-
* @private
|
|
523
|
-
*/
|
|
524
|
-
Annotation.ControlPoint = ControlPoint;
|
|
525
|
-
/**
|
|
526
|
-
* @private
|
|
527
|
-
*/
|
|
528
|
-
Annotation.MockPoint = MockPoint;
|
|
529
|
-
/**
|
|
530
|
-
* An object uses for mapping between a shape type and a constructor.
|
|
531
|
-
* To add a new shape type extend this object with type name as a key
|
|
532
|
-
* and a constructor as its value.
|
|
533
|
-
*/
|
|
534
|
-
Annotation.shapesMap = {
|
|
535
|
-
'rect': ControllableRect,
|
|
536
|
-
'circle': ControllableCircle,
|
|
537
|
-
'ellipse': ControllableEllipse,
|
|
538
|
-
'path': ControllablePath,
|
|
539
|
-
'image': ControllableImage
|
|
540
|
-
};
|
|
541
|
-
/**
|
|
542
|
-
* @private
|
|
543
|
-
*/
|
|
544
|
-
Annotation.types = {};
|
|
545
|
-
return Annotation;
|
|
546
|
-
}());
|
|
547
|
-
merge(true, Annotation.prototype, ControllableMixin, EventEmitterMixin,
|
|
548
|
-
// restore original Annotation implementation after mixin overwrite
|
|
549
|
-
merge(Annotation.prototype,
|
|
550
|
-
/** @lends Highcharts.Annotation# */
|
|
551
|
-
{
|
|
552
|
-
/**
|
|
553
|
-
* List of events for `annotation.options.events` that should not be
|
|
554
|
-
* added to `annotation.graphic` but to the `annotation`.
|
|
555
|
-
*
|
|
556
|
-
* @private
|
|
557
|
-
* @type {Array<string>}
|
|
558
|
-
*/
|
|
559
|
-
nonDOMEvents: ['add', 'afterUpdate', 'drag', 'remove'],
|
|
560
|
-
/**
|
|
561
|
-
* A basic type of an annotation. It allows to add custom labels
|
|
562
|
-
* or shapes. The items can be tied to points, axis coordinates
|
|
563
|
-
* or chart pixel coordinates.
|
|
564
|
-
*
|
|
565
|
-
* @sample highcharts/annotations/basic/
|
|
566
|
-
* Basic annotations
|
|
567
|
-
* @sample highcharts/demo/annotations/
|
|
568
|
-
* Advanced annotations
|
|
569
|
-
* @sample highcharts/css/annotations
|
|
570
|
-
* Styled mode
|
|
571
|
-
* @sample highcharts/annotations-advanced/controllable
|
|
572
|
-
* Controllable items
|
|
573
|
-
* @sample {highstock} stock/annotations/fibonacci-retracements
|
|
574
|
-
* Custom annotation, Fibonacci retracement
|
|
575
|
-
*
|
|
576
|
-
* @type {Array<*>}
|
|
577
|
-
* @since 6.0.0
|
|
578
|
-
* @requires modules/annotations
|
|
579
|
-
* @optionparent annotations
|
|
580
|
-
*
|
|
581
|
-
* @private
|
|
582
|
-
*/
|
|
583
|
-
defaultOptions: {
|
|
584
|
-
/**
|
|
585
|
-
* Sets an ID for an annotation. Can be user later when
|
|
586
|
-
* removing an annotation in [Chart#removeAnnotation(id)](
|
|
587
|
-
* /class-reference/Highcharts.Chart#removeAnnotation) method.
|
|
588
|
-
*
|
|
589
|
-
* @type {number|string}
|
|
590
|
-
* @apioption annotations.id
|
|
591
|
-
*/
|
|
592
|
-
/**
|
|
593
|
-
* Whether the annotation is visible.
|
|
594
|
-
*
|
|
595
|
-
* @sample highcharts/annotations/visible/
|
|
596
|
-
* Set annotation visibility
|
|
597
|
-
*/
|
|
598
|
-
visible: true,
|
|
599
|
-
/**
|
|
600
|
-
* Enable or disable the initial animation when a series is
|
|
601
|
-
* displayed for the `annotation`. The animation can also be set
|
|
602
|
-
* as a configuration object. Please note that this option only
|
|
603
|
-
* applies to the initial animation.
|
|
604
|
-
* For other animations, see [chart.animation](#chart.animation)
|
|
605
|
-
* and the animation parameter under the API methods.
|
|
606
|
-
* The following properties are supported:
|
|
607
|
-
*
|
|
608
|
-
* - `defer`: The animation delay time in milliseconds.
|
|
609
|
-
*
|
|
610
|
-
* @sample {highcharts} highcharts/annotations/defer/
|
|
611
|
-
* Animation defer settings
|
|
612
|
-
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
613
|
-
* @since 8.2.0
|
|
614
|
-
*/
|
|
615
|
-
animation: {},
|
|
616
|
-
/**
|
|
617
|
-
* Whether to hide the part of the annotation
|
|
618
|
-
* that is outside the plot area.
|
|
619
|
-
*
|
|
620
|
-
* @sample highcharts/annotations/label-crop-overflow/
|
|
621
|
-
* Crop line annotation
|
|
622
|
-
* @type {boolean}
|
|
623
|
-
* @since 9.3.0
|
|
624
|
-
*/
|
|
625
|
-
crop: true,
|
|
626
|
-
/**
|
|
627
|
-
* The animation delay time in milliseconds.
|
|
628
|
-
* Set to `0` renders annotation immediately.
|
|
629
|
-
* As `undefined` inherits defer time from the [series.animation.defer](#plotOptions.series.animation.defer).
|
|
630
|
-
*
|
|
631
|
-
* @type {number}
|
|
632
|
-
* @since 8.2.0
|
|
633
|
-
* @apioption annotations.animation.defer
|
|
634
|
-
*/
|
|
635
|
-
/**
|
|
636
|
-
* Allow an annotation to be draggable by a user. Possible
|
|
637
|
-
* values are `'x'`, `'xy'`, `'y'` and `''` (disabled).
|
|
638
|
-
*
|
|
639
|
-
* @sample highcharts/annotations/draggable/
|
|
640
|
-
* Annotations draggable: 'xy'
|
|
641
|
-
*
|
|
642
|
-
* @type {Highcharts.AnnotationDraggableValue}
|
|
643
|
-
*/
|
|
644
|
-
draggable: 'xy',
|
|
645
|
-
/**
|
|
646
|
-
* Options for annotation's labels. Each label inherits options
|
|
647
|
-
* from the labelOptions object. An option from the labelOptions
|
|
648
|
-
* can be overwritten by config for a specific label.
|
|
649
|
-
*
|
|
650
|
-
* @requires modules/annotations
|
|
651
|
-
*/
|
|
652
|
-
labelOptions: {
|
|
653
|
-
/**
|
|
654
|
-
* The alignment of the annotation's label. If right,
|
|
655
|
-
* the right side of the label should be touching the point.
|
|
656
|
-
*
|
|
657
|
-
* @sample highcharts/annotations/label-position/
|
|
658
|
-
* Set labels position
|
|
659
|
-
*
|
|
660
|
-
* @type {Highcharts.AlignValue}
|
|
661
|
-
*/
|
|
662
|
-
align: 'center',
|
|
663
|
-
/**
|
|
664
|
-
* Whether to allow the annotation's labels to overlap.
|
|
665
|
-
* To make the labels less sensitive for overlapping,
|
|
666
|
-
* the can be set to 0.
|
|
667
|
-
*
|
|
668
|
-
* @sample highcharts/annotations/tooltip-like/
|
|
669
|
-
* Hide overlapping labels
|
|
670
|
-
*/
|
|
671
|
-
allowOverlap: false,
|
|
672
|
-
/**
|
|
673
|
-
* The background color or gradient for the annotation's
|
|
674
|
-
* label.
|
|
675
|
-
*
|
|
676
|
-
* @sample highcharts/annotations/label-presentation/
|
|
677
|
-
* Set labels graphic options
|
|
678
|
-
*
|
|
679
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
680
|
-
*/
|
|
681
|
-
backgroundColor: 'rgba(0, 0, 0, 0.75)',
|
|
682
|
-
/**
|
|
683
|
-
* The border color for the annotation's label.
|
|
684
|
-
*
|
|
685
|
-
* @sample highcharts/annotations/label-presentation/
|
|
686
|
-
* Set labels graphic options
|
|
687
|
-
*
|
|
688
|
-
* @type {Highcharts.ColorString}
|
|
689
|
-
*/
|
|
690
|
-
borderColor: "#000000" /* neutralColor100 */,
|
|
691
|
-
/**
|
|
692
|
-
* The border radius in pixels for the annotaiton's label.
|
|
693
|
-
*
|
|
694
|
-
* @sample highcharts/annotations/label-presentation/
|
|
695
|
-
* Set labels graphic options
|
|
696
|
-
*/
|
|
697
|
-
borderRadius: 3,
|
|
698
|
-
/**
|
|
699
|
-
* The border width in pixels for the annotation's label
|
|
700
|
-
*
|
|
701
|
-
* @sample highcharts/annotations/label-presentation/
|
|
702
|
-
* Set labels graphic options
|
|
703
|
-
*/
|
|
704
|
-
borderWidth: 1,
|
|
705
|
-
/**
|
|
706
|
-
* A class name for styling by CSS.
|
|
707
|
-
*
|
|
708
|
-
* @sample highcharts/css/annotations
|
|
709
|
-
* Styled mode annotations
|
|
710
|
-
*
|
|
711
|
-
* @since 6.0.5
|
|
712
|
-
*/
|
|
713
|
-
className: 'highcharts-no-tooltip',
|
|
714
|
-
/**
|
|
715
|
-
* Whether to hide the annotation's label
|
|
716
|
-
* that is outside the plot area.
|
|
717
|
-
*
|
|
718
|
-
* @sample highcharts/annotations/label-crop-overflow/
|
|
719
|
-
* Crop or justify labels
|
|
720
|
-
*/
|
|
721
|
-
crop: false,
|
|
722
|
-
/**
|
|
723
|
-
* The label's pixel distance from the point.
|
|
724
|
-
*
|
|
725
|
-
* @sample highcharts/annotations/label-position/
|
|
726
|
-
* Set labels position
|
|
727
|
-
*
|
|
728
|
-
* @type {number}
|
|
729
|
-
* @apioption annotations.labelOptions.distance
|
|
730
|
-
*/
|
|
731
|
-
/**
|
|
732
|
-
* A
|
|
733
|
-
* [format](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
|
|
734
|
-
* string for the data label.
|
|
735
|
-
*
|
|
736
|
-
* @see [plotOptions.series.dataLabels.format](plotOptions.series.dataLabels.format.html)
|
|
737
|
-
*
|
|
738
|
-
* @sample highcharts/annotations/label-text/
|
|
739
|
-
* Set labels text
|
|
740
|
-
*
|
|
741
|
-
* @type {string}
|
|
742
|
-
* @apioption annotations.labelOptions.format
|
|
743
|
-
*/
|
|
744
|
-
/**
|
|
745
|
-
* Alias for the format option.
|
|
746
|
-
*
|
|
747
|
-
* @see [format](annotations.labelOptions.format.html)
|
|
748
|
-
*
|
|
749
|
-
* @sample highcharts/annotations/label-text/
|
|
750
|
-
* Set labels text
|
|
751
|
-
*
|
|
752
|
-
* @type {string}
|
|
753
|
-
* @apioption annotations.labelOptions.text
|
|
754
|
-
*/
|
|
755
|
-
/**
|
|
756
|
-
* Callback JavaScript function to format the annotation's
|
|
757
|
-
* label. Note that if a `format` or `text` are defined,
|
|
758
|
-
* the format or text take precedence and the formatter is
|
|
759
|
-
* ignored. `This` refers to a point object.
|
|
760
|
-
*
|
|
761
|
-
* @sample highcharts/annotations/label-text/
|
|
762
|
-
* Set labels text
|
|
763
|
-
*
|
|
764
|
-
* @type {Highcharts.FormatterCallbackFunction<Highcharts.Point>}
|
|
765
|
-
* @default function () { return defined(this.y) ? this.y : 'Annotation label'; }
|
|
766
|
-
*/
|
|
767
|
-
formatter: function () {
|
|
768
|
-
return defined(this.y) ? this.y : 'Annotation label';
|
|
769
|
-
},
|
|
770
|
-
/**
|
|
771
|
-
* Whether the annotation is visible in the exported data
|
|
772
|
-
* table.
|
|
773
|
-
*
|
|
774
|
-
* @sample highcharts/annotations/include-in-data-export/
|
|
775
|
-
* Do not include in the data export
|
|
776
|
-
*
|
|
777
|
-
* @since 8.2.0
|
|
778
|
-
* @requires modules/export-data
|
|
779
|
-
*/
|
|
780
|
-
includeInDataExport: true,
|
|
781
|
-
/**
|
|
782
|
-
* How to handle the annotation's label that flow outside
|
|
783
|
-
* the plot area. The justify option aligns the label inside
|
|
784
|
-
* the plot area.
|
|
785
|
-
*
|
|
786
|
-
* @sample highcharts/annotations/label-crop-overflow/
|
|
787
|
-
* Crop or justify labels
|
|
788
|
-
*
|
|
789
|
-
* @validvalue ["allow", "justify"]
|
|
790
|
-
*/
|
|
791
|
-
overflow: 'justify',
|
|
792
|
-
/**
|
|
793
|
-
* When either the borderWidth or the backgroundColor is
|
|
794
|
-
* set, this is the padding within the box.
|
|
795
|
-
*
|
|
796
|
-
* @sample highcharts/annotations/label-presentation/
|
|
797
|
-
* Set labels graphic options
|
|
798
|
-
*/
|
|
799
|
-
padding: 5,
|
|
800
|
-
/**
|
|
801
|
-
* The shadow of the box. The shadow can be an object
|
|
802
|
-
* configuration containing `color`, `offsetX`, `offsetY`,
|
|
803
|
-
* `opacity` and `width`.
|
|
804
|
-
*
|
|
805
|
-
* @sample highcharts/annotations/label-presentation/
|
|
806
|
-
* Set labels graphic options
|
|
807
|
-
*
|
|
808
|
-
* @type {boolean|Highcharts.ShadowOptionsObject}
|
|
809
|
-
*/
|
|
810
|
-
shadow: false,
|
|
811
|
-
/**
|
|
812
|
-
* The name of a symbol to use for the border around the
|
|
813
|
-
* label. Symbols are predefined functions on the Renderer
|
|
814
|
-
* object.
|
|
815
|
-
*
|
|
816
|
-
* @sample highcharts/annotations/shapes/
|
|
817
|
-
* Available shapes for labels
|
|
818
|
-
*/
|
|
819
|
-
shape: 'callout',
|
|
820
|
-
/**
|
|
821
|
-
* Styles for the annotation's label.
|
|
822
|
-
*
|
|
823
|
-
* @see [plotOptions.series.dataLabels.style](plotOptions.series.dataLabels.style.html)
|
|
824
|
-
*
|
|
825
|
-
* @sample highcharts/annotations/label-presentation/
|
|
826
|
-
* Set labels graphic options
|
|
827
|
-
*
|
|
828
|
-
* @type {Highcharts.CSSObject}
|
|
829
|
-
*/
|
|
830
|
-
style: {
|
|
831
|
-
/** @ignore */
|
|
832
|
-
fontSize: '11px',
|
|
833
|
-
/** @ignore */
|
|
834
|
-
fontWeight: 'normal',
|
|
835
|
-
/** @ignore */
|
|
836
|
-
color: 'contrast'
|
|
837
|
-
},
|
|
838
|
-
/**
|
|
839
|
-
* Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)
|
|
840
|
-
* to render the annotation's label.
|
|
841
|
-
*/
|
|
842
|
-
useHTML: false,
|
|
843
|
-
/**
|
|
844
|
-
* The vertical alignment of the annotation's label.
|
|
845
|
-
*
|
|
846
|
-
* @sample highcharts/annotations/label-position/
|
|
847
|
-
* Set labels position
|
|
848
|
-
*
|
|
849
|
-
* @type {Highcharts.VerticalAlignValue}
|
|
850
|
-
*/
|
|
851
|
-
verticalAlign: 'bottom',
|
|
852
|
-
/**
|
|
853
|
-
* The x position offset of the label relative to the point.
|
|
854
|
-
* Note that if a `distance` is defined, the distance takes
|
|
855
|
-
* precedence over `x` and `y` options.
|
|
856
|
-
*
|
|
857
|
-
* @sample highcharts/annotations/label-position/
|
|
858
|
-
* Set labels position
|
|
859
|
-
*/
|
|
860
|
-
x: 0,
|
|
861
|
-
/**
|
|
862
|
-
* The y position offset of the label relative to the point.
|
|
863
|
-
* Note that if a `distance` is defined, the distance takes
|
|
864
|
-
* precedence over `x` and `y` options.
|
|
865
|
-
*
|
|
866
|
-
* @sample highcharts/annotations/label-position/
|
|
867
|
-
* Set labels position
|
|
868
|
-
*/
|
|
869
|
-
y: -16
|
|
870
|
-
},
|
|
871
|
-
/**
|
|
872
|
-
* An array of labels for the annotation. For options that apply
|
|
873
|
-
* to multiple labels, they can be added to the
|
|
874
|
-
* [labelOptions](annotations.labelOptions.html).
|
|
875
|
-
*
|
|
876
|
-
* @type {Array<*>}
|
|
877
|
-
* @extends annotations.labelOptions
|
|
878
|
-
* @apioption annotations.labels
|
|
879
|
-
*/
|
|
880
|
-
/**
|
|
881
|
-
* This option defines the point to which the label will be
|
|
882
|
-
* connected. It can be either the point which exists in the
|
|
883
|
-
* series - it is referenced by the point's id - or a new point
|
|
884
|
-
* with defined x, y properties and optionally axes.
|
|
885
|
-
*
|
|
886
|
-
* @sample highcharts/annotations/mock-point/
|
|
887
|
-
* Attach annotation to a mock point
|
|
888
|
-
* @sample highcharts/annotations/mock-points/
|
|
889
|
-
* Attach annotation to a mock point with different ways
|
|
890
|
-
*
|
|
891
|
-
* @declare Highcharts.AnnotationMockPointOptionsObject
|
|
892
|
-
* @type {
|
|
893
|
-
* string|
|
|
894
|
-
* Highcharts.AnnotationMockPointOptionsObject|
|
|
895
|
-
* Highcharts.AnnotationMockPointFunction
|
|
896
|
-
* }
|
|
897
|
-
* @requires modules/annotations
|
|
898
|
-
* @apioption annotations.labels.point
|
|
899
|
-
*/
|
|
900
|
-
/**
|
|
901
|
-
* An array of shapes for the annotation. For options that apply
|
|
902
|
-
* to multiple shapes, then can be added to the
|
|
903
|
-
* [shapeOptions](annotations.shapeOptions.html).
|
|
904
|
-
*
|
|
905
|
-
* @type {Array<*>}
|
|
906
|
-
* @extends annotations.shapeOptions
|
|
907
|
-
* @apioption annotations.shapes
|
|
908
|
-
*/
|
|
909
|
-
/**
|
|
910
|
-
* This option defines the point to which the shape will be
|
|
911
|
-
* connected. It can be either the point which exists in the
|
|
912
|
-
* series - it is referenced by the point's id - or a new point
|
|
913
|
-
* with defined x, y properties and optionally axes.
|
|
914
|
-
*
|
|
915
|
-
* @sample highcharts/annotations/mock-points/
|
|
916
|
-
* Attach annotation to a mock point with different ways
|
|
917
|
-
*
|
|
918
|
-
* @declare Highcharts.AnnotationMockPointOptionsObject
|
|
919
|
-
* @type {
|
|
920
|
-
* string|
|
|
921
|
-
* Highcharts.AnnotationMockPointOptionsObject|
|
|
922
|
-
* Highcharts.AnnotationMockPointFunction
|
|
923
|
-
* }
|
|
924
|
-
* @extends annotations.labels.point
|
|
925
|
-
* @requires modules/annotations
|
|
926
|
-
* @apioption annotations.shapes.point
|
|
927
|
-
*/
|
|
928
|
-
/**
|
|
929
|
-
* An array of points for the shape
|
|
930
|
-
* or a callback function that returns that shape point.
|
|
931
|
-
*
|
|
932
|
-
* This option is available
|
|
933
|
-
* for shapes which can use multiple points such as path. A
|
|
934
|
-
* point can be either a point object or a point's id.
|
|
935
|
-
*
|
|
936
|
-
* @see [annotations.shapes.point](annotations.shapes.point.html)
|
|
937
|
-
*
|
|
938
|
-
* @type {Array<Highcharts.AnnotationShapePointOptions>}
|
|
939
|
-
* @extends annotations.labels.point
|
|
940
|
-
* @apioption annotations.shapes.points
|
|
941
|
-
*/
|
|
942
|
-
/**
|
|
943
|
-
* The URL for an image to use as the annotation shape. Note,
|
|
944
|
-
* type has to be set to `'image'`.
|
|
945
|
-
*
|
|
946
|
-
* @see [annotations.shapes.type](annotations.shapes.type)
|
|
947
|
-
* @sample highcharts/annotations/shape-src/
|
|
948
|
-
* Define a marker image url for annotations
|
|
949
|
-
*
|
|
950
|
-
* @type {string}
|
|
951
|
-
* @apioption annotations.shapes.src
|
|
952
|
-
*/
|
|
953
|
-
/**
|
|
954
|
-
* Id of the marker which will be drawn at the final vertex of
|
|
955
|
-
* the path. Custom markers can be defined in defs property.
|
|
956
|
-
*
|
|
957
|
-
* @see [defs.markers](defs.markers.html)
|
|
958
|
-
*
|
|
959
|
-
* @sample highcharts/annotations/custom-markers/
|
|
960
|
-
* Define a custom marker for annotations
|
|
961
|
-
*
|
|
962
|
-
* @type {string}
|
|
963
|
-
* @apioption annotations.shapes.markerEnd
|
|
964
|
-
*/
|
|
965
|
-
/**
|
|
966
|
-
* Id of the marker which will be drawn at the first vertex of
|
|
967
|
-
* the path. Custom markers can be defined in defs property.
|
|
968
|
-
*
|
|
969
|
-
* @see [defs.markers](defs.markers.html)
|
|
970
|
-
*
|
|
971
|
-
* @sample {highcharts} highcharts/annotations/custom-markers/
|
|
972
|
-
* Define a custom marker for annotations
|
|
973
|
-
*
|
|
974
|
-
* @type {string}
|
|
975
|
-
* @apioption annotations.shapes.markerStart
|
|
976
|
-
*/
|
|
977
|
-
/**
|
|
978
|
-
* Options for annotation's shapes. Each shape inherits options
|
|
979
|
-
* from the shapeOptions object. An option from the shapeOptions
|
|
980
|
-
* can be overwritten by config for a specific shape.
|
|
981
|
-
*
|
|
982
|
-
* @requires modules/annotations
|
|
983
|
-
*/
|
|
984
|
-
shapeOptions: {
|
|
985
|
-
/**
|
|
986
|
-
*
|
|
987
|
-
* The radius of the shape in y direction.
|
|
988
|
-
* Used for the ellipse.
|
|
989
|
-
*
|
|
990
|
-
* @sample highcharts/annotations/ellipse/
|
|
991
|
-
* Ellipse annotation
|
|
992
|
-
*
|
|
993
|
-
* @type {number}
|
|
994
|
-
* @apioption annotations.shapeOptions.ry
|
|
995
|
-
**/
|
|
996
|
-
/**
|
|
997
|
-
*
|
|
998
|
-
* The xAxis index to which the points should be attached.
|
|
999
|
-
* Used for the ellipse.
|
|
1000
|
-
*
|
|
1001
|
-
* @type {number}
|
|
1002
|
-
* @apioption annotations.shapeOptions.xAxis
|
|
1003
|
-
**/
|
|
1004
|
-
/**
|
|
1005
|
-
* The yAxis index to which the points should be attached.
|
|
1006
|
-
* Used for the ellipse.
|
|
1007
|
-
*
|
|
1008
|
-
* @type {number}
|
|
1009
|
-
* @apioption annotations.shapeOptions.yAxis
|
|
1010
|
-
**/
|
|
1011
|
-
/**
|
|
1012
|
-
* The width of the shape.
|
|
1013
|
-
*
|
|
1014
|
-
* @sample highcharts/annotations/shape/
|
|
1015
|
-
* Basic shape annotation
|
|
1016
|
-
*
|
|
1017
|
-
* @type {number}
|
|
1018
|
-
* @apioption annotations.shapeOptions.width
|
|
1019
|
-
**/
|
|
1020
|
-
/**
|
|
1021
|
-
* The height of the shape.
|
|
1022
|
-
*
|
|
1023
|
-
* @sample highcharts/annotations/shape/
|
|
1024
|
-
* Basic shape annotation
|
|
1025
|
-
*
|
|
1026
|
-
* @type {number}
|
|
1027
|
-
* @apioption annotations.shapeOptions.height
|
|
1028
|
-
*/
|
|
1029
|
-
/**
|
|
1030
|
-
* The type of the shape.
|
|
1031
|
-
* Avaliable options are circle, rect and ellipse.
|
|
1032
|
-
*
|
|
1033
|
-
* @sample highcharts/annotations/shape/
|
|
1034
|
-
* Basic shape annotation
|
|
1035
|
-
*
|
|
1036
|
-
* @sample highcharts/annotations/ellipse/
|
|
1037
|
-
* Ellipse annotation
|
|
1038
|
-
*
|
|
1039
|
-
* @type {string}
|
|
1040
|
-
* @default rect
|
|
1041
|
-
* @apioption annotations.shapeOptions.type
|
|
1042
|
-
*/
|
|
1043
|
-
/**
|
|
1044
|
-
* The URL for an image to use as the annotation shape.
|
|
1045
|
-
* Note, type has to be set to `'image'`.
|
|
1046
|
-
*
|
|
1047
|
-
* @see [annotations.shapeOptions.type](annotations.shapeOptions.type)
|
|
1048
|
-
* @sample highcharts/annotations/shape-src/
|
|
1049
|
-
* Define a marker image url for annotations
|
|
1050
|
-
*
|
|
1051
|
-
* @type {string}
|
|
1052
|
-
* @apioption annotations.shapeOptions.src
|
|
1053
|
-
*/
|
|
1054
|
-
/**
|
|
1055
|
-
* Name of the dash style to use for the shape's stroke.
|
|
1056
|
-
*
|
|
1057
|
-
* @sample {highcharts} highcharts/plotoptions/series-dashstyle-all/
|
|
1058
|
-
* Possible values demonstrated
|
|
1059
|
-
*
|
|
1060
|
-
* @type {Highcharts.DashStyleValue}
|
|
1061
|
-
* @apioption annotations.shapeOptions.dashStyle
|
|
1062
|
-
*/
|
|
1063
|
-
/**
|
|
1064
|
-
* The color of the shape's stroke.
|
|
1065
|
-
*
|
|
1066
|
-
* @sample highcharts/annotations/shape/
|
|
1067
|
-
* Basic shape annotation
|
|
1068
|
-
*
|
|
1069
|
-
* @type {Highcharts.ColorString}
|
|
1070
|
-
*/
|
|
1071
|
-
stroke: 'rgba(0, 0, 0, 0.75)',
|
|
1072
|
-
/**
|
|
1073
|
-
* The pixel stroke width of the shape.
|
|
1074
|
-
*
|
|
1075
|
-
* @sample highcharts/annotations/shape/
|
|
1076
|
-
* Basic shape annotation
|
|
1077
|
-
*/
|
|
1078
|
-
strokeWidth: 1,
|
|
1079
|
-
/**
|
|
1080
|
-
* The color of the shape's fill.
|
|
1081
|
-
*
|
|
1082
|
-
* @sample highcharts/annotations/shape/
|
|
1083
|
-
* Basic shape annotation
|
|
1084
|
-
*
|
|
1085
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
1086
|
-
*/
|
|
1087
|
-
fill: 'rgba(0, 0, 0, 0.75)',
|
|
1088
|
-
/**
|
|
1089
|
-
* The radius of the shape.
|
|
1090
|
-
*
|
|
1091
|
-
* @sample highcharts/annotations/shape/
|
|
1092
|
-
* Basic shape annotation
|
|
1093
|
-
*/
|
|
1094
|
-
r: 0,
|
|
1095
|
-
/**
|
|
1096
|
-
* Defines additional snapping area around an annotation
|
|
1097
|
-
* making this annotation to focus. Defined in pixels.
|
|
1098
|
-
*/
|
|
1099
|
-
snap: 2
|
|
1100
|
-
},
|
|
1101
|
-
/**
|
|
1102
|
-
* Options for annotation's control points. Each control point
|
|
1103
|
-
* inherits options from controlPointOptions object.
|
|
1104
|
-
* Options from the controlPointOptions can be overwritten
|
|
1105
|
-
* by options in a specific control point.
|
|
1106
|
-
*
|
|
1107
|
-
* @declare Highcharts.AnnotationControlPointOptionsObject
|
|
1108
|
-
* @requires modules/annotations
|
|
1109
|
-
* @apioption annotations.controlPointOptions
|
|
1110
|
-
*/
|
|
1111
|
-
controlPointOptions: {
|
|
1112
|
-
/**
|
|
1113
|
-
* @type {Highcharts.AnnotationControlPointPositionerFunction}
|
|
1114
|
-
* @apioption annotations.controlPointOptions.positioner
|
|
1115
|
-
*/
|
|
1116
|
-
symbol: 'circle',
|
|
1117
|
-
width: 10,
|
|
1118
|
-
height: 10,
|
|
1119
|
-
style: {
|
|
1120
|
-
cursor: 'pointer',
|
|
1121
|
-
fill: "#ffffff" /* backgroundColor */,
|
|
1122
|
-
stroke: "#000000" /* neutralColor100 */,
|
|
1123
|
-
'stroke-width': 2
|
|
1124
|
-
},
|
|
1125
|
-
visible: false,
|
|
1126
|
-
events: {}
|
|
1127
|
-
},
|
|
1128
|
-
/**
|
|
1129
|
-
* Event callback when annotation is added to the chart.
|
|
1130
|
-
*
|
|
1131
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1132
|
-
* @since 7.1.0
|
|
1133
|
-
* @apioption annotations.events.add
|
|
1134
|
-
*/
|
|
1135
|
-
/**
|
|
1136
|
-
* Event callback when annotation is updated (e.g. drag and
|
|
1137
|
-
* droppped or resized by control points).
|
|
1138
|
-
*
|
|
1139
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1140
|
-
* @since 7.1.0
|
|
1141
|
-
* @apioption annotations.events.afterUpdate
|
|
1142
|
-
*/
|
|
1143
|
-
/**
|
|
1144
|
-
* Fires when the annotation is clicked.
|
|
1145
|
-
*
|
|
1146
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1147
|
-
* @since 7.1.0
|
|
1148
|
-
* @apioption annotations.events.click
|
|
1149
|
-
*/
|
|
1150
|
-
/**
|
|
1151
|
-
* Event callback when annotation is removed from the chart.
|
|
1152
|
-
*
|
|
1153
|
-
* @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
|
|
1154
|
-
* @since 7.1.0
|
|
1155
|
-
* @apioption annotations.events.remove
|
|
1156
|
-
*/
|
|
1157
|
-
/**
|
|
1158
|
-
* Events available in annotations.
|
|
1159
|
-
*
|
|
1160
|
-
* @requires modules/annotations
|
|
1161
|
-
*/
|
|
1162
|
-
events: {},
|
|
1163
|
-
/**
|
|
1164
|
-
* The Z index of the annotation.
|
|
1165
|
-
*/
|
|
1166
|
-
zIndex: 6
|
|
1167
|
-
}
|
|
1168
|
-
}));
|
|
1169
|
-
H.extendAnnotation = function (Constructor, BaseConstructor, prototype, defaultOptions) {
|
|
1170
|
-
BaseConstructor = BaseConstructor || Annotation;
|
|
1171
|
-
extend(Constructor.prototype, merge(BaseConstructor.prototype, prototype));
|
|
1172
|
-
Constructor.prototype.defaultOptions = merge(Constructor.prototype.defaultOptions, defaultOptions || {});
|
|
1173
|
-
};
|
|
1174
|
-
/* *********************************************************************
|
|
1175
|
-
*
|
|
1176
|
-
* EXTENDING CHART PROTOTYPE
|
|
1177
|
-
*
|
|
1178
|
-
******************************************************************** */
|
|
1179
|
-
extend(chartProto, /** @lends Highcharts.Chart# */ {
|
|
1180
|
-
initAnnotation: function (userOptions) {
|
|
1181
|
-
var Constructor = Annotation
|
|
1182
|
-
.types[userOptions.type] || Annotation, annotation = new Constructor(this, userOptions);
|
|
1183
|
-
this.annotations.push(annotation);
|
|
1184
|
-
return annotation;
|
|
1185
|
-
},
|
|
1186
|
-
/**
|
|
1187
|
-
* Add an annotation to the chart after render time.
|
|
1188
|
-
*
|
|
1189
|
-
* @param {Highcharts.AnnotationsOptions} options
|
|
1190
|
-
* The annotation options for the new, detailed annotation.
|
|
1191
|
-
* @param {boolean} [redraw]
|
|
1192
|
-
* @sample highcharts/annotations/add-annotation/
|
|
1193
|
-
* Add annotation
|
|
1194
|
-
* @return {Highcharts.Annotation} - The newly generated annotation.
|
|
1195
|
-
*/
|
|
1196
|
-
addAnnotation: function (userOptions, redraw) {
|
|
1197
|
-
var annotation = this.initAnnotation(userOptions);
|
|
1198
|
-
this.options.annotations.push(annotation.options);
|
|
1199
|
-
if (pick(redraw, true)) {
|
|
1200
|
-
annotation.redraw();
|
|
1201
|
-
annotation.graphic.attr({
|
|
1202
|
-
opacity: 1
|
|
1203
|
-
});
|
|
1204
|
-
}
|
|
1205
|
-
return annotation;
|
|
1206
|
-
},
|
|
1207
|
-
/**
|
|
1208
|
-
* Remove an annotation from the chart.
|
|
1209
|
-
*
|
|
1210
|
-
* @param {number|string|Highcharts.Annotation} idOrAnnotation
|
|
1211
|
-
* The annotation's id or direct annotation object.
|
|
1212
|
-
*/
|
|
1213
|
-
removeAnnotation: function (idOrAnnotation) {
|
|
1214
|
-
var annotations = this.annotations, annotation = (idOrAnnotation.coll === 'annotations') ?
|
|
1215
|
-
idOrAnnotation :
|
|
1216
|
-
find(annotations, function (annotation) {
|
|
1217
|
-
return annotation.options.id === idOrAnnotation;
|
|
1218
|
-
});
|
|
1219
|
-
if (annotation) {
|
|
1220
|
-
fireEvent(annotation, 'remove');
|
|
1221
|
-
erase(this.options.annotations, annotation.options);
|
|
1222
|
-
erase(annotations, annotation);
|
|
1223
|
-
annotation.destroy();
|
|
1224
|
-
}
|
|
1225
|
-
},
|
|
1226
|
-
drawAnnotations: function () {
|
|
1227
|
-
this.plotBoxClip.attr(this.plotBox);
|
|
1228
|
-
this.annotations.forEach(function (annotation) {
|
|
1229
|
-
annotation.redraw();
|
|
1230
|
-
annotation.graphic.animate({
|
|
1231
|
-
opacity: 1
|
|
1232
|
-
}, annotation.animationConfig);
|
|
1233
|
-
});
|
|
1234
|
-
}
|
|
1235
|
-
});
|
|
1236
|
-
// Let chart.update() update annotations
|
|
1237
|
-
chartProto.collectionsWithUpdate.push('annotations');
|
|
1238
|
-
// Let chart.update() create annoations on demand
|
|
1239
|
-
chartProto.collectionsWithInit.annotations = [chartProto.addAnnotation];
|
|
1240
|
-
// Create lookups initially
|
|
1241
|
-
addEvent(Chart, 'afterInit', function () {
|
|
1242
|
-
this.annotations = [];
|
|
1243
|
-
if (!this.options.annotations) {
|
|
1244
|
-
this.options.annotations = [];
|
|
1245
|
-
}
|
|
1246
|
-
});
|
|
1247
|
-
chartProto.callbacks.push(function (chart) {
|
|
1248
|
-
chart.plotBoxClip = this.renderer.clipRect(this.plotBox);
|
|
1249
|
-
chart.controlPointsGroup = chart.renderer
|
|
1250
|
-
.g('control-points')
|
|
1251
|
-
.attr({ zIndex: 99 })
|
|
1252
|
-
.clip(chart.plotBoxClip)
|
|
1253
|
-
.add();
|
|
1254
|
-
chart.options.annotations.forEach(function (annotationOptions, i) {
|
|
1255
|
-
if (
|
|
1256
|
-
// Verify that it has not been previously added in a responsive rule
|
|
1257
|
-
!chart.annotations.some(function (annotation) {
|
|
1258
|
-
return annotation.options === annotationOptions;
|
|
1259
|
-
})) {
|
|
1260
|
-
var annotation = chart.initAnnotation(annotationOptions);
|
|
1261
|
-
chart.options.annotations[i] = annotation.options;
|
|
1262
|
-
}
|
|
1263
|
-
});
|
|
1264
|
-
chart.drawAnnotations();
|
|
1265
|
-
addEvent(chart, 'redraw', chart.drawAnnotations);
|
|
1266
|
-
addEvent(chart, 'destroy', function () {
|
|
1267
|
-
chart.plotBoxClip.destroy();
|
|
1268
|
-
chart.controlPointsGroup.destroy();
|
|
1269
|
-
});
|
|
1270
|
-
addEvent(chart, 'exportData', function (event) {
|
|
1271
|
-
var annotations = chart.annotations, csvColumnHeaderFormatter = ((this.options.exporting &&
|
|
1272
|
-
this.options.exporting.csv) ||
|
|
1273
|
-
{}).columnHeaderFormatter,
|
|
1274
|
-
// If second row doesn't have xValues
|
|
1275
|
-
// then it is a title row thus multiple level header is in use.
|
|
1276
|
-
multiLevelHeaders = !event.dataRows[1].xValues, annotationHeader = (chart.options.lang &&
|
|
1277
|
-
chart.options.lang.exportData &&
|
|
1278
|
-
chart.options.lang.exportData.annotationHeader), columnHeaderFormatter = function (index) {
|
|
1279
|
-
var s;
|
|
1280
|
-
if (csvColumnHeaderFormatter) {
|
|
1281
|
-
s = csvColumnHeaderFormatter(index);
|
|
1282
|
-
if (s !== false) {
|
|
1283
|
-
return s;
|
|
1284
|
-
}
|
|
1285
|
-
}
|
|
1286
|
-
s = annotationHeader + ' ' + index;
|
|
1287
|
-
if (multiLevelHeaders) {
|
|
1288
|
-
return {
|
|
1289
|
-
columnTitle: s,
|
|
1290
|
-
topLevelColumnTitle: s
|
|
1291
|
-
};
|
|
1292
|
-
}
|
|
1293
|
-
return s;
|
|
1294
|
-
}, startRowLength = event.dataRows[0].length, annotationSeparator = (chart.options.exporting &&
|
|
1295
|
-
chart.options.exporting.csv &&
|
|
1296
|
-
chart.options.exporting.csv.annotations &&
|
|
1297
|
-
chart.options.exporting.csv.annotations.itemDelimiter), joinAnnotations = (chart.options.exporting &&
|
|
1298
|
-
chart.options.exporting.csv &&
|
|
1299
|
-
chart.options.exporting.csv.annotations &&
|
|
1300
|
-
chart.options.exporting.csv.annotations.join);
|
|
1301
|
-
annotations.forEach(function (annotation) {
|
|
1302
|
-
if (annotation.options.labelOptions.includeInDataExport) {
|
|
1303
|
-
annotation.labels.forEach(function (label) {
|
|
1304
|
-
if (label.options.text) {
|
|
1305
|
-
var annotationText_1 = label.options.text;
|
|
1306
|
-
label.points.forEach(function (points) {
|
|
1307
|
-
var annotationX = points.x, xAxisIndex = points.series.xAxis ?
|
|
1308
|
-
points.series.xAxis.options.index :
|
|
1309
|
-
-1;
|
|
1310
|
-
var wasAdded = false;
|
|
1311
|
-
// Annotation not connected to any xAxis -
|
|
1312
|
-
// add new row.
|
|
1313
|
-
if (xAxisIndex === -1) {
|
|
1314
|
-
var n = event.dataRows[0].length, newRow = new Array(n);
|
|
1315
|
-
for (var i = 0; i < n; ++i) {
|
|
1316
|
-
newRow[i] = '';
|
|
1317
|
-
}
|
|
1318
|
-
newRow.push(annotationText_1);
|
|
1319
|
-
newRow.xValues = [];
|
|
1320
|
-
newRow.xValues[xAxisIndex] = annotationX;
|
|
1321
|
-
event.dataRows.push(newRow);
|
|
1322
|
-
wasAdded = true;
|
|
1323
|
-
}
|
|
1324
|
-
// Annotation placed on a exported data point
|
|
1325
|
-
// - add new column
|
|
1326
|
-
if (!wasAdded) {
|
|
1327
|
-
event.dataRows.forEach(function (row) {
|
|
1328
|
-
if (!wasAdded &&
|
|
1329
|
-
row.xValues &&
|
|
1330
|
-
xAxisIndex !== void 0 &&
|
|
1331
|
-
annotationX === row.xValues[xAxisIndex]) {
|
|
1332
|
-
if (joinAnnotations &&
|
|
1333
|
-
row.length > startRowLength) {
|
|
1334
|
-
row[row.length - 1] += (annotationSeparator +
|
|
1335
|
-
annotationText_1);
|
|
1336
|
-
}
|
|
1337
|
-
else {
|
|
1338
|
-
row.push(annotationText_1);
|
|
1339
|
-
}
|
|
1340
|
-
wasAdded = true;
|
|
1341
|
-
}
|
|
1342
|
-
});
|
|
1343
|
-
}
|
|
1344
|
-
// Annotation not placed on any exported data point,
|
|
1345
|
-
// but connected to the xAxis - add new row
|
|
1346
|
-
if (!wasAdded) {
|
|
1347
|
-
var n = event.dataRows[0].length, newRow = new Array(n);
|
|
1348
|
-
for (var i = 0; i < n; ++i) {
|
|
1349
|
-
newRow[i] = '';
|
|
1350
|
-
}
|
|
1351
|
-
newRow[0] = annotationX;
|
|
1352
|
-
newRow.push(annotationText_1);
|
|
1353
|
-
newRow.xValues = [];
|
|
1354
|
-
if (xAxisIndex !== void 0) {
|
|
1355
|
-
newRow.xValues[xAxisIndex] = annotationX;
|
|
1356
|
-
}
|
|
1357
|
-
event.dataRows.push(newRow);
|
|
1358
|
-
}
|
|
1359
|
-
});
|
|
1360
|
-
}
|
|
1361
|
-
});
|
|
1362
|
-
}
|
|
1363
|
-
});
|
|
1364
|
-
var maxRowLen = 0;
|
|
1365
|
-
event.dataRows.forEach(function (row) {
|
|
1366
|
-
maxRowLen = Math.max(maxRowLen, row.length);
|
|
1367
|
-
});
|
|
1368
|
-
var newRows = maxRowLen - event.dataRows[0].length;
|
|
1369
|
-
for (var i = 0; i < newRows; i++) {
|
|
1370
|
-
var header = columnHeaderFormatter(i + 1);
|
|
1371
|
-
if (multiLevelHeaders) {
|
|
1372
|
-
event.dataRows[0].push(header.topLevelColumnTitle);
|
|
1373
|
-
event.dataRows[1].push(header.columnTitle);
|
|
1374
|
-
}
|
|
1375
|
-
else {
|
|
1376
|
-
event.dataRows[0].push(header);
|
|
1377
|
-
}
|
|
1378
|
-
}
|
|
1379
|
-
});
|
|
1380
|
-
});
|
|
1381
|
-
wrap(Pointer.prototype, 'onContainerMouseDown', function (proceed) {
|
|
1382
|
-
if (!this.chart.hasDraggedAnnotation) {
|
|
1383
|
-
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
|
|
1384
|
-
}
|
|
1385
|
-
});
|
|
1386
|
-
H.Annotation = Annotation;
|
|
1387
|
-
export default Annotation;
|
|
1388
|
-
/* eslint-enable no-invalid-this, valid-jsdoc */
|
|
1389
|
-
/**
|
|
1390
|
-
* Object of shape point.
|
|
1391
|
-
*
|
|
1392
|
-
* @interface Highcharts.AnnotationMockPointOptionsObject
|
|
1393
|
-
*
|
|
1394
|
-
*/
|
|
1395
|
-
/**
|
|
1396
|
-
* The x position of the point. Units can be either in axis
|
|
1397
|
-
* or chart pixel coordinates.
|
|
1398
|
-
*
|
|
1399
|
-
* @type {number}
|
|
1400
|
-
* @name Highcharts.AnnotationMockPointOptionsObject.x
|
|
1401
|
-
*/
|
|
1402
|
-
/**
|
|
1403
|
-
* The y position of the point. Units can be either in axis
|
|
1404
|
-
* or chart pixel coordinates.
|
|
1405
|
-
*
|
|
1406
|
-
* @type {number}
|
|
1407
|
-
* @name Highcharts.AnnotationMockPointOptionsObject.y
|
|
1408
|
-
*/
|
|
1409
|
-
/**
|
|
1410
|
-
* This number defines which xAxis the point is connected to.
|
|
1411
|
-
* It refers to either the axis id or the index of the axis in
|
|
1412
|
-
* the xAxis array. If the option is not configured or the axis
|
|
1413
|
-
* is not found the point's x coordinate refers to the chart
|
|
1414
|
-
* pixels.
|
|
1415
|
-
*
|
|
1416
|
-
* @type {number|string|null}
|
|
1417
|
-
* @name Highcharts.AnnotationMockPointOptionsObject.xAxis
|
|
1418
|
-
*/
|
|
1419
|
-
/**
|
|
1420
|
-
* This number defines which yAxis the point is connected to.
|
|
1421
|
-
* It refers to either the axis id or the index of the axis in
|
|
1422
|
-
* the yAxis array. If the option is not configured or the axis
|
|
1423
|
-
* is not found the point's y coordinate refers to the chart
|
|
1424
|
-
* pixels.
|
|
1425
|
-
*
|
|
1426
|
-
* @type {number|string|null}
|
|
1427
|
-
* @name Highcharts.AnnotationMockPointOptionsObject.yAxis
|
|
1428
|
-
*/
|
|
1429
|
-
/**
|
|
1430
|
-
* Callback function that returns the annotation shape point.
|
|
1431
|
-
*
|
|
1432
|
-
* @callback Highcharts.AnnotationMockPointFunction
|
|
1433
|
-
*
|
|
1434
|
-
* @param {Highcharts.Annotation} annotation
|
|
1435
|
-
* An annotation instance.
|
|
1436
|
-
*
|
|
1437
|
-
* @return {Highcharts.AnnotationMockPointOptionsObject}
|
|
1438
|
-
* Annotations shape point.
|
|
1439
|
-
*/
|
|
1440
|
-
/**
|
|
1441
|
-
* Shape point as string, object or function.
|
|
1442
|
-
*
|
|
1443
|
-
* @typedef {
|
|
1444
|
-
* string|
|
|
1445
|
-
* Highcharts.AnnotationMockPointOptionsObject|
|
|
1446
|
-
* Highcharts.AnnotationMockPointFunction
|
|
1447
|
-
* }Highcharts.AnnotationShapePointOptions
|
|
1448
|
-
*/
|
|
1449
|
-
''; // required by JSDoc parsing
|