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
|
@@ -27,12 +27,17 @@ import Color from '../../Core/Color/Color.js';
|
|
|
27
27
|
var color = Color.parse;
|
|
28
28
|
import H from '../../Core/Globals.js';
|
|
29
29
|
var hasTouch = H.hasTouch, noop = H.noop;
|
|
30
|
-
import
|
|
31
|
-
import
|
|
30
|
+
import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
|
|
31
|
+
import Palette from '../../Core/Color/Palette.js';
|
|
32
32
|
import Series from '../../Core/Series/Series.js';
|
|
33
33
|
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
|
34
34
|
import U from '../../Core/Utilities.js';
|
|
35
35
|
var clamp = U.clamp, css = U.css, defined = U.defined, extend = U.extend, fireEvent = U.fireEvent, isArray = U.isArray, isNumber = U.isNumber, merge = U.merge, pick = U.pick, objectEach = U.objectEach;
|
|
36
|
+
/* *
|
|
37
|
+
*
|
|
38
|
+
* Class
|
|
39
|
+
*
|
|
40
|
+
* */
|
|
36
41
|
/**
|
|
37
42
|
* The column series type.
|
|
38
43
|
*
|
|
@@ -80,7 +85,8 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
80
85
|
* Whether to initialize the animation or run it
|
|
81
86
|
*/
|
|
82
87
|
ColumnSeries.prototype.animate = function (init) {
|
|
83
|
-
var series = this, yAxis = this.yAxis, options = series.options, inverted = this.chart.inverted, attr = {}, translateProp = inverted ? 'translateX' : 'translateY'
|
|
88
|
+
var series = this, yAxis = this.yAxis, options = series.options, inverted = this.chart.inverted, attr = {}, translateProp = inverted ? 'translateX' : 'translateY';
|
|
89
|
+
var translateStart, translatedThreshold;
|
|
84
90
|
if (init) {
|
|
85
91
|
attr.scaleY = 0.001;
|
|
86
92
|
translatedThreshold = clamp(yAxis.toPixels(options.threshold), yAxis.pos, yAxis.pos + yAxis.len);
|
|
@@ -146,7 +152,8 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
146
152
|
// Keep backward compatibility: reversed xAxis had reversed
|
|
147
153
|
// stacks
|
|
148
154
|
reverseStacks = (xAxis.reversed && !reversedStacks) ||
|
|
149
|
-
(!xAxis.reversed && reversedStacks),
|
|
155
|
+
(!xAxis.reversed && reversedStacks), stackGroups = {};
|
|
156
|
+
var stackKey, columnCount = 0;
|
|
150
157
|
// Get the total number of column type series. This is called on
|
|
151
158
|
// every series. Consider moving this logic to a chart.orderStacks()
|
|
152
159
|
// function and call it on init, addSeries and removeSeries
|
|
@@ -155,7 +162,8 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
155
162
|
}
|
|
156
163
|
else {
|
|
157
164
|
series.chart.series.forEach(function (otherSeries) {
|
|
158
|
-
var otherYAxis = otherSeries.yAxis, otherOptions = otherSeries.options
|
|
165
|
+
var otherYAxis = otherSeries.yAxis, otherOptions = otherSeries.options;
|
|
166
|
+
var columnIndex;
|
|
159
167
|
if (otherSeries.type === series.type &&
|
|
160
168
|
(otherSeries.visible ||
|
|
161
169
|
!series.chart.options.chart.ignoreHiddenSeries) &&
|
|
@@ -205,7 +213,8 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
205
213
|
* @function Highcharts.seriesTypes.column#crispCol
|
|
206
214
|
*/
|
|
207
215
|
ColumnSeries.prototype.crispCol = function (x, y, w, h) {
|
|
208
|
-
var chart = this.chart, borderWidth = this.borderWidth, xCrisp = -(borderWidth % 2 ? 0.5 : 0)
|
|
216
|
+
var chart = this.chart, borderWidth = this.borderWidth, xCrisp = -(borderWidth % 2 ? 0.5 : 0);
|
|
217
|
+
var right, yCrisp = borderWidth % 2 ? 0.5 : 1;
|
|
209
218
|
if (chart.inverted && chart.renderer.isVML) {
|
|
210
219
|
yCrisp += 1;
|
|
211
220
|
}
|
|
@@ -217,8 +226,7 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
217
226
|
w = right - x;
|
|
218
227
|
}
|
|
219
228
|
// Vertical
|
|
220
|
-
bottom = Math.round(y + h) + yCrisp;
|
|
221
|
-
fromTop = Math.abs(y) <= 0.5 && bottom > 0.5; // #4504, #4656
|
|
229
|
+
var bottom = Math.round(y + h) + yCrisp, fromTop = Math.abs(y) <= 0.5 && bottom > 0.5; // #4504, #4656
|
|
222
230
|
y = Math.round(y) + yCrisp;
|
|
223
231
|
h = bottom - y;
|
|
224
232
|
// Top edges are exceptions
|
|
@@ -311,10 +319,10 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
311
319
|
var series = this, chart = series.chart, options = series.options, dense = series.dense =
|
|
312
320
|
series.closestPointRange * series.xAxis.transA < 2, borderWidth = series.borderWidth = pick(options.borderWidth, dense ? 0 : 1 // #3635
|
|
313
321
|
), xAxis = series.xAxis, yAxis = series.yAxis, threshold = options.threshold, translatedThreshold = series.translatedThreshold =
|
|
314
|
-
yAxis.getThreshold(threshold), minPointLength = pick(options.minPointLength, 5), metrics = series.getColumnMetrics(), seriesPointWidth = metrics.width,
|
|
322
|
+
yAxis.getThreshold(threshold), minPointLength = pick(options.minPointLength, 5), metrics = series.getColumnMetrics(), seriesPointWidth = metrics.width, seriesXOffset = series.pointXOffset = metrics.offset, dataMin = series.dataMin, dataMax = series.dataMax;
|
|
315
323
|
// postprocessed for border width
|
|
316
|
-
seriesBarW = series.barW =
|
|
317
|
-
Math.max(seriesPointWidth, 1 + 2 * borderWidth)
|
|
324
|
+
var seriesBarW = series.barW =
|
|
325
|
+
Math.max(seriesPointWidth, 1 + 2 * borderWidth);
|
|
318
326
|
if (chart.inverted) {
|
|
319
327
|
translatedThreshold -= 0.5; // #3355
|
|
320
328
|
}
|
|
@@ -328,10 +336,11 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
328
336
|
Series.prototype.translate.apply(series);
|
|
329
337
|
// Record the new values
|
|
330
338
|
series.points.forEach(function (point) {
|
|
331
|
-
var yBottom = pick(point.yBottom, translatedThreshold), safeDistance = 999 + Math.abs(yBottom),
|
|
339
|
+
var yBottom = pick(point.yBottom, translatedThreshold), safeDistance = 999 + Math.abs(yBottom), plotX = point.plotX || 0,
|
|
332
340
|
// Don't draw too far outside plot area (#1303, #2241,
|
|
333
341
|
// #4264)
|
|
334
|
-
plotY = clamp(point.plotY, -safeDistance, yAxis.len + safeDistance)
|
|
342
|
+
plotY = clamp(point.plotY, -safeDistance, yAxis.len + safeDistance);
|
|
343
|
+
var up, barY = Math.min(plotY, yBottom), barH = Math.max(plotY, yBottom) - barY, pointWidth = seriesPointWidth, barX = plotX + seriesXOffset, barW = seriesBarW;
|
|
335
344
|
// Handle options.minPointLength
|
|
336
345
|
if (minPointLength && Math.abs(barH) < minPointLength) {
|
|
337
346
|
barH = minPointLength;
|
|
@@ -414,13 +423,14 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
414
423
|
* @function Highcharts.seriesTypes.column#pointAttribs
|
|
415
424
|
*/
|
|
416
425
|
ColumnSeries.prototype.pointAttribs = function (point, state) {
|
|
417
|
-
var options = this.options,
|
|
426
|
+
var options = this.options, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth';
|
|
427
|
+
var stateOptions, zone, brightness, fill = (point && point.color) || this.color,
|
|
418
428
|
// set to fill when borderColor null:
|
|
419
429
|
stroke = ((point && point[strokeOption]) ||
|
|
420
430
|
options[strokeOption] ||
|
|
421
|
-
fill), strokeWidth = (point && point[strokeWidthOption]) ||
|
|
431
|
+
fill), dashstyle = (point && point.options.dashStyle) || options.dashStyle, strokeWidth = (point && point[strokeWidthOption]) ||
|
|
422
432
|
options[strokeWidthOption] ||
|
|
423
|
-
this[strokeWidthOption] || 0,
|
|
433
|
+
this[strokeWidthOption] || 0, opacity = pick(point && point.opacity, options.opacity, 1);
|
|
424
434
|
// Handle zone colors
|
|
425
435
|
if (point && this.zones.length) {
|
|
426
436
|
zone = point.getZone();
|
|
@@ -454,7 +464,7 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
454
464
|
dashstyle = stateOptions.dashStyle || dashstyle;
|
|
455
465
|
opacity = pick(stateOptions.opacity, opacity);
|
|
456
466
|
}
|
|
457
|
-
ret = {
|
|
467
|
+
var ret = {
|
|
458
468
|
fill: fill,
|
|
459
469
|
stroke: stroke,
|
|
460
470
|
'stroke-width': strokeWidth,
|
|
@@ -474,10 +484,12 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
474
484
|
* @function Highcharts.seriesTypes.column#drawPoints
|
|
475
485
|
*/
|
|
476
486
|
ColumnSeries.prototype.drawPoints = function () {
|
|
477
|
-
var series = this, chart = this.chart, options = series.options, renderer = chart.renderer, animationLimit = options.animationLimit || 250
|
|
487
|
+
var series = this, chart = this.chart, options = series.options, renderer = chart.renderer, animationLimit = options.animationLimit || 250;
|
|
488
|
+
var shapeArgs;
|
|
478
489
|
// draw the columns
|
|
479
490
|
series.points.forEach(function (point) {
|
|
480
|
-
var plotY = point.plotY
|
|
491
|
+
var plotY = point.plotY;
|
|
492
|
+
var graphic = point.graphic, hasGraphic = !!graphic, verb = graphic && chart.pointCount < animationLimit ?
|
|
481
493
|
'animate' : 'attr';
|
|
482
494
|
if (isNumber(plotY) && point.y !== null) {
|
|
483
495
|
shapeArgs = point.shapeArgs;
|
|
@@ -545,7 +557,8 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
545
557
|
pointer.isDirectTouch = true;
|
|
546
558
|
point.onMouseOver(e);
|
|
547
559
|
}
|
|
548
|
-
}
|
|
560
|
+
};
|
|
561
|
+
var dataLabels;
|
|
549
562
|
// Add reference to the point
|
|
550
563
|
series.points.forEach(function (point) {
|
|
551
564
|
dataLabels = (isArray(point.dataLabels) ?
|
|
@@ -891,7 +904,7 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
891
904
|
* @default #cccccc
|
|
892
905
|
* @product highcharts highstock gantt
|
|
893
906
|
*/
|
|
894
|
-
color:
|
|
907
|
+
color: Palette.neutralColor20,
|
|
895
908
|
/**
|
|
896
909
|
* A specific border color for the selected point.
|
|
897
910
|
*
|
|
@@ -899,7 +912,7 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
899
912
|
* @default #000000
|
|
900
913
|
* @product highcharts highstock gantt
|
|
901
914
|
*/
|
|
902
|
-
borderColor:
|
|
915
|
+
borderColor: Palette.neutralColor100
|
|
903
916
|
}
|
|
904
917
|
},
|
|
905
918
|
dataLabels: {
|
|
@@ -966,7 +979,7 @@ var ColumnSeries = /** @class */ (function (_super) {
|
|
|
966
979
|
*
|
|
967
980
|
* @private
|
|
968
981
|
*/
|
|
969
|
-
borderColor:
|
|
982
|
+
borderColor: Palette.backgroundColor
|
|
970
983
|
});
|
|
971
984
|
return ColumnSeries;
|
|
972
985
|
}(Series));
|
|
@@ -987,7 +1000,7 @@ extend(ColumnSeries.prototype, {
|
|
|
987
1000
|
* @param {Highcharts.Series|Highcharts.Point} item
|
|
988
1001
|
* The series (this) or point
|
|
989
1002
|
*/
|
|
990
|
-
drawLegendSymbol:
|
|
1003
|
+
drawLegendSymbol: LegendSymbol.drawRectangle,
|
|
991
1004
|
getSymbol: noop,
|
|
992
1005
|
// use separate negative stacks, unlike area stacks where a negative
|
|
993
1006
|
// point is substracted from previous (#1910)
|
|
@@ -997,7 +1010,7 @@ extend(ColumnSeries.prototype, {
|
|
|
997
1010
|
SeriesRegistry.registerSeriesType('column', ColumnSeries);
|
|
998
1011
|
/* *
|
|
999
1012
|
*
|
|
1000
|
-
* Export
|
|
1013
|
+
* Default Export
|
|
1001
1014
|
*
|
|
1002
1015
|
* */
|
|
1003
1016
|
export default ColumnSeries;
|
|
@@ -1154,4 +1167,4 @@ export default ColumnSeries;
|
|
|
1154
1167
|
* @product highcharts highstock
|
|
1155
1168
|
* @apioption series.column.states.select
|
|
1156
1169
|
*/
|
|
1157
|
-
''; //
|
|
1170
|
+
''; // keeps doclets above in JS file
|
|
@@ -112,7 +112,8 @@ columnProto.translate3dShapes = function () {
|
|
|
112
112
|
borderCrisp)) {
|
|
113
113
|
// Set args to 0 if column is outside the chart.
|
|
114
114
|
for (var key in shapeArgs_1) { // eslint-disable-line guard-for-in
|
|
115
|
-
|
|
115
|
+
// #13840
|
|
116
|
+
shapeArgs_1[key] = key === 'y' ? -9999 : 0;
|
|
116
117
|
}
|
|
117
118
|
// #7103 outside3dPlot flag is set on Points which are
|
|
118
119
|
// currently outside of plot.
|
|
@@ -189,7 +190,9 @@ wrap(columnProto, 'animate', function (proceed) {
|
|
|
189
190
|
point.shapeArgs.y = point.shapey; // #2968
|
|
190
191
|
// null value do not have a graphic
|
|
191
192
|
if (point.graphic) {
|
|
192
|
-
point.graphic
|
|
193
|
+
point.graphic[point.outside3dPlot ?
|
|
194
|
+
'attr' :
|
|
195
|
+
'animate'](point.shapeArgs, series_1.options.animation);
|
|
193
196
|
}
|
|
194
197
|
}
|
|
195
198
|
});
|
|
@@ -26,12 +26,19 @@ import H from '../../Core/Globals.js';
|
|
|
26
26
|
var noop = H.noop;
|
|
27
27
|
import OnSeriesMixin from '../../Mixins/OnSeries.js';
|
|
28
28
|
import palette from '../../Core/Color/Palette.js';
|
|
29
|
+
import R from '../../Core/Renderer/RendererUtilities.js';
|
|
30
|
+
var distribute = R.distribute;
|
|
29
31
|
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
|
30
32
|
var Series = SeriesRegistry.series, ColumnSeries = SeriesRegistry.seriesTypes.column;
|
|
31
33
|
import SVGElement from '../../Core/Renderer/SVG/SVGElement.js';
|
|
32
34
|
import U from '../../Core/Utilities.js';
|
|
33
35
|
var addEvent = U.addEvent, defined = U.defined, extend = U.extend, merge = U.merge, objectEach = U.objectEach, wrap = U.wrap;
|
|
34
36
|
import './FlagsSymbols.js';
|
|
37
|
+
/* *
|
|
38
|
+
*
|
|
39
|
+
* Classes
|
|
40
|
+
*
|
|
41
|
+
* */
|
|
35
42
|
/**
|
|
36
43
|
* The Flags series.
|
|
37
44
|
*
|
|
@@ -179,7 +186,7 @@ var FlagsSeries = /** @class */ (function (_super) {
|
|
|
179
186
|
box.plotX = box.anchorX;
|
|
180
187
|
boxes.push(box);
|
|
181
188
|
});
|
|
182
|
-
|
|
189
|
+
distribute(boxes, inverted ? yAxis.len : this.xAxis.len, 100);
|
|
183
190
|
points.forEach(function (point) {
|
|
184
191
|
var box = point.graphic && boxesMap[point.plotX];
|
|
185
192
|
if (box) {
|
|
@@ -153,12 +153,12 @@ var GanttSeries = /** @class */ (function (_super) {
|
|
|
153
153
|
headerFormat: '<span style="font-size: 10px">{series.name}</span><br/>',
|
|
154
154
|
pointFormat: null,
|
|
155
155
|
pointFormatter: function () {
|
|
156
|
-
var point = this, series = point.series,
|
|
156
|
+
var point = this, series = point.series, xAxis = series.xAxis, formats = series.tooltipOptions.dateTimeLabelFormats, startOfWeek = xAxis.options.startOfWeek, ttOptions = series.tooltipOptions, format = ttOptions.xDateFormat, start, end, milestone = point.options.milestone, retVal = '<b>' + (point.name || point.yCategory) + '</b>';
|
|
157
157
|
if (ttOptions.pointFormat) {
|
|
158
158
|
return point.tooltipFormatter(ttOptions.pointFormat);
|
|
159
159
|
}
|
|
160
|
-
if (!format) {
|
|
161
|
-
format =
|
|
160
|
+
if (!format && isNumber(point.start)) {
|
|
161
|
+
format = series.chart.time.getDateFormat(xAxis.closestPointRange, point.start, startOfWeek, formats || {});
|
|
162
162
|
}
|
|
163
163
|
start = series.chart.time.dateFormat(format, point.start);
|
|
164
164
|
end = series.chart.time.dateFormat(format, point.end);
|
|
@@ -25,7 +25,7 @@ import Color from '../../Core/Color/Color.js';
|
|
|
25
25
|
import ColorMapMixin from '../../Mixins/ColorMapSeries.js';
|
|
26
26
|
var colorMapSeriesMixin = ColorMapMixin.colorMapSeriesMixin;
|
|
27
27
|
import HeatmapPoint from './HeatmapPoint.js';
|
|
28
|
-
import
|
|
28
|
+
import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
|
|
29
29
|
import palette from '../../Core/Color/Palette.js';
|
|
30
30
|
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
|
31
31
|
var Series = SeriesRegistry.series, _a = SeriesRegistry.seriesTypes, ColumnSeries = _a.column, ScatterSeries = _a.scatter;
|
|
@@ -184,9 +184,11 @@ var HeatmapSeries = /** @class */ (function (_super) {
|
|
|
184
184
|
HeatmapSeries.prototype.pointAttribs = function (point, state) {
|
|
185
185
|
var series = this, attr = Series.prototype.pointAttribs.call(series, point, state), seriesOptions = series.options || {}, plotOptions = series.chart.options.plotOptions || {}, seriesPlotOptions = plotOptions.series || {}, heatmapPlotOptions = plotOptions.heatmap || {}, stateOptions, brightness,
|
|
186
186
|
// Get old properties in order to keep backward compatibility
|
|
187
|
-
borderColor =
|
|
187
|
+
borderColor = (point && point.options.borderColor) ||
|
|
188
|
+
seriesOptions.borderColor ||
|
|
188
189
|
heatmapPlotOptions.borderColor ||
|
|
189
|
-
seriesPlotOptions.borderColor, borderWidth =
|
|
190
|
+
seriesPlotOptions.borderColor, borderWidth = (point && point.options.borderWidth) ||
|
|
191
|
+
seriesOptions.borderWidth ||
|
|
190
192
|
heatmapPlotOptions.borderWidth ||
|
|
191
193
|
seriesPlotOptions.borderWidth ||
|
|
192
194
|
attr['stroke-width'];
|
|
@@ -364,7 +366,9 @@ var HeatmapSeries = /** @class */ (function (_super) {
|
|
|
364
366
|
nullColor: palette.neutralColor3,
|
|
365
367
|
dataLabels: {
|
|
366
368
|
formatter: function () {
|
|
367
|
-
|
|
369
|
+
var numberFormatter = this.series.chart.numberFormatter;
|
|
370
|
+
var value = this.point.value;
|
|
371
|
+
return isNumber(value) ? numberFormatter(value, -1) : '';
|
|
368
372
|
},
|
|
369
373
|
inside: true,
|
|
370
374
|
verticalAlign: 'middle',
|
|
@@ -551,7 +555,7 @@ extend(HeatmapSeries.prototype, {
|
|
|
551
555
|
/**
|
|
552
556
|
* @private
|
|
553
557
|
*/
|
|
554
|
-
drawLegendSymbol:
|
|
558
|
+
drawLegendSymbol: LegendSymbol.drawRectangle,
|
|
555
559
|
getExtremesFromAll: true,
|
|
556
560
|
getSymbol: Series.prototype.getSymbol,
|
|
557
561
|
parallelArrays: colorMapSeriesMixin.parallelArrays,
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
var __extends = (this && this.__extends) || (function () {
|
|
12
|
+
var extendStatics = function (d, b) {
|
|
13
|
+
extendStatics = Object.setPrototypeOf ||
|
|
14
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
15
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
16
|
+
return extendStatics(d, b);
|
|
17
|
+
};
|
|
18
|
+
return function (d, b) {
|
|
19
|
+
extendStatics(d, b);
|
|
20
|
+
function __() { this.constructor = d; }
|
|
21
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
/* *
|
|
25
|
+
*
|
|
26
|
+
* Imports
|
|
27
|
+
*
|
|
28
|
+
* */
|
|
29
|
+
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
|
30
|
+
var CandlestickSeries = SeriesRegistry.seriesTypes.candlestick;
|
|
31
|
+
/* *
|
|
32
|
+
*
|
|
33
|
+
* Class
|
|
34
|
+
*
|
|
35
|
+
* */
|
|
36
|
+
var HeikinAshiPoint = /** @class */ (function (_super) {
|
|
37
|
+
__extends(HeikinAshiPoint, _super);
|
|
38
|
+
function HeikinAshiPoint() {
|
|
39
|
+
/* *
|
|
40
|
+
*
|
|
41
|
+
* Properties
|
|
42
|
+
*
|
|
43
|
+
* */
|
|
44
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
45
|
+
_this.series = void 0;
|
|
46
|
+
return _this;
|
|
47
|
+
/* *
|
|
48
|
+
*
|
|
49
|
+
* Functions
|
|
50
|
+
*
|
|
51
|
+
* */
|
|
52
|
+
}
|
|
53
|
+
return HeikinAshiPoint;
|
|
54
|
+
}(CandlestickSeries.prototype.pointClass));
|
|
55
|
+
/* *
|
|
56
|
+
*
|
|
57
|
+
* Default Export
|
|
58
|
+
*
|
|
59
|
+
* */
|
|
60
|
+
export default HeikinAshiPoint;
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
var __extends = (this && this.__extends) || (function () {
|
|
12
|
+
var extendStatics = function (d, b) {
|
|
13
|
+
extendStatics = Object.setPrototypeOf ||
|
|
14
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
15
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
16
|
+
return extendStatics(d, b);
|
|
17
|
+
};
|
|
18
|
+
return function (d, b) {
|
|
19
|
+
extendStatics(d, b);
|
|
20
|
+
function __() { this.constructor = d; }
|
|
21
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
import HeikinAshiPoint from './HeikinAshiPoint.js';
|
|
25
|
+
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
|
26
|
+
import U from '../../Core/Utilities.js';
|
|
27
|
+
import Axis from '../../Core/Axis/Axis.js';
|
|
28
|
+
var CandlestickSeries = SeriesRegistry.seriesTypes.candlestick;
|
|
29
|
+
var addEvent = U.addEvent, merge = U.merge;
|
|
30
|
+
/* *
|
|
31
|
+
*
|
|
32
|
+
* Class
|
|
33
|
+
*
|
|
34
|
+
* */
|
|
35
|
+
/**
|
|
36
|
+
* The Heikin Ashi series.
|
|
37
|
+
*
|
|
38
|
+
* @private
|
|
39
|
+
* @class
|
|
40
|
+
* @name Highcharts.seriesTypes.heikinashi
|
|
41
|
+
*
|
|
42
|
+
* @augments Highcharts.Series
|
|
43
|
+
*/
|
|
44
|
+
var HeikinAshiSeries = /** @class */ (function (_super) {
|
|
45
|
+
__extends(HeikinAshiSeries, _super);
|
|
46
|
+
function HeikinAshiSeries() {
|
|
47
|
+
/* *
|
|
48
|
+
*
|
|
49
|
+
* Static Properties
|
|
50
|
+
*
|
|
51
|
+
* */
|
|
52
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
53
|
+
/* *
|
|
54
|
+
*
|
|
55
|
+
* Properties
|
|
56
|
+
*
|
|
57
|
+
* */
|
|
58
|
+
_this.data = void 0;
|
|
59
|
+
_this.heikiashiData = [];
|
|
60
|
+
_this.options = void 0;
|
|
61
|
+
_this.points = void 0;
|
|
62
|
+
_this.yData = void 0;
|
|
63
|
+
_this.processedYData = void 0;
|
|
64
|
+
return _this;
|
|
65
|
+
/* eslint-enable valid-jsdoc */
|
|
66
|
+
}
|
|
67
|
+
/* *
|
|
68
|
+
*
|
|
69
|
+
* Functions
|
|
70
|
+
*
|
|
71
|
+
* */
|
|
72
|
+
/* eslint-disable valid-jsdoc */
|
|
73
|
+
/**
|
|
74
|
+
* Calculate data set for the heikinashi series before creating the points.
|
|
75
|
+
* @private
|
|
76
|
+
*
|
|
77
|
+
* @function Highcharts.seriesTypes.heikinashi#getHeikinashiData
|
|
78
|
+
*
|
|
79
|
+
* @return {void}
|
|
80
|
+
*
|
|
81
|
+
*/
|
|
82
|
+
HeikinAshiSeries.prototype.getHeikinashiData = function () {
|
|
83
|
+
var series = this, processedYData = series.allGroupedData || series.yData, heikiashiData = series.heikiashiData;
|
|
84
|
+
if (!heikiashiData.length && processedYData && processedYData.length) {
|
|
85
|
+
// Cast to `any` in order to avoid checks before calculation.
|
|
86
|
+
// Adding null doesn't change anything.
|
|
87
|
+
var firstPoint = processedYData[0];
|
|
88
|
+
// Modify the first point.
|
|
89
|
+
this.modifyFirstPointValue(firstPoint);
|
|
90
|
+
// Modify other points.
|
|
91
|
+
for (var i = 1; i < processedYData.length; i++) {
|
|
92
|
+
var dataPoint = processedYData[i], previousDataPoint = heikiashiData[i - 1];
|
|
93
|
+
this.modifyDataPoint(dataPoint, previousDataPoint);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
series.heikiashiData = heikiashiData;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* @private
|
|
100
|
+
* @function Highcarts.seriesTypes.heikinashi#init
|
|
101
|
+
* @return {void}
|
|
102
|
+
*/
|
|
103
|
+
HeikinAshiSeries.prototype.init = function () {
|
|
104
|
+
_super.prototype.init.apply(this, arguments);
|
|
105
|
+
this.heikiashiData = [];
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Calculate and modify the first data point value.
|
|
109
|
+
* @private
|
|
110
|
+
*
|
|
111
|
+
* @function Highcharts.seriesTypes.heikinashi#modifyFirstPointValue
|
|
112
|
+
*
|
|
113
|
+
* @param {Array<(number)>} dataPoint
|
|
114
|
+
* Current data point.
|
|
115
|
+
*
|
|
116
|
+
* @return {void}
|
|
117
|
+
*
|
|
118
|
+
*/
|
|
119
|
+
HeikinAshiSeries.prototype.modifyFirstPointValue = function (dataPoint) {
|
|
120
|
+
var open = (dataPoint[0] + dataPoint[1] + dataPoint[2] + dataPoint[3]) / 4, close = (dataPoint[0] + dataPoint[3]) / 2;
|
|
121
|
+
this.heikiashiData.push([open, dataPoint[1], dataPoint[2], close]);
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Calculate and modify the data point's value.
|
|
125
|
+
* @private
|
|
126
|
+
*
|
|
127
|
+
* @function Highcharts.seriesTypes.heikinashi#modifyDataPoint
|
|
128
|
+
*
|
|
129
|
+
* @param {Array<(number)>} dataPoint
|
|
130
|
+
* Current data point.
|
|
131
|
+
*
|
|
132
|
+
* @param {Array<(number)>} previousDataPoint
|
|
133
|
+
* Previous data point.
|
|
134
|
+
*
|
|
135
|
+
* @return {void}
|
|
136
|
+
*
|
|
137
|
+
*/
|
|
138
|
+
HeikinAshiSeries.prototype.modifyDataPoint = function (dataPoint, previousDataPoint) {
|
|
139
|
+
var newOpen = (previousDataPoint[0] + previousDataPoint[3]) / 2, newClose = (dataPoint[0] + dataPoint[1] + dataPoint[2] + dataPoint[3]) / 4, newHigh = Math.max(dataPoint[1], newClose, newOpen), newLow = Math.min(dataPoint[2], newClose, newOpen);
|
|
140
|
+
// Add new points to the array in order to properly calculate extremes.
|
|
141
|
+
this.heikiashiData.push([newOpen, newHigh, newLow, newClose]);
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* An HeikinAshi series is a style of financial chart used to describe price
|
|
145
|
+
* movements over time. It displays open, high, low and close values per
|
|
146
|
+
* data point.
|
|
147
|
+
*
|
|
148
|
+
* @sample stock/demo/heikinashi/
|
|
149
|
+
* Heikin Ashi series
|
|
150
|
+
*
|
|
151
|
+
* @extends plotOptions.candlestick
|
|
152
|
+
* @product highstock
|
|
153
|
+
* @requires modules/heikinashi
|
|
154
|
+
* @optionparent plotOptions.heikinashi
|
|
155
|
+
*/
|
|
156
|
+
HeikinAshiSeries.defaultOptions = merge(CandlestickSeries.defaultOptions, {
|
|
157
|
+
dataGrouping: {
|
|
158
|
+
groupAll: true
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
return HeikinAshiSeries;
|
|
162
|
+
}(CandlestickSeries));
|
|
163
|
+
// Assign haikinashi data into the points.
|
|
164
|
+
addEvent(HeikinAshiSeries, 'afterTranslate', function () {
|
|
165
|
+
var series = this, points = series.points, heikiashiData = series.heikiashiData;
|
|
166
|
+
var cropStart = series.cropStart || 0;
|
|
167
|
+
// Reset the proccesed data.
|
|
168
|
+
series.processedYData.length = 0;
|
|
169
|
+
// Modify points.
|
|
170
|
+
for (var i = 0; i < points.length; i++) {
|
|
171
|
+
var point = points[i], heikiashiDataPoint = heikiashiData[i + cropStart];
|
|
172
|
+
point.open = heikiashiDataPoint[0];
|
|
173
|
+
point.high = heikiashiDataPoint[1];
|
|
174
|
+
point.low = heikiashiDataPoint[2];
|
|
175
|
+
point.close = heikiashiDataPoint[3];
|
|
176
|
+
series.processedYData.push([point.open, point.high, point.low, point.close]);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
// Force to recalculate the heikinashi data set after updating data.
|
|
180
|
+
addEvent(HeikinAshiSeries, 'updatedData', function () {
|
|
181
|
+
if (this.heikiashiData.length) {
|
|
182
|
+
this.heikiashiData.length = 0;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
// After processing and grouping the data,
|
|
186
|
+
// calculate how the heikeinashi data set should look like.
|
|
187
|
+
addEvent(Axis, 'postProcessData', function () {
|
|
188
|
+
var series = this.series;
|
|
189
|
+
series.forEach(function (series) {
|
|
190
|
+
if (series.is('heikinashi')) {
|
|
191
|
+
var heikinashiSeries = series;
|
|
192
|
+
heikinashiSeries.heikiashiData.length = 0;
|
|
193
|
+
heikinashiSeries.getHeikinashiData();
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
/* *
|
|
198
|
+
*
|
|
199
|
+
* Prototype Properties
|
|
200
|
+
*
|
|
201
|
+
* */
|
|
202
|
+
HeikinAshiSeries.prototype.pointClass = HeikinAshiPoint;
|
|
203
|
+
SeriesRegistry.registerSeriesType('heikinashi', HeikinAshiSeries);
|
|
204
|
+
/* *
|
|
205
|
+
*
|
|
206
|
+
* Default Export
|
|
207
|
+
*
|
|
208
|
+
* */
|
|
209
|
+
export default HeikinAshiSeries;
|
|
210
|
+
/* *
|
|
211
|
+
*
|
|
212
|
+
* API Options
|
|
213
|
+
*
|
|
214
|
+
* */
|
|
215
|
+
/**
|
|
216
|
+
* A `heikinashi` series. If the [type](#series.heikinashi.type)
|
|
217
|
+
* option is not specified, it is inherited from [chart.type](
|
|
218
|
+
* #chart.type).
|
|
219
|
+
*
|
|
220
|
+
* @type {*}
|
|
221
|
+
* @extends series,plotOptions.heikinashi
|
|
222
|
+
* @excluding dataParser, dataURL, marker
|
|
223
|
+
* @product highstock
|
|
224
|
+
* @requires modules/heikinashi
|
|
225
|
+
* @apioption series.heikinashi
|
|
226
|
+
*/
|
|
227
|
+
/**
|
|
228
|
+
* An array of data points for the series. For the `heikinashi` series
|
|
229
|
+
* type, points can be given in the following ways:
|
|
230
|
+
*
|
|
231
|
+
* 1. An array of arrays with 5 or 4 values. In this case, the values correspond
|
|
232
|
+
* to `x,open,high,low,close`. If the first value is a string, it is applied
|
|
233
|
+
* as the name of the point, and the `x` value is inferred. The `x` value can
|
|
234
|
+
* also be omitted, in which case the inner arrays should be of length 4.
|
|
235
|
+
* Then the `x` value is automatically calculated, either starting at 0 and
|
|
236
|
+
* incremented by 1, or from `pointStart` and `pointInterval` given in the
|
|
237
|
+
* series options.
|
|
238
|
+
* ```js
|
|
239
|
+
* data: [
|
|
240
|
+
* [0, 7, 2, 0, 4],
|
|
241
|
+
* [1, 1, 4, 2, 8],
|
|
242
|
+
* [2, 3, 3, 9, 3]
|
|
243
|
+
* ]
|
|
244
|
+
* ```
|
|
245
|
+
*
|
|
246
|
+
* 2. An array of objects with named values. The following snippet shows only a
|
|
247
|
+
* few settings, see the complete options set below. If the total number of
|
|
248
|
+
* data points exceeds the series'
|
|
249
|
+
* [turboThreshold](#series.heikinashi.turboThreshold), this option is not
|
|
250
|
+
* available.
|
|
251
|
+
* ```js
|
|
252
|
+
* data: [{
|
|
253
|
+
* x: 1,
|
|
254
|
+
* open: 9,
|
|
255
|
+
* high: 2,
|
|
256
|
+
* low: 4,
|
|
257
|
+
* close: 6,
|
|
258
|
+
* name: "Point2",
|
|
259
|
+
* color: "#00FF00"
|
|
260
|
+
* }, {
|
|
261
|
+
* x: 1,
|
|
262
|
+
* open: 1,
|
|
263
|
+
* high: 4,
|
|
264
|
+
* low: 7,
|
|
265
|
+
* close: 7,
|
|
266
|
+
* name: "Point1",
|
|
267
|
+
* color: "#FF00FF"
|
|
268
|
+
* }]
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* @type {Array<Array<(number|string),number,number,number>|Array<(number|string),number,number,number,number>|*>}
|
|
272
|
+
* @extends series.candlestick.data
|
|
273
|
+
* @excluding y
|
|
274
|
+
* @product highstock
|
|
275
|
+
* @apioption series.heikinashi.data
|
|
276
|
+
*/
|
|
277
|
+
''; // adds doclets above to transpilat
|