highcharts 8.2.0 → 8.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/es-modules/Accessibility/Accessibility.js +3 -2
- package/es-modules/Accessibility/AccessibilityComponent.js +7 -8
- package/es-modules/Accessibility/Components/ContainerComponent.js +6 -7
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +0 -1
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -4
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +4 -4
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +3 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +4 -4
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -6
- package/es-modules/Accessibility/Components/ZoomComponent.js +7 -6
- package/es-modules/Accessibility/KeyboardNavigation.js +7 -3
- package/es-modules/Accessibility/Options/Options.js +1 -2
- package/es-modules/Accessibility/Utils/ChartUtilities.js +4 -4
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +3 -3
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +2 -3
- package/es-modules/Core/Animation/AnimationUtilities.js +193 -0
- package/es-modules/Core/Animation/Fx.js +378 -0
- package/es-modules/Core/Axis/Axis.js +12 -6
- package/es-modules/Core/Axis/BrokenAxis.js +4 -6
- package/es-modules/Core/Axis/ColorAxis.js +11 -10
- package/es-modules/Core/Axis/GridAxis.js +113 -57
- package/es-modules/Core/Axis/OrdinalAxis.js +4 -5
- package/es-modules/Core/Axis/PlotLineOrBand.js +11 -4
- package/es-modules/Core/Axis/StackingAxis.js +3 -1
- package/es-modules/Core/Axis/TreeGridAxis.js +52 -7
- package/es-modules/Core/Chart/Chart.js +13 -8
- package/es-modules/Core/Chart/Chart3D.js +2 -1
- package/es-modules/Core/Chart/GanttChart.js +5 -9
- package/es-modules/Core/Chart/StockChart.js +6 -7
- package/es-modules/Core/Color/Color.js +419 -0
- package/es-modules/Core/Color/ColorType.js +9 -0
- package/es-modules/Core/Dynamics.js +54 -23
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Interaction.js +9 -6
- package/es-modules/Core/Legend.js +3 -1
- package/es-modules/Core/Navigator.js +8 -4
- package/es-modules/Core/Options.js +13 -11
- package/es-modules/Core/Pointer.js +2 -2
- package/es-modules/Core/Renderer/DOMElementType.js +9 -0
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +220 -0
- package/es-modules/Core/Renderer/HTML/{HTML.js → HTMLRenderer.js} +8 -202
- package/es-modules/Core/Renderer/SVG/SVGElement.js +14 -8
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +0 -1
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -3
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
- package/es-modules/Core/Series/BaseSeries.js +157 -0
- package/es-modules/Core/Series/CartesianSeries.js +5553 -0
- package/es-modules/Core/Series/DataLabels.js +11 -9
- package/es-modules/Core/Series/Point.js +5 -3
- package/es-modules/Core/Series/Series.js +138 -5528
- package/es-modules/Core/Series/Series3D.js +1 -1
- package/es-modules/Core/Tooltip.js +2 -1
- package/es-modules/Core/Utilities.js +0 -582
- package/es-modules/Extensions/Annotations/Annotations.js +4 -2
- package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +3 -3
- package/es-modules/Extensions/Annotations/MockPoint.js +3 -3
- package/es-modules/Extensions/Annotations/NavigationBindings.js +5 -4
- package/es-modules/Extensions/Annotations/Popup.js +1 -2
- package/es-modules/Extensions/Annotations/Types/Measure.js +0 -1
- package/es-modules/Extensions/Boost/Boost.js +3 -3
- package/es-modules/Extensions/Boost/BoostAttach.js +5 -4
- package/es-modules/Extensions/Boost/BoostInit.js +1 -1
- package/es-modules/Extensions/Boost/BoostOverrides.js +1 -1
- package/es-modules/Extensions/Boost/BoostUtils.js +1 -1
- package/es-modules/Extensions/Boost/NamedColors.js +1 -1
- package/es-modules/Extensions/Boost/WGLRenderer.js +4 -4
- package/es-modules/Extensions/Boost/WGLShader.js +1 -2
- package/es-modules/Extensions/BoostCanvas.js +9 -6
- package/es-modules/Extensions/CurrentDateIndication.js +3 -7
- package/es-modules/Extensions/Data.js +7 -9
- package/es-modules/Extensions/DataGrouping.js +3 -2
- package/es-modules/Extensions/Debugger.js +3 -2
- package/es-modules/Extensions/DownloadURL.js +5 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +6 -5
- package/es-modules/Extensions/Drilldown.js +24 -10
- package/es-modules/Extensions/ExportData.js +1 -2
- package/es-modules/Extensions/Exporting.js +9 -2
- package/es-modules/Extensions/MarkerClusters.js +8 -5
- package/es-modules/Extensions/NoDataToDisplay.js +13 -13
- package/es-modules/Extensions/OfflineExporting.js +14 -14
- package/es-modules/Extensions/{Oldie.js → Oldie/Oldie.js} +15 -12
- package/es-modules/{Core/Axis → Extensions/Oldie}/VMLAxis3D.js +1 -1
- package/es-modules/Extensions/Oldie/VMLRenderer3D.js +46 -0
- package/es-modules/Extensions/OverlappingDataLabels.js +4 -0
- package/es-modules/Extensions/Pane.js +1 -1
- package/es-modules/Extensions/ParallelCoordinates.js +1 -1
- package/es-modules/Extensions/PatternFill.js +10 -7
- package/es-modules/Extensions/Polar.js +4 -2
- package/es-modules/Extensions/ScrollablePlotArea.js +3 -1
- package/es-modules/Extensions/SeriesLabel.js +4 -3
- package/es-modules/{modules/sonification/chartSonify.js → Extensions/Sonification/ChartSonify.js} +1 -1
- package/es-modules/{modules/sonification → Extensions/Sonification}/Earcon.js +0 -0
- package/es-modules/{modules/sonification → Extensions/Sonification}/Instrument.js +7 -2
- package/es-modules/{modules/sonification/instrumentDefinitions.js → Extensions/Sonification/InstrumentDefinitions.js} +1 -1
- package/es-modules/{modules/sonification/musicalFrequencies.js → Extensions/Sonification/MusicalFrequencies.js} +0 -0
- package/es-modules/{modules/sonification/options.js → Extensions/Sonification/Options.js} +0 -0
- package/es-modules/{modules/sonification/pointSonify.js → Extensions/Sonification/PointSonify.js} +1 -1
- package/es-modules/{modules/sonification/sonification.js → Extensions/Sonification/Sonification.js} +10 -9
- package/es-modules/{modules/sonification → Extensions/Sonification}/Timeline.js +1 -1
- package/es-modules/{modules/sonification/utilities.js → Extensions/Sonification/Utilities.js} +1 -1
- package/es-modules/Extensions/Stacking.js +1 -1
- package/es-modules/Extensions/StaticScale.js +3 -3
- package/es-modules/Extensions/Themes/Avocado.js +3 -4
- package/es-modules/Extensions/Themes/DarkUnica.js +5 -7
- package/es-modules/Extensions/Themes/Gray.js +3 -4
- package/es-modules/Extensions/Themes/HighContrastDark.js +3 -4
- package/es-modules/Extensions/Themes/Sunset.js +3 -4
- package/es-modules/Gantt/Pathfinder.js +6 -0
- package/es-modules/Maps/Map.js +9 -5
- package/es-modules/Maps/MapNavigation.js +0 -1
- package/es-modules/{mixins → Mixins}/CenteredSeries.js +0 -0
- package/es-modules/{mixins → Mixins}/ColorMapSeries.js +7 -3
- package/es-modules/{mixins → Mixins}/ColorSeries.js +7 -3
- package/es-modules/{mixins → Mixins}/DerivedSeries.js +1 -1
- package/es-modules/{mixins → Mixins}/DrawPoint.js +0 -0
- package/es-modules/{mixins → Mixins}/Geometry.js +0 -0
- package/es-modules/{mixins → Mixins}/GeometryCircles.js +0 -0
- package/es-modules/{mixins → Mixins}/IndicatorRequired.js +0 -0
- package/es-modules/{mixins → Mixins}/LegendSymbol.js +0 -0
- package/es-modules/{mixins → Mixins}/MultipleLines.js +0 -0
- package/es-modules/{mixins → Mixins}/Navigation.js +0 -0
- package/es-modules/{mixins → Mixins}/NelderMead.js +0 -0
- package/es-modules/{mixins → Mixins}/Nodes.js +1 -1
- package/es-modules/{mixins → Mixins}/OnSeries.js +1 -1
- package/es-modules/{mixins → Mixins}/Polygon.js +0 -0
- package/es-modules/{mixins → Mixins}/ReduceArray.js +0 -0
- package/es-modules/{mixins → Mixins}/TreeSeries.js +1 -1
- package/es-modules/Series/AreaRangeSeries.js +57 -21
- package/es-modules/Series/AreaSeries.js +38 -6
- package/es-modules/Series/AreaSplineRangeSeries.js +44 -7
- package/es-modules/Series/AreaSplineSeries.js +43 -6
- package/es-modules/Series/BarSeries.js +2 -5
- package/es-modules/Series/BellcurveSeries.js +45 -5
- package/es-modules/Series/BoxPlotSeries.js +7 -6
- package/es-modules/Series/Bubble/BubbleLegend.js +3 -3
- package/es-modules/Series/Bubble/BubbleSeries.js +13 -11
- package/es-modules/Series/BulletSeries.js +5 -5
- package/es-modules/Series/CandlestickSeries.js +7 -6
- package/es-modules/Series/Column3DSeries.js +77 -23
- package/es-modules/Series/ColumnPyramidSeries.js +5 -6
- package/es-modules/Series/ColumnRangeSeries.js +17 -16
- package/es-modules/Series/ColumnSeries.js +18 -14
- package/es-modules/Series/CylinderSeries.js +8 -11
- package/es-modules/Series/DependencyWheelSeries.js +11 -9
- package/es-modules/Series/DotplotSeries.js +3 -11
- package/es-modules/Series/DumbbellSeries.js +11 -7
- package/es-modules/Series/ErrorBarSeries.js +3 -5
- package/es-modules/Series/FlagsSeries.js +13 -9
- package/es-modules/Series/Funnel3DSeries.js +8 -12
- package/es-modules/Series/FunnelSeries.js +6 -6
- package/es-modules/Series/GanttSeries.js +11 -12
- package/es-modules/Series/GaugeSeries.js +6 -5
- package/es-modules/Series/HeatmapSeries.js +9 -7
- package/es-modules/Series/HistogramSeries.js +6 -5
- package/es-modules/Series/ItemSeries.js +5 -5
- package/es-modules/Series/LineSeries.js +13 -0
- package/es-modules/Series/LollipopSeries.js +11 -7
- package/es-modules/Series/MapBubbleSeries.js +4 -5
- package/es-modules/Series/MapLineSeries.js +4 -6
- package/es-modules/Series/MapPointSeries.js +6 -5
- package/es-modules/Series/MapSeries.js +15 -12
- package/es-modules/Series/Networkgraph/DraggableNodes.js +8 -6
- package/es-modules/Series/Networkgraph/Layouts.js +3 -1
- package/es-modules/Series/Networkgraph/Networkgraph.js +8 -7
- package/es-modules/Series/OHLCSeries.js +4 -6
- package/es-modules/Series/OrganizationSeries.js +7 -4
- package/es-modules/Series/PackedBubbleSeries.js +10 -10
- package/es-modules/Series/ParetoSeries.js +6 -5
- package/es-modules/Series/Pie3DSeries.js +3 -2
- package/es-modules/Series/PieSeries.js +36 -10
- package/es-modules/Series/PolygonSeries.js +6 -6
- package/es-modules/Series/Pyramid3DSeries.js +3 -5
- package/es-modules/Series/SankeySeries.js +13 -12
- package/es-modules/Series/Scatter3DSeries.js +4 -6
- package/es-modules/Series/ScatterSeries.js +10 -5
- package/es-modules/Series/SolidGaugeSeries.js +7 -7
- package/es-modules/Series/SplineSeries.js +5 -3
- package/es-modules/Series/StreamgraphSeries.js +41 -5
- package/es-modules/Series/SunburstSeries.js +15 -11
- package/es-modules/Series/TilemapSeries.js +8 -6
- package/es-modules/Series/TimelineSeries.js +6 -5
- package/es-modules/Series/TreemapSeries.js +36 -50
- package/es-modules/Series/VariablePieSeries.js +9 -7
- package/es-modules/Series/VariwideSeries.js +7 -6
- package/es-modules/Series/VectorSeries.js +5 -3
- package/es-modules/Series/VennSeries.js +20 -17
- package/es-modules/Series/WaterfallSeries.js +6 -4
- package/es-modules/Series/WindbarbSeries.js +9 -6
- package/es-modules/Series/WordcloudSeries.js +11 -9
- package/es-modules/Series/XRangeSeries.js +8 -7
- package/es-modules/Stock/Indicators/ABIndicator.js +7 -7
- package/es-modules/Stock/Indicators/ADIndicator.js +4 -3
- package/es-modules/Stock/Indicators/AOIndicator.js +5 -4
- package/es-modules/Stock/Indicators/APOIndicator.js +7 -7
- package/es-modules/Stock/Indicators/ATRIndicator.js +5 -5
- package/es-modules/Stock/Indicators/AroonIndicator.js +6 -5
- package/es-modules/Stock/Indicators/AroonOscillatorIndicator.js +5 -5
- package/es-modules/Stock/Indicators/BBIndicator.js +7 -7
- package/es-modules/Stock/Indicators/CCIIndicator.js +4 -3
- package/es-modules/Stock/Indicators/CMFIndicator.js +3 -4
- package/es-modules/Stock/Indicators/ChaikinIndicator.js +9 -8
- package/es-modules/Stock/Indicators/DEMAIndicator.js +7 -7
- package/es-modules/Stock/Indicators/DPOIndicator.js +4 -3
- package/es-modules/Stock/Indicators/EMAIndicator.js +3 -3
- package/es-modules/Stock/Indicators/IKHIndicator.js +22 -19
- package/es-modules/Stock/Indicators/KeltnerChannelsIndicator.js +10 -7
- package/es-modules/Stock/Indicators/MACDIndicator.js +7 -4
- package/es-modules/Stock/Indicators/MFIIndicator.js +4 -3
- package/es-modules/Stock/Indicators/MomentumIndicator.js +4 -3
- package/es-modules/Stock/Indicators/NATRIndicator.js +4 -6
- package/es-modules/Stock/Indicators/PCIndicator.js +8 -7
- package/es-modules/Stock/Indicators/PPOIndicator.js +7 -7
- package/es-modules/Stock/Indicators/PSARIndicator.js +3 -4
- package/es-modules/Stock/Indicators/PivotPointsIndicator.js +5 -5
- package/es-modules/Stock/Indicators/PriceEnvelopesIndicator.js +5 -5
- package/es-modules/Stock/Indicators/ROCIndicator.js +4 -3
- package/es-modules/Stock/Indicators/RSIIndicator.js +4 -3
- package/es-modules/Stock/Indicators/RegressionIndicators.js +7 -6
- package/es-modules/Stock/Indicators/{Indicators.js → SMAIndicator.js} +9 -6
- package/es-modules/Stock/Indicators/SlowStochasticIndicator.js +6 -8
- package/es-modules/Stock/Indicators/StochasticIndicator.js +8 -8
- package/es-modules/Stock/Indicators/SupertrendIndicator.js +7 -6
- package/es-modules/Stock/Indicators/TEMAIndicator.js +7 -7
- package/es-modules/Stock/Indicators/TRIXIndicator.js +7 -7
- package/es-modules/Stock/Indicators/TrendLineIndicator.js +4 -3
- package/es-modules/Stock/Indicators/VBPIndicator.js +7 -4
- package/es-modules/Stock/Indicators/VWAPIndicator.js +4 -3
- package/es-modules/Stock/Indicators/WMAIndicator.js +4 -3
- package/es-modules/Stock/Indicators/WilliamsRIndicator.js +6 -5
- package/es-modules/Stock/Indicators/ZigzagIndicator.js +5 -7
- package/es-modules/Stock/StockToolsBindings.js +16 -2
- package/es-modules/Stock/StockToolsGui.js +9 -9
- package/es-modules/masters/highcharts-3d.src.js +1 -2
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +3 -2
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/dema.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 +2 -2
- package/es-modules/masters/indicators/indicators.src.js +2 -2
- package/es-modules/masters/indicators/keltner-channels.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/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 +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +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 +1 -1
- 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 +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- 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 +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +2 -2
- 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 +2 -2
- 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 +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +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 +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +86 -89
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +88 -149
- package/highcharts-gantt.js +729 -717
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +5570 -5094
- package/highcharts-more.js +164 -163
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +182 -118
- package/highcharts.d.ts +89 -159
- package/highcharts.js +537 -530
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +89 -159
- package/highcharts.src.js +5341 -4976
- package/highmaps.js +635 -627
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +5907 -5530
- package/highstock.js +696 -689
- package/highstock.js.map +1 -1
- package/highstock.src.js +5384 -5026
- package/indicators/acceleration-bands.js +8 -8
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +7 -7
- package/indicators/accumulation-distribution.js +4 -4
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +5 -5
- package/indicators/ao.js +5 -5
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +6 -6
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +7 -7
- package/indicators/aroon-oscillator.js +8 -8
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +6 -6
- package/indicators/aroon.js +7 -7
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +6 -6
- package/indicators/atr.js +4 -4
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +6 -14
- package/indicators/bollinger-bands.js +8 -8
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +7 -7
- package/indicators/cci.js +4 -4
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +5 -5
- package/indicators/chaikin.js +6 -6
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +75 -74
- package/indicators/cmf.js +2 -2
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +4 -4
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +7 -7
- package/indicators/dpo.js +4 -4
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +5 -5
- package/indicators/ema.js +4 -4
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +4 -5
- package/indicators/ichimoku-kinko-hyo.js +13 -13
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +21 -20
- package/indicators/indicators-all.js +118 -118
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +227 -230
- package/indicators/indicators.js +9 -9
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +7 -7
- package/indicators/keltner-channels.js +8 -8
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +12 -9
- package/indicators/macd.js +10 -10
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +8 -7
- package/indicators/mfi.js +4 -4
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +5 -5
- package/indicators/momentum.js +4 -4
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +5 -5
- package/indicators/natr.js +3 -3
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +5 -5
- package/indicators/pivot-points.js +8 -8
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +6 -6
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +7 -7
- package/indicators/price-channel.js +8 -8
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +65 -65
- package/indicators/price-envelopes.js +7 -7
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +6 -6
- package/indicators/psar.js +2 -2
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +4 -4
- package/indicators/regressions.js +6 -6
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +8 -8
- package/indicators/roc.js +3 -3
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +5 -5
- package/indicators/rsi.js +4 -4
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +5 -5
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +6 -6
- package/indicators/stochastic.js +9 -9
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +66 -66
- package/indicators/supertrend.js +9 -9
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +9 -7
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +7 -7
- package/indicators/trendline.js +3 -3
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +5 -5
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +7 -7
- package/indicators/volume-by-price.js +13 -13
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +7 -8
- package/indicators/vwap.js +4 -4
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +5 -5
- package/indicators/williams-r.js +4 -4
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +6 -6
- package/indicators/wma.js +4 -4
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +5 -5
- package/indicators/zigzag.js +4 -4
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +6 -7
- package/modules/accessibility.js +148 -147
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +104 -96
- package/modules/annotations-advanced.js +158 -158
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +15 -14
- package/modules/annotations.js +105 -105
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +15 -14
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +15 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +16 -16
- package/modules/boost.d.ts +4 -0
- package/modules/boost.js +77 -64
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.d.ts +4 -0
- package/modules/boost.src.js +561 -14
- package/modules/broken-axis.js +12 -12
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +4 -5
- package/modules/bullet.js +6 -6
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +5 -6
- package/modules/coloraxis.js +22 -21
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +46 -41
- package/modules/current-date-indicator.js +4 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +4 -6
- package/modules/cylinder.js +8 -8
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +18 -21
- package/modules/data.js +32 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +7 -11
- package/modules/datagrouping.js +17 -17
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +3 -4
- package/modules/debugger.js +4 -4
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +4 -4
- package/modules/dependency-wheel.js +8 -8
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +9 -9
- package/modules/dotplot.js +5 -5
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +4 -12
- package/modules/drag-panes.js +7 -7
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +2 -2
- package/modules/draggable-points.js +33 -33
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +6 -6
- package/modules/drilldown.js +23 -22
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +21 -11
- package/modules/dumbbell.js +24 -20
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +396 -136
- package/modules/export-data.js +21 -21
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +8 -7
- package/modules/exporting.js +32 -32
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +10 -3
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +9 -9
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +6 -8
- package/modules/funnel3d.js +17 -17
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +9 -12
- package/modules/gantt.js +194 -189
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +232 -121
- package/modules/grid-axis.js +22 -19
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +130 -64
- package/modules/heatmap.js +33 -33
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +93 -84
- package/modules/histogram-bellcurve.js +10 -10
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +49 -11
- package/modules/item-series.js +9 -9
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +5 -6
- package/modules/lollipop.d.ts +20 -1
- package/modules/lollipop.js +26 -4
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.d.ts +20 -1
- package/modules/lollipop.src.js +1431 -9
- package/modules/map.d.ts +1 -1
- package/modules/map.js +99 -99
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +1 -1
- package/modules/map.src.js +1421 -1409
- package/modules/marker-clusters.js +35 -35
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +5 -5
- package/modules/networkgraph.js +47 -46
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.js +18 -17
- package/modules/no-data-to-display.js +4 -4
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +15 -12
- package/modules/offline-exporting.js +15 -15
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +20 -18
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +52 -26
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +1401 -22
- package/modules/organization.js +11 -11
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +6 -5
- 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 +5 -5
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +5 -6
- package/modules/pathfinder.js +20 -20
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +7 -1
- package/modules/pattern-fill.js +13 -13
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +10 -10
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +3 -3
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +3 -4
- package/modules/sankey.js +25 -25
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +15 -15
- package/modules/series-label.js +17 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +3 -3
- package/modules/solid-gauge.js +8 -8
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +4 -5
- package/modules/sonification.js +46 -46
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +21 -16
- package/modules/static-scale.js +4 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +3 -4
- package/modules/stock-tools.js +142 -141
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +40 -21
- package/modules/stock.js +161 -161
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +41 -48
- package/modules/streamgraph.js +2 -2
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +41 -4
- package/modules/sunburst.js +51 -50
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +134 -65
- package/modules/tilemap.js +14 -14
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +9 -9
- package/modules/timeline.js +14 -14
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +7 -8
- package/modules/treegrid.js +57 -52
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +191 -77
- package/modules/treemap.js +35 -34
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +205 -138
- package/modules/variable-pie.js +8 -8
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +10 -9
- package/modules/variwide.js +8 -8
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +6 -7
- package/modules/vector.js +6 -6
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +6 -7
- package/modules/venn.js +26 -26
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +23 -23
- package/modules/windbarb.js +11 -11
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +8 -9
- package/modules/wordcloud.js +19 -19
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +14 -14
- package/modules/xrange.js +12 -12
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +8 -9
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +4 -4
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +6 -7
- package/themes/gray.js +1 -1
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +4 -4
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +4 -4
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +4 -4
- package/es-modules/Core/Renderer/VML/VMLRenderer3D.js +0 -37
package/modules/boost.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v8.2.
|
|
2
|
+
* @license Highcharts JS v8.2.2 (2020-10-22)
|
|
3
3
|
*
|
|
4
4
|
* Boost module
|
|
5
5
|
*
|
|
@@ -322,12 +322,11 @@
|
|
|
322
322
|
// '}',
|
|
323
323
|
'void main(void) {',
|
|
324
324
|
'vec4 col = fillColor;',
|
|
325
|
-
'vec4 tcol;',
|
|
325
|
+
'vec4 tcol = texture2D(uSampler, gl_PointCoord.st);',
|
|
326
326
|
'if (hasColor) {',
|
|
327
327
|
'col = vColor;',
|
|
328
328
|
'}',
|
|
329
329
|
'if (isCircle) {',
|
|
330
|
-
'tcol = texture2D(uSampler, gl_PointCoord.st);',
|
|
331
330
|
'col *= tcol;',
|
|
332
331
|
'if (tcol.r < 0.0) {',
|
|
333
332
|
'discard;',
|
|
@@ -774,7 +773,7 @@
|
|
|
774
773
|
|
|
775
774
|
return GLVertexBuffer;
|
|
776
775
|
});
|
|
777
|
-
_registerModule(_modules, 'Extensions/Boost/WGLRenderer.js', [_modules['Core/
|
|
776
|
+
_registerModule(_modules, 'Extensions/Boost/WGLRenderer.js', [_modules['Core/Color/Color.js'], _modules['Extensions/Boost/WGLShader.js'], _modules['Extensions/Boost/WGLVBuffer.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Color, GLShader, GLVertexBuffer, H, U) {
|
|
778
777
|
/* *
|
|
779
778
|
*
|
|
780
779
|
* Copyright (c) 2019-2020 Highsoft AS
|
|
@@ -787,13 +786,12 @@
|
|
|
787
786
|
*
|
|
788
787
|
* */
|
|
789
788
|
var color = Color.parse;
|
|
789
|
+
var doc = H.doc;
|
|
790
790
|
var isNumber = U.isNumber,
|
|
791
791
|
isObject = U.isObject,
|
|
792
792
|
merge = U.merge,
|
|
793
793
|
objectEach = U.objectEach,
|
|
794
794
|
pick = U.pick;
|
|
795
|
-
var win = H.win,
|
|
796
|
-
doc = win.document;
|
|
797
795
|
/* eslint-disable valid-jsdoc */
|
|
798
796
|
/**
|
|
799
797
|
* Main renderer. Used to render series.
|
|
@@ -1949,7 +1947,7 @@
|
|
|
1949
1947
|
|
|
1950
1948
|
return GLRenderer;
|
|
1951
1949
|
});
|
|
1952
|
-
_registerModule(_modules, 'Extensions/Boost/BoostAttach.js', [_modules['Extensions/Boost/WGLRenderer.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (GLRenderer, H, U) {
|
|
1950
|
+
_registerModule(_modules, 'Extensions/Boost/BoostAttach.js', [_modules['Core/Chart/Chart.js'], _modules['Extensions/Boost/WGLRenderer.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Chart, GLRenderer, H, U) {
|
|
1953
1951
|
/* *
|
|
1954
1952
|
*
|
|
1955
1953
|
* Copyright (c) 2019-2020 Highsoft AS
|
|
@@ -2049,14 +2047,14 @@
|
|
|
2049
2047
|
mixedBlendMode: 'normal',
|
|
2050
2048
|
opacity: alpha
|
|
2051
2049
|
});
|
|
2052
|
-
if (target instanceof
|
|
2050
|
+
if (target instanceof Chart) {
|
|
2053
2051
|
target.markerGroup.translate(chart.plotLeft, chart.plotTop);
|
|
2054
2052
|
}
|
|
2055
2053
|
};
|
|
2056
2054
|
target.boostClipRect = chart.renderer.clipRect();
|
|
2057
2055
|
(target.renderTargetFo || target.renderTarget)
|
|
2058
2056
|
.clip(target.boostClipRect);
|
|
2059
|
-
if (target instanceof
|
|
2057
|
+
if (target instanceof Chart) {
|
|
2060
2058
|
target.markerGroup = target.renderer.g().add(targetGroup);
|
|
2061
2059
|
target.markerGroup.translate(series.xAxis.pos, series.yAxis.pos);
|
|
2062
2060
|
}
|
|
@@ -2084,7 +2082,7 @@
|
|
|
2084
2082
|
}
|
|
2085
2083
|
// target.ogl.clear();
|
|
2086
2084
|
target.ogl.setOptions(chart.options.boost || {});
|
|
2087
|
-
if (target instanceof
|
|
2085
|
+
if (target instanceof Chart) {
|
|
2088
2086
|
target.ogl.allocateBuffer(chart);
|
|
2089
2087
|
}
|
|
2090
2088
|
}
|
|
@@ -2667,6 +2665,555 @@
|
|
|
2667
2665
|
|
|
2668
2666
|
return init;
|
|
2669
2667
|
});
|
|
2668
|
+
_registerModule(_modules, 'Extensions/BoostCanvas.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Series/LineSeries.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (Chart, Color, H, LineSeries, Series, U) {
|
|
2669
|
+
/* *
|
|
2670
|
+
*
|
|
2671
|
+
* License: www.highcharts.com/license
|
|
2672
|
+
* Author: Torstein Honsi, Christer Vasseng
|
|
2673
|
+
*
|
|
2674
|
+
* This module serves as a fallback for the Boost module in IE9 and IE10. Newer
|
|
2675
|
+
* browsers support WebGL which is faster.
|
|
2676
|
+
*
|
|
2677
|
+
* It is recommended to include this module in conditional comments targeting
|
|
2678
|
+
* IE9 and IE10.
|
|
2679
|
+
*
|
|
2680
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
2681
|
+
*
|
|
2682
|
+
* */
|
|
2683
|
+
var color = Color.parse;
|
|
2684
|
+
var doc = H.doc,
|
|
2685
|
+
noop = H.noop;
|
|
2686
|
+
var addEvent = U.addEvent,
|
|
2687
|
+
extend = U.extend,
|
|
2688
|
+
fireEvent = U.fireEvent,
|
|
2689
|
+
isNumber = U.isNumber,
|
|
2690
|
+
merge = U.merge,
|
|
2691
|
+
pick = U.pick,
|
|
2692
|
+
wrap = U.wrap;
|
|
2693
|
+
var seriesTypes = Series.seriesTypes,
|
|
2694
|
+
CHUNK_SIZE = 50000,
|
|
2695
|
+
destroyLoadingDiv;
|
|
2696
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
2697
|
+
/**
|
|
2698
|
+
* Initialize the canvas boost.
|
|
2699
|
+
*
|
|
2700
|
+
* @function Highcharts.initCanvasBoost
|
|
2701
|
+
*/
|
|
2702
|
+
var initCanvasBoost = function () {
|
|
2703
|
+
if (H.seriesTypes.heatmap) {
|
|
2704
|
+
wrap(H.seriesTypes.heatmap.prototype, 'drawPoints',
|
|
2705
|
+
function () {
|
|
2706
|
+
var chart = this.chart,
|
|
2707
|
+
ctx = this.getContext(),
|
|
2708
|
+
inverted = this.chart.inverted,
|
|
2709
|
+
xAxis = this.xAxis,
|
|
2710
|
+
yAxis = this.yAxis;
|
|
2711
|
+
if (ctx) {
|
|
2712
|
+
// draw the columns
|
|
2713
|
+
this.points.forEach(function (point) {
|
|
2714
|
+
var plotY = point.plotY,
|
|
2715
|
+
shapeArgs,
|
|
2716
|
+
pointAttr;
|
|
2717
|
+
if (typeof plotY !== 'undefined' &&
|
|
2718
|
+
!isNaN(plotY) &&
|
|
2719
|
+
point.y !== null) {
|
|
2720
|
+
shapeArgs = point.shapeArgs;
|
|
2721
|
+
if (!chart.styledMode) {
|
|
2722
|
+
pointAttr = point.series.pointAttribs(point);
|
|
2723
|
+
}
|
|
2724
|
+
else {
|
|
2725
|
+
pointAttr = point.series.colorAttribs(point);
|
|
2726
|
+
}
|
|
2727
|
+
ctx.fillStyle = pointAttr.fill;
|
|
2728
|
+
if (inverted) {
|
|
2729
|
+
ctx.fillRect(yAxis.len - shapeArgs.y + xAxis.left, xAxis.len - shapeArgs.x + yAxis.top, -shapeArgs.height, -shapeArgs.width);
|
|
2730
|
+
}
|
|
2731
|
+
else {
|
|
2732
|
+
ctx.fillRect(shapeArgs.x + xAxis.left, shapeArgs.y + yAxis.top, shapeArgs.width, shapeArgs.height);
|
|
2733
|
+
}
|
|
2734
|
+
}
|
|
2735
|
+
});
|
|
2736
|
+
this.canvasToSVG();
|
|
2737
|
+
}
|
|
2738
|
+
else {
|
|
2739
|
+
this.chart.showLoading('Your browser doesn\'t support HTML5 canvas, <br>' +
|
|
2740
|
+
'please use a modern browser');
|
|
2741
|
+
// Uncomment this to provide low-level (slow) support in oldIE.
|
|
2742
|
+
// It will cause script errors on charts with more than a few
|
|
2743
|
+
// thousand points.
|
|
2744
|
+
// arguments[0].call(this);
|
|
2745
|
+
}
|
|
2746
|
+
});
|
|
2747
|
+
}
|
|
2748
|
+
extend(LineSeries.prototype, {
|
|
2749
|
+
/**
|
|
2750
|
+
* Create a hidden canvas to draw the graph on. The contents is later
|
|
2751
|
+
* copied over to an SVG image element.
|
|
2752
|
+
*
|
|
2753
|
+
* @private
|
|
2754
|
+
* @function Highcharts.Series#getContext
|
|
2755
|
+
*/
|
|
2756
|
+
getContext: function () {
|
|
2757
|
+
var chart = this.chart,
|
|
2758
|
+
width = chart.chartWidth,
|
|
2759
|
+
height = chart.chartHeight,
|
|
2760
|
+
targetGroup = chart.seriesGroup || this.group,
|
|
2761
|
+
target = this,
|
|
2762
|
+
ctx,
|
|
2763
|
+
swapXY = function (proceed,
|
|
2764
|
+
x,
|
|
2765
|
+
y,
|
|
2766
|
+
a,
|
|
2767
|
+
b,
|
|
2768
|
+
c,
|
|
2769
|
+
d) {
|
|
2770
|
+
proceed.call(this,
|
|
2771
|
+
y,
|
|
2772
|
+
x,
|
|
2773
|
+
a,
|
|
2774
|
+
b,
|
|
2775
|
+
c,
|
|
2776
|
+
d);
|
|
2777
|
+
};
|
|
2778
|
+
if (chart.isChartSeriesBoosting()) {
|
|
2779
|
+
target = chart;
|
|
2780
|
+
targetGroup = chart.seriesGroup;
|
|
2781
|
+
}
|
|
2782
|
+
ctx = target.ctx;
|
|
2783
|
+
if (!target.canvas) {
|
|
2784
|
+
target.canvas = doc.createElement('canvas');
|
|
2785
|
+
target.renderTarget = chart.renderer
|
|
2786
|
+
.image('', 0, 0, width, height)
|
|
2787
|
+
.addClass('highcharts-boost-canvas')
|
|
2788
|
+
.add(targetGroup);
|
|
2789
|
+
target.ctx = ctx = target.canvas.getContext('2d');
|
|
2790
|
+
if (chart.inverted) {
|
|
2791
|
+
['moveTo', 'lineTo', 'rect', 'arc'].forEach(function (fn) {
|
|
2792
|
+
wrap(ctx, fn, swapXY);
|
|
2793
|
+
});
|
|
2794
|
+
}
|
|
2795
|
+
target.boostCopy = function () {
|
|
2796
|
+
target.renderTarget.attr({
|
|
2797
|
+
href: target.canvas.toDataURL('image/png')
|
|
2798
|
+
});
|
|
2799
|
+
};
|
|
2800
|
+
target.boostClear = function () {
|
|
2801
|
+
ctx.clearRect(0, 0, target.canvas.width, target.canvas.height);
|
|
2802
|
+
if (target === this) {
|
|
2803
|
+
target.renderTarget.attr({ href: '' });
|
|
2804
|
+
}
|
|
2805
|
+
};
|
|
2806
|
+
target.boostClipRect = chart.renderer.clipRect();
|
|
2807
|
+
target.renderTarget.clip(target.boostClipRect);
|
|
2808
|
+
}
|
|
2809
|
+
else if (!(target instanceof H.Chart)) {
|
|
2810
|
+
// ctx.clearRect(0, 0, width, height);
|
|
2811
|
+
}
|
|
2812
|
+
if (target.canvas.width !== width) {
|
|
2813
|
+
target.canvas.width = width;
|
|
2814
|
+
}
|
|
2815
|
+
if (target.canvas.height !== height) {
|
|
2816
|
+
target.canvas.height = height;
|
|
2817
|
+
}
|
|
2818
|
+
target.renderTarget.attr({
|
|
2819
|
+
x: 0,
|
|
2820
|
+
y: 0,
|
|
2821
|
+
width: width,
|
|
2822
|
+
height: height,
|
|
2823
|
+
style: 'pointer-events: none',
|
|
2824
|
+
href: ''
|
|
2825
|
+
});
|
|
2826
|
+
target.boostClipRect.attr(chart.getBoostClipRect(target));
|
|
2827
|
+
return ctx;
|
|
2828
|
+
},
|
|
2829
|
+
/**
|
|
2830
|
+
* Draw the canvas image inside an SVG image
|
|
2831
|
+
*
|
|
2832
|
+
* @private
|
|
2833
|
+
* @function Highcharts.Series#canvasToSVG
|
|
2834
|
+
*/
|
|
2835
|
+
canvasToSVG: function () {
|
|
2836
|
+
if (!this.chart.isChartSeriesBoosting()) {
|
|
2837
|
+
if (this.boostCopy || this.chart.boostCopy) {
|
|
2838
|
+
(this.boostCopy || this.chart.boostCopy)();
|
|
2839
|
+
}
|
|
2840
|
+
}
|
|
2841
|
+
else {
|
|
2842
|
+
if (this.boostClear) {
|
|
2843
|
+
this.boostClear();
|
|
2844
|
+
}
|
|
2845
|
+
}
|
|
2846
|
+
},
|
|
2847
|
+
cvsLineTo: function (ctx, clientX, plotY) {
|
|
2848
|
+
ctx.lineTo(clientX, plotY);
|
|
2849
|
+
},
|
|
2850
|
+
renderCanvas: function () {
|
|
2851
|
+
var series = this, options = series.options, chart = series.chart, xAxis = this.xAxis, yAxis = this.yAxis, activeBoostSettings = chart.options.boost || {}, boostSettings = {
|
|
2852
|
+
timeRendering: activeBoostSettings.timeRendering || false,
|
|
2853
|
+
timeSeriesProcessing: activeBoostSettings.timeSeriesProcessing || false,
|
|
2854
|
+
timeSetup: activeBoostSettings.timeSetup || false
|
|
2855
|
+
}, ctx, c = 0, xData = series.processedXData, yData = series.processedYData, rawData = options.data, xExtremes = xAxis.getExtremes(), xMin = xExtremes.min, xMax = xExtremes.max, yExtremes = yAxis.getExtremes(), yMin = yExtremes.min, yMax = yExtremes.max, pointTaken = {}, lastClientX, sampling = !!series.sampling, points, r = options.marker && options.marker.radius, cvsDrawPoint = this.cvsDrawPoint, cvsLineTo = options.lineWidth ? this.cvsLineTo : void 0, cvsMarker = (r && r <= 1 ?
|
|
2856
|
+
this.cvsMarkerSquare :
|
|
2857
|
+
this.cvsMarkerCircle), strokeBatch = this.cvsStrokeBatch || 1000, enableMouseTracking = options.enableMouseTracking !== false, lastPoint, threshold = options.threshold, yBottom = yAxis.getThreshold(threshold), hasThreshold = isNumber(threshold), translatedThreshold = yBottom, doFill = this.fill, isRange = (series.pointArrayMap &&
|
|
2858
|
+
series.pointArrayMap.join(',') === 'low,high'), isStacked = !!options.stacking, cropStart = series.cropStart || 0, loadingOptions = chart.options.loading, requireSorting = series.requireSorting, wasNull, connectNulls = options.connectNulls, useRaw = !xData, minVal, maxVal, minI, maxI, index, sdata = (isStacked ?
|
|
2859
|
+
series.data :
|
|
2860
|
+
(xData || rawData)), fillColor = (series.fillOpacity ?
|
|
2861
|
+
new Color(series.color).setOpacity(pick(options.fillOpacity, 0.75)).get() :
|
|
2862
|
+
series.color),
|
|
2863
|
+
//
|
|
2864
|
+
stroke = function () {
|
|
2865
|
+
if (doFill) {
|
|
2866
|
+
ctx.fillStyle = fillColor;
|
|
2867
|
+
ctx.fill();
|
|
2868
|
+
}
|
|
2869
|
+
else {
|
|
2870
|
+
ctx.strokeStyle = series.color;
|
|
2871
|
+
ctx.lineWidth = options.lineWidth;
|
|
2872
|
+
ctx.stroke();
|
|
2873
|
+
}
|
|
2874
|
+
},
|
|
2875
|
+
//
|
|
2876
|
+
drawPoint = function (clientX, plotY, yBottom, i) {
|
|
2877
|
+
if (c === 0) {
|
|
2878
|
+
ctx.beginPath();
|
|
2879
|
+
if (cvsLineTo) {
|
|
2880
|
+
ctx.lineJoin = 'round';
|
|
2881
|
+
}
|
|
2882
|
+
}
|
|
2883
|
+
if (chart.scroller &&
|
|
2884
|
+
series.options.className ===
|
|
2885
|
+
'highcharts-navigator-series') {
|
|
2886
|
+
plotY += chart.scroller.top;
|
|
2887
|
+
if (yBottom) {
|
|
2888
|
+
yBottom += chart.scroller.top;
|
|
2889
|
+
}
|
|
2890
|
+
}
|
|
2891
|
+
else {
|
|
2892
|
+
plotY += chart.plotTop;
|
|
2893
|
+
}
|
|
2894
|
+
clientX += chart.plotLeft;
|
|
2895
|
+
if (wasNull) {
|
|
2896
|
+
ctx.moveTo(clientX, plotY);
|
|
2897
|
+
}
|
|
2898
|
+
else {
|
|
2899
|
+
if (cvsDrawPoint) {
|
|
2900
|
+
cvsDrawPoint(ctx, clientX, plotY, yBottom, lastPoint);
|
|
2901
|
+
}
|
|
2902
|
+
else if (cvsLineTo) {
|
|
2903
|
+
cvsLineTo(ctx, clientX, plotY);
|
|
2904
|
+
}
|
|
2905
|
+
else if (cvsMarker) {
|
|
2906
|
+
cvsMarker.call(series, ctx, clientX, plotY, r, i);
|
|
2907
|
+
}
|
|
2908
|
+
}
|
|
2909
|
+
// We need to stroke the line for every 1000 pixels. It will
|
|
2910
|
+
// crash the browser memory use if we stroke too
|
|
2911
|
+
// infrequently.
|
|
2912
|
+
c = c + 1;
|
|
2913
|
+
if (c === strokeBatch) {
|
|
2914
|
+
stroke();
|
|
2915
|
+
c = 0;
|
|
2916
|
+
}
|
|
2917
|
+
// Area charts need to keep track of the last point
|
|
2918
|
+
lastPoint = {
|
|
2919
|
+
clientX: clientX,
|
|
2920
|
+
plotY: plotY,
|
|
2921
|
+
yBottom: yBottom
|
|
2922
|
+
};
|
|
2923
|
+
},
|
|
2924
|
+
//
|
|
2925
|
+
compareX = options.findNearestPointBy === 'x',
|
|
2926
|
+
//
|
|
2927
|
+
xDataFull = (this.xData ||
|
|
2928
|
+
this.options.xData ||
|
|
2929
|
+
this.processedXData ||
|
|
2930
|
+
false),
|
|
2931
|
+
//
|
|
2932
|
+
addKDPoint = function (clientX, plotY, i) {
|
|
2933
|
+
// Shaves off about 60ms compared to repeated concatenation
|
|
2934
|
+
index = compareX ? clientX : clientX + ',' + plotY;
|
|
2935
|
+
// The k-d tree requires series points.
|
|
2936
|
+
// Reduce the amount of points, since the time to build the
|
|
2937
|
+
// tree increases exponentially.
|
|
2938
|
+
if (enableMouseTracking && !pointTaken[index]) {
|
|
2939
|
+
pointTaken[index] = true;
|
|
2940
|
+
if (chart.inverted) {
|
|
2941
|
+
clientX = xAxis.len - clientX;
|
|
2942
|
+
plotY = yAxis.len - plotY;
|
|
2943
|
+
}
|
|
2944
|
+
points.push({
|
|
2945
|
+
x: xDataFull ?
|
|
2946
|
+
xDataFull[cropStart + i] :
|
|
2947
|
+
false,
|
|
2948
|
+
clientX: clientX,
|
|
2949
|
+
plotX: clientX,
|
|
2950
|
+
plotY: plotY,
|
|
2951
|
+
i: cropStart + i
|
|
2952
|
+
});
|
|
2953
|
+
}
|
|
2954
|
+
};
|
|
2955
|
+
if (this.renderTarget) {
|
|
2956
|
+
this.renderTarget.attr({ 'href': '' });
|
|
2957
|
+
}
|
|
2958
|
+
// If we are zooming out from SVG mode, destroy the graphics
|
|
2959
|
+
if (this.points || this.graph) {
|
|
2960
|
+
this.destroyGraphics();
|
|
2961
|
+
}
|
|
2962
|
+
// The group
|
|
2963
|
+
series.plotGroup('group', 'series', series.visible ? 'visible' : 'hidden', options.zIndex, chart.seriesGroup);
|
|
2964
|
+
series.markerGroup = series.group;
|
|
2965
|
+
addEvent(series, 'destroy', function () {
|
|
2966
|
+
// Prevent destroy twice
|
|
2967
|
+
series.markerGroup = null;
|
|
2968
|
+
});
|
|
2969
|
+
points = this.points = [];
|
|
2970
|
+
ctx = this.getContext();
|
|
2971
|
+
series.buildKDTree = noop; // Do not start building while drawing
|
|
2972
|
+
if (this.boostClear) {
|
|
2973
|
+
this.boostClear();
|
|
2974
|
+
}
|
|
2975
|
+
// if (this.canvas) {
|
|
2976
|
+
// ctx.clearRect(
|
|
2977
|
+
// 0,
|
|
2978
|
+
// 0,
|
|
2979
|
+
// this.canvas.width,
|
|
2980
|
+
// this.canvas.height
|
|
2981
|
+
// );
|
|
2982
|
+
// }
|
|
2983
|
+
if (!this.visible) {
|
|
2984
|
+
return;
|
|
2985
|
+
}
|
|
2986
|
+
// Display a loading indicator
|
|
2987
|
+
if (rawData.length > 99999) {
|
|
2988
|
+
chart.options.loading = merge(loadingOptions, {
|
|
2989
|
+
labelStyle: {
|
|
2990
|
+
backgroundColor: color('#ffffff').setOpacity(0.75).get(),
|
|
2991
|
+
padding: '1em',
|
|
2992
|
+
borderRadius: '0.5em'
|
|
2993
|
+
},
|
|
2994
|
+
style: {
|
|
2995
|
+
backgroundColor: 'none',
|
|
2996
|
+
opacity: 1
|
|
2997
|
+
}
|
|
2998
|
+
});
|
|
2999
|
+
U.clearTimeout(destroyLoadingDiv);
|
|
3000
|
+
chart.showLoading('Drawing...');
|
|
3001
|
+
chart.options.loading = loadingOptions; // reset
|
|
3002
|
+
}
|
|
3003
|
+
if (boostSettings.timeRendering) {
|
|
3004
|
+
console.time('canvas rendering'); // eslint-disable-line no-console
|
|
3005
|
+
}
|
|
3006
|
+
// Loop over the points
|
|
3007
|
+
H.eachAsync(sdata, function (d, i) {
|
|
3008
|
+
var x,
|
|
3009
|
+
y,
|
|
3010
|
+
clientX,
|
|
3011
|
+
plotY,
|
|
3012
|
+
isNull,
|
|
3013
|
+
low,
|
|
3014
|
+
isNextInside = false,
|
|
3015
|
+
isPrevInside = false,
|
|
3016
|
+
nx = false,
|
|
3017
|
+
px = false,
|
|
3018
|
+
chartDestroyed = typeof chart.index === 'undefined',
|
|
3019
|
+
isYInside = true;
|
|
3020
|
+
if (!chartDestroyed) {
|
|
3021
|
+
if (useRaw) {
|
|
3022
|
+
x = d[0];
|
|
3023
|
+
y = d[1];
|
|
3024
|
+
if (sdata[i + 1]) {
|
|
3025
|
+
nx = sdata[i + 1][0];
|
|
3026
|
+
}
|
|
3027
|
+
if (sdata[i - 1]) {
|
|
3028
|
+
px = sdata[i - 1][0];
|
|
3029
|
+
}
|
|
3030
|
+
}
|
|
3031
|
+
else {
|
|
3032
|
+
x = d;
|
|
3033
|
+
y = yData[i];
|
|
3034
|
+
if (sdata[i + 1]) {
|
|
3035
|
+
nx = sdata[i + 1];
|
|
3036
|
+
}
|
|
3037
|
+
if (sdata[i - 1]) {
|
|
3038
|
+
px = sdata[i - 1];
|
|
3039
|
+
}
|
|
3040
|
+
}
|
|
3041
|
+
if (nx && nx >= xMin && nx <= xMax) {
|
|
3042
|
+
isNextInside = true;
|
|
3043
|
+
}
|
|
3044
|
+
if (px && px >= xMin && px <= xMax) {
|
|
3045
|
+
isPrevInside = true;
|
|
3046
|
+
}
|
|
3047
|
+
// Resolve low and high for range series
|
|
3048
|
+
if (isRange) {
|
|
3049
|
+
if (useRaw) {
|
|
3050
|
+
y = d.slice(1, 3);
|
|
3051
|
+
}
|
|
3052
|
+
low = y[0];
|
|
3053
|
+
y = y[1];
|
|
3054
|
+
}
|
|
3055
|
+
else if (isStacked) {
|
|
3056
|
+
x = d.x;
|
|
3057
|
+
y = d.stackY;
|
|
3058
|
+
low = y - d.y;
|
|
3059
|
+
}
|
|
3060
|
+
isNull = y === null;
|
|
3061
|
+
// Optimize for scatter zooming
|
|
3062
|
+
if (!requireSorting) {
|
|
3063
|
+
isYInside = y >= yMin && y <= yMax;
|
|
3064
|
+
}
|
|
3065
|
+
if (!isNull &&
|
|
3066
|
+
((x >= xMin && x <= xMax && isYInside) ||
|
|
3067
|
+
(isNextInside || isPrevInside))) {
|
|
3068
|
+
clientX = Math.round(xAxis.toPixels(x, true));
|
|
3069
|
+
if (sampling) {
|
|
3070
|
+
if (typeof minI === 'undefined' ||
|
|
3071
|
+
clientX === lastClientX) {
|
|
3072
|
+
if (!isRange) {
|
|
3073
|
+
low = y;
|
|
3074
|
+
}
|
|
3075
|
+
if (typeof maxI === 'undefined' || y > maxVal) {
|
|
3076
|
+
maxVal = y;
|
|
3077
|
+
maxI = i;
|
|
3078
|
+
}
|
|
3079
|
+
if (typeof minI === 'undefined' ||
|
|
3080
|
+
low < minVal) {
|
|
3081
|
+
minVal = low;
|
|
3082
|
+
minI = i;
|
|
3083
|
+
}
|
|
3084
|
+
}
|
|
3085
|
+
// Add points and reset
|
|
3086
|
+
if (clientX !== lastClientX) {
|
|
3087
|
+
// maxI also a number:
|
|
3088
|
+
if (typeof minI !== 'undefined') {
|
|
3089
|
+
plotY = yAxis.toPixels(maxVal, true);
|
|
3090
|
+
yBottom = yAxis.toPixels(minVal, true);
|
|
3091
|
+
drawPoint(clientX, hasThreshold ?
|
|
3092
|
+
Math.min(plotY, translatedThreshold) : plotY, hasThreshold ?
|
|
3093
|
+
Math.max(yBottom, translatedThreshold) : yBottom, i);
|
|
3094
|
+
addKDPoint(clientX, plotY, maxI);
|
|
3095
|
+
if (yBottom !== plotY) {
|
|
3096
|
+
addKDPoint(clientX, yBottom, minI);
|
|
3097
|
+
}
|
|
3098
|
+
}
|
|
3099
|
+
minI = maxI = void 0;
|
|
3100
|
+
lastClientX = clientX;
|
|
3101
|
+
}
|
|
3102
|
+
}
|
|
3103
|
+
else {
|
|
3104
|
+
plotY = Math.round(yAxis.toPixels(y, true));
|
|
3105
|
+
drawPoint(clientX, plotY, yBottom, i);
|
|
3106
|
+
addKDPoint(clientX, plotY, i);
|
|
3107
|
+
}
|
|
3108
|
+
}
|
|
3109
|
+
wasNull = isNull && !connectNulls;
|
|
3110
|
+
if (i % CHUNK_SIZE === 0) {
|
|
3111
|
+
if (series.boostCopy || series.chart.boostCopy) {
|
|
3112
|
+
(series.boostCopy || series.chart.boostCopy)();
|
|
3113
|
+
}
|
|
3114
|
+
}
|
|
3115
|
+
}
|
|
3116
|
+
return !chartDestroyed;
|
|
3117
|
+
}, function () {
|
|
3118
|
+
var loadingDiv = chart.loadingDiv,
|
|
3119
|
+
loadingShown = chart.loadingShown;
|
|
3120
|
+
stroke();
|
|
3121
|
+
// if (series.boostCopy || series.chart.boostCopy) {
|
|
3122
|
+
// (series.boostCopy || series.chart.boostCopy)();
|
|
3123
|
+
// }
|
|
3124
|
+
series.canvasToSVG();
|
|
3125
|
+
if (boostSettings.timeRendering) {
|
|
3126
|
+
console.timeEnd('canvas rendering'); // eslint-disable-line no-console
|
|
3127
|
+
}
|
|
3128
|
+
fireEvent(series, 'renderedCanvas');
|
|
3129
|
+
// Do not use chart.hideLoading, as it runs JS animation and
|
|
3130
|
+
// will be blocked by buildKDTree. CSS animation looks good, but
|
|
3131
|
+
// then it must be deleted in timeout. If we add the module to
|
|
3132
|
+
// core, change hideLoading so we can skip this block.
|
|
3133
|
+
if (loadingShown) {
|
|
3134
|
+
extend(loadingDiv.style, {
|
|
3135
|
+
transition: 'opacity 250ms',
|
|
3136
|
+
opacity: 0
|
|
3137
|
+
});
|
|
3138
|
+
chart.loadingShown = false;
|
|
3139
|
+
destroyLoadingDiv = setTimeout(function () {
|
|
3140
|
+
if (loadingDiv.parentNode) { // In exporting it is falsy
|
|
3141
|
+
loadingDiv.parentNode.removeChild(loadingDiv);
|
|
3142
|
+
}
|
|
3143
|
+
chart.loadingDiv = chart.loadingSpan = null;
|
|
3144
|
+
}, 250);
|
|
3145
|
+
}
|
|
3146
|
+
// Go back to prototype, ready to build
|
|
3147
|
+
delete series.buildKDTree;
|
|
3148
|
+
series.buildKDTree();
|
|
3149
|
+
// Don't do async on export, the exportChart, getSVGForExport and
|
|
3150
|
+
// getSVG methods are not chained for it.
|
|
3151
|
+
}, chart.renderer.forExport ? Number.MAX_VALUE : void 0);
|
|
3152
|
+
}
|
|
3153
|
+
});
|
|
3154
|
+
seriesTypes.scatter.prototype.cvsMarkerCircle = function (ctx, clientX, plotY, r) {
|
|
3155
|
+
ctx.moveTo(clientX, plotY);
|
|
3156
|
+
ctx.arc(clientX, plotY, r, 0, 2 * Math.PI, false);
|
|
3157
|
+
};
|
|
3158
|
+
// Rect is twice as fast as arc, should be used for small markers
|
|
3159
|
+
seriesTypes.scatter.prototype.cvsMarkerSquare = function (ctx, clientX, plotY, r) {
|
|
3160
|
+
ctx.rect(clientX - r, plotY - r, r * 2, r * 2);
|
|
3161
|
+
};
|
|
3162
|
+
seriesTypes.scatter.prototype.fill = true;
|
|
3163
|
+
if (seriesTypes.bubble) {
|
|
3164
|
+
seriesTypes.bubble.prototype.cvsMarkerCircle = function (ctx, clientX, plotY, r, i) {
|
|
3165
|
+
ctx.moveTo(clientX, plotY);
|
|
3166
|
+
ctx.arc(clientX, plotY, this.radii && this.radii[i], 0, 2 * Math.PI, false);
|
|
3167
|
+
};
|
|
3168
|
+
seriesTypes.bubble.prototype.cvsStrokeBatch = 1;
|
|
3169
|
+
}
|
|
3170
|
+
extend(seriesTypes.area.prototype, {
|
|
3171
|
+
cvsDrawPoint: function (ctx, clientX, plotY, yBottom, lastPoint) {
|
|
3172
|
+
if (lastPoint && clientX !== lastPoint.clientX) {
|
|
3173
|
+
ctx.moveTo(lastPoint.clientX, lastPoint.yBottom);
|
|
3174
|
+
ctx.lineTo(lastPoint.clientX, lastPoint.plotY);
|
|
3175
|
+
ctx.lineTo(clientX, plotY);
|
|
3176
|
+
ctx.lineTo(clientX, yBottom);
|
|
3177
|
+
}
|
|
3178
|
+
},
|
|
3179
|
+
fill: true,
|
|
3180
|
+
fillOpacity: true,
|
|
3181
|
+
sampling: true
|
|
3182
|
+
});
|
|
3183
|
+
extend(seriesTypes.column.prototype, {
|
|
3184
|
+
cvsDrawPoint: function (ctx, clientX, plotY, yBottom) {
|
|
3185
|
+
ctx.rect(clientX - 1, plotY, 1, yBottom - plotY);
|
|
3186
|
+
},
|
|
3187
|
+
fill: true,
|
|
3188
|
+
sampling: true
|
|
3189
|
+
});
|
|
3190
|
+
Chart.prototype.callbacks.push(function (chart) {
|
|
3191
|
+
/**
|
|
3192
|
+
* @private
|
|
3193
|
+
*/
|
|
3194
|
+
function canvasToSVG() {
|
|
3195
|
+
if (chart.boostCopy) {
|
|
3196
|
+
chart.boostCopy();
|
|
3197
|
+
}
|
|
3198
|
+
}
|
|
3199
|
+
/**
|
|
3200
|
+
* @private
|
|
3201
|
+
*/
|
|
3202
|
+
function clear() {
|
|
3203
|
+
if (chart.renderTarget) {
|
|
3204
|
+
chart.renderTarget.attr({ href: '' });
|
|
3205
|
+
}
|
|
3206
|
+
if (chart.canvas) {
|
|
3207
|
+
chart.canvas.getContext('2d').clearRect(0, 0, chart.canvas.width, chart.canvas.height);
|
|
3208
|
+
}
|
|
3209
|
+
}
|
|
3210
|
+
addEvent(chart, 'predraw', clear);
|
|
3211
|
+
addEvent(chart, 'render', canvasToSVG);
|
|
3212
|
+
});
|
|
3213
|
+
};
|
|
3214
|
+
|
|
3215
|
+
return initCanvasBoost;
|
|
3216
|
+
});
|
|
2670
3217
|
_registerModule(_modules, 'Extensions/Boost/BoostOverrides.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js'], _modules['Extensions/Boost/BoostUtils.js'], _modules['Extensions/Boost/Boostables.js'], _modules['Extensions/Boost/BoostableMap.js']], function (Chart, H, Point, U, butils, boostable, boostableMap) {
|
|
2671
3218
|
/* *
|
|
2672
3219
|
*
|
|
@@ -3060,7 +3607,7 @@
|
|
|
3060
3607
|
});
|
|
3061
3608
|
|
|
3062
3609
|
});
|
|
3063
|
-
_registerModule(_modules, 'Extensions/Boost/NamedColors.js', [_modules['Core/Color.js']], function (Color) {
|
|
3610
|
+
_registerModule(_modules, 'Extensions/Boost/NamedColors.js', [_modules['Core/Color/Color.js']], function (Color) {
|
|
3064
3611
|
/* *
|
|
3065
3612
|
*
|
|
3066
3613
|
* Copyright (c) 2019-2020 Highsoft AS
|
|
@@ -3223,7 +3770,7 @@
|
|
|
3223
3770
|
|
|
3224
3771
|
return defaultHTMLColorMap;
|
|
3225
3772
|
});
|
|
3226
|
-
_registerModule(_modules, 'Extensions/Boost/Boost.js', [_modules['
|
|
3773
|
+
_registerModule(_modules, 'Extensions/Boost/Boost.js', [_modules['Extensions/Boost/BoostUtils.js'], _modules['Extensions/Boost/BoostInit.js'], _modules['Extensions/BoostCanvas.js'], _modules['Core/Utilities.js']], function (butils, init, initCanvasBoost, U) {
|
|
3227
3774
|
/* *
|
|
3228
3775
|
*
|
|
3229
3776
|
* Copyright (c) 2019-2020 Highsoft AS
|
|
@@ -3239,9 +3786,9 @@
|
|
|
3239
3786
|
// These need to be fixed when we support named imports
|
|
3240
3787
|
var hasWebGLSupport = butils.hasWebGLSupport;
|
|
3241
3788
|
if (!hasWebGLSupport()) {
|
|
3242
|
-
if (typeof
|
|
3789
|
+
if (typeof initCanvasBoost !== 'undefined') {
|
|
3243
3790
|
// Fallback to canvas boost
|
|
3244
|
-
|
|
3791
|
+
initCanvasBoost();
|
|
3245
3792
|
}
|
|
3246
3793
|
else {
|
|
3247
3794
|
error(26);
|