highcharts 8.1.0 → 8.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/highcharts.css +12 -0
- package/css/highcharts.scss +12 -0
- package/css/themes/dark-unica.css +12 -0
- package/css/themes/grid-light.css +12 -0
- package/css/themes/sand-signika.css +12 -0
- package/es-modules/{modules/accessibility/a11y-i18n.js → Accessibility/A11yI18n.js} +2 -2
- package/es-modules/{modules/accessibility/accessibility.js → Accessibility/Accessibility.js} +24 -21
- package/es-modules/{modules/accessibility → Accessibility}/AccessibilityComponent.js +73 -17
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/AnnotationsA11y.js +2 -4
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/ContainerComponent.js +8 -9
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/InfoRegionsComponent.js +9 -12
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/LegendComponent.js +60 -22
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/MenuComponent.js +4 -11
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/RangeSelectorComponent.js +8 -7
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +171 -0
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/NewDataAnnouncer.js +8 -7
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/SeriesComponent.js +5 -5
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/SeriesDescriber.js +6 -6
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/SeriesComponent/SeriesKeyboardNavigation.js +22 -20
- package/es-modules/{modules/accessibility/components → Accessibility/Components}/ZoomComponent.js +9 -8
- package/es-modules/{modules/accessibility/focusBorder.js → Accessibility/FocusBorder.js} +13 -10
- package/es-modules/{modules/accessibility/high-contrast-mode.js → Accessibility/HighContrastMode.js} +3 -2
- package/es-modules/{modules/accessibility/high-contrast-theme.js → Accessibility/HighContrastTheme.js} +0 -0
- package/es-modules/{modules/accessibility → Accessibility}/KeyboardNavigation.js +35 -22
- package/es-modules/{modules/accessibility → Accessibility}/KeyboardNavigationHandler.js +1 -1
- package/es-modules/{modules/accessibility/options/deprecatedOptions.js → Accessibility/Options/DeprecatedOptions.js} +10 -20
- package/es-modules/{modules/accessibility/options/langOptions.js → Accessibility/Options/LangOptions.js} +1 -1
- package/es-modules/{modules/accessibility/options/options.js → Accessibility/Options/Options.js} +1 -2
- package/es-modules/{modules/accessibility/utils → Accessibility/Utils}/Announcer.js +2 -2
- package/es-modules/{modules/accessibility/utils/chartUtilities.js → Accessibility/Utils/ChartUtilities.js} +8 -9
- package/es-modules/{modules/accessibility/utils → Accessibility/Utils}/DOMElementProvider.js +5 -5
- package/es-modules/{modules/accessibility/utils → Accessibility/Utils}/EventProvider.js +2 -2
- package/es-modules/{modules/accessibility/utils/htmlUtilities.js → Accessibility/Utils/HTMLUtilities.js} +3 -4
- package/es-modules/Core/Animation/AnimationUtilities.js +193 -0
- package/es-modules/Core/Animation/Fx.js +378 -0
- package/es-modules/{parts → Core/Axis}/Axis.js +153 -89
- package/es-modules/{parts-3d → Core/Axis}/Axis3D.js +12 -7
- package/es-modules/{modules/broken-axis.src.js → Core/Axis/BrokenAxis.js} +6 -8
- package/es-modules/{parts-map → Core/Axis}/ColorAxis.js +28 -31
- package/es-modules/{parts → Core/Axis}/DateTimeAxis.js +1 -1
- package/es-modules/{parts-gantt → Core/Axis}/GridAxis.js +136 -39
- package/es-modules/{parts-more → Core/Axis}/HiddenAxis.js +0 -0
- package/es-modules/{parts → Core/Axis}/LogarithmicAxis.js +1 -1
- package/es-modules/{parts-map → Core/Axis}/MapAxis.js +2 -2
- package/es-modules/{parts → Core/Axis}/NavigatorAxis.js +2 -2
- package/es-modules/{parts → Core/Axis}/OrdinalAxis.js +241 -224
- package/es-modules/{parts → Core/Axis}/PlotLineOrBand.js +24 -15
- package/es-modules/{parts-more → Core/Axis}/RadialAxis.js +34 -27
- package/es-modules/{parts → Core/Axis}/ScrollbarAxis.js +2 -2
- package/es-modules/{parts → Core/Axis}/StackingAxis.js +11 -2
- package/es-modules/{parts → Core/Axis}/Tick.js +14 -14
- package/es-modules/{parts-3d → Core/Axis}/Tick3D.js +1 -1
- package/es-modules/{parts-gantt → Core/Axis}/TreeGridAxis.js +81 -15
- package/es-modules/{parts-gantt → Core/Axis}/TreeGridTick.js +1 -1
- package/es-modules/{parts-3d → Core/Axis}/ZAxis.js +2 -2
- package/es-modules/{parts → Core/Chart}/Chart.js +225 -227
- package/es-modules/Core/Chart/Chart3D.js +1674 -0
- package/es-modules/{parts-gantt → Core/Chart}/GanttChart.js +13 -12
- package/es-modules/{parts → Core/Chart}/StockChart.js +26 -25
- package/es-modules/Core/Color/Color.js +419 -0
- package/es-modules/Core/Color/ColorType.js +9 -0
- package/es-modules/{parts → Core}/Color.js +1 -1
- package/es-modules/{parts → Core}/Dynamics.js +91 -61
- package/es-modules/{parts → Core}/Globals.js +9 -1
- package/es-modules/{parts → Core}/Interaction.js +27 -20
- package/es-modules/{parts → Core}/Legend.js +26 -11
- package/es-modules/{parts → Core}/MSPointer.js +2 -2
- package/es-modules/{parts → Core}/Navigator.js +24 -14
- package/es-modules/{parts → Core}/Options.js +157 -69
- package/es-modules/{parts → Core}/Pointer.js +50 -27
- package/es-modules/Core/Renderer/DOMElementType.js +9 -0
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +220 -0
- package/es-modules/{parts/Html.js → Core/Renderer/HTML/HTMLRenderer.js} +16 -207
- package/es-modules/{parts → Core/Renderer/SVG}/SVGElement.js +186 -32
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +410 -0
- package/es-modules/{parts/SvgRenderer.js → Core/Renderer/SVG/SVGRenderer.js} +426 -886
- package/es-modules/{parts-3d/SVGRenderer.js → Core/Renderer/SVG/SVGRenderer3D.js} +31 -23
- package/es-modules/{parts → Core}/Responsive.js +24 -14
- package/es-modules/{parts → Core}/Scrollbar.js +5 -4
- package/es-modules/Core/Series/BaseSeries.js +157 -0
- package/es-modules/{parts/Series.js → Core/Series/CartesianSeries.js} +119 -55
- package/es-modules/{parts → Core/Series}/DataLabels.js +40 -36
- package/es-modules/{parts → Core/Series}/Point.js +8 -10
- package/es-modules/Core/Series/Series.js +158 -0
- package/es-modules/{parts-3d/Series.js → Core/Series/Series3D.js} +5 -3
- package/es-modules/{parts → Core}/Time.js +11 -133
- package/es-modules/{parts → Core}/Tooltip.js +30 -27
- package/es-modules/{parts → Core}/Utilities.js +103 -562
- package/es-modules/{mixins/ajax.js → Extensions/Ajax.js} +9 -4
- package/es-modules/{annotations/annotations.src.js → Extensions/Annotations/Annotations.js} +901 -709
- package/es-modules/{annotations → Extensions/Annotations}/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +117 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +111 -0
- package/es-modules/{annotations/controllable → Extensions/Annotations/Controllables}/ControllableLabel.js +186 -146
- package/es-modules/{annotations/controllable → Extensions/Annotations/Controllables}/ControllablePath.js +81 -42
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +121 -0
- package/es-modules/{annotations/controllable/controllableMixin.js → Extensions/Annotations/Mixins/ControllableMixin.js} +8 -9
- package/es-modules/{annotations/eventEmitterMixin.js → Extensions/Annotations/Mixins/EventEmitterMixin.js} +7 -7
- package/es-modules/{annotations/controllable/markerMixin.js → Extensions/Annotations/Mixins/MarkerMixin.js} +10 -8
- package/es-modules/{annotations → Extensions/Annotations}/MockPoint.js +6 -6
- package/es-modules/{annotations/navigationBindings.js → Extensions/Annotations/NavigationBindings.js} +27 -16
- package/es-modules/{annotations/popup.js → Extensions/Annotations/Popup.js} +9 -9
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/BasicAnnotation.js +68 -20
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/CrookedLine.js +46 -19
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/ElliottWave.js +33 -12
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/Fibonacci.js +54 -22
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +147 -0
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/Measure.js +82 -52
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/Pitchfork.js +69 -32
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/Tunnel.js +58 -30
- package/es-modules/{annotations/types → Extensions/Annotations/Types}/VerticalLine.js +64 -33
- package/es-modules/{parts-gantt → Extensions}/ArrowSymbols.js +9 -11
- package/es-modules/{modules/boost/boost.js → Extensions/Boost/Boost.js} +8 -8
- package/es-modules/{modules/boost/boost-attach.js → Extensions/Boost/BoostAttach.js} +10 -8
- package/es-modules/{modules/boost/boost-init.js → Extensions/Boost/BoostInit.js} +7 -6
- package/es-modules/{modules/boost/boost-options.js → Extensions/Boost/BoostOptions.js} +1 -1
- package/es-modules/{modules/boost/boost-overrides.js → Extensions/Boost/BoostOverrides.js} +14 -11
- package/es-modules/{modules/boost/boost-utils.js → Extensions/Boost/BoostUtils.js} +6 -6
- package/es-modules/{modules/boost/boostable-map.js → Extensions/Boost/BoostableMap.js} +1 -1
- package/es-modules/{modules/boost/boostables.js → Extensions/Boost/Boostables.js} +0 -0
- package/es-modules/{modules/boost/named-colors.js → Extensions/Boost/NamedColors.js} +1 -1
- package/es-modules/{modules/boost/wgl-renderer.js → Extensions/Boost/WGLRenderer.js} +9 -9
- package/es-modules/{modules/boost/wgl-shader.js → Extensions/Boost/WGLShader.js} +3 -4
- package/es-modules/{modules/boost/wgl-vbuffer.js → Extensions/Boost/WGLVBuffer.js} +0 -0
- package/es-modules/{modules/boost-canvas.src.js → Extensions/BoostCanvas.js} +13 -9
- package/es-modules/{parts-gantt/CurrentDateIndicator.js → Extensions/CurrentDateIndication.js} +5 -7
- package/es-modules/{modules/data.src.js → Extensions/Data.js} +14 -16
- package/es-modules/{parts → Extensions}/DataGrouping.js +12 -9
- package/es-modules/{modules/debugger.src.js → Extensions/Debugger.js} +6 -6
- package/es-modules/{mixins/download-url.js → Extensions/DownloadURL.js} +15 -7
- package/es-modules/{modules/drag-panes.src.js → Extensions/DragPanes.js} +6 -6
- package/es-modules/{modules/draggable-points.src.js → Extensions/DraggablePoints.js} +21 -32
- package/es-modules/{modules/drilldown.src.js → Extensions/Drilldown.js} +64 -43
- package/es-modules/{modules/export-data.src.js → Extensions/ExportData.js} +126 -26
- package/es-modules/{modules/exporting.src.js → Extensions/Exporting.js} +26 -12
- package/es-modules/{modules/full-screen.src.js → Extensions/FullScreen.js} +5 -3
- package/es-modules/{parts-map → Extensions}/GeoJSON.js +112 -7
- package/es-modules/{modules/marker-clusters.src.js → Extensions/MarkerClusters.js} +29 -39
- package/es-modules/{parts-3d/Math.js → Extensions/Math3D.js} +17 -9
- package/es-modules/{modules/no-data-to-display.src.js → Extensions/NoDataToDisplay.js} +14 -15
- package/es-modules/{modules/offline-exporting.src.js → Extensions/OfflineExporting.js} +39 -35
- package/es-modules/{modules/oldie.src.js → Extensions/Oldie/Oldie.js} +19 -12
- package/es-modules/{parts-3d → Extensions/Oldie}/VMLAxis3D.js +1 -1
- package/es-modules/Extensions/Oldie/VMLRenderer3D.js +46 -0
- package/es-modules/{modules/oldie-polyfills.src.js → Extensions/OldiePolyfills.js} +5 -0
- package/es-modules/{modules/overlapping-datalabels.src.js → Extensions/OverlappingDataLabels.js} +14 -13
- package/es-modules/{parts-more → Extensions}/Pane.js +13 -12
- package/es-modules/{modules/parallel-coordinates.src.js → Extensions/ParallelCoordinates.js} +140 -138
- package/es-modules/{modules/pattern-fill.src.js → Extensions/PatternFill.js} +23 -15
- package/es-modules/{parts-more → Extensions}/Polar.js +15 -12
- package/es-modules/{modules/price-indicator.src.js → Extensions/PriceIndication.js} +5 -3
- package/es-modules/{parts → Extensions}/RangeSelector.js +112 -79
- package/es-modules/{parts → Extensions}/ScrollablePlotArea.js +19 -9
- package/es-modules/{modules/series-label.src.js → Extensions/SeriesLabel.js} +14 -10
- package/es-modules/{modules/sonification/chartSonify.js → Extensions/Sonification/ChartSonify.js} +212 -41
- package/es-modules/{modules/sonification → Extensions/Sonification}/Earcon.js +3 -7
- package/es-modules/{modules/sonification → Extensions/Sonification}/Instrument.js +35 -11
- package/es-modules/{modules/sonification/instrumentDefinitions.js → Extensions/Sonification/InstrumentDefinitions.js} +1 -1
- package/es-modules/{modules/sonification/musicalFrequencies.js → Extensions/Sonification/MusicalFrequencies.js} +0 -0
- package/es-modules/Extensions/Sonification/Options.js +34 -0
- package/es-modules/{modules/sonification/pointSonify.js → Extensions/Sonification/PointSonify.js} +43 -28
- package/es-modules/{modules/sonification/sonification.js → Extensions/Sonification/Sonification.js} +16 -12
- package/es-modules/{modules/sonification → Extensions/Sonification}/Timeline.js +25 -6
- package/es-modules/{modules/sonification/utilities.js → Extensions/Sonification/Utilities.js} +8 -5
- package/es-modules/{parts → Extensions}/Stacking.js +57 -18
- package/es-modules/{modules/static-scale.src.js → Extensions/StaticScale.js} +4 -4
- package/es-modules/{themes/avocado.js → Extensions/Themes/Avocado.js} +5 -4
- package/es-modules/{themes/dark-blue.js → Extensions/Themes/DarkBlue.js} +4 -2
- package/es-modules/{themes/dark-green.js → Extensions/Themes/DarkGreen.js} +4 -2
- package/es-modules/{themes/dark-unica.js → Extensions/Themes/DarkUnica.js} +6 -6
- package/es-modules/{themes/gray.js → Extensions/Themes/Gray.js} +5 -4
- package/es-modules/{themes/grid.js → Extensions/Themes/Grid.js} +4 -2
- package/es-modules/{themes/grid-light.js → Extensions/Themes/GridLight.js} +4 -2
- package/es-modules/{themes/high-contrast-dark.js → Extensions/Themes/HighContrastDark.js} +5 -4
- package/es-modules/{themes/high-contrast-light.js → Extensions/Themes/HighContrastLight.js} +4 -2
- package/es-modules/{themes/sand-signika.js → Extensions/Themes/SandSignika.js} +4 -2
- package/es-modules/{themes/skies.js → Extensions/Themes/Skies.js} +5 -3
- package/es-modules/{themes/sunset.js → Extensions/Themes/Sunset.js} +5 -4
- package/es-modules/{parts-gantt/Pathfinder.js → Gantt/Connection.js} +41 -284
- package/es-modules/Gantt/Pathfinder.js +816 -0
- package/es-modules/Gantt/PathfinderAlgorithms.js +659 -0
- package/es-modules/{parts-gantt → Gantt}/Tree.js +1 -1
- package/es-modules/{parts-map → Maps}/Map.js +24 -15
- package/es-modules/{parts-map → Maps}/MapNavigation.js +4 -5
- package/es-modules/{parts-map → Maps}/MapPointer.js +2 -4
- package/es-modules/{mixins/centered-series.js → Mixins/CenteredSeries.js} +7 -5
- package/es-modules/{parts-map/ColorMapSeriesMixin.js → Mixins/ColorMapSeries.js} +10 -6
- package/es-modules/{parts-map/ColorSeriesMixin.js → Mixins/ColorSeries.js} +12 -4
- package/es-modules/{mixins/derived-series.js → Mixins/DerivedSeries.js} +3 -3
- package/es-modules/{mixins/draw-point.js → Mixins/DrawPoint.js} +6 -1
- package/es-modules/{mixins/geometry.js → Mixins/Geometry.js} +0 -0
- package/es-modules/{mixins/geometry-circles.js → Mixins/GeometryCircles.js} +2 -2
- package/es-modules/{mixins/indicator-required.js → Mixins/IndicatorRequired.js} +1 -1
- package/es-modules/{mixins/legend-symbol.js → Mixins/LegendSymbol.js} +6 -10
- package/es-modules/{mixins/multipe-lines.js → Mixins/MultipleLines.js} +2 -2
- package/es-modules/{mixins/navigation.js → Mixins/Navigation.js} +0 -0
- package/es-modules/{mixins/nelder-mead.js → Mixins/NelderMead.js} +2 -2
- package/es-modules/{mixins/nodes.js → Mixins/Nodes.js} +7 -5
- package/es-modules/{mixins/on-series.js → Mixins/OnSeries.js} +3 -2
- package/es-modules/{mixins/polygon.js → Mixins/Polygon.js} +2 -2
- package/es-modules/{mixins/reduce-array.js → Mixins/ReduceArray.js} +1 -1
- package/es-modules/{mixins/tree-series.js → Mixins/TreeSeries.js} +2 -2
- package/es-modules/{parts-more → Series}/AreaRangeSeries.js +75 -38
- package/es-modules/{parts → Series}/AreaSeries.js +43 -25
- package/es-modules/{parts-more → Series}/AreaSplineRangeSeries.js +47 -10
- package/es-modules/{parts → Series}/AreaSplineSeries.js +49 -10
- package/es-modules/{parts → Series}/BarSeries.js +2 -5
- package/es-modules/{modules/bellcurve.src.js → Series/BellcurveSeries.js} +47 -7
- package/es-modules/{parts-more → Series}/BoxPlotSeries.js +18 -13
- package/es-modules/{parts-more → Series/Bubble}/BubbleLegend.js +11 -9
- package/es-modules/{parts-more → Series/Bubble}/BubbleSeries.js +25 -27
- package/es-modules/{modules/bullet.src.js → Series/BulletSeries.js} +9 -8
- package/es-modules/{parts → Series}/CandlestickSeries.js +11 -8
- package/es-modules/{parts-3d/Column.js → Series/Column3DSeries.js} +108 -28
- package/es-modules/{parts-more → Series}/ColumnPyramidSeries.js +9 -9
- package/es-modules/{parts-more → Series}/ColumnRangeSeries.js +21 -18
- package/es-modules/{parts → Series}/ColumnSeries.js +119 -41
- package/es-modules/{modules/cylinder.src.js → Series/CylinderSeries.js} +14 -14
- package/es-modules/{modules/dependency-wheel.src.js → Series/DependencyWheelSeries.js} +14 -12
- package/es-modules/{modules/dotplot.src.js → Series/DotplotSeries.js} +7 -15
- package/es-modules/{modules/dumbbell.src.js → Series/DumbbellSeries.js} +16 -10
- package/es-modules/{parts-more → Series}/ErrorBarSeries.js +8 -8
- package/es-modules/{parts → Series}/FlagsSeries.js +18 -12
- package/es-modules/{modules/funnel3d.src.js → Series/Funnel3DSeries.js} +14 -16
- package/es-modules/{modules/funnel.src.js → Series/FunnelSeries.js} +16 -14
- package/es-modules/{parts-gantt → Series}/GanttSeries.js +21 -20
- package/es-modules/{parts-more → Series}/GaugeSeries.js +14 -12
- package/es-modules/{parts-map → Series}/HeatmapSeries.js +23 -16
- package/es-modules/{modules/histogram.src.js → Series/HistogramSeries.js} +13 -9
- package/es-modules/{modules/item-series.src.js → Series/ItemSeries.js} +22 -14
- package/es-modules/Series/LineSeries.js +13 -0
- package/es-modules/{modules/lollipop.src.js → Series/LollipopSeries.js} +34 -10
- package/es-modules/{parts-map → Series}/MapBubbleSeries.js +8 -9
- package/es-modules/{parts-map → Series}/MapLineSeries.js +5 -7
- package/es-modules/{parts-map → Series}/MapPointSeries.js +9 -8
- package/es-modules/{parts-map → Series}/MapSeries.js +22 -18
- package/es-modules/{modules/networkgraph/draggable-nodes.js → Series/Networkgraph/DraggableNodes.js} +15 -30
- package/es-modules/{modules/networkgraph/integrations.js → Series/Networkgraph/Integrations.js} +1 -1
- package/es-modules/{modules/networkgraph/layouts.js → Series/Networkgraph/Layouts.js} +43 -13
- package/es-modules/{modules/networkgraph/networkgraph.src.js → Series/Networkgraph/Networkgraph.js} +29 -23
- package/es-modules/{modules/networkgraph → Series/Networkgraph}/QuadTree.js +2 -2
- package/es-modules/{parts → Series}/OHLCSeries.js +5 -7
- package/es-modules/{modules/organization.src.js → Series/OrganizationSeries.js} +10 -7
- package/es-modules/{parts-more → Series}/PackedBubbleSeries.js +104 -28
- package/es-modules/{modules/pareto.src.js → Series/ParetoSeries.js} +10 -9
- package/es-modules/{parts-3d/Pie.js → Series/Pie3DSeries.js} +5 -4
- package/es-modules/{parts → Series}/PieSeries.js +66 -31
- package/es-modules/{parts-more → Series}/PolygonSeries.js +13 -13
- package/es-modules/{modules/pyramid3d.src.js → Series/Pyramid3DSeries.js} +5 -7
- package/es-modules/{modules/sankey.src.js → Series/SankeySeries.js} +23 -21
- package/es-modules/{parts-3d/Scatter.js → Series/Scatter3DSeries.js} +10 -9
- package/es-modules/{parts → Series}/ScatterSeries.js +15 -10
- package/es-modules/{modules/solid-gauge.src.js → Series/SolidGaugeSeries.js} +112 -78
- package/es-modules/{parts → Series}/SplineSeries.js +9 -7
- package/es-modules/{modules/streamgraph.src.js → Series/StreamgraphSeries.js} +42 -6
- package/es-modules/{modules/sunburst.src.js → Series/SunburstSeries.js} +20 -13
- package/es-modules/{modules/tilemap.src.js → Series/TilemapSeries.js} +12 -9
- package/es-modules/{modules/timeline.src.js → Series/TimelineSeries.js} +16 -11
- package/es-modules/{modules/treemap.src.js → Series/TreemapSeries.js} +47 -40
- package/es-modules/{modules/variable-pie.src.js → Series/VariablePieSeries.js} +11 -8
- package/es-modules/{modules/variwide.src.js → Series/VariwideSeries.js} +12 -10
- package/es-modules/{modules/vector.src.js → Series/VectorSeries.js} +11 -7
- package/es-modules/{modules/venn.src.js → Series/VennSeries.js} +29 -20
- package/es-modules/{parts-more → Series}/WaterfallSeries.js +145 -66
- package/es-modules/{modules/windbarb.src.js → Series/WindbarbSeries.js} +13 -9
- package/es-modules/{modules/wordcloud.src.js → Series/WordcloudSeries.js} +17 -13
- package/es-modules/{modules/xrange.src.js → Series/XRangeSeries.js} +16 -12
- package/es-modules/{indicators/acceleration-bands.src.js → Stock/Indicators/ABIndicator.js} +8 -8
- package/es-modules/{indicators/accumulation-distribution.src.js → Stock/Indicators/ADIndicator.js} +5 -4
- package/es-modules/{indicators/ao.src.js → Stock/Indicators/AOIndicator.js} +6 -5
- package/es-modules/{indicators/apo.src.js → Stock/Indicators/APOIndicator.js} +8 -8
- package/es-modules/{indicators/atr.src.js → Stock/Indicators/ATRIndicator.js} +6 -6
- package/es-modules/{indicators/aroon.src.js → Stock/Indicators/AroonIndicator.js} +7 -6
- package/es-modules/{indicators/aroon-oscillator.src.js → Stock/Indicators/AroonOscillatorIndicator.js} +8 -8
- package/es-modules/{indicators/bollinger-bands.src.js → Stock/Indicators/BBIndicator.js} +8 -8
- package/es-modules/{indicators/cci.src.js → Stock/Indicators/CCIIndicator.js} +5 -4
- package/es-modules/{indicators/cmf.src.js → Stock/Indicators/CMFIndicator.js} +3 -4
- package/es-modules/{indicators/chaikin.src.js → Stock/Indicators/ChaikinIndicator.js} +10 -9
- package/es-modules/{indicators/dema.src.js → Stock/Indicators/DEMAIndicator.js} +8 -8
- package/es-modules/{indicators/dpo.src.js → Stock/Indicators/DPOIndicator.js} +5 -4
- package/es-modules/{indicators/ema.src.js → Stock/Indicators/EMAIndicator.js} +4 -4
- package/es-modules/{indicators/ichimoku-kinko-hyo.src.js → Stock/Indicators/IKHIndicator.js} +23 -20
- package/es-modules/{indicators/keltner-channels.src.js → Stock/Indicators/KeltnerChannelsIndicator.js} +11 -8
- package/es-modules/{indicators/macd.src.js → Stock/Indicators/MACDIndicator.js} +9 -6
- package/es-modules/{indicators/mfi.src.js → Stock/Indicators/MFIIndicator.js} +5 -4
- package/es-modules/{indicators/momentum.src.js → Stock/Indicators/MomentumIndicator.js} +5 -4
- package/es-modules/{indicators/natr.src.js → Stock/Indicators/NATRIndicator.js} +4 -6
- package/es-modules/{indicators/price-channel.src.js → Stock/Indicators/PCIndicator.js} +9 -8
- package/es-modules/{indicators/ppo.src.js → Stock/Indicators/PPOIndicator.js} +8 -8
- package/es-modules/{indicators/psar.src.js → Stock/Indicators/PSARIndicator.js} +3 -4
- package/es-modules/{indicators/pivot-points.src.js → Stock/Indicators/PivotPointsIndicator.js} +6 -6
- package/es-modules/{indicators/price-envelopes.src.js → Stock/Indicators/PriceEnvelopesIndicator.js} +6 -6
- package/es-modules/{indicators/roc.src.js → Stock/Indicators/ROCIndicator.js} +5 -4
- package/es-modules/{indicators/rsi.src.js → Stock/Indicators/RSIIndicator.js} +5 -4
- package/es-modules/{indicators/regressions.src.js → Stock/Indicators/RegressionIndicators.js} +8 -7
- package/es-modules/{indicators/indicators.src.js → Stock/Indicators/SMAIndicator.js} +12 -8
- package/es-modules/{indicators/slow-stochastic.src.js → Stock/Indicators/SlowStochasticIndicator.js} +6 -8
- package/es-modules/{indicators/stochastic.src.js → Stock/Indicators/StochasticIndicator.js} +9 -9
- package/es-modules/{indicators/supertrend.src.js → Stock/Indicators/SupertrendIndicator.js} +8 -7
- package/es-modules/{indicators/tema.src.js → Stock/Indicators/TEMAIndicator.js} +8 -8
- package/es-modules/{indicators/trix.src.js → Stock/Indicators/TRIXIndicator.js} +8 -8
- package/es-modules/{indicators/trendline.src.js → Stock/Indicators/TrendLineIndicator.js} +5 -4
- package/es-modules/{indicators/volume-by-price.src.js → Stock/Indicators/VBPIndicator.js} +10 -7
- package/es-modules/{indicators/vwap.src.js → Stock/Indicators/VWAPIndicator.js} +5 -4
- package/es-modules/{indicators/wma.src.js → Stock/Indicators/WMAIndicator.js} +5 -4
- package/es-modules/{indicators/williams-r.src.js → Stock/Indicators/WilliamsRIndicator.js} +7 -6
- package/es-modules/{indicators/zigzag.src.js → Stock/Indicators/ZigzagIndicator.js} +5 -7
- package/es-modules/{modules/stock-tools-bindings.js → Stock/StockToolsBindings.js} +22 -7
- package/es-modules/{modules/stock-tools-gui.js → Stock/StockToolsGui.js} +17 -17
- package/es-modules/error-messages.js +7 -2
- package/es-modules/highcharts.src.js +19853 -0
- package/es-modules/masters/highcharts-3d.src.js +11 -12
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +15 -15
- package/es-modules/masters/highcharts.src.js +28 -27
- 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 +2 -2
- package/es-modules/masters/indicators/accumulation-distribution.src.js +2 -2
- package/es-modules/masters/indicators/ao.src.js +2 -2
- package/es-modules/masters/indicators/apo.src.js +2 -2
- package/es-modules/masters/indicators/aroon-oscillator.src.js +2 -2
- package/es-modules/masters/indicators/aroon.src.js +2 -2
- package/es-modules/masters/indicators/atr.src.js +2 -2
- package/es-modules/masters/indicators/bollinger-bands.src.js +2 -2
- package/es-modules/masters/indicators/cci.src.js +2 -2
- package/es-modules/masters/indicators/chaikin.src.js +2 -2
- package/es-modules/masters/indicators/cmf.src.js +2 -2
- package/es-modules/masters/indicators/dema.src.js +2 -2
- package/es-modules/masters/indicators/dpo.src.js +2 -2
- package/es-modules/masters/indicators/ema.src.js +2 -2
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +2 -2
- package/es-modules/masters/indicators/indicators-all.src.js +41 -41
- package/es-modules/masters/indicators/indicators.src.js +2 -2
- package/es-modules/masters/indicators/keltner-channels.src.js +2 -2
- package/es-modules/masters/indicators/macd.src.js +2 -2
- package/es-modules/masters/indicators/mfi.src.js +2 -2
- package/es-modules/masters/indicators/momentum.src.js +2 -2
- package/es-modules/masters/indicators/natr.src.js +2 -2
- package/es-modules/masters/indicators/pivot-points.src.js +2 -2
- package/es-modules/masters/indicators/ppo.src.js +2 -2
- package/es-modules/masters/indicators/price-channel.src.js +2 -2
- package/es-modules/masters/indicators/price-envelopes.src.js +2 -2
- package/es-modules/masters/indicators/psar.src.js +2 -2
- package/es-modules/masters/indicators/regressions.src.js +2 -2
- package/es-modules/masters/indicators/roc.src.js +2 -2
- package/es-modules/masters/indicators/rsi.src.js +2 -2
- package/es-modules/masters/indicators/slow-stochastic.src.js +2 -2
- package/es-modules/masters/indicators/stochastic.src.js +2 -2
- package/es-modules/masters/indicators/supertrend.src.js +2 -2
- package/es-modules/masters/indicators/tema.src.js +2 -2
- package/es-modules/masters/indicators/trendline.src.js +2 -2
- package/es-modules/masters/indicators/trix.src.js +2 -2
- package/es-modules/masters/indicators/volume-by-price.src.js +2 -2
- package/es-modules/masters/indicators/vwap.src.js +2 -2
- package/es-modules/masters/indicators/williams-r.src.js +2 -2
- package/es-modules/masters/indicators/wma.src.js +2 -2
- package/es-modules/masters/indicators/zigzag.src.js +2 -2
- package/es-modules/masters/modules/accessibility.src.js +2 -2
- package/es-modules/masters/modules/annotations-advanced.src.js +13 -13
- package/es-modules/masters/modules/annotations.src.js +4 -4
- package/es-modules/masters/modules/arrow-symbols.src.js +2 -2
- package/es-modules/masters/modules/boost-canvas.src.js +2 -2
- package/es-modules/masters/modules/boost.src.js +2 -2
- package/es-modules/masters/modules/broken-axis.src.js +2 -2
- package/es-modules/masters/modules/bullet.src.js +2 -2
- package/es-modules/masters/modules/coloraxis.src.js +2 -2
- package/es-modules/masters/modules/current-date-indicator.src.js +2 -2
- package/es-modules/masters/modules/cylinder.src.js +2 -2
- package/es-modules/masters/modules/data.src.js +2 -2
- package/es-modules/masters/modules/datagrouping.src.js +2 -2
- package/es-modules/masters/modules/debugger.src.js +2 -2
- package/es-modules/masters/modules/dependency-wheel.src.js +2 -2
- package/es-modules/masters/modules/dotplot.src.js +2 -2
- package/es-modules/masters/modules/drag-panes.src.js +2 -2
- package/es-modules/masters/modules/draggable-points.src.js +2 -2
- package/es-modules/masters/modules/drilldown.src.js +2 -2
- package/es-modules/masters/modules/dumbbell.src.js +2 -2
- package/es-modules/masters/modules/export-data.src.js +2 -2
- package/es-modules/masters/modules/exporting.src.js +3 -3
- package/es-modules/masters/modules/full-screen.src.js +2 -2
- package/es-modules/masters/modules/funnel.src.js +2 -2
- package/es-modules/masters/modules/funnel3d.src.js +2 -2
- package/es-modules/masters/modules/gantt.src.js +6 -6
- package/es-modules/masters/modules/grid-axis.src.js +2 -2
- package/es-modules/masters/modules/heatmap.src.js +4 -4
- package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -3
- package/es-modules/masters/modules/item-series.src.js +2 -2
- package/es-modules/masters/modules/lollipop.src.js +2 -2
- package/es-modules/masters/modules/map.src.js +13 -13
- package/es-modules/masters/modules/marker-clusters.src.js +2 -2
- package/es-modules/masters/modules/networkgraph.src.js +2 -2
- package/es-modules/masters/modules/no-data-to-display.src.js +2 -2
- package/es-modules/masters/modules/offline-exporting.src.js +2 -2
- package/es-modules/masters/modules/oldie-polyfills.src.js +2 -2
- package/es-modules/masters/modules/oldie.src.js +2 -2
- package/es-modules/masters/modules/organization.src.js +2 -2
- package/es-modules/masters/modules/overlapping-datalabels.src.js +2 -2
- package/es-modules/masters/modules/parallel-coordinates.src.js +2 -2
- package/es-modules/masters/modules/pareto.src.js +2 -2
- package/es-modules/masters/modules/pathfinder.src.js +2 -2
- package/es-modules/masters/modules/pattern-fill.src.js +2 -2
- package/es-modules/masters/modules/price-indicator.src.js +2 -2
- package/es-modules/masters/modules/pyramid3d.src.js +2 -2
- package/es-modules/masters/modules/sankey.src.js +2 -2
- package/es-modules/masters/modules/series-label.src.js +2 -2
- package/es-modules/masters/modules/solid-gauge.src.js +2 -2
- package/es-modules/masters/modules/sonification.src.js +2 -2
- package/es-modules/masters/modules/static-scale.src.js +2 -2
- package/es-modules/masters/modules/stock-tools.src.js +3 -3
- package/es-modules/masters/modules/stock.src.js +10 -10
- package/es-modules/masters/modules/streamgraph.src.js +2 -2
- package/es-modules/masters/modules/sunburst.src.js +2 -2
- package/es-modules/masters/modules/tilemap.src.js +2 -2
- package/es-modules/masters/modules/timeline.src.js +2 -2
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +2 -2
- package/es-modules/masters/modules/variable-pie.src.js +2 -2
- package/es-modules/masters/modules/variwide.src.js +2 -2
- package/es-modules/masters/modules/vector.src.js +2 -2
- package/es-modules/masters/modules/venn.src.js +2 -2
- package/es-modules/masters/modules/windbarb.src.js +2 -2
- package/es-modules/masters/modules/wordcloud.src.js +2 -2
- package/es-modules/masters/modules/xrange.src.js +2 -2
- package/es-modules/masters/themes/avocado.src.js +2 -2
- package/es-modules/masters/themes/dark-blue.src.js +2 -2
- package/es-modules/masters/themes/dark-green.src.js +2 -2
- package/es-modules/masters/themes/dark-unica.src.js +2 -2
- package/es-modules/masters/themes/gray.src.js +2 -2
- package/es-modules/masters/themes/grid-light.src.js +2 -2
- package/es-modules/masters/themes/grid.src.js +2 -2
- package/es-modules/masters/themes/high-contrast-dark.src.js +2 -2
- package/es-modules/masters/themes/high-contrast-light.src.js +2 -2
- package/es-modules/masters/themes/sand-signika.src.js +2 -2
- package/es-modules/masters/themes/skies.src.js +2 -2
- package/es-modules/masters/themes/sunset.src.js +2 -2
- package/highcharts-3d.js +86 -88
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +1713 -1615
- package/highcharts-gantt.js +730 -697
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +11747 -10110
- package/highcharts-more.js +164 -161
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +766 -523
- package/highcharts.d.ts +7728 -1337
- package/highcharts.js +538 -515
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +7728 -1337
- package/highcharts.src.js +8517 -7691
- package/highmaps.js +636 -612
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +9151 -8209
- package/highstock.js +697 -671
- package/highstock.js.map +1 -1
- package/highstock.src.js +8919 -8049
- package/indicators/acceleration-bands.js +8 -8
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +8 -8
- package/indicators/accumulation-distribution.js +4 -4
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +5 -5
- package/indicators/ao.js +5 -5
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +6 -6
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +8 -9
- package/indicators/aroon-oscillator.js +8 -8
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +8 -9
- package/indicators/aroon.js +7 -7
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +7 -7
- package/indicators/atr.js +4 -4
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +6 -14
- package/indicators/bollinger-bands.js +8 -8
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +8 -8
- package/indicators/cci.js +4 -4
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +5 -5
- package/indicators/chaikin.js +6 -6
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +75 -75
- package/indicators/cmf.js +4 -4
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +4 -4
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +8 -9
- package/indicators/dpo.js +4 -4
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +5 -5
- package/indicators/ema.js +4 -4
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +4 -5
- package/indicators/ichimoku-kinko-hyo.js +13 -13
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +21 -20
- package/indicators/indicators-all.js +119 -118
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +231 -240
- package/indicators/indicators.js +9 -9
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +9 -9
- package/indicators/keltner-channels.js +8 -8
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +13 -10
- package/indicators/macd.js +10 -10
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +8 -7
- package/indicators/mfi.js +4 -4
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +5 -5
- package/indicators/momentum.js +4 -4
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +5 -5
- package/indicators/natr.js +3 -3
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +5 -5
- package/indicators/pivot-points.js +8 -8
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +6 -6
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +8 -9
- package/indicators/price-channel.js +8 -8
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +66 -66
- package/indicators/price-envelopes.js +6 -6
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +6 -6
- package/indicators/psar.js +3 -3
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +4 -4
- package/indicators/regressions.js +6 -6
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +8 -8
- package/indicators/roc.js +3 -3
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +5 -5
- package/indicators/rsi.js +4 -4
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +5 -5
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +7 -7
- package/indicators/stochastic.js +9 -9
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +67 -67
- package/indicators/supertrend.js +9 -9
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +9 -7
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +8 -9
- package/indicators/trendline.js +3 -3
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +5 -5
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +8 -8
- package/indicators/volume-by-price.js +13 -13
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +7 -8
- package/indicators/vwap.js +4 -4
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +5 -5
- package/indicators/williams-r.js +4 -4
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +7 -7
- package/indicators/wma.js +4 -4
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +5 -5
- package/indicators/zigzag.js +4 -4
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +6 -7
- package/modules/accessibility.d.ts +0 -35
- package/modules/accessibility.js +171 -168
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.d.ts +0 -35
- package/modules/accessibility.src.js +369 -252
- package/modules/annotations-advanced.js +158 -136
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +1929 -1263
- package/modules/annotations.js +105 -94
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +1485 -1101
- package/modules/arrow-symbols.js +4 -4
- package/modules/arrow-symbols.js.map +1 -1
- package/modules/arrow-symbols.src.js +10 -12
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +17 -17
- package/modules/boost.d.ts +4 -0
- package/modules/boost.js +77 -64
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.d.ts +4 -0
- package/modules/boost.src.js +581 -33
- package/modules/broken-axis.js +10 -10
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +4 -5
- package/modules/bullet.js +6 -6
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +8 -8
- package/modules/coloraxis.js +22 -21
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +67 -59
- package/modules/current-date-indicator.js +3 -3
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +4 -5
- package/modules/cylinder.js +8 -8
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +21 -23
- package/modules/data.d.ts +2 -2
- package/modules/data.js +32 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +2 -2
- package/modules/data.src.js +26 -25
- package/modules/datagrouping.js +17 -17
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +6 -7
- package/modules/debugger.js +5 -5
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +13 -8
- package/modules/dependency-wheel.js +8 -8
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +10 -10
- package/modules/dotplot.js +5 -5
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +6 -14
- package/modules/drag-panes.js +10 -10
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +4 -6
- package/modules/draggable-points.js +33 -33
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +22 -35
- package/modules/drilldown.d.ts +1 -1
- package/modules/drilldown.js +23 -22
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +1 -1
- package/modules/drilldown.src.js +66 -53
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +24 -9
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +1029 -104
- package/modules/export-data.d.ts +4 -29
- package/modules/export-data.js +21 -21
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.d.ts +4 -29
- package/modules/export-data.src.js +155 -189
- package/modules/exporting.d.ts +2 -0
- package/modules/exporting.js +33 -33
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +2 -0
- package/modules/exporting.src.js +40 -30
- package/modules/full-screen.js +7 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +4 -3
- package/modules/funnel.js +9 -9
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +14 -15
- package/modules/funnel3d.js +17 -17
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +12 -14
- package/modules/gantt.js +194 -183
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +2071 -1260
- package/modules/grid-axis.js +22 -19
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +149 -43
- package/modules/heatmap.js +33 -32
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +130 -114
- package/modules/histogram-bellcurve.js +10 -10
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +57 -16
- package/modules/item-series.js +9 -9
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +20 -13
- package/modules/lollipop.d.ts +20 -1
- package/modules/lollipop.js +26 -4
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.d.ts +20 -1
- package/modules/lollipop.src.js +1452 -10
- package/modules/map.d.ts +2 -2
- package/modules/map.js +99 -98
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +2 -2
- package/modules/map.src.js +1442 -1326
- package/modules/marker-clusters.js +35 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +31 -51
- package/modules/networkgraph.js +47 -46
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.js +98 -81
- package/modules/no-data-to-display.js +4 -4
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +17 -13
- package/modules/offline-exporting.js +15 -15
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +63 -46
- package/modules/oldie-polyfills.js +6 -6
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +7 -2
- package/modules/oldie.js +52 -26
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +1411 -34
- package/modules/organization.js +11 -11
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +7 -6
- 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 +144 -136
- package/modules/pareto.js +5 -5
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +8 -9
- package/modules/pathfinder.js +31 -27
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +1589 -985
- package/modules/pattern-fill.js +13 -13
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +25 -21
- package/modules/price-indicator.js +4 -4
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +5 -3
- package/modules/pyramid3d.js +3 -3
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +4 -5
- package/modules/sankey.js +25 -26
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +39 -36
- package/modules/series-label.js +17 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +17 -17
- package/modules/solid-gauge.js +8 -8
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +123 -91
- package/modules/sonification.d.ts +33 -16
- package/modules/sonification.js +55 -49
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.d.ts +33 -16
- package/modules/sonification.src.js +361 -115
- package/modules/static-scale.js +4 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +3 -4
- package/modules/stock-tools.d.ts +23 -1
- package/modules/stock-tools.js +150 -84
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.d.ts +23 -1
- package/modules/stock-tools.src.js +3792 -44
- package/modules/stock.js +161 -158
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +456 -412
- package/modules/streamgraph.js +2 -2
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +42 -5
- package/modules/sunburst.js +51 -49
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +152 -52
- package/modules/tilemap.js +14 -14
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +12 -11
- package/modules/timeline.js +14 -14
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +19 -18
- package/modules/treegrid.js +57 -52
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +236 -60
- package/modules/treemap.js +35 -34
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +213 -118
- package/modules/variable-pie.js +8 -8
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +12 -10
- package/modules/variwide.js +8 -8
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +8 -8
- package/modules/vector.js +6 -6
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +9 -9
- package/modules/venn.js +26 -26
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +49 -37
- package/modules/windbarb.js +11 -11
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +11 -12
- package/modules/wordcloud.js +19 -19
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +26 -18
- package/modules/xrange.js +12 -12
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +19 -20
- package/package.json +1 -1
- package/themes/avocado.js +3 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +5 -4
- package/themes/dark-blue.js +3 -3
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +4 -3
- package/themes/dark-green.js +3 -3
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +4 -3
- package/themes/dark-unica.js +7 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +6 -6
- package/themes/gray.js +3 -3
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +5 -4
- package/themes/grid-light.js +4 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +4 -3
- package/themes/grid.js +3 -3
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +4 -3
- package/themes/high-contrast-dark.js +6 -6
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +5 -4
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +4 -3
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +4 -3
- package/themes/skies.js +4 -4
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +5 -4
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +5 -4
- package/es-modules/annotations/controllable/ControllableCircle.js +0 -79
- package/es-modules/annotations/controllable/ControllableImage.js +0 -79
- package/es-modules/annotations/controllable/ControllableRect.js +0 -82
- package/es-modules/annotations/types/InfinityLine.js +0 -110
- package/es-modules/masters/modules/map-parser.src.js +0 -12
- package/es-modules/modules/accessibility/components/InfoRegionsComponent/AnnotationsA11y.js +0 -80
- package/es-modules/modules/accessibility/components/InfoRegionsComponent/InfoRegionsComponent.js +0 -499
- package/es-modules/modules/accessibility/components/SeriesComponent/forcedMarkers.js +0 -147
- package/es-modules/modules/map-parser.src.js +0 -365
- package/es-modules/modules/sonification/options.js +0 -36
- package/es-modules/parts-3d/Chart.js +0 -1577
- package/es-modules/parts-3d/VMLRenderer.js +0 -35
- package/es-modules/parts-gantt/PathfinderAlgorithms.js +0 -656
- package/modules/map-parser.d.ts +0 -17
- package/modules/map-parser.js +0 -17
- package/modules/map-parser.js.map +0 -1
- package/modules/map-parser.src.d.ts +0 -17
- package/modules/map-parser.src.js +0 -421
|
@@ -0,0 +1,816 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2016 Highsoft AS
|
|
4
|
+
* Authors: Øystein Moseng, Lars A. V. Cabrera
|
|
5
|
+
*
|
|
6
|
+
* License: www.highcharts.com/license
|
|
7
|
+
*
|
|
8
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
9
|
+
*
|
|
10
|
+
* */
|
|
11
|
+
'use strict';
|
|
12
|
+
import Connection from './Connection.js';
|
|
13
|
+
import Chart from '../Core/Chart/Chart.js';
|
|
14
|
+
import H from '../Core/Globals.js';
|
|
15
|
+
/**
|
|
16
|
+
* The default pathfinder algorithm to use for a chart. It is possible to define
|
|
17
|
+
* your own algorithms by adding them to the
|
|
18
|
+
* `Highcharts.Pathfinder.prototype.algorithms`
|
|
19
|
+
* object before the chart has been created.
|
|
20
|
+
*
|
|
21
|
+
* The default algorithms are as follows:
|
|
22
|
+
*
|
|
23
|
+
* `straight`: Draws a straight line between the connecting
|
|
24
|
+
* points. Does not avoid other points when drawing.
|
|
25
|
+
*
|
|
26
|
+
* `simpleConnect`: Finds a path between the points using right angles
|
|
27
|
+
* only. Takes only starting/ending points into
|
|
28
|
+
* account, and will not avoid other points.
|
|
29
|
+
*
|
|
30
|
+
* `fastAvoid`: Finds a path between the points using right angles
|
|
31
|
+
* only. Will attempt to avoid other points, but its
|
|
32
|
+
* focus is performance over accuracy. Works well with
|
|
33
|
+
* less dense datasets.
|
|
34
|
+
*
|
|
35
|
+
* @typedef {"fastAvoid"|"simpleConnect"|"straight"|string} Highcharts.PathfinderTypeValue
|
|
36
|
+
*/
|
|
37
|
+
''; // detach doclets above
|
|
38
|
+
import O from '../Core/Options.js';
|
|
39
|
+
var defaultOptions = O.defaultOptions;
|
|
40
|
+
import Point from '../Core/Series/Point.js';
|
|
41
|
+
import U from '../Core/Utilities.js';
|
|
42
|
+
var addEvent = U.addEvent, defined = U.defined, error = U.error, extend = U.extend, merge = U.merge, objectEach = U.objectEach, pick = U.pick, splat = U.splat;
|
|
43
|
+
import pathfinderAlgorithms from './PathfinderAlgorithms.js';
|
|
44
|
+
import '../Extensions/ArrowSymbols.js';
|
|
45
|
+
var deg2rad = H.deg2rad, max = Math.max, min = Math.min;
|
|
46
|
+
/*
|
|
47
|
+
@todo:
|
|
48
|
+
- Document how to write your own algorithms
|
|
49
|
+
- Consider adding a Point.pathTo method that wraps creating a connection
|
|
50
|
+
and rendering it
|
|
51
|
+
*/
|
|
52
|
+
// Set default Pathfinder options
|
|
53
|
+
extend(defaultOptions, {
|
|
54
|
+
/**
|
|
55
|
+
* The Pathfinder module allows you to define connections between any two
|
|
56
|
+
* points, represented as lines - optionally with markers for the start
|
|
57
|
+
* and/or end points. Multiple algorithms are available for calculating how
|
|
58
|
+
* the connecting lines are drawn.
|
|
59
|
+
*
|
|
60
|
+
* Connector functionality requires Highcharts Gantt to be loaded. In Gantt
|
|
61
|
+
* charts, the connectors are used to draw dependencies between tasks.
|
|
62
|
+
*
|
|
63
|
+
* @see [dependency](series.gantt.data.dependency)
|
|
64
|
+
*
|
|
65
|
+
* @sample gantt/pathfinder/demo
|
|
66
|
+
* Pathfinder connections
|
|
67
|
+
*
|
|
68
|
+
* @declare Highcharts.ConnectorsOptions
|
|
69
|
+
* @product gantt
|
|
70
|
+
* @optionparent connectors
|
|
71
|
+
*/
|
|
72
|
+
connectors: {
|
|
73
|
+
/**
|
|
74
|
+
* Enable connectors for this chart. Requires Highcharts Gantt.
|
|
75
|
+
*
|
|
76
|
+
* @type {boolean}
|
|
77
|
+
* @default true
|
|
78
|
+
* @since 6.2.0
|
|
79
|
+
* @apioption connectors.enabled
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
82
|
+
* Set the default dash style for this chart's connecting lines.
|
|
83
|
+
*
|
|
84
|
+
* @type {string}
|
|
85
|
+
* @default solid
|
|
86
|
+
* @since 6.2.0
|
|
87
|
+
* @apioption connectors.dashStyle
|
|
88
|
+
*/
|
|
89
|
+
/**
|
|
90
|
+
* Set the default color for this chart's Pathfinder connecting lines.
|
|
91
|
+
* Defaults to the color of the point being connected.
|
|
92
|
+
*
|
|
93
|
+
* @type {Highcharts.ColorString}
|
|
94
|
+
* @since 6.2.0
|
|
95
|
+
* @apioption connectors.lineColor
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* Set the default pathfinder margin to use, in pixels. Some Pathfinder
|
|
99
|
+
* algorithms attempt to avoid obstacles, such as other points in the
|
|
100
|
+
* chart. These algorithms use this margin to determine how close lines
|
|
101
|
+
* can be to an obstacle. The default is to compute this automatically
|
|
102
|
+
* from the size of the obstacles in the chart.
|
|
103
|
+
*
|
|
104
|
+
* To draw connecting lines close to existing points, set this to a low
|
|
105
|
+
* number. For more space around existing points, set this number
|
|
106
|
+
* higher.
|
|
107
|
+
*
|
|
108
|
+
* @sample gantt/pathfinder/algorithm-margin
|
|
109
|
+
* Small algorithmMargin
|
|
110
|
+
*
|
|
111
|
+
* @type {number}
|
|
112
|
+
* @since 6.2.0
|
|
113
|
+
* @apioption connectors.algorithmMargin
|
|
114
|
+
*/
|
|
115
|
+
/**
|
|
116
|
+
* Set the default pathfinder algorithm to use for this chart. It is
|
|
117
|
+
* possible to define your own algorithms by adding them to the
|
|
118
|
+
* Highcharts.Pathfinder.prototype.algorithms object before the chart
|
|
119
|
+
* has been created.
|
|
120
|
+
*
|
|
121
|
+
* The default algorithms are as follows:
|
|
122
|
+
*
|
|
123
|
+
* `straight`: Draws a straight line between the connecting
|
|
124
|
+
* points. Does not avoid other points when drawing.
|
|
125
|
+
*
|
|
126
|
+
* `simpleConnect`: Finds a path between the points using right angles
|
|
127
|
+
* only. Takes only starting/ending points into
|
|
128
|
+
* account, and will not avoid other points.
|
|
129
|
+
*
|
|
130
|
+
* `fastAvoid`: Finds a path between the points using right angles
|
|
131
|
+
* only. Will attempt to avoid other points, but its
|
|
132
|
+
* focus is performance over accuracy. Works well with
|
|
133
|
+
* less dense datasets.
|
|
134
|
+
*
|
|
135
|
+
* Default value: `straight` is used as default for most series types,
|
|
136
|
+
* while `simpleConnect` is used as default for Gantt series, to show
|
|
137
|
+
* dependencies between points.
|
|
138
|
+
*
|
|
139
|
+
* @sample gantt/pathfinder/demo
|
|
140
|
+
* Different types used
|
|
141
|
+
*
|
|
142
|
+
* @type {Highcharts.PathfinderTypeValue}
|
|
143
|
+
* @default undefined
|
|
144
|
+
* @since 6.2.0
|
|
145
|
+
*/
|
|
146
|
+
type: 'straight',
|
|
147
|
+
/**
|
|
148
|
+
* Set the default pixel width for this chart's Pathfinder connecting
|
|
149
|
+
* lines.
|
|
150
|
+
*
|
|
151
|
+
* @since 6.2.0
|
|
152
|
+
*/
|
|
153
|
+
lineWidth: 1,
|
|
154
|
+
/**
|
|
155
|
+
* Marker options for this chart's Pathfinder connectors. Note that
|
|
156
|
+
* this option is overridden by the `startMarker` and `endMarker`
|
|
157
|
+
* options.
|
|
158
|
+
*
|
|
159
|
+
* @declare Highcharts.ConnectorsMarkerOptions
|
|
160
|
+
* @since 6.2.0
|
|
161
|
+
*/
|
|
162
|
+
marker: {
|
|
163
|
+
/**
|
|
164
|
+
* Set the radius of the connector markers. The default is
|
|
165
|
+
* automatically computed based on the algorithmMargin setting.
|
|
166
|
+
*
|
|
167
|
+
* Setting marker.width and marker.height will override this
|
|
168
|
+
* setting.
|
|
169
|
+
*
|
|
170
|
+
* @type {number}
|
|
171
|
+
* @since 6.2.0
|
|
172
|
+
* @apioption connectors.marker.radius
|
|
173
|
+
*/
|
|
174
|
+
/**
|
|
175
|
+
* Set the width of the connector markers. If not supplied, this
|
|
176
|
+
* is inferred from the marker radius.
|
|
177
|
+
*
|
|
178
|
+
* @type {number}
|
|
179
|
+
* @since 6.2.0
|
|
180
|
+
* @apioption connectors.marker.width
|
|
181
|
+
*/
|
|
182
|
+
/**
|
|
183
|
+
* Set the height of the connector markers. If not supplied, this
|
|
184
|
+
* is inferred from the marker radius.
|
|
185
|
+
*
|
|
186
|
+
* @type {number}
|
|
187
|
+
* @since 6.2.0
|
|
188
|
+
* @apioption connectors.marker.height
|
|
189
|
+
*/
|
|
190
|
+
/**
|
|
191
|
+
* Set the color of the connector markers. By default this is the
|
|
192
|
+
* same as the connector color.
|
|
193
|
+
*
|
|
194
|
+
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
195
|
+
* @since 6.2.0
|
|
196
|
+
* @apioption connectors.marker.color
|
|
197
|
+
*/
|
|
198
|
+
/**
|
|
199
|
+
* Set the line/border color of the connector markers. By default
|
|
200
|
+
* this is the same as the marker color.
|
|
201
|
+
*
|
|
202
|
+
* @type {Highcharts.ColorString}
|
|
203
|
+
* @since 6.2.0
|
|
204
|
+
* @apioption connectors.marker.lineColor
|
|
205
|
+
*/
|
|
206
|
+
/**
|
|
207
|
+
* Enable markers for the connectors.
|
|
208
|
+
*/
|
|
209
|
+
enabled: false,
|
|
210
|
+
/**
|
|
211
|
+
* Horizontal alignment of the markers relative to the points.
|
|
212
|
+
*
|
|
213
|
+
* @type {Highcharts.AlignValue}
|
|
214
|
+
*/
|
|
215
|
+
align: 'center',
|
|
216
|
+
/**
|
|
217
|
+
* Vertical alignment of the markers relative to the points.
|
|
218
|
+
*
|
|
219
|
+
* @type {Highcharts.VerticalAlignValue}
|
|
220
|
+
*/
|
|
221
|
+
verticalAlign: 'middle',
|
|
222
|
+
/**
|
|
223
|
+
* Whether or not to draw the markers inside the points.
|
|
224
|
+
*/
|
|
225
|
+
inside: false,
|
|
226
|
+
/**
|
|
227
|
+
* Set the line/border width of the pathfinder markers.
|
|
228
|
+
*/
|
|
229
|
+
lineWidth: 1
|
|
230
|
+
},
|
|
231
|
+
/**
|
|
232
|
+
* Marker options specific to the start markers for this chart's
|
|
233
|
+
* Pathfinder connectors. Overrides the generic marker options.
|
|
234
|
+
*
|
|
235
|
+
* @declare Highcharts.ConnectorsStartMarkerOptions
|
|
236
|
+
* @extends connectors.marker
|
|
237
|
+
* @since 6.2.0
|
|
238
|
+
*/
|
|
239
|
+
startMarker: {
|
|
240
|
+
/**
|
|
241
|
+
* Set the symbol of the connector start markers.
|
|
242
|
+
*/
|
|
243
|
+
symbol: 'diamond'
|
|
244
|
+
},
|
|
245
|
+
/**
|
|
246
|
+
* Marker options specific to the end markers for this chart's
|
|
247
|
+
* Pathfinder connectors. Overrides the generic marker options.
|
|
248
|
+
*
|
|
249
|
+
* @declare Highcharts.ConnectorsEndMarkerOptions
|
|
250
|
+
* @extends connectors.marker
|
|
251
|
+
* @since 6.2.0
|
|
252
|
+
*/
|
|
253
|
+
endMarker: {
|
|
254
|
+
/**
|
|
255
|
+
* Set the symbol of the connector end markers.
|
|
256
|
+
*/
|
|
257
|
+
symbol: 'arrow-filled'
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
/**
|
|
262
|
+
* Override Pathfinder connector options for a series. Requires Highcharts Gantt
|
|
263
|
+
* to be loaded.
|
|
264
|
+
*
|
|
265
|
+
* @declare Highcharts.SeriesConnectorsOptionsObject
|
|
266
|
+
* @extends connectors
|
|
267
|
+
* @since 6.2.0
|
|
268
|
+
* @excluding enabled, algorithmMargin
|
|
269
|
+
* @product gantt
|
|
270
|
+
* @apioption plotOptions.series.connectors
|
|
271
|
+
*/
|
|
272
|
+
/**
|
|
273
|
+
* Connect to a point. This option can be either a string, referring to the ID
|
|
274
|
+
* of another point, or an object, or an array of either. If the option is an
|
|
275
|
+
* array, each element defines a connection.
|
|
276
|
+
*
|
|
277
|
+
* @sample gantt/pathfinder/demo
|
|
278
|
+
* Different connection types
|
|
279
|
+
*
|
|
280
|
+
* @declare Highcharts.XrangePointConnectorsOptionsObject
|
|
281
|
+
* @type {string|Array<string|*>|*}
|
|
282
|
+
* @extends plotOptions.series.connectors
|
|
283
|
+
* @since 6.2.0
|
|
284
|
+
* @excluding enabled
|
|
285
|
+
* @product gantt
|
|
286
|
+
* @requires highcharts-gantt
|
|
287
|
+
* @apioption series.xrange.data.connect
|
|
288
|
+
*/
|
|
289
|
+
/**
|
|
290
|
+
* The ID of the point to connect to.
|
|
291
|
+
*
|
|
292
|
+
* @type {string}
|
|
293
|
+
* @since 6.2.0
|
|
294
|
+
* @product gantt
|
|
295
|
+
* @apioption series.xrange.data.connect.to
|
|
296
|
+
*/
|
|
297
|
+
/**
|
|
298
|
+
* Get point bounding box using plotX/plotY and shapeArgs. If using
|
|
299
|
+
* graphic.getBBox() directly, the bbox will be affected by animation.
|
|
300
|
+
*
|
|
301
|
+
* @private
|
|
302
|
+
* @function
|
|
303
|
+
*
|
|
304
|
+
* @param {Highcharts.Point} point
|
|
305
|
+
* The point to get BB of.
|
|
306
|
+
*
|
|
307
|
+
* @return {Highcharts.Dictionary<number>|null}
|
|
308
|
+
* Result xMax, xMin, yMax, yMin.
|
|
309
|
+
*/
|
|
310
|
+
function getPointBB(point) {
|
|
311
|
+
var shapeArgs = point.shapeArgs, bb;
|
|
312
|
+
// Prefer using shapeArgs (columns)
|
|
313
|
+
if (shapeArgs) {
|
|
314
|
+
return {
|
|
315
|
+
xMin: shapeArgs.x,
|
|
316
|
+
xMax: shapeArgs.x + shapeArgs.width,
|
|
317
|
+
yMin: shapeArgs.y,
|
|
318
|
+
yMax: shapeArgs.y + shapeArgs.height
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
// Otherwise use plotX/plotY and bb
|
|
322
|
+
bb = point.graphic && point.graphic.getBBox();
|
|
323
|
+
return bb ? {
|
|
324
|
+
xMin: point.plotX - bb.width / 2,
|
|
325
|
+
xMax: point.plotX + bb.width / 2,
|
|
326
|
+
yMin: point.plotY - bb.height / 2,
|
|
327
|
+
yMax: point.plotY + bb.height / 2
|
|
328
|
+
} : null;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Calculate margin to place around obstacles for the pathfinder in pixels.
|
|
332
|
+
* Returns a minimum of 1 pixel margin.
|
|
333
|
+
*
|
|
334
|
+
* @private
|
|
335
|
+
* @function
|
|
336
|
+
*
|
|
337
|
+
* @param {Array<object>} obstacles
|
|
338
|
+
* Obstacles to calculate margin from.
|
|
339
|
+
*
|
|
340
|
+
* @return {number}
|
|
341
|
+
* The calculated margin in pixels. At least 1.
|
|
342
|
+
*/
|
|
343
|
+
function calculateObstacleMargin(obstacles) {
|
|
344
|
+
var len = obstacles.length, i = 0, j, obstacleDistance, distances = [],
|
|
345
|
+
// Compute smallest distance between two rectangles
|
|
346
|
+
distance = function (a, b, bbMargin) {
|
|
347
|
+
// Count the distance even if we are slightly off
|
|
348
|
+
var margin = pick(bbMargin, 10), yOverlap = a.yMax + margin > b.yMin - margin &&
|
|
349
|
+
a.yMin - margin < b.yMax + margin, xOverlap = a.xMax + margin > b.xMin - margin &&
|
|
350
|
+
a.xMin - margin < b.xMax + margin, xDistance = yOverlap ? (a.xMin > b.xMax ? a.xMin - b.xMax : b.xMin - a.xMax) : Infinity, yDistance = xOverlap ? (a.yMin > b.yMax ? a.yMin - b.yMax : b.yMin - a.yMax) : Infinity;
|
|
351
|
+
// If the rectangles collide, try recomputing with smaller margin.
|
|
352
|
+
// If they collide anyway, discard the obstacle.
|
|
353
|
+
if (xOverlap && yOverlap) {
|
|
354
|
+
return (margin ?
|
|
355
|
+
distance(a, b, Math.floor(margin / 2)) :
|
|
356
|
+
Infinity);
|
|
357
|
+
}
|
|
358
|
+
return min(xDistance, yDistance);
|
|
359
|
+
};
|
|
360
|
+
// Go over all obstacles and compare them to the others.
|
|
361
|
+
for (; i < len; ++i) {
|
|
362
|
+
// Compare to all obstacles ahead. We will already have compared this
|
|
363
|
+
// obstacle to the ones before.
|
|
364
|
+
for (j = i + 1; j < len; ++j) {
|
|
365
|
+
obstacleDistance = distance(obstacles[i], obstacles[j]);
|
|
366
|
+
// TODO: Magic number 80
|
|
367
|
+
if (obstacleDistance < 80) { // Ignore large distances
|
|
368
|
+
distances.push(obstacleDistance);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
// Ensure we always have at least one value, even in very spaceous charts
|
|
373
|
+
distances.push(80);
|
|
374
|
+
return max(Math.floor(distances.sort(function (a, b) {
|
|
375
|
+
return (a - b);
|
|
376
|
+
})[
|
|
377
|
+
// Discard first 10% of the relevant distances, and then grab
|
|
378
|
+
// the smallest one.
|
|
379
|
+
Math.floor(distances.length / 10)] / 2 - 1 // Divide the distance by 2 and subtract 1.
|
|
380
|
+
), 1 // 1 is the minimum margin
|
|
381
|
+
);
|
|
382
|
+
}
|
|
383
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
384
|
+
/**
|
|
385
|
+
* The Pathfinder class.
|
|
386
|
+
*
|
|
387
|
+
* @private
|
|
388
|
+
* @class
|
|
389
|
+
* @name Highcharts.Pathfinder
|
|
390
|
+
*
|
|
391
|
+
* @param {Highcharts.Chart} chart
|
|
392
|
+
* The chart to operate on.
|
|
393
|
+
*/
|
|
394
|
+
var Pathfinder = /** @class */ (function () {
|
|
395
|
+
function Pathfinder(chart) {
|
|
396
|
+
/* *
|
|
397
|
+
*
|
|
398
|
+
* Properties
|
|
399
|
+
*
|
|
400
|
+
* */
|
|
401
|
+
this.chart = void 0;
|
|
402
|
+
this.chartObstacles = void 0;
|
|
403
|
+
this.chartObstacleMetrics = void 0;
|
|
404
|
+
this.connections = void 0;
|
|
405
|
+
this.group = void 0;
|
|
406
|
+
this.lineObstacles = void 0;
|
|
407
|
+
this.init(chart);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* @name Highcharts.Pathfinder#algorithms
|
|
411
|
+
* @type {Highcharts.Dictionary<Function>}
|
|
412
|
+
*/
|
|
413
|
+
/**
|
|
414
|
+
* Initialize the Pathfinder object.
|
|
415
|
+
*
|
|
416
|
+
* @function Highcharts.Pathfinder#init
|
|
417
|
+
*
|
|
418
|
+
* @param {Highcharts.Chart} chart
|
|
419
|
+
* The chart context.
|
|
420
|
+
*/
|
|
421
|
+
Pathfinder.prototype.init = function (chart) {
|
|
422
|
+
// Initialize pathfinder with chart context
|
|
423
|
+
this.chart = chart;
|
|
424
|
+
// Init connection reference list
|
|
425
|
+
this.connections = [];
|
|
426
|
+
// Recalculate paths/obstacles on chart redraw
|
|
427
|
+
addEvent(chart, 'redraw', function () {
|
|
428
|
+
this.pathfinder.update();
|
|
429
|
+
});
|
|
430
|
+
};
|
|
431
|
+
/**
|
|
432
|
+
* Update Pathfinder connections from scratch.
|
|
433
|
+
*
|
|
434
|
+
* @function Highcharts.Pathfinder#update
|
|
435
|
+
*
|
|
436
|
+
* @param {boolean} [deferRender]
|
|
437
|
+
* Whether or not to defer rendering of connections until
|
|
438
|
+
* series.afterAnimate event has fired. Used on first render.
|
|
439
|
+
*/
|
|
440
|
+
Pathfinder.prototype.update = function (deferRender) {
|
|
441
|
+
var chart = this.chart, pathfinder = this, oldConnections = pathfinder.connections;
|
|
442
|
+
// Rebuild pathfinder connections from options
|
|
443
|
+
pathfinder.connections = [];
|
|
444
|
+
chart.series.forEach(function (series) {
|
|
445
|
+
if (series.visible && !series.options.isInternal) {
|
|
446
|
+
series.points.forEach(function (point) {
|
|
447
|
+
var ganttPointOptions = point.options;
|
|
448
|
+
// For Gantt series the connect could be
|
|
449
|
+
// defined as a dependency
|
|
450
|
+
if (ganttPointOptions && ganttPointOptions.dependency) {
|
|
451
|
+
ganttPointOptions.connect = ganttPointOptions.dependency;
|
|
452
|
+
}
|
|
453
|
+
var to, connects = (point.options &&
|
|
454
|
+
point.options.connect &&
|
|
455
|
+
splat(point.options.connect));
|
|
456
|
+
if (point.visible && point.isInside !== false && connects) {
|
|
457
|
+
connects.forEach(function (connect) {
|
|
458
|
+
to = chart.get(typeof connect === 'string' ?
|
|
459
|
+
connect : connect.to);
|
|
460
|
+
if (to instanceof Point &&
|
|
461
|
+
to.series.visible &&
|
|
462
|
+
to.visible &&
|
|
463
|
+
to.isInside !== false) {
|
|
464
|
+
// Add new connection
|
|
465
|
+
pathfinder.connections.push(new Connection(point, // from
|
|
466
|
+
to, typeof connect === 'string' ?
|
|
467
|
+
{} :
|
|
468
|
+
connect));
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
// Clear connections that should not be updated, and move old info over
|
|
476
|
+
// to new connections.
|
|
477
|
+
for (var j = 0, k, found, lenOld = oldConnections.length, lenNew = pathfinder.connections.length; j < lenOld; ++j) {
|
|
478
|
+
found = false;
|
|
479
|
+
for (k = 0; k < lenNew; ++k) {
|
|
480
|
+
if (oldConnections[j].fromPoint ===
|
|
481
|
+
pathfinder.connections[k].fromPoint &&
|
|
482
|
+
oldConnections[j].toPoint ===
|
|
483
|
+
pathfinder.connections[k].toPoint) {
|
|
484
|
+
pathfinder.connections[k].graphics =
|
|
485
|
+
oldConnections[j].graphics;
|
|
486
|
+
found = true;
|
|
487
|
+
break;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
if (!found) {
|
|
491
|
+
oldConnections[j].destroy();
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
// Clear obstacles to force recalculation. This must be done on every
|
|
495
|
+
// redraw in case positions have changed. Recalculation is handled in
|
|
496
|
+
// Connection.getPath on demand.
|
|
497
|
+
delete this.chartObstacles;
|
|
498
|
+
delete this.lineObstacles;
|
|
499
|
+
// Draw the pending connections
|
|
500
|
+
pathfinder.renderConnections(deferRender);
|
|
501
|
+
};
|
|
502
|
+
/**
|
|
503
|
+
* Draw the chart's connecting paths.
|
|
504
|
+
*
|
|
505
|
+
* @function Highcharts.Pathfinder#renderConnections
|
|
506
|
+
*
|
|
507
|
+
* @param {boolean} [deferRender]
|
|
508
|
+
* Whether or not to defer render until series animation is finished.
|
|
509
|
+
* Used on first render.
|
|
510
|
+
*/
|
|
511
|
+
Pathfinder.prototype.renderConnections = function (deferRender) {
|
|
512
|
+
if (deferRender) {
|
|
513
|
+
// Render after series are done animating
|
|
514
|
+
this.chart.series.forEach(function (series) {
|
|
515
|
+
var render = function () {
|
|
516
|
+
// Find pathfinder connections belonging to this series
|
|
517
|
+
// that haven't rendered, and render them now.
|
|
518
|
+
var pathfinder = series.chart.pathfinder, conns = pathfinder && pathfinder.connections || [];
|
|
519
|
+
conns.forEach(function (connection) {
|
|
520
|
+
if (connection.fromPoint &&
|
|
521
|
+
connection.fromPoint.series === series) {
|
|
522
|
+
connection.render();
|
|
523
|
+
}
|
|
524
|
+
});
|
|
525
|
+
if (series.pathfinderRemoveRenderEvent) {
|
|
526
|
+
series.pathfinderRemoveRenderEvent();
|
|
527
|
+
delete series.pathfinderRemoveRenderEvent;
|
|
528
|
+
}
|
|
529
|
+
};
|
|
530
|
+
if (series.options.animation === false) {
|
|
531
|
+
render();
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
series.pathfinderRemoveRenderEvent = addEvent(series, 'afterAnimate', render);
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
// Go through connections and render them
|
|
540
|
+
this.connections.forEach(function (connection) {
|
|
541
|
+
connection.render();
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
/**
|
|
546
|
+
* Get obstacles for the points in the chart. Does not include connecting
|
|
547
|
+
* lines from Pathfinder. Applies algorithmMargin to the obstacles.
|
|
548
|
+
*
|
|
549
|
+
* @function Highcharts.Pathfinder#getChartObstacles
|
|
550
|
+
*
|
|
551
|
+
* @param {object} options
|
|
552
|
+
* Options for the calculation. Currenlty only
|
|
553
|
+
* options.algorithmMargin.
|
|
554
|
+
*
|
|
555
|
+
* @return {Array<object>}
|
|
556
|
+
* An array of calculated obstacles. Each obstacle is defined as an
|
|
557
|
+
* object with xMin, xMax, yMin and yMax properties.
|
|
558
|
+
*/
|
|
559
|
+
Pathfinder.prototype.getChartObstacles = function (options) {
|
|
560
|
+
var obstacles = [], series = this.chart.series, margin = pick(options.algorithmMargin, 0), calculatedMargin;
|
|
561
|
+
for (var i = 0, sLen = series.length; i < sLen; ++i) {
|
|
562
|
+
if (series[i].visible && !series[i].options.isInternal) {
|
|
563
|
+
for (var j = 0, pLen = series[i].points.length, bb, point; j < pLen; ++j) {
|
|
564
|
+
point = series[i].points[j];
|
|
565
|
+
if (point.visible) {
|
|
566
|
+
bb = getPointBB(point);
|
|
567
|
+
if (bb) {
|
|
568
|
+
obstacles.push({
|
|
569
|
+
xMin: bb.xMin - margin,
|
|
570
|
+
xMax: bb.xMax + margin,
|
|
571
|
+
yMin: bb.yMin - margin,
|
|
572
|
+
yMax: bb.yMax + margin
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
// Sort obstacles by xMin for optimization
|
|
580
|
+
obstacles = obstacles.sort(function (a, b) {
|
|
581
|
+
return a.xMin - b.xMin;
|
|
582
|
+
});
|
|
583
|
+
// Add auto-calculated margin if the option is not defined
|
|
584
|
+
if (!defined(options.algorithmMargin)) {
|
|
585
|
+
calculatedMargin =
|
|
586
|
+
options.algorithmMargin =
|
|
587
|
+
calculateObstacleMargin(obstacles);
|
|
588
|
+
obstacles.forEach(function (obstacle) {
|
|
589
|
+
obstacle.xMin -= calculatedMargin;
|
|
590
|
+
obstacle.xMax += calculatedMargin;
|
|
591
|
+
obstacle.yMin -= calculatedMargin;
|
|
592
|
+
obstacle.yMax += calculatedMargin;
|
|
593
|
+
});
|
|
594
|
+
}
|
|
595
|
+
return obstacles;
|
|
596
|
+
};
|
|
597
|
+
/**
|
|
598
|
+
* Utility function to get metrics for obstacles:
|
|
599
|
+
* - Widest obstacle width
|
|
600
|
+
* - Tallest obstacle height
|
|
601
|
+
*
|
|
602
|
+
* @function Highcharts.Pathfinder#getObstacleMetrics
|
|
603
|
+
*
|
|
604
|
+
* @param {Array<object>} obstacles
|
|
605
|
+
* An array of obstacles to inspect.
|
|
606
|
+
*
|
|
607
|
+
* @return {object}
|
|
608
|
+
* The calculated metrics, as an object with maxHeight and maxWidth
|
|
609
|
+
* properties.
|
|
610
|
+
*/
|
|
611
|
+
Pathfinder.prototype.getObstacleMetrics = function (obstacles) {
|
|
612
|
+
var maxWidth = 0, maxHeight = 0, width, height, i = obstacles.length;
|
|
613
|
+
while (i--) {
|
|
614
|
+
width = obstacles[i].xMax - obstacles[i].xMin;
|
|
615
|
+
height = obstacles[i].yMax - obstacles[i].yMin;
|
|
616
|
+
if (maxWidth < width) {
|
|
617
|
+
maxWidth = width;
|
|
618
|
+
}
|
|
619
|
+
if (maxHeight < height) {
|
|
620
|
+
maxHeight = height;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
return {
|
|
624
|
+
maxHeight: maxHeight,
|
|
625
|
+
maxWidth: maxWidth
|
|
626
|
+
};
|
|
627
|
+
};
|
|
628
|
+
/**
|
|
629
|
+
* Utility to get which direction to start the pathfinding algorithm
|
|
630
|
+
* (X vs Y), calculated from a set of marker options.
|
|
631
|
+
*
|
|
632
|
+
* @function Highcharts.Pathfinder#getAlgorithmStartDirection
|
|
633
|
+
*
|
|
634
|
+
* @param {Highcharts.ConnectorsMarkerOptions} markerOptions
|
|
635
|
+
* Marker options to calculate from.
|
|
636
|
+
*
|
|
637
|
+
* @return {boolean}
|
|
638
|
+
* Returns true for X, false for Y, and undefined for autocalculate.
|
|
639
|
+
*/
|
|
640
|
+
Pathfinder.prototype.getAlgorithmStartDirection = function (markerOptions) {
|
|
641
|
+
var xCenter = markerOptions.align !== 'left' &&
|
|
642
|
+
markerOptions.align !== 'right', yCenter = markerOptions.verticalAlign !== 'top' &&
|
|
643
|
+
markerOptions.verticalAlign !== 'bottom', undef;
|
|
644
|
+
return xCenter ?
|
|
645
|
+
(yCenter ? undef : false) : // x is centered
|
|
646
|
+
(yCenter ? true : undef); // x is off-center
|
|
647
|
+
};
|
|
648
|
+
return Pathfinder;
|
|
649
|
+
}());
|
|
650
|
+
Pathfinder.prototype.algorithms = pathfinderAlgorithms;
|
|
651
|
+
// Add to Highcharts namespace
|
|
652
|
+
H.Pathfinder = Pathfinder;
|
|
653
|
+
// Add pathfinding capabilities to Points
|
|
654
|
+
extend(Point.prototype, /** @lends Point.prototype */ {
|
|
655
|
+
/**
|
|
656
|
+
* Get coordinates of anchor point for pathfinder connection.
|
|
657
|
+
*
|
|
658
|
+
* @private
|
|
659
|
+
* @function Highcharts.Point#getPathfinderAnchorPoint
|
|
660
|
+
*
|
|
661
|
+
* @param {Highcharts.ConnectorsMarkerOptions} markerOptions
|
|
662
|
+
* Connection options for position on point.
|
|
663
|
+
*
|
|
664
|
+
* @return {Highcharts.PositionObject}
|
|
665
|
+
* An object with x/y properties for the position. Coordinates are
|
|
666
|
+
* in plot values, not relative to point.
|
|
667
|
+
*/
|
|
668
|
+
getPathfinderAnchorPoint: function (markerOptions) {
|
|
669
|
+
var bb = getPointBB(this), x, y;
|
|
670
|
+
switch (markerOptions.align) { // eslint-disable-line default-case
|
|
671
|
+
case 'right':
|
|
672
|
+
x = 'xMax';
|
|
673
|
+
break;
|
|
674
|
+
case 'left':
|
|
675
|
+
x = 'xMin';
|
|
676
|
+
}
|
|
677
|
+
switch (markerOptions.verticalAlign) { // eslint-disable-line default-case
|
|
678
|
+
case 'top':
|
|
679
|
+
y = 'yMin';
|
|
680
|
+
break;
|
|
681
|
+
case 'bottom':
|
|
682
|
+
y = 'yMax';
|
|
683
|
+
}
|
|
684
|
+
return {
|
|
685
|
+
x: x ? bb[x] : (bb.xMin + bb.xMax) / 2,
|
|
686
|
+
y: y ? bb[y] : (bb.yMin + bb.yMax) / 2
|
|
687
|
+
};
|
|
688
|
+
},
|
|
689
|
+
/**
|
|
690
|
+
* Utility to get the angle from one point to another.
|
|
691
|
+
*
|
|
692
|
+
* @private
|
|
693
|
+
* @function Highcharts.Point#getRadiansToVector
|
|
694
|
+
*
|
|
695
|
+
* @param {Highcharts.PositionObject} v1
|
|
696
|
+
* The first vector, as an object with x/y properties.
|
|
697
|
+
*
|
|
698
|
+
* @param {Highcharts.PositionObject} v2
|
|
699
|
+
* The second vector, as an object with x/y properties.
|
|
700
|
+
*
|
|
701
|
+
* @return {number}
|
|
702
|
+
* The angle in degrees
|
|
703
|
+
*/
|
|
704
|
+
getRadiansToVector: function (v1, v2) {
|
|
705
|
+
var box;
|
|
706
|
+
if (!defined(v2)) {
|
|
707
|
+
box = getPointBB(this);
|
|
708
|
+
if (box) {
|
|
709
|
+
v2 = {
|
|
710
|
+
x: (box.xMin + box.xMax) / 2,
|
|
711
|
+
y: (box.yMin + box.yMax) / 2
|
|
712
|
+
};
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
return Math.atan2(v2.y - v1.y, v1.x - v2.x);
|
|
716
|
+
},
|
|
717
|
+
/**
|
|
718
|
+
* Utility to get the position of the marker, based on the path angle and
|
|
719
|
+
* the marker's radius.
|
|
720
|
+
*
|
|
721
|
+
* @private
|
|
722
|
+
* @function Highcharts.Point#getMarkerVector
|
|
723
|
+
*
|
|
724
|
+
* @param {number} radians
|
|
725
|
+
* The angle in radians from the point center to another vector.
|
|
726
|
+
*
|
|
727
|
+
* @param {number} markerRadius
|
|
728
|
+
* The radius of the marker, to calculate the additional distance to
|
|
729
|
+
* the center of the marker.
|
|
730
|
+
*
|
|
731
|
+
* @param {object} anchor
|
|
732
|
+
* The anchor point of the path and marker as an object with x/y
|
|
733
|
+
* properties.
|
|
734
|
+
*
|
|
735
|
+
* @return {object}
|
|
736
|
+
* The marker vector as an object with x/y properties.
|
|
737
|
+
*/
|
|
738
|
+
getMarkerVector: function (radians, markerRadius, anchor) {
|
|
739
|
+
var twoPI = Math.PI * 2.0, theta = radians, bb = getPointBB(this), rectWidth = bb.xMax - bb.xMin, rectHeight = bb.yMax - bb.yMin, rAtan = Math.atan2(rectHeight, rectWidth), tanTheta = 1, leftOrRightRegion = false, rectHalfWidth = rectWidth / 2.0, rectHalfHeight = rectHeight / 2.0, rectHorizontalCenter = bb.xMin + rectHalfWidth, rectVerticalCenter = bb.yMin + rectHalfHeight, edgePoint = {
|
|
740
|
+
x: rectHorizontalCenter,
|
|
741
|
+
y: rectVerticalCenter
|
|
742
|
+
}, markerPoint = {}, xFactor = 1, yFactor = 1;
|
|
743
|
+
while (theta < -Math.PI) {
|
|
744
|
+
theta += twoPI;
|
|
745
|
+
}
|
|
746
|
+
while (theta > Math.PI) {
|
|
747
|
+
theta -= twoPI;
|
|
748
|
+
}
|
|
749
|
+
tanTheta = Math.tan(theta);
|
|
750
|
+
if ((theta > -rAtan) && (theta <= rAtan)) {
|
|
751
|
+
// Right side
|
|
752
|
+
yFactor = -1;
|
|
753
|
+
leftOrRightRegion = true;
|
|
754
|
+
}
|
|
755
|
+
else if (theta > rAtan && theta <= (Math.PI - rAtan)) {
|
|
756
|
+
// Top side
|
|
757
|
+
yFactor = -1;
|
|
758
|
+
}
|
|
759
|
+
else if (theta > (Math.PI - rAtan) || theta <= -(Math.PI - rAtan)) {
|
|
760
|
+
// Left side
|
|
761
|
+
xFactor = -1;
|
|
762
|
+
leftOrRightRegion = true;
|
|
763
|
+
}
|
|
764
|
+
else {
|
|
765
|
+
// Bottom side
|
|
766
|
+
xFactor = -1;
|
|
767
|
+
}
|
|
768
|
+
// Correct the edgePoint according to the placement of the marker
|
|
769
|
+
if (leftOrRightRegion) {
|
|
770
|
+
edgePoint.x += xFactor * (rectHalfWidth);
|
|
771
|
+
edgePoint.y += yFactor * (rectHalfWidth) * tanTheta;
|
|
772
|
+
}
|
|
773
|
+
else {
|
|
774
|
+
edgePoint.x += xFactor * (rectHeight / (2.0 * tanTheta));
|
|
775
|
+
edgePoint.y += yFactor * (rectHalfHeight);
|
|
776
|
+
}
|
|
777
|
+
if (anchor.x !== rectHorizontalCenter) {
|
|
778
|
+
edgePoint.x = anchor.x;
|
|
779
|
+
}
|
|
780
|
+
if (anchor.y !== rectVerticalCenter) {
|
|
781
|
+
edgePoint.y = anchor.y;
|
|
782
|
+
}
|
|
783
|
+
markerPoint.x = edgePoint.x + (markerRadius * Math.cos(theta));
|
|
784
|
+
markerPoint.y = edgePoint.y - (markerRadius * Math.sin(theta));
|
|
785
|
+
return markerPoint;
|
|
786
|
+
}
|
|
787
|
+
});
|
|
788
|
+
/**
|
|
789
|
+
* Warn if using legacy options. Copy the options over. Note that this will
|
|
790
|
+
* still break if using the legacy options in chart.update, addSeries etc.
|
|
791
|
+
* @private
|
|
792
|
+
*/
|
|
793
|
+
function warnLegacy(chart) {
|
|
794
|
+
if (chart.options.pathfinder ||
|
|
795
|
+
chart.series.reduce(function (acc, series) {
|
|
796
|
+
if (series.options) {
|
|
797
|
+
merge(true, (series.options.connectors = series.options.connectors ||
|
|
798
|
+
{}), series.options.pathfinder);
|
|
799
|
+
}
|
|
800
|
+
return acc || series.options && series.options.pathfinder;
|
|
801
|
+
}, false)) {
|
|
802
|
+
merge(true, (chart.options.connectors = chart.options.connectors || {}), chart.options.pathfinder);
|
|
803
|
+
error('WARNING: Pathfinder options have been renamed. ' +
|
|
804
|
+
'Use "chart.connectors" or "series.connectors" instead.');
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
// Initialize Pathfinder for charts
|
|
808
|
+
Chart.prototype.callbacks.push(function (chart) {
|
|
809
|
+
var options = chart.options;
|
|
810
|
+
if (options.connectors.enabled !== false) {
|
|
811
|
+
warnLegacy(chart);
|
|
812
|
+
this.pathfinder = new Pathfinder(this);
|
|
813
|
+
this.pathfinder.update(true); // First draw, defer render
|
|
814
|
+
}
|
|
815
|
+
});
|
|
816
|
+
export default Pathfinder;
|