highcharts 9.1.1 → 9.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/annotations/popup.css +29 -28
- package/css/annotations/popup.scss +29 -27
- package/css/highcharts.css +15 -0
- package/css/highcharts.scss +12 -0
- package/css/stocktools/gui.css +1 -0
- package/css/stocktools/gui.scss +1 -0
- package/css/themes/dark-unica.css +15 -0
- package/css/themes/grid-light.css +15 -0
- package/css/themes/sand-signika.css +15 -0
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -2
- package/es-modules/Accessibility/Components/LegendComponent.js +19 -8
- package/es-modules/Accessibility/Components/MenuComponent.js +19 -13
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +4 -8
- package/es-modules/Accessibility/FocusBorder.js +1 -3
- package/es-modules/Accessibility/Options/LangOptions.js +3 -3
- package/es-modules/Accessibility/Utils/Announcer.js +22 -5
- package/es-modules/Accessibility/Utils/ChartUtilities.js +6 -1
- package/es-modules/Core/Animation/AnimationUtilities.js +12 -4
- package/es-modules/Core/Animation/Fx.js +15 -12
- package/es-modules/Core/Axis/Axis.js +25 -13
- package/es-modules/Core/Axis/AxisDefaults.js +0 -1
- package/es-modules/Core/Axis/BrokenAxis.js +32 -15
- package/es-modules/Core/Axis/Color/ColorAxis.js +665 -0
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +237 -0
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +434 -0
- package/es-modules/Core/Axis/DateTimeAxis.js +163 -133
- package/es-modules/Core/Axis/GridAxis.js +8 -3
- package/es-modules/Core/Axis/LogarithmicAxis.js +159 -117
- package/es-modules/Core/Axis/OrdinalAxis.js +666 -460
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +874 -0
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +292 -0
- package/es-modules/Core/Axis/RadialAxis.js +858 -745
- package/es-modules/Core/Axis/ScrollbarAxis.js +7 -0
- package/es-modules/Core/Axis/StackingAxis.js +159 -140
- package/es-modules/Core/Axis/Tick.js +17 -27
- package/es-modules/Core/Chart/Chart.js +24 -38
- package/es-modules/Core/Chart/ChartDefaults.js +1 -1
- package/es-modules/Core/Chart/StockChart.js +12 -0
- package/es-modules/Core/Color/Color.js +96 -104
- package/es-modules/Core/DefaultOptions.js +269 -248
- package/es-modules/Core/Foundation.js +9 -8
- package/es-modules/Core/Geometry/CircleUtilities.js +385 -0
- package/es-modules/Core/Geometry/GeometryUtilities.js +83 -0
- package/es-modules/Core/Globals.js +23 -1
- package/es-modules/{Extensions/Ajax.js → Core/HttpUtilities.js} +86 -42
- package/es-modules/Core/{Legend.js → Legend/Legend.js} +142 -116
- package/es-modules/{Mixins → Core/Legend}/LegendSymbol.js +54 -38
- package/es-modules/Core/Navigator.js +3 -0
- package/es-modules/Core/Pointer.js +9 -0
- package/es-modules/Core/Renderer/HTML/AST.js +100 -82
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +17 -7
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +26 -9
- package/es-modules/Core/Renderer/RendererRegistry.js +9 -4
- package/es-modules/Core/Renderer/RendererUtilities.js +159 -0
- package/es-modules/Core/Renderer/SVG/SVGElement.js +13 -7
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +9 -29
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -2
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -16
- package/es-modules/Core/Responsive.js +166 -148
- package/es-modules/Core/Series/DataLabel.js +564 -0
- package/es-modules/Core/Series/Point.js +233 -209
- package/es-modules/Core/Series/Series.js +174 -2339
- package/es-modules/Core/Series/SeriesDefaults.js +2293 -0
- package/es-modules/Core/Series/SeriesRegistry.js +3 -9
- package/es-modules/Core/Time.js +78 -2
- package/es-modules/Core/Tooltip.js +178 -236
- package/es-modules/Core/Utilities.js +409 -394
- package/es-modules/Extensions/Annotations/Annotations.js +102 -49
- package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +9 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +30 -25
- package/es-modules/Extensions/Annotations/Popup.js +16 -7
- package/es-modules/Extensions/Boost/BoostOverrides.js +5 -1
- package/es-modules/Extensions/Boost/WGLRenderer.js +5 -4
- package/es-modules/Extensions/Boost/WGLVBuffer.js +3 -0
- package/es-modules/Extensions/BoostCanvas.js +1 -1
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +82 -76
- package/es-modules/Extensions/DataGrouping.js +225 -184
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DraggablePoints.js +13 -5
- package/es-modules/Extensions/Drilldown.js +41 -14
- package/es-modules/Extensions/ExportData.js +7 -4
- package/es-modules/Extensions/Exporting/Exporting.js +1273 -0
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +803 -0
- package/es-modules/Extensions/Exporting/ExportingSymbols.js +73 -0
- package/es-modules/Extensions/FullScreen.js +7 -5
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +617 -0
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +58 -0
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/Pane.js +0 -1
- package/es-modules/Extensions/PatternFill.js +23 -10
- package/es-modules/Extensions/Polar.js +2 -1
- package/es-modules/Extensions/RangeSelector.js +1 -1
- package/es-modules/Extensions/Themes/Avocado.js +49 -20
- package/es-modules/Extensions/Themes/DarkBlue.js +226 -203
- package/es-modules/Extensions/Themes/DarkGreen.js +231 -203
- package/es-modules/Extensions/Themes/DarkUnica.js +201 -172
- package/es-modules/Extensions/Themes/Gray.js +228 -205
- package/es-modules/Extensions/Themes/Grid.js +109 -81
- package/es-modules/Extensions/Themes/GridLight.js +83 -55
- package/es-modules/Extensions/Themes/HighContrastDark.js +192 -164
- package/es-modules/Extensions/Themes/HighContrastLight.js +49 -21
- package/es-modules/Extensions/Themes/SandSignika.js +115 -86
- package/es-modules/Extensions/Themes/Skies.js +102 -74
- package/es-modules/Extensions/Themes/Sunset.js +47 -19
- package/es-modules/Mixins/ColorSeries.js +0 -1
- package/es-modules/Mixins/MultipleLines.js +6 -0
- package/es-modules/Mixins/TreeSeries.js +1 -1
- package/es-modules/Series/Area/AreaSeries.js +2 -2
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +2 -2
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +279 -0
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +267 -0
- package/es-modules/Series/Bubble/BubbleLegendItem.js +472 -0
- package/es-modules/Series/Bubble/BubbleSeries.js +6 -2
- package/es-modules/Series/Column/ColumnDataLabel.js +109 -0
- package/es-modules/Series/Column/ColumnSeries.js +39 -26
- package/es-modules/Series/Column3D/Column3DComposition.js +5 -2
- package/es-modules/Series/Flags/FlagsSeries.js +8 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -3
- package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -5
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +60 -0
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +277 -0
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +83 -0
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +370 -0
- package/es-modules/Series/Line/LineSeries.js +12 -8
- package/es-modules/Series/Map/MapSeries.js +5 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +6 -5
- package/es-modules/Series/OHLC/OHLCPoint.js +11 -0
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +448 -0
- package/es-modules/Series/Pie/PiePoint.js +35 -34
- package/es-modules/Series/Pie/PieSeries.js +19 -16
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -3
- package/es-modules/Series/Sankey/SankeySeries.js +9 -7
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +2 -2
- package/es-modules/Series/Sunburst/SunburstSeries.js +1 -14
- package/es-modules/Series/Timeline/TimelinePoint.js +6 -0
- package/es-modules/Series/Timeline/TimelineSeries.js +14 -17
- package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
- package/es-modules/Series/Venn/VennSeries.js +4 -4
- package/es-modules/Series/Venn/VennUtils.js +10 -16
- package/es-modules/Series/Waterfall/WaterfallSeries.js +40 -35
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -0
- package/es-modules/Series/XRange/XRangeSeries.js +4 -2
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +92 -75
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +20 -8
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +17 -4
- package/es-modules/Stock/StockToolsBindings.js +77 -38
- package/es-modules/Stock/StockToolsGui.js +28 -3
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +11 -7
- package/es-modules/masters/highcharts.src.js +25 -9
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- 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 +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +6 -2
- 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 +8 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +10 -2
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +9 -4
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +6 -2
- package/es-modules/masters/modules/heikinashi.src.js +14 -0
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +14 -0
- 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 +10 -6
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +8 -2
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +3 -2
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +5 -2
- package/es-modules/masters/themes/dark-blue.src.js +5 -2
- package/es-modules/masters/themes/dark-green.src.js +5 -2
- package/es-modules/masters/themes/dark-unica.src.js +5 -2
- package/es-modules/masters/themes/gray.src.js +5 -2
- package/es-modules/masters/themes/grid-light.src.js +5 -2
- package/es-modules/masters/themes/grid.src.js +5 -2
- package/es-modules/masters/themes/high-contrast-dark.src.js +5 -2
- package/es-modules/masters/themes/high-contrast-light.src.js +5 -2
- package/es-modules/masters/themes/sand-signika.src.js +5 -2
- package/es-modules/masters/themes/skies.src.js +5 -2
- package/es-modules/masters/themes/sunset.src.js +5 -2
- package/gfx/stock-icons/annotations-hidden.svg +1 -1
- package/gfx/stock-icons/annotations-visible.svg +2 -2
- package/gfx/stock-icons/arrow-bottom.svg +1 -1
- package/gfx/stock-icons/arrow-left.svg +1 -1
- package/gfx/stock-icons/arrow-line.svg +1 -1
- package/gfx/stock-icons/arrow-ray.svg +1 -1
- package/gfx/stock-icons/arrow-right.svg +1 -1
- package/gfx/stock-icons/arrow-segment.svg +1 -2
- package/gfx/stock-icons/circle.svg +1 -1
- package/gfx/stock-icons/close.svg +2 -2
- package/gfx/stock-icons/crooked-3.svg +1 -1
- package/gfx/stock-icons/crooked-5.svg +1 -1
- package/gfx/stock-icons/current-price-hide.svg +3 -3
- package/gfx/stock-icons/current-price-show.svg +2 -2
- package/gfx/stock-icons/destroy.svg +1 -1
- package/gfx/stock-icons/drawing.svg +18 -0
- package/gfx/stock-icons/edit.svg +1 -1
- package/gfx/stock-icons/elliott-3.svg +1 -1
- package/gfx/stock-icons/elliott-5.svg +1 -1
- package/gfx/stock-icons/ellipse.svg +11 -0
- package/gfx/stock-icons/fibonacci-timezone.svg +16 -0
- package/gfx/stock-icons/fibonacci.svg +1 -1
- package/gfx/stock-icons/flag-basic.svg +1 -1
- package/gfx/stock-icons/flag-diamond.svg +2 -2
- package/gfx/stock-icons/flag-elipse.svg +1 -1
- package/gfx/stock-icons/flag-trapeze.svg +2 -2
- package/gfx/stock-icons/fullscreen.svg +4 -4
- package/gfx/stock-icons/horizontal-line.svg +1 -1
- package/gfx/stock-icons/indicators.svg +3 -3
- package/gfx/stock-icons/label.svg +4 -4
- package/gfx/stock-icons/line.svg +1 -1
- package/gfx/stock-icons/linear.svg +11 -0
- package/gfx/stock-icons/logarithmic.svg +1 -0
- package/gfx/stock-icons/measure-x.svg +2 -2
- package/gfx/stock-icons/measure-xy.svg +1 -1
- package/gfx/stock-icons/measure-y.svg +1 -1
- package/gfx/stock-icons/panning.svg +17 -0
- package/gfx/stock-icons/parallel-channel.svg +1 -1
- package/gfx/stock-icons/pitchfork.svg +1 -1
- package/gfx/stock-icons/ray.svg +1 -1
- package/gfx/stock-icons/rectangle.svg +1 -1
- package/gfx/stock-icons/remove-annotations.svg +2 -2
- package/gfx/stock-icons/save-chart.svg +3 -3
- package/gfx/stock-icons/segment.svg +1 -1
- package/gfx/stock-icons/separator.svg +1 -1
- package/gfx/stock-icons/series-candlestick.svg +1 -1
- package/gfx/stock-icons/series-heikin-ashi.svg +1 -0
- package/gfx/stock-icons/series-hlc.svg +1 -0
- package/gfx/stock-icons/series-hollow-candlestick.svg +1 -0
- package/gfx/stock-icons/series-line.svg +1 -1
- package/gfx/stock-icons/series-ohlc.svg +4 -4
- package/gfx/stock-icons/time-cycles.svg +35 -0
- package/gfx/stock-icons/vertical-arrow.svg +1 -1
- package/gfx/stock-icons/vertical-counter.svg +1 -1
- package/gfx/stock-icons/vertical-double-arrow.svg +1 -1
- package/gfx/stock-icons/vertical-label.svg +3 -3
- package/gfx/stock-icons/vertical-line.svg +1 -1
- package/gfx/stock-icons/zoom-x.svg +2 -2
- package/gfx/stock-icons/zoom-xy.svg +2 -2
- package/gfx/stock-icons/zoom-y.svg +2 -2
- package/highcharts-3d.js +24 -24
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +6 -3
- package/highcharts-gantt.js +800 -792
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +16535 -15918
- package/highcharts-more.d.ts +73 -1
- package/highcharts-more.js +193 -192
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +73 -1
- package/highcharts-more.src.js +8044 -7839
- package/highcharts.d.ts +3850 -177
- package/highcharts.js +589 -581
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +3850 -177
- package/highcharts.src.js +16635 -16060
- package/highmaps.js +708 -698
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +17419 -16521
- package/highstock.js +782 -769
- package/highstock.js.map +1 -1
- package/highstock.src.js +28867 -27975
- package/indicators/acceleration-bands.js +9 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +7 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +9 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +7 -1
- package/indicators/aroon.js +9 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +7 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +9 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +7 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +11 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +7 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +203 -200
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +206 -104
- package/indicators/indicators.js +12 -11
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +108 -90
- package/indicators/keltner-channels.js +9 -9
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +7 -1
- package/indicators/klinger.js +13 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +7 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +9 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +7 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +10 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +7 -1
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +23 -10
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +17 -15
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +71 -6
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +203 -202
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +89 -49
- package/modules/annotations-advanced.js +164 -163
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +162 -87
- package/modules/annotations.js +111 -111
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +162 -87
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +2 -2
- package/modules/boost.js +52 -52
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +15 -7
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +34 -15
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +24 -22
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +954 -774
- package/modules/current-date-indicator.js +2 -2
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +2 -2
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +33 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +182 -134
- package/modules/datagrouping.d.ts +5 -0
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +5 -0
- package/modules/datagrouping.src.js +270 -228
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +3 -3
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +34 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +14 -5
- package/modules/drilldown.d.ts +27 -0
- package/modules/drilldown.js +18 -18
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +27 -0
- package/modules/drilldown.src.js +42 -16
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +20 -20
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +8 -5
- package/modules/exporting.d.ts +29 -0
- package/modules/exporting.js +38 -35
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +29 -0
- package/modules/exporting.src.js +1937 -1614
- package/modules/full-screen.js +2 -2
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +8 -6
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +218 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +74 -32
- package/modules/grid-axis.js +23 -22
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +9 -4
- package/modules/heatmap.js +39 -37
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +963 -779
- package/modules/heikinashi.js +17 -0
- package/modules/heikinashi.js.map +1 -0
- package/modules/heikinashi.src.js +394 -0
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +18 -0
- package/modules/hollowcandlestick.js.map +1 -0
- package/modules/hollowcandlestick.src.js +504 -0
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +9 -0
- package/modules/map.js +122 -119
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +9 -0
- package/modules/map.src.js +1655 -1332
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/networkgraph.js +1 -1
- package/modules/networkgraph.src.js +1 -1
- package/modules/no-data-to-display.js +3 -3
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +18 -16
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +623 -562
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +2 -2
- package/modules/organization.js +1 -1
- package/modules/organization.src.js +1 -1
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +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 +14 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +24 -12
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.js +28 -28
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +11 -11
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +2 -2
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +3 -3
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.js +1 -1
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +159 -157
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +253 -123
- package/modules/stock.d.ts +5 -0
- package/modules/stock.js +196 -191
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +5 -0
- package/modules/stock.src.js +7749 -7432
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +5 -5
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +6 -19
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +18 -17
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +21 -24
- package/modules/treegrid.js +57 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +43 -19
- package/modules/treemap.js +5 -5
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +5 -5
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +31 -30
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +508 -424
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +4 -4
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +2 -1
- package/modules/xrange.js +17 -17
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +7 -4
- package/package.json +1 -1
- package/themes/avocado.d.ts +6 -1
- package/themes/avocado.js +3 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.d.ts +6 -1
- package/themes/avocado.src.js +53 -22
- package/themes/dark-blue.d.ts +6 -1
- package/themes/dark-blue.js +3 -3
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.d.ts +6 -1
- package/themes/dark-blue.src.js +231 -205
- package/themes/dark-green.d.ts +6 -1
- package/themes/dark-green.js +4 -4
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.d.ts +6 -1
- package/themes/dark-green.src.js +236 -205
- package/themes/dark-unica.d.ts +6 -1
- package/themes/dark-unica.js +7 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.d.ts +6 -1
- package/themes/dark-unica.src.js +206 -174
- package/themes/gray.d.ts +6 -1
- package/themes/gray.js +3 -3
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.d.ts +6 -1
- package/themes/gray.src.js +233 -207
- package/themes/grid-light.d.ts +6 -1
- package/themes/grid-light.js +4 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.d.ts +6 -1
- package/themes/grid-light.src.js +88 -57
- package/themes/grid.d.ts +6 -1
- package/themes/grid.js +3 -3
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.d.ts +6 -1
- package/themes/grid.src.js +114 -83
- package/themes/high-contrast-dark.js +5 -4
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +197 -166
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +54 -23
- package/themes/sand-signika.d.ts +6 -1
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.d.ts +6 -1
- package/themes/sand-signika.src.js +119 -88
- package/themes/skies.d.ts +6 -1
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.d.ts +6 -1
- package/themes/skies.src.js +107 -76
- package/themes/sunset.d.ts +6 -1
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.d.ts +6 -1
- package/themes/sunset.src.js +52 -21
- package/es-modules/Core/Axis/ColorAxis.js +0 -1164
- package/es-modules/Core/Axis/HiddenAxis.js +0 -46
- package/es-modules/Core/Axis/PlotLineOrBand.js +0 -1051
- package/es-modules/Core/Series/DataLabels.js +0 -1173
- package/es-modules/Extensions/Exporting.js +0 -2024
- package/es-modules/Extensions/OfflineExporting.js +0 -621
- package/es-modules/Mixins/Geometry.js +0 -56
- package/es-modules/Mixins/GeometryCircles.js +0 -320
- package/es-modules/Series/Bubble/BubbleLegend.js +0 -893
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Highsoft AS
|
|
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 Geometry from './GeometryUtilities.js';
|
|
12
|
+
var getAngleBetweenPoints = Geometry.getAngleBetweenPoints, getCenterOfPoints = Geometry.getCenterOfPoints, getDistanceBetweenPoints = Geometry.getDistanceBetweenPoints;
|
|
13
|
+
/* *
|
|
14
|
+
*
|
|
15
|
+
* Namespace
|
|
16
|
+
*
|
|
17
|
+
* */
|
|
18
|
+
var CircleUtilities;
|
|
19
|
+
(function (CircleUtilities) {
|
|
20
|
+
/* *
|
|
21
|
+
*
|
|
22
|
+
* Functions
|
|
23
|
+
*
|
|
24
|
+
* */
|
|
25
|
+
/**
|
|
26
|
+
* @private
|
|
27
|
+
*
|
|
28
|
+
* @param {number} x
|
|
29
|
+
* Number to round
|
|
30
|
+
*
|
|
31
|
+
* @param {number} decimals
|
|
32
|
+
* Number of decimals to round to
|
|
33
|
+
*
|
|
34
|
+
* @return {number}
|
|
35
|
+
* Rounded number
|
|
36
|
+
*/
|
|
37
|
+
function round(x, decimals) {
|
|
38
|
+
var a = Math.pow(10, decimals);
|
|
39
|
+
return Math.round(x * a) / a;
|
|
40
|
+
}
|
|
41
|
+
CircleUtilities.round = round;
|
|
42
|
+
/**
|
|
43
|
+
* Calculates the area of a circle based on its radius.
|
|
44
|
+
*
|
|
45
|
+
* @private
|
|
46
|
+
*
|
|
47
|
+
* @param {number} r
|
|
48
|
+
* The radius of the circle.
|
|
49
|
+
*
|
|
50
|
+
* @return {number}
|
|
51
|
+
* Returns the area of the circle.
|
|
52
|
+
*/
|
|
53
|
+
function getAreaOfCircle(r) {
|
|
54
|
+
if (r <= 0) {
|
|
55
|
+
throw new Error('radius of circle must be a positive number.');
|
|
56
|
+
}
|
|
57
|
+
return Math.PI * r * r;
|
|
58
|
+
}
|
|
59
|
+
CircleUtilities.getAreaOfCircle = getAreaOfCircle;
|
|
60
|
+
/**
|
|
61
|
+
* Calculates the area of a circular segment based on the radius of the
|
|
62
|
+
* circle and the height of the segment.
|
|
63
|
+
*
|
|
64
|
+
* @see http://mathworld.wolfram.com/CircularSegment.html
|
|
65
|
+
*
|
|
66
|
+
* @private
|
|
67
|
+
*
|
|
68
|
+
* @param {number} r
|
|
69
|
+
* The radius of the circle.
|
|
70
|
+
*
|
|
71
|
+
* @param {number} h
|
|
72
|
+
* The height of the circular segment.
|
|
73
|
+
*
|
|
74
|
+
* @return {number}
|
|
75
|
+
* Returns the area of the circular segment.
|
|
76
|
+
*/
|
|
77
|
+
function getCircularSegmentArea(r, h) {
|
|
78
|
+
return r * r * Math.acos(1 - h / r) - (r - h) * Math.sqrt(h * (2 * r - h));
|
|
79
|
+
}
|
|
80
|
+
CircleUtilities.getCircularSegmentArea = getCircularSegmentArea;
|
|
81
|
+
/**
|
|
82
|
+
* Calculates the area of overlap between two circles based on their
|
|
83
|
+
* radiuses and the distance between them.
|
|
84
|
+
*
|
|
85
|
+
* @see http://mathworld.wolfram.com/Circle-CircleIntersection.html
|
|
86
|
+
*
|
|
87
|
+
* @private
|
|
88
|
+
*
|
|
89
|
+
* @param {number} r1
|
|
90
|
+
* Radius of the first circle.
|
|
91
|
+
*
|
|
92
|
+
* @param {number} r2
|
|
93
|
+
* Radius of the second circle.
|
|
94
|
+
*
|
|
95
|
+
* @param {number} d
|
|
96
|
+
* The distance between the two circles.
|
|
97
|
+
*
|
|
98
|
+
* @return {number}
|
|
99
|
+
* Returns the area of overlap between the two circles.
|
|
100
|
+
*/
|
|
101
|
+
function getOverlapBetweenCircles(r1, r2, d) {
|
|
102
|
+
var overlap = 0;
|
|
103
|
+
// If the distance is larger than the sum of the radiuses then the
|
|
104
|
+
// circles does not overlap.
|
|
105
|
+
if (d < r1 + r2) {
|
|
106
|
+
if (d <= Math.abs(r2 - r1)) {
|
|
107
|
+
// If the circles are completely overlapping, then the overlap
|
|
108
|
+
// equals the area of the smallest circle.
|
|
109
|
+
overlap = getAreaOfCircle(r1 < r2 ? r1 : r2);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
// Height of first triangle segment.
|
|
113
|
+
var d1 = (r1 * r1 - r2 * r2 + d * d) / (2 * d),
|
|
114
|
+
// Height of second triangle segment.
|
|
115
|
+
d2 = d - d1;
|
|
116
|
+
overlap = (getCircularSegmentArea(r1, r1 - d1) +
|
|
117
|
+
getCircularSegmentArea(r2, r2 - d2));
|
|
118
|
+
}
|
|
119
|
+
// Round the result to two decimals.
|
|
120
|
+
overlap = round(overlap, 14);
|
|
121
|
+
}
|
|
122
|
+
return overlap;
|
|
123
|
+
}
|
|
124
|
+
CircleUtilities.getOverlapBetweenCircles = getOverlapBetweenCircles;
|
|
125
|
+
/**
|
|
126
|
+
* Calculates the intersection points of two circles.
|
|
127
|
+
*
|
|
128
|
+
* NOTE: does not handle floating errors well.
|
|
129
|
+
*
|
|
130
|
+
* @private
|
|
131
|
+
*
|
|
132
|
+
* @param {Highcharts.CircleObject} c1
|
|
133
|
+
* The first circle.
|
|
134
|
+
*
|
|
135
|
+
* @param {Highcharts.CircleObject} c2
|
|
136
|
+
* The second sircle.
|
|
137
|
+
*
|
|
138
|
+
* @return {Array<Highcharts.PositionObject>}
|
|
139
|
+
* Returns the resulting intersection points.
|
|
140
|
+
*/
|
|
141
|
+
function getCircleCircleIntersection(c1, c2) {
|
|
142
|
+
var d = getDistanceBetweenPoints(c1, c2), r1 = c1.r, r2 = c2.r;
|
|
143
|
+
var points = [];
|
|
144
|
+
if (d < r1 + r2 && d > Math.abs(r1 - r2)) {
|
|
145
|
+
// If the circles are overlapping, but not completely overlapping,
|
|
146
|
+
// then it exists intersecting points.
|
|
147
|
+
var r1Square = r1 * r1, r2Square = r2 * r2,
|
|
148
|
+
// d^2 - r^2 + R^2 / 2d
|
|
149
|
+
x = (r1Square - r2Square + d * d) / (2 * d),
|
|
150
|
+
// y^2 = R^2 - x^2
|
|
151
|
+
y = Math.sqrt(r1Square - x * x), x1 = c1.x, x2 = c2.x, y1 = c1.y, y2 = c2.y, x0 = x1 + x * (x2 - x1) / d, y0 = y1 + x * (y2 - y1) / d, rx = -(y2 - y1) * (y / d), ry = -(x2 - x1) * (y / d);
|
|
152
|
+
points = [
|
|
153
|
+
{ x: round(x0 + rx, 14), y: round(y0 - ry, 14) },
|
|
154
|
+
{ x: round(x0 - rx, 14), y: round(y0 + ry, 14) }
|
|
155
|
+
];
|
|
156
|
+
}
|
|
157
|
+
return points;
|
|
158
|
+
}
|
|
159
|
+
CircleUtilities.getCircleCircleIntersection = getCircleCircleIntersection;
|
|
160
|
+
/**
|
|
161
|
+
* Calculates all the intersection points for between a list of circles.
|
|
162
|
+
*
|
|
163
|
+
* @private
|
|
164
|
+
*
|
|
165
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
166
|
+
* The circles to calculate the points from.
|
|
167
|
+
*
|
|
168
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
169
|
+
* Returns a list of intersection points.
|
|
170
|
+
*/
|
|
171
|
+
function getCirclesIntersectionPoints(circles) {
|
|
172
|
+
return circles.reduce(function (points, c1, i, arr) {
|
|
173
|
+
var additional = arr
|
|
174
|
+
.slice(i + 1)
|
|
175
|
+
.reduce(function (points, c2, j, arr) {
|
|
176
|
+
var indexes = [i, j + i + 1];
|
|
177
|
+
return points.concat(getCircleCircleIntersection(c1, c2).map(function (p) {
|
|
178
|
+
p.indexes = indexes;
|
|
179
|
+
return p;
|
|
180
|
+
}));
|
|
181
|
+
}, []);
|
|
182
|
+
return points.concat(additional);
|
|
183
|
+
}, []);
|
|
184
|
+
}
|
|
185
|
+
CircleUtilities.getCirclesIntersectionPoints = getCirclesIntersectionPoints;
|
|
186
|
+
/**
|
|
187
|
+
* Tests wether the first circle is completely overlapping the second
|
|
188
|
+
* circle.
|
|
189
|
+
*
|
|
190
|
+
* @private
|
|
191
|
+
*
|
|
192
|
+
* @param {Highcharts.CircleObject} circle1
|
|
193
|
+
* The first circle.
|
|
194
|
+
*
|
|
195
|
+
* @param {Highcharts.CircleObject} circle2
|
|
196
|
+
* The The second circle.
|
|
197
|
+
*
|
|
198
|
+
* @return {boolean}
|
|
199
|
+
* Returns true if circle1 is completely overlapping circle2, false if not.
|
|
200
|
+
*/
|
|
201
|
+
function isCircle1CompletelyOverlappingCircle2(circle1, circle2) {
|
|
202
|
+
return getDistanceBetweenPoints(circle1, circle2) + circle2.r < circle1.r + 1e-10;
|
|
203
|
+
}
|
|
204
|
+
CircleUtilities.isCircle1CompletelyOverlappingCircle2 = isCircle1CompletelyOverlappingCircle2;
|
|
205
|
+
/**
|
|
206
|
+
* Tests wether a point lies within a given circle.
|
|
207
|
+
* @private
|
|
208
|
+
* @param {Highcharts.PositionObject} point
|
|
209
|
+
* The point to test for.
|
|
210
|
+
*
|
|
211
|
+
* @param {Highcharts.CircleObject} circle
|
|
212
|
+
* The circle to test if the point is within.
|
|
213
|
+
*
|
|
214
|
+
* @return {boolean}
|
|
215
|
+
* Returns true if the point is inside, false if outside.
|
|
216
|
+
*/
|
|
217
|
+
function isPointInsideCircle(point, circle) {
|
|
218
|
+
return getDistanceBetweenPoints(point, circle) <= circle.r + 1e-10;
|
|
219
|
+
}
|
|
220
|
+
CircleUtilities.isPointInsideCircle = isPointInsideCircle;
|
|
221
|
+
/**
|
|
222
|
+
* Tests wether a point lies within a set of circles.
|
|
223
|
+
*
|
|
224
|
+
* @private
|
|
225
|
+
*
|
|
226
|
+
* @param {Highcharts.PositionObject} point
|
|
227
|
+
* The point to test.
|
|
228
|
+
*
|
|
229
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
230
|
+
* The list of circles to test against.
|
|
231
|
+
*
|
|
232
|
+
* @return {boolean}
|
|
233
|
+
* Returns true if the point is inside all the circles, false if not.
|
|
234
|
+
*/
|
|
235
|
+
function isPointInsideAllCircles(point, circles) {
|
|
236
|
+
return !circles.some(function (circle) {
|
|
237
|
+
return !isPointInsideCircle(point, circle);
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
CircleUtilities.isPointInsideAllCircles = isPointInsideAllCircles;
|
|
241
|
+
/**
|
|
242
|
+
* Tests wether a point lies outside a set of circles.
|
|
243
|
+
*
|
|
244
|
+
* TODO: add unit tests.
|
|
245
|
+
*
|
|
246
|
+
* @private
|
|
247
|
+
*
|
|
248
|
+
* @param {Highcharts.PositionObject} point
|
|
249
|
+
* The point to test.
|
|
250
|
+
*
|
|
251
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
252
|
+
* The list of circles to test against.
|
|
253
|
+
*
|
|
254
|
+
* @return {boolean}
|
|
255
|
+
* Returns true if the point is outside all the circles, false if not.
|
|
256
|
+
*/
|
|
257
|
+
function isPointOutsideAllCircles(point, circles) {
|
|
258
|
+
return !circles.some(function (circle) {
|
|
259
|
+
return isPointInsideCircle(point, circle);
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
CircleUtilities.isPointOutsideAllCircles = isPointOutsideAllCircles;
|
|
263
|
+
/**
|
|
264
|
+
* Calculates the points for the polygon of the intersection area between
|
|
265
|
+
* a set of circles.
|
|
266
|
+
*
|
|
267
|
+
* @private
|
|
268
|
+
*
|
|
269
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
270
|
+
* List of circles to calculate polygon of.
|
|
271
|
+
*
|
|
272
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
273
|
+
* Return list of points in the intersection polygon.
|
|
274
|
+
*/
|
|
275
|
+
function getCirclesIntersectionPolygon(circles) {
|
|
276
|
+
return getCirclesIntersectionPoints(circles)
|
|
277
|
+
.filter(function (p) {
|
|
278
|
+
return isPointInsideAllCircles(p, circles);
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
CircleUtilities.getCirclesIntersectionPolygon = getCirclesIntersectionPolygon;
|
|
282
|
+
/**
|
|
283
|
+
* Calculate the path for the area of overlap between a set of circles.
|
|
284
|
+
*
|
|
285
|
+
* @todo handle cases with only 1 or 0 arcs.
|
|
286
|
+
*
|
|
287
|
+
* @private
|
|
288
|
+
*
|
|
289
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
290
|
+
* List of circles to calculate area of.
|
|
291
|
+
*
|
|
292
|
+
* @return {Highcharts.GeometryIntersectionObject|undefined}
|
|
293
|
+
* Returns the path for the area of overlap. Returns an empty string if
|
|
294
|
+
* there are no intersection between all the circles.
|
|
295
|
+
*/
|
|
296
|
+
function getAreaOfIntersectionBetweenCircles(circles) {
|
|
297
|
+
var intersectionPoints = getCirclesIntersectionPolygon(circles), result;
|
|
298
|
+
if (intersectionPoints.length > 1) {
|
|
299
|
+
// Calculate the center of the intersection points.
|
|
300
|
+
var center_1 = getCenterOfPoints(intersectionPoints);
|
|
301
|
+
intersectionPoints = intersectionPoints
|
|
302
|
+
// Calculate the angle between the center and the points.
|
|
303
|
+
.map(function (p) {
|
|
304
|
+
p.angle = getAngleBetweenPoints(center_1, p);
|
|
305
|
+
return p;
|
|
306
|
+
})
|
|
307
|
+
// Sort the points by the angle to the center.
|
|
308
|
+
.sort(function (a, b) {
|
|
309
|
+
return b.angle - a.angle;
|
|
310
|
+
});
|
|
311
|
+
var startPoint = intersectionPoints[intersectionPoints.length - 1];
|
|
312
|
+
var arcs = intersectionPoints
|
|
313
|
+
.reduce(function (data, p1) {
|
|
314
|
+
var startPoint = data.startPoint, midPoint = getCenterOfPoints([startPoint, p1]);
|
|
315
|
+
// Calculate the arc from the intersection points and their
|
|
316
|
+
// circles.
|
|
317
|
+
var arc = p1.indexes
|
|
318
|
+
// Filter out circles that are not included in both
|
|
319
|
+
// intersection points.
|
|
320
|
+
.filter(function (index) {
|
|
321
|
+
return startPoint.indexes.indexOf(index) > -1;
|
|
322
|
+
})
|
|
323
|
+
// Iterate the circles of the intersection points and
|
|
324
|
+
// calculate arcs.
|
|
325
|
+
.reduce(function (arc, index) {
|
|
326
|
+
var circle = circles[index], angle1 = getAngleBetweenPoints(circle, p1), angle2 = getAngleBetweenPoints(circle, startPoint), angleDiff = angle2 - angle1 +
|
|
327
|
+
(angle2 < angle1 ? 2 * Math.PI : 0), angle = angle2 - angleDiff / 2;
|
|
328
|
+
var width = getDistanceBetweenPoints(midPoint, {
|
|
329
|
+
x: circle.x + circle.r * Math.sin(angle),
|
|
330
|
+
y: circle.y + circle.r * Math.cos(angle)
|
|
331
|
+
});
|
|
332
|
+
var r = circle.r;
|
|
333
|
+
// Width can sometimes become to large due to
|
|
334
|
+
// floating point errors
|
|
335
|
+
if (width > r * 2) {
|
|
336
|
+
width = r * 2;
|
|
337
|
+
}
|
|
338
|
+
// Get the arc with the smallest width.
|
|
339
|
+
if (!arc || arc.width > width) {
|
|
340
|
+
arc = {
|
|
341
|
+
r: r,
|
|
342
|
+
largeArc: width > r ? 1 : 0,
|
|
343
|
+
width: width,
|
|
344
|
+
x: p1.x,
|
|
345
|
+
y: p1.y
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
// Return the chosen arc.
|
|
349
|
+
return arc;
|
|
350
|
+
}, null);
|
|
351
|
+
// If we find an arc then add it to the list and update p2.
|
|
352
|
+
if (arc) {
|
|
353
|
+
var r = arc.r;
|
|
354
|
+
data.arcs.push(['A', r, r, 0, arc.largeArc, 1, arc.x, arc.y]);
|
|
355
|
+
data.startPoint = p1;
|
|
356
|
+
}
|
|
357
|
+
return data;
|
|
358
|
+
}, {
|
|
359
|
+
startPoint: startPoint,
|
|
360
|
+
arcs: []
|
|
361
|
+
}).arcs;
|
|
362
|
+
if (arcs.length === 0) {
|
|
363
|
+
// empty
|
|
364
|
+
}
|
|
365
|
+
else if (arcs.length === 1) {
|
|
366
|
+
// empty
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
arcs.unshift(['M', startPoint.x, startPoint.y]);
|
|
370
|
+
result = {
|
|
371
|
+
center: center_1,
|
|
372
|
+
d: arcs
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return result;
|
|
377
|
+
}
|
|
378
|
+
CircleUtilities.getAreaOfIntersectionBetweenCircles = getAreaOfIntersectionBetweenCircles;
|
|
379
|
+
})(CircleUtilities || (CircleUtilities = {}));
|
|
380
|
+
/* *
|
|
381
|
+
*
|
|
382
|
+
* Default Export
|
|
383
|
+
*
|
|
384
|
+
* */
|
|
385
|
+
export default CircleUtilities;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Highsoft AS
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
/* *
|
|
12
|
+
*
|
|
13
|
+
* Namespace
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
var GeometryUtilities;
|
|
17
|
+
(function (GeometryUtilities) {
|
|
18
|
+
/* *
|
|
19
|
+
*
|
|
20
|
+
* Functions
|
|
21
|
+
*
|
|
22
|
+
* */
|
|
23
|
+
/**
|
|
24
|
+
* Calculates the center between a list of points.
|
|
25
|
+
*
|
|
26
|
+
* @private
|
|
27
|
+
*
|
|
28
|
+
* @param {Array<Highcharts.PositionObject>} points
|
|
29
|
+
* A list of points to calculate the center of.
|
|
30
|
+
*
|
|
31
|
+
* @return {Highcharts.PositionObject}
|
|
32
|
+
* Calculated center
|
|
33
|
+
*/
|
|
34
|
+
function getCenterOfPoints(points) {
|
|
35
|
+
var sum = points.reduce(function (sum, point) {
|
|
36
|
+
sum.x += point.x;
|
|
37
|
+
sum.y += point.y;
|
|
38
|
+
return sum;
|
|
39
|
+
}, { x: 0, y: 0 });
|
|
40
|
+
return {
|
|
41
|
+
x: sum.x / points.length,
|
|
42
|
+
y: sum.y / points.length
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
GeometryUtilities.getCenterOfPoints = getCenterOfPoints;
|
|
46
|
+
/**
|
|
47
|
+
* Calculates the distance between two points based on their x and y
|
|
48
|
+
* coordinates.
|
|
49
|
+
*
|
|
50
|
+
* @private
|
|
51
|
+
*
|
|
52
|
+
* @param {Highcharts.PositionObject} p1
|
|
53
|
+
* The x and y coordinates of the first point.
|
|
54
|
+
*
|
|
55
|
+
* @param {Highcharts.PositionObject} p2
|
|
56
|
+
* The x and y coordinates of the second point.
|
|
57
|
+
*
|
|
58
|
+
* @return {number}
|
|
59
|
+
* Returns the distance between the points.
|
|
60
|
+
*/
|
|
61
|
+
function getDistanceBetweenPoints(p1, p2) {
|
|
62
|
+
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
|
|
63
|
+
}
|
|
64
|
+
GeometryUtilities.getDistanceBetweenPoints = getDistanceBetweenPoints;
|
|
65
|
+
/**
|
|
66
|
+
* Calculates the angle between two points.
|
|
67
|
+
* @todo add unit tests.
|
|
68
|
+
* @private
|
|
69
|
+
* @param {Highcharts.PositionObject} p1 The first point.
|
|
70
|
+
* @param {Highcharts.PositionObject} p2 The second point.
|
|
71
|
+
* @return {number} Returns the angle in radians.
|
|
72
|
+
*/
|
|
73
|
+
function getAngleBetweenPoints(p1, p2) {
|
|
74
|
+
return Math.atan2(p2.x - p1.x, p2.y - p1.y);
|
|
75
|
+
}
|
|
76
|
+
GeometryUtilities.getAngleBetweenPoints = getAngleBetweenPoints;
|
|
77
|
+
})(GeometryUtilities || (GeometryUtilities = {}));
|
|
78
|
+
/* *
|
|
79
|
+
*
|
|
80
|
+
* Default Export
|
|
81
|
+
*
|
|
82
|
+
* */
|
|
83
|
+
export default GeometryUtilities;
|
|
@@ -40,7 +40,7 @@ var Globals;
|
|
|
40
40
|
* Constants
|
|
41
41
|
*
|
|
42
42
|
* */
|
|
43
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.
|
|
43
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '9.2.2', Globals.win = w, Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
|
|
44
44
|
Globals.doc.createElementNS &&
|
|
45
45
|
!!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.userAgent.indexOf('Chrome') !== -1, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.hasBidiBug = (Globals.isFirefox &&
|
|
46
46
|
parseInt(Globals.userAgent.split('Firefox/')[1], 10) < 4 // issue #38
|
|
@@ -100,6 +100,13 @@ var Globals;
|
|
|
100
100
|
* @private
|
|
101
101
|
*/
|
|
102
102
|
Globals.symbolSizes = {};
|
|
103
|
+
/* *
|
|
104
|
+
*
|
|
105
|
+
* Properties
|
|
106
|
+
*
|
|
107
|
+
* */
|
|
108
|
+
// eslint-disable-next-line prefer-const
|
|
109
|
+
Globals.chartCount = 0;
|
|
103
110
|
})(Globals || (Globals = {}));
|
|
104
111
|
/* *
|
|
105
112
|
*
|
|
@@ -107,3 +114,18 @@ var Globals;
|
|
|
107
114
|
*
|
|
108
115
|
* */
|
|
109
116
|
export default Globals;
|
|
117
|
+
/* *
|
|
118
|
+
*
|
|
119
|
+
* API Declarations
|
|
120
|
+
*
|
|
121
|
+
* */
|
|
122
|
+
/**
|
|
123
|
+
* Theme options that should get applied to the chart. In module mode it
|
|
124
|
+
* might not be possible to change this property because of read-only
|
|
125
|
+
* restrictions, instead use {@link Highcharts.setOptions}.
|
|
126
|
+
*
|
|
127
|
+
* @deprecated
|
|
128
|
+
* @name Highcharts.theme
|
|
129
|
+
* @type {Highcharts.Options}
|
|
130
|
+
*/
|
|
131
|
+
(''); // keeps doclets above in JS file
|
|
@@ -8,41 +8,10 @@
|
|
|
8
8
|
*
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
|
-
import
|
|
11
|
+
import G from '../Core/Globals.js';
|
|
12
|
+
var doc = G.doc;
|
|
12
13
|
import U from '../Core/Utilities.js';
|
|
13
|
-
var merge = U.merge, objectEach = U.objectEach;
|
|
14
|
-
/**
|
|
15
|
-
* @interface Highcharts.AjaxSettingsObject
|
|
16
|
-
*/ /**
|
|
17
|
-
* The payload to send.
|
|
18
|
-
*
|
|
19
|
-
* @name Highcharts.AjaxSettingsObject#data
|
|
20
|
-
* @type {string|Highcharts.Dictionary<any>}
|
|
21
|
-
*/ /**
|
|
22
|
-
* The data type expected.
|
|
23
|
-
* @name Highcharts.AjaxSettingsObject#dataType
|
|
24
|
-
* @type {"json"|"xml"|"text"|"octet"}
|
|
25
|
-
*/ /**
|
|
26
|
-
* Function to call on error.
|
|
27
|
-
* @name Highcharts.AjaxSettingsObject#error
|
|
28
|
-
* @type {Function}
|
|
29
|
-
*/ /**
|
|
30
|
-
* The headers; keyed on header name.
|
|
31
|
-
* @name Highcharts.AjaxSettingsObject#headers
|
|
32
|
-
* @type {Highcharts.Dictionary<string>}
|
|
33
|
-
*/ /**
|
|
34
|
-
* Function to call on success.
|
|
35
|
-
* @name Highcharts.AjaxSettingsObject#success
|
|
36
|
-
* @type {Function}
|
|
37
|
-
*/ /**
|
|
38
|
-
* The HTTP method to use. For example GET or POST.
|
|
39
|
-
* @name Highcharts.AjaxSettingsObject#type
|
|
40
|
-
* @type {string}
|
|
41
|
-
*/ /**
|
|
42
|
-
* The URL to call.
|
|
43
|
-
* @name Highcharts.AjaxSettingsObject#url
|
|
44
|
-
* @type {string}
|
|
45
|
-
*/
|
|
14
|
+
var createElement = U.createElement, discardElement = U.discardElement, merge = U.merge, objectEach = U.objectEach;
|
|
46
15
|
/**
|
|
47
16
|
* Perform an Ajax call.
|
|
48
17
|
*
|
|
@@ -54,7 +23,7 @@ var merge = U.merge, objectEach = U.objectEach;
|
|
|
54
23
|
* @return {false|undefined}
|
|
55
24
|
* Returns false, if error occured.
|
|
56
25
|
*/
|
|
57
|
-
|
|
26
|
+
function ajax(attr) {
|
|
58
27
|
var options = merge(true, {
|
|
59
28
|
url: false,
|
|
60
29
|
type: 'get',
|
|
@@ -119,7 +88,7 @@ H.ajax = function (attr) {
|
|
|
119
88
|
// empty
|
|
120
89
|
}
|
|
121
90
|
r.send(options.data || true);
|
|
122
|
-
}
|
|
91
|
+
}
|
|
123
92
|
/**
|
|
124
93
|
* Get a JSON resource over XHR, also supporting CORS without preflight.
|
|
125
94
|
*
|
|
@@ -129,10 +98,9 @@ H.ajax = function (attr) {
|
|
|
129
98
|
* @param {Function} success
|
|
130
99
|
* The success callback. For error handling, use the `Highcharts.ajax`
|
|
131
100
|
* function instead.
|
|
132
|
-
* @return {void}
|
|
133
101
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
102
|
+
function getJSON(url, success) {
|
|
103
|
+
exports.ajax({
|
|
136
104
|
url: url,
|
|
137
105
|
success: success,
|
|
138
106
|
dataType: 'json',
|
|
@@ -142,9 +110,85 @@ H.getJSON = function (url, success) {
|
|
|
142
110
|
'Content-Type': 'text/plain'
|
|
143
111
|
}
|
|
144
112
|
});
|
|
145
|
-
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* The post utility
|
|
116
|
+
*
|
|
117
|
+
* @private
|
|
118
|
+
* @function Highcharts.post
|
|
119
|
+
*
|
|
120
|
+
* @param {string} url
|
|
121
|
+
* Post URL
|
|
122
|
+
*
|
|
123
|
+
* @param {object} data
|
|
124
|
+
* Post data
|
|
125
|
+
*
|
|
126
|
+
* @param {Highcharts.Dictionary<string>} [formAttributes]
|
|
127
|
+
* Additional attributes for the post request
|
|
128
|
+
*/
|
|
129
|
+
function post(url, data, formAttributes) {
|
|
130
|
+
// create the form
|
|
131
|
+
var form = createElement('form', merge({
|
|
132
|
+
method: 'post',
|
|
133
|
+
action: url,
|
|
134
|
+
enctype: 'multipart/form-data'
|
|
135
|
+
}, formAttributes), {
|
|
136
|
+
display: 'none'
|
|
137
|
+
}, doc.body);
|
|
138
|
+
// add the data
|
|
139
|
+
objectEach(data, function (val, name) {
|
|
140
|
+
createElement('input', {
|
|
141
|
+
type: 'hidden',
|
|
142
|
+
name: name,
|
|
143
|
+
value: val
|
|
144
|
+
}, null, form);
|
|
145
|
+
});
|
|
146
|
+
// submit
|
|
147
|
+
form.submit();
|
|
148
|
+
// clean up
|
|
149
|
+
discardElement(form);
|
|
150
|
+
}
|
|
151
|
+
/* *
|
|
152
|
+
*
|
|
153
|
+
* Default Export
|
|
154
|
+
*
|
|
155
|
+
* */
|
|
146
156
|
var exports = {
|
|
147
|
-
ajax:
|
|
148
|
-
getJSON:
|
|
157
|
+
ajax: ajax,
|
|
158
|
+
getJSON: getJSON,
|
|
159
|
+
post: post
|
|
149
160
|
};
|
|
150
161
|
export default exports;
|
|
162
|
+
/**
|
|
163
|
+
* @interface Highcharts.AjaxSettingsObject
|
|
164
|
+
*/ /**
|
|
165
|
+
* The payload to send.
|
|
166
|
+
*
|
|
167
|
+
* @name Highcharts.AjaxSettingsObject#data
|
|
168
|
+
* @type {string|Highcharts.Dictionary<any>}
|
|
169
|
+
*/ /**
|
|
170
|
+
* The data type expected.
|
|
171
|
+
* @name Highcharts.AjaxSettingsObject#dataType
|
|
172
|
+
* @type {"json"|"xml"|"text"|"octet"}
|
|
173
|
+
*/ /**
|
|
174
|
+
* Function to call on error.
|
|
175
|
+
* @name Highcharts.AjaxSettingsObject#error
|
|
176
|
+
* @type {Function}
|
|
177
|
+
*/ /**
|
|
178
|
+
* The headers; keyed on header name.
|
|
179
|
+
* @name Highcharts.AjaxSettingsObject#headers
|
|
180
|
+
* @type {Highcharts.Dictionary<string>}
|
|
181
|
+
*/ /**
|
|
182
|
+
* Function to call on success.
|
|
183
|
+
* @name Highcharts.AjaxSettingsObject#success
|
|
184
|
+
* @type {Function}
|
|
185
|
+
*/ /**
|
|
186
|
+
* The HTTP method to use. For example GET or POST.
|
|
187
|
+
* @name Highcharts.AjaxSettingsObject#type
|
|
188
|
+
* @type {string}
|
|
189
|
+
*/ /**
|
|
190
|
+
* The URL to call.
|
|
191
|
+
* @name Highcharts.AjaxSettingsObject#url
|
|
192
|
+
* @type {string}
|
|
193
|
+
*/
|
|
194
|
+
(''); // keeps doclets above in JS file
|