highcharts 10.0.0 → 10.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/highcharts.css +10 -20
- package/css/themes/dark-unica.css +10 -20
- package/css/themes/grid-light.css +10 -20
- package/css/themes/sand-signika.css +10 -20
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +8 -3
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
- package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
- package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +1 -1
- package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
- package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
- package/es-modules/Core/Animation/Fx.js +1 -1
- package/es-modules/Core/Axis/Axis.js +51 -46
- package/es-modules/Core/Axis/Axis3D.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +9 -9
- package/es-modules/Core/Axis/BrokenAxis.js +1 -1
- package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +821 -822
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/RadialAxis.js +1 -1
- package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
- package/es-modules/Core/Axis/Tick.js +22 -18
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
- package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
- package/es-modules/Core/Axis/ZAxis.js +76 -71
- package/es-modules/Core/Chart/Chart.js +42 -9
- package/es-modules/Core/Chart/Chart3D.js +2 -2
- package/es-modules/Core/Chart/ChartDefaults.js +165 -5
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +3 -1
- package/es-modules/Core/Chart/StockChart.js +12 -8
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +19 -16
- package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
- package/es-modules/Core/Globals.js +2 -1
- package/es-modules/Core/HttpUtilities.js +39 -37
- package/es-modules/Core/Legend/Legend.js +4 -4
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/{Extensions → Core}/Math3D.js +48 -43
- package/es-modules/Core/Navigator.js +31 -14
- package/es-modules/Core/Pointer.js +8 -10
- package/es-modules/Core/Renderer/HTML/AST.js +13 -7
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
- package/es-modules/Core/Scrollbar.js +12 -6
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +63 -40
- package/es-modules/Core/Series/Point.js +11 -2
- package/es-modules/Core/Series/Series.js +60 -43
- package/es-modules/Core/Series/Series3D.js +4 -2
- package/es-modules/Core/Series/SeriesDefaults.js +11 -6
- package/es-modules/Core/Series/SeriesRegistry.js +6 -29
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +17 -6
- package/es-modules/Core/Utilities.js +7 -9
- package/es-modules/Data/DataConverter.js +6 -1
- package/es-modules/Data/DataPromise.js +1 -1
- package/es-modules/Data/DataSeriesComposition.js +288 -0
- package/es-modules/Data/DataSeriesConverter.js +1 -1
- package/es-modules/Data/DataTable.js +14 -12
- package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +1 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
- package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
- package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
- package/es-modules/Data/Modifiers/SortModifier.js +4 -2
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +2 -2
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
- package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
- package/es-modules/Data/Stores/CSVStore.js +8 -5
- package/es-modules/Data/Stores/DataStore.js +1 -1
- package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/Annotation.js +652 -0
- package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
- package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
- package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
- package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +95 -63
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
- package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
- package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
- package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -663
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
- package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +23 -23
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
- package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
- package/es-modules/Extensions/Boost/Boost.js +320 -15
- package/es-modules/Extensions/Boost/BoostChart.js +245 -0
- package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
- package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
- package/es-modules/Extensions/Boost/Boostables.js +13 -2
- package/es-modules/Extensions/Boost/NamedColors.js +15 -6
- package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
- package/es-modules/Extensions/Boost/WGLShader.js +370 -376
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
- package/es-modules/Extensions/BoostCanvas.js +70 -48
- package/es-modules/Extensions/Breadcrumbs.js +37 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +638 -602
- package/es-modules/Extensions/DataGrouping.js +68 -28
- package/es-modules/Extensions/Debugger/Debugger.js +60 -22
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DownloadURL.js +3 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +4 -3
- package/es-modules/Extensions/Drilldown.js +15 -14
- package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
- package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
- package/es-modules/Extensions/Exporting/Exporting.js +30 -17
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
- package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
- package/es-modules/Extensions/GeoJSON.js +3 -4
- package/es-modules/Extensions/MarkerClusters.js +5 -3
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -2
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Pane.js +3 -3
- package/es-modules/Extensions/ParallelCoordinates.js +12 -8
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
- package/es-modules/Maps/MapNavigation.js +3 -7
- package/es-modules/Maps/MapPointer.js +1 -1
- package/es-modules/Maps/MapView.js +31 -19
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
- package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
- package/es-modules/Maps/Projection.js +13 -11
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
- package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
- package/es-modules/Series/Bar/BarSeries.js +3 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
- package/es-modules/Series/Bullet/BulletPoint.js +3 -1
- package/es-modules/Series/Bullet/BulletSeries.js +4 -3
- package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
- package/es-modules/Series/CenteredUtilities.js +8 -2
- package/es-modules/Series/ColorMapComposition.js +111 -0
- package/es-modules/Series/Column/ColumnSeries.js +8 -4
- package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- package/es-modules/Series/DragNodesComposition.js +166 -0
- package/es-modules/Series/DrawPointUtilities.js +87 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
- package/es-modules/Series/Flags/FlagsPoint.js +4 -1
- package/es-modules/Series/Flags/FlagsSeries.js +13 -16
- package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
- package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +4 -2
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
- package/es-modules/Series/GraphLayoutComposition.js +130 -0
- package/es-modules/Series/HLC/HLCPoint.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +4 -2
- package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
- package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
- package/es-modules/Series/Item/ItemPoint.js +3 -1
- package/es-modules/Series/Item/ItemSeries.js +3 -1
- package/es-modules/Series/Line/LineSeries.js +4 -2
- package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
- package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
- package/es-modules/Series/Map/MapPoint.js +8 -6
- package/es-modules/Series/Map/MapSeries.js +115 -28
- package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
- package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
- package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
- package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
- package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
- package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
- package/es-modules/Series/NodesComposition.js +45 -40
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
- package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
- package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
- package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +4 -2
- package/es-modules/Series/Pie/PiePoint.js +3 -1
- package/es-modules/Series/Pie/PieSeries.js +54 -38
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
- package/es-modules/Series/PolarComposition.js +819 -0
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
- package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
- package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
- package/es-modules/Series/Sankey/SankeySeries.js +38 -10
- package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
- package/es-modules/Series/SeriesOnPointComposition.js +395 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
- package/es-modules/Series/Spline/SplineSeries.js +13 -4
- package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
- package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
- package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
- package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
- package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
- package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
- package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
- package/es-modules/Series/Vector/VectorSeries.js +5 -5
- package/es-modules/Series/Venn/VennPoint.js +5 -5
- package/es-modules/Series/Venn/VennSeries.js +9 -6
- package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
- package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
- package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
- package/es-modules/Series/XRange/XRangePoint.js +57 -46
- package/es-modules/Series/XRange/XRangeSeries.js +124 -274
- package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
- package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
- package/es-modules/Stock/StockToolbar.js +568 -0
- package/es-modules/Stock/StockTools.js +256 -0
- package/es-modules/Stock/StockToolsBindings.js +140 -647
- package/es-modules/Stock/StockToolsDefaults.js +1190 -0
- package/es-modules/Stock/StockToolsGui.js +150 -1771
- package/es-modules/Stock/StockToolsUtilities.js +423 -0
- package/es-modules/masters/highcharts-3d.src.js +5 -4
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +7 -6
- package/es-modules/masters/highcharts.src.js +5 -2
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +5 -7
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +5 -5
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
- package/es-modules/masters/modules/annotations.src.js +6 -4
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +6 -2
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +2 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +5 -3
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +5 -2
- package/es-modules/masters/modules/exporting.src.js +1 -2
- package/es-modules/masters/modules/full-screen.src.js +6 -2
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +3 -2
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +2 -2
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +5 -2
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +5 -2
- package/es-modules/masters/modules/series-on-point.src.js +16 -0
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +2 -6
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +10 -3
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +5 -2
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +98 -99
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +233 -212
- package/highcharts-gantt.js +809 -805
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +3817 -3470
- package/highcharts-more.d.ts +15 -8
- package/highcharts-more.js +201 -195
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +15 -8
- package/highcharts-more.src.js +7994 -7461
- package/highcharts.d.ts +11364 -1136
- package/highcharts.js +593 -591
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +11364 -1136
- package/highcharts.src.js +1408 -1117
- package/highmaps.js +762 -758
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2237 -1721
- package/highstock.js +796 -792
- package/highstock.js.map +1 -1
- package/highstock.src.js +1617 -1224
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -12
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +99 -101
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +6 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +25 -16
- package/indicators/apo.js +1 -1
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +6 -1
- package/indicators/aroon-oscillator.d.ts +1 -17
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +1 -17
- package/indicators/aroon-oscillator.src.js +95 -101
- package/indicators/aroon.d.ts +1 -17
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +1 -17
- package/indicators/aroon.src.js +104 -101
- package/indicators/atr.js +1 -1
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +17 -4
- package/indicators/bollinger-bands.d.ts +1 -17
- package/indicators/bollinger-bands.js +11 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +1 -17
- package/indicators/bollinger-bands.src.js +97 -103
- package/indicators/cci.js +1 -1
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +17 -4
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +13 -5
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +21 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +16 -2
- package/indicators/dema.js +1 -1
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +26 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +104 -105
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +20 -9
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +35 -16
- package/indicators/indicators-all.d.ts +1 -17
- package/indicators/indicators-all.js +200 -199
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +882 -284
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +12 -2
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -12
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +114 -99
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +101 -102
- package/indicators/macd.js +10 -9
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +46 -25
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +24 -11
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +31 -3
- package/indicators/natr.js +1 -1
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +17 -3
- package/indicators/obv.js +1 -1
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +32 -19
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +15 -5
- package/indicators/price-channel.d.ts +1 -17
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +1 -17
- package/indicators/price-channel.src.js +102 -107
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +26 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +17 -4
- package/indicators/regressions.js +12 -11
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +50 -15
- package/indicators/roc.js +1 -1
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +16 -3
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +21 -3
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +26 -1
- package/indicators/stochastic.d.ts +1 -17
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +1 -17
- package/indicators/stochastic.src.js +104 -99
- package/indicators/supertrend.js +7 -7
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +21 -9
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +15 -5
- package/indicators/trix.js +1 -1
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +26 -1
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +38 -10
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +12 -2
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +31 -3
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +12 -2
- package/modules/accessibility.js +246 -242
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +797 -664
- package/modules/annotations-advanced.d.ts +1 -1
- package/modules/annotations-advanced.js +193 -192
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +1 -1
- package/modules/annotations-advanced.src.js +9229 -8589
- package/modules/annotations.d.ts +1 -1
- package/modules/annotations.js +128 -126
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.d.ts +1 -1
- package/modules/annotations.src.js +6190 -5528
- package/modules/arc-diagram.js +7 -7
- package/modules/arc-diagram.js.map +1 -1
- package/modules/arc-diagram.src.js +10 -2
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.d.ts +19 -0
- package/modules/boost-canvas.js +81 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.d.ts +19 -0
- package/modules/boost-canvas.src.js +3342 -52
- package/modules/boost.d.ts +8 -26
- package/modules/boost.js +88 -80
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.d.ts +8 -26
- package/modules/boost.src.js +2435 -1889
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +2 -2
- package/modules/bullet.js +1 -1
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +2 -5
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +9 -5
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +2 -2
- package/modules/cylinder.js +9 -9
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +2 -2
- package/modules/data.d.ts +12 -12
- package/modules/data.js +33 -34
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +862 -829
- package/modules/datagrouping.d.ts +22 -0
- package/modules/datagrouping.js +9 -9
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +22 -0
- package/modules/datagrouping.src.js +69 -29
- package/modules/debugger.js +8 -6
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +85 -40
- package/modules/dependency-wheel.js +12 -12
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +41 -14
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +2 -2
- package/modules/draggable-points.js +5 -5
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +5 -4
- package/modules/drilldown.d.ts +0 -10
- package/modules/drilldown.js +37 -37
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +0 -10
- package/modules/drilldown.src.js +59 -25
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +24 -12
- package/modules/export-data.js +25 -22
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +641 -469
- package/modules/exporting.d.ts +8 -8
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +8 -8
- package/modules/exporting.src.js +442 -319
- package/modules/full-screen.js +8 -8
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +196 -78
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +3 -3
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +2 -2
- package/modules/gantt.js +219 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +2420 -2364
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +890 -891
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +137 -108
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +9 -9
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +6 -6
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +37 -22
- package/modules/map.d.ts +3 -3
- package/modules/map.js +171 -169
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +3 -3
- package/modules/map.src.js +830 -605
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +4 -6
- package/modules/networkgraph.d.ts +1 -17
- package/modules/networkgraph.js +55 -50
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -17
- package/modules/networkgraph.src.js +2339 -2008
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +5 -5
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +3 -3
- package/modules/organization.js +15 -15
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +12 -4
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +14 -9
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +15 -2
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.d.ts +1 -17
- package/modules/sankey.js +32 -32
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -17
- package/modules/sankey.src.js +102 -57
- package/modules/series-label.js +18 -18
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +474 -387
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +468 -0
- package/modules/solid-gauge.js +4 -4
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +6 -6
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +1 -1
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +4 -8
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.d.ts +1 -23
- package/modules/stock-tools.js +109 -179
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.d.ts +1 -23
- package/modules/stock-tools.src.js +2652 -6347
- package/modules/stock.d.ts +8 -0
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +8 -0
- package/modules/stock.src.js +208 -106
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +73 -73
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +251 -193
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +6 -4
- package/modules/treegrid.js +57 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +1908 -1901
- package/modules/treemap.js +54 -53
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +217 -183
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +2 -2
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +3 -5
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +82 -111
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +84 -113
- package/modules/xrange.js +17 -17
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +411 -397
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +2 -2
- package/themes/high-contrast-dark.src.js +11 -11
- package/themes/high-contrast-light.js +2 -2
- package/themes/high-contrast-light.src.js +10 -10
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Axis/StackingAxis.js +0 -216
- package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
- package/es-modules/Core/Axis/TreeGridTick.js +0 -317
- package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
- package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
- package/es-modules/Extensions/Annotations/Popup.js +0 -1123
- package/es-modules/Extensions/Boost/BoostAttach.js +0 -150
- package/es-modules/Extensions/Boost/BoostInit.js +0 -323
- package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
- package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
- package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
- package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
- package/es-modules/Extensions/FullScreen.js +0 -240
- package/es-modules/Extensions/Polar.js +0 -740
- package/es-modules/Extensions/Stacking.js +0 -517
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -114
- package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
- package/es-modules/Series/Networkgraph/Integrations.js +0 -348
- package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1178
- package/es-modules/Series/XRange/XRangeComposition.js +0 -49
|
@@ -12,12 +12,42 @@
|
|
|
12
12
|
'use strict';
|
|
13
13
|
import Color from '../../Core/Color/Color.js';
|
|
14
14
|
var color = Color.parse;
|
|
15
|
-
import GLShader from './WGLShader.js';
|
|
16
|
-
import GLVertexBuffer from './WGLVBuffer.js';
|
|
17
15
|
import H from '../../Core/Globals.js';
|
|
18
16
|
var doc = H.doc, win = H.win;
|
|
19
17
|
import U from '../../Core/Utilities.js';
|
|
20
18
|
var isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
|
|
19
|
+
import WGLDrawMode from './WGLDrawMode.js';
|
|
20
|
+
import WGLShader from './WGLShader.js';
|
|
21
|
+
import WGLVertexBuffer from './WGLVertexBuffer.js';
|
|
22
|
+
/* *
|
|
23
|
+
*
|
|
24
|
+
* Constants
|
|
25
|
+
*
|
|
26
|
+
* */
|
|
27
|
+
// Things to draw as "rectangles" (i.e lines)
|
|
28
|
+
var asBar = {
|
|
29
|
+
'column': true,
|
|
30
|
+
'columnrange': true,
|
|
31
|
+
'bar': true,
|
|
32
|
+
'area': true,
|
|
33
|
+
'areaspline': true,
|
|
34
|
+
'arearange': true
|
|
35
|
+
};
|
|
36
|
+
var asCircle = {
|
|
37
|
+
'scatter': true,
|
|
38
|
+
'bubble': true
|
|
39
|
+
};
|
|
40
|
+
var contexts = [
|
|
41
|
+
'webgl',
|
|
42
|
+
'experimental-webgl',
|
|
43
|
+
'moz-webgl',
|
|
44
|
+
'webkit-3d'
|
|
45
|
+
];
|
|
46
|
+
/* *
|
|
47
|
+
*
|
|
48
|
+
* Class
|
|
49
|
+
*
|
|
50
|
+
* */
|
|
21
51
|
/* eslint-disable valid-jsdoc */
|
|
22
52
|
/**
|
|
23
53
|
* Main renderer. Used to render series.
|
|
@@ -28,85 +58,76 @@ var isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach =
|
|
|
28
58
|
* - Need to figure out a way to transform the data quicker
|
|
29
59
|
*
|
|
30
60
|
* @private
|
|
31
|
-
*
|
|
61
|
+
*
|
|
62
|
+
* @param {Function} postRenderCallback
|
|
32
63
|
*/
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
lineWidth: 1,
|
|
72
|
-
fillColor: '#AA00AA',
|
|
73
|
-
useAlpha: true,
|
|
74
|
-
usePreallocated: false,
|
|
75
|
-
useGPUTranslations: false,
|
|
76
|
-
debug: {
|
|
77
|
-
timeRendering: false,
|
|
78
|
-
timeSeriesProcessing: false,
|
|
79
|
-
timeSetup: false,
|
|
80
|
-
timeBufferCopy: false,
|
|
81
|
-
timeKDTree: false,
|
|
82
|
-
showSkipSummary: false
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
// /////////////////////////////////////////////////////////////////////////
|
|
86
|
-
/**
|
|
87
|
-
* @private
|
|
88
|
-
*/
|
|
89
|
-
function getPixelRatio() {
|
|
90
|
-
return settings.pixelRatio || win.devicePixelRatio || 1;
|
|
64
|
+
var WGLRenderer = /** @class */ (function () {
|
|
65
|
+
/* *
|
|
66
|
+
*
|
|
67
|
+
* Constructor
|
|
68
|
+
*
|
|
69
|
+
* */
|
|
70
|
+
function WGLRenderer(postRenderCallback) {
|
|
71
|
+
// The data to render - array of coordinates
|
|
72
|
+
this.data = [];
|
|
73
|
+
// Height of our viewport in pixels
|
|
74
|
+
this.height = 0;
|
|
75
|
+
// Is it inited?
|
|
76
|
+
this.isInited = false;
|
|
77
|
+
// The marker data
|
|
78
|
+
this.markerData = [];
|
|
79
|
+
// The series stack
|
|
80
|
+
this.series = [];
|
|
81
|
+
// Texture handles
|
|
82
|
+
this.textureHandles = {};
|
|
83
|
+
// Width of our viewport in pixels
|
|
84
|
+
this.width = 0;
|
|
85
|
+
this.postRenderCallback = postRenderCallback;
|
|
86
|
+
this.settings = {
|
|
87
|
+
pointSize: 1,
|
|
88
|
+
lineWidth: 1,
|
|
89
|
+
fillColor: '#AA00AA',
|
|
90
|
+
useAlpha: true,
|
|
91
|
+
usePreallocated: false,
|
|
92
|
+
useGPUTranslations: false,
|
|
93
|
+
debug: {
|
|
94
|
+
timeRendering: false,
|
|
95
|
+
timeSeriesProcessing: false,
|
|
96
|
+
timeSetup: false,
|
|
97
|
+
timeBufferCopy: false,
|
|
98
|
+
timeKDTree: false,
|
|
99
|
+
showSkipSummary: false
|
|
100
|
+
}
|
|
101
|
+
};
|
|
91
102
|
}
|
|
103
|
+
/* *
|
|
104
|
+
*
|
|
105
|
+
* Static Functions
|
|
106
|
+
*
|
|
107
|
+
* */
|
|
92
108
|
/**
|
|
109
|
+
* Returns an orthographic perspective matrix
|
|
93
110
|
* @private
|
|
111
|
+
* @param {number} width
|
|
112
|
+
* the width of the viewport in pixels
|
|
113
|
+
* @param {number} height
|
|
114
|
+
* the height of the viewport in pixels
|
|
94
115
|
*/
|
|
95
|
-
function
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
116
|
+
WGLRenderer.orthoMatrix = function (width, height) {
|
|
117
|
+
var near = 0, far = 1;
|
|
118
|
+
return [
|
|
119
|
+
2 / width, 0, 0, 0,
|
|
120
|
+
0, -(2 / height), 0, 0,
|
|
121
|
+
0, 0, -2 / (far - near), 0,
|
|
122
|
+
-1, 1, -(far + near) / (far - near), 1
|
|
123
|
+
];
|
|
124
|
+
};
|
|
104
125
|
/**
|
|
105
126
|
* @private
|
|
106
127
|
*/
|
|
107
|
-
function
|
|
128
|
+
WGLRenderer.seriesPointCount = function (series) {
|
|
108
129
|
var isStacked, xData, s;
|
|
109
|
-
if (series.
|
|
130
|
+
if (series.boosted) {
|
|
110
131
|
isStacked = !!series.options.stacking;
|
|
111
132
|
xData = (series.xData ||
|
|
112
133
|
series.options.xData ||
|
|
@@ -125,81 +146,80 @@ function GLRenderer(postRenderCallback) {
|
|
|
125
146
|
return s;
|
|
126
147
|
}
|
|
127
148
|
return 0;
|
|
128
|
-
}
|
|
149
|
+
};
|
|
150
|
+
/* *
|
|
151
|
+
*
|
|
152
|
+
* Functions
|
|
153
|
+
*
|
|
154
|
+
* */
|
|
155
|
+
/**
|
|
156
|
+
* @private
|
|
157
|
+
*/
|
|
158
|
+
WGLRenderer.prototype.getPixelRatio = function () {
|
|
159
|
+
return this.settings.pixelRatio || win.devicePixelRatio || 1;
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
WGLRenderer.prototype.setOptions = function (options) {
|
|
165
|
+
// The pixelRatio defaults to 1. This is an antipattern, we should
|
|
166
|
+
// refactor the Boost options to include an object of default options as
|
|
167
|
+
// base for the merge, like other components.
|
|
168
|
+
if (!('pixelRatio' in options)) {
|
|
169
|
+
options.pixelRatio = 1;
|
|
170
|
+
}
|
|
171
|
+
merge(true, this.settings, options);
|
|
172
|
+
};
|
|
129
173
|
/**
|
|
130
174
|
* Allocate a float buffer to fit all series
|
|
131
175
|
* @private
|
|
132
176
|
*/
|
|
133
|
-
function
|
|
177
|
+
WGLRenderer.prototype.allocateBuffer = function (chart) {
|
|
178
|
+
var vbuffer = this.vbuffer;
|
|
134
179
|
var s = 0;
|
|
135
|
-
if (!settings.usePreallocated) {
|
|
180
|
+
if (!this.settings.usePreallocated) {
|
|
136
181
|
return;
|
|
137
182
|
}
|
|
138
183
|
chart.series.forEach(function (series) {
|
|
139
|
-
if (series.
|
|
140
|
-
s += seriesPointCount(series);
|
|
184
|
+
if (series.boosted) {
|
|
185
|
+
s += WGLRenderer.seriesPointCount(series);
|
|
141
186
|
}
|
|
142
187
|
});
|
|
143
|
-
vbuffer.allocate(s);
|
|
144
|
-
}
|
|
188
|
+
vbuffer && vbuffer.allocate(s);
|
|
189
|
+
};
|
|
145
190
|
/**
|
|
146
191
|
* @private
|
|
147
192
|
*/
|
|
148
|
-
function
|
|
193
|
+
WGLRenderer.prototype.allocateBufferForSingleSeries = function (series) {
|
|
194
|
+
var vbuffer = this.vbuffer;
|
|
149
195
|
var s = 0;
|
|
150
|
-
if (!settings.usePreallocated) {
|
|
196
|
+
if (!this.settings.usePreallocated) {
|
|
151
197
|
return;
|
|
152
198
|
}
|
|
153
|
-
if (series.
|
|
154
|
-
s = seriesPointCount(series);
|
|
199
|
+
if (series.boosted) {
|
|
200
|
+
s = WGLRenderer.seriesPointCount(series);
|
|
155
201
|
}
|
|
156
|
-
vbuffer.allocate(s);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Returns an orthographic perspective matrix
|
|
160
|
-
* @private
|
|
161
|
-
* @param {number} width
|
|
162
|
-
* the width of the viewport in pixels
|
|
163
|
-
* @param {number} height
|
|
164
|
-
* the height of the viewport in pixels
|
|
165
|
-
*/
|
|
166
|
-
function orthoMatrix(width, height) {
|
|
167
|
-
var near = 0, far = 1;
|
|
168
|
-
return [
|
|
169
|
-
2 / width, 0, 0, 0,
|
|
170
|
-
0, -(2 / height), 0, 0,
|
|
171
|
-
0, 0, -2 / (far - near), 0,
|
|
172
|
-
-1, 1, -(far + near) / (far - near), 1
|
|
173
|
-
];
|
|
174
|
-
}
|
|
202
|
+
vbuffer && vbuffer.allocate(s);
|
|
203
|
+
};
|
|
175
204
|
/**
|
|
176
205
|
* Clear the depth and color buffer
|
|
177
206
|
* @private
|
|
178
207
|
*/
|
|
179
|
-
function
|
|
180
|
-
gl
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
* Get the WebGL context
|
|
184
|
-
* @private
|
|
185
|
-
* @return {WebGLContext}
|
|
186
|
-
* the context
|
|
187
|
-
*/
|
|
188
|
-
function getGL() {
|
|
189
|
-
return gl;
|
|
190
|
-
}
|
|
208
|
+
WGLRenderer.prototype.clear = function () {
|
|
209
|
+
var gl = this.gl;
|
|
210
|
+
gl && gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
|
|
211
|
+
};
|
|
191
212
|
/**
|
|
192
213
|
* Push data for a single series
|
|
193
214
|
* This calculates additional vertices and transforms the data to be
|
|
194
215
|
* aligned correctly in memory
|
|
195
216
|
* @private
|
|
196
217
|
*/
|
|
197
|
-
function
|
|
198
|
-
var
|
|
218
|
+
WGLRenderer.prototype.pushSeriesData = function (series, inst) {
|
|
219
|
+
var _this = this;
|
|
220
|
+
var data = this.data, settings = this.settings, vbuffer = this.vbuffer, isRange = (series.pointArrayMap &&
|
|
199
221
|
series.pointArrayMap.join(',') === 'low,high'), chart = series.chart, options = series.options, isStacked = !!options.stacking, rawData = options.data, xExtremes = series.xAxis.getExtremes(), xMin = xExtremes.min, xMax = xExtremes.max, yExtremes = series.yAxis.getExtremes(), yMin = yExtremes.min, yMax = yExtremes.max, xData = series.xData || options.xData || series.processedXData, yData = series.yData || options.yData || series.processedYData, zData = (series.zData || options.zData ||
|
|
200
|
-
series.processedZData), yAxis = series.yAxis, xAxis = series.xAxis,
|
|
201
|
-
// plotHeight = series.chart.plotHeight,
|
|
202
|
-
plotWidth = series.chart.plotWidth, useRaw = !xData || xData.length === 0,
|
|
222
|
+
series.processedZData), yAxis = series.yAxis, xAxis = series.xAxis, useRaw = !xData || xData.length === 0,
|
|
203
223
|
// threshold = options.threshold,
|
|
204
224
|
// yBottom = chart.yAxis[0].getThreshold(threshold),
|
|
205
225
|
// hasThreshold = isNumber(threshold),
|
|
@@ -213,13 +233,13 @@ function GLRenderer(postRenderCallback) {
|
|
|
213
233
|
// For some reason eslint/TypeScript don't pick up that this is
|
|
214
234
|
// actually used: --- bre1470: it is never read, just set
|
|
215
235
|
// maxVal: (number|undefined), // eslint-disable-line no-unused-vars
|
|
216
|
-
points = series.points || false,
|
|
236
|
+
points = series.points || false, sdata = isStacked ? series.data : (xData || rawData), closestLeft = { x: Number.MAX_VALUE, y: 0 }, closestRight = { x: -Number.MAX_VALUE, y: 0 }, cullXThreshold = 1, cullYThreshold = 1, chartDestroyed = typeof chart.index === 'undefined', drawAsBar = asBar[series.type], zoneAxis = options.zoneAxis || 'y', zones = options.zones || false, threshold = options.threshold, pixelRatio = this.getPixelRatio();
|
|
237
|
+
var // plotHeight = series.chart.plotHeight,
|
|
238
|
+
plotWidth = series.chart.plotWidth, lastX = false, lastY = false, minVal, scolor,
|
|
217
239
|
//
|
|
218
240
|
skipped = 0, hadPoints = false,
|
|
219
|
-
//
|
|
220
|
-
cullXThreshold = 1, cullYThreshold = 1,
|
|
221
241
|
// The following are used in the builder while loop
|
|
222
|
-
x, y, d, z, i = -1, px = false, nx = false, low,
|
|
242
|
+
x, y, d, z, i = -1, px = false, nx = false, low, nextInside = false, prevInside = false, pcolor = false, isXInside = false, isYInside = true, firstPoint = true, zoneColors, zoneDefColor = false, gapSize = false, vlen = 0;
|
|
223
243
|
if (options.boostData && options.boostData.length > 0) {
|
|
224
244
|
return;
|
|
225
245
|
}
|
|
@@ -260,19 +280,19 @@ function GLRenderer(postRenderCallback) {
|
|
|
260
280
|
* Push color to color buffer - need to do this per vertex.
|
|
261
281
|
* @private
|
|
262
282
|
*/
|
|
263
|
-
function
|
|
283
|
+
var pushColor = function (color) {
|
|
264
284
|
if (color) {
|
|
265
285
|
inst.colorData.push(color[0]);
|
|
266
286
|
inst.colorData.push(color[1]);
|
|
267
287
|
inst.colorData.push(color[2]);
|
|
268
288
|
inst.colorData.push(color[3]);
|
|
269
289
|
}
|
|
270
|
-
}
|
|
290
|
+
};
|
|
271
291
|
/**
|
|
272
292
|
* Push a vertice to the data buffer.
|
|
273
293
|
* @private
|
|
274
294
|
*/
|
|
275
|
-
function
|
|
295
|
+
var vertice = function (x, y, checkTreshold, pointSize, color) {
|
|
276
296
|
if (pointSize === void 0) { pointSize = 1; }
|
|
277
297
|
pushColor(color);
|
|
278
298
|
// Correct for pixel ratio
|
|
@@ -282,7 +302,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
282
302
|
y *= pixelRatio;
|
|
283
303
|
pointSize *= pixelRatio;
|
|
284
304
|
}
|
|
285
|
-
if (settings.usePreallocated) {
|
|
305
|
+
if (settings.usePreallocated && vbuffer) {
|
|
286
306
|
vbuffer.push(x, y, checkTreshold ? 1 : 0, pointSize);
|
|
287
307
|
vlen += 4;
|
|
288
308
|
}
|
|
@@ -292,20 +312,20 @@ function GLRenderer(postRenderCallback) {
|
|
|
292
312
|
data.push(checkTreshold ? pixelRatio : 0);
|
|
293
313
|
data.push(pointSize);
|
|
294
314
|
}
|
|
295
|
-
}
|
|
315
|
+
};
|
|
296
316
|
/**
|
|
297
317
|
* @private
|
|
298
318
|
*/
|
|
299
|
-
function
|
|
319
|
+
var closeSegment = function () {
|
|
300
320
|
if (inst.segments.length) {
|
|
301
321
|
inst.segments[inst.segments.length - 1].to = data.length || vlen;
|
|
302
322
|
}
|
|
303
|
-
}
|
|
323
|
+
};
|
|
304
324
|
/**
|
|
305
325
|
* Create a new segment for the current set.
|
|
306
326
|
* @private
|
|
307
327
|
*/
|
|
308
|
-
function
|
|
328
|
+
var beginSegment = function () {
|
|
309
329
|
// Insert a segment on the series.
|
|
310
330
|
// A segment is just a start indice.
|
|
311
331
|
// When adding a segment, if one exists from before, it should
|
|
@@ -318,12 +338,12 @@ function GLRenderer(postRenderCallback) {
|
|
|
318
338
|
inst.segments.push({
|
|
319
339
|
from: data.length || vlen
|
|
320
340
|
});
|
|
321
|
-
}
|
|
341
|
+
};
|
|
322
342
|
/**
|
|
323
343
|
* Push a rectangle to the data buffer.
|
|
324
344
|
* @private
|
|
325
345
|
*/
|
|
326
|
-
function
|
|
346
|
+
var pushRect = function (x, y, w, h, color) {
|
|
327
347
|
pushColor(color);
|
|
328
348
|
vertice(x + w, y);
|
|
329
349
|
pushColor(color);
|
|
@@ -336,7 +356,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
336
356
|
vertice(x + w, y + h);
|
|
337
357
|
pushColor(color);
|
|
338
358
|
vertice(x + w, y);
|
|
339
|
-
}
|
|
359
|
+
};
|
|
340
360
|
// Create the first segment
|
|
341
361
|
beginSegment();
|
|
342
362
|
// Special case for point shapes
|
|
@@ -345,7 +365,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
345
365
|
// translated, so we skip the shader translation.
|
|
346
366
|
inst.skipTranslation = true;
|
|
347
367
|
// Force triangle draw mode
|
|
348
|
-
inst.drawMode = '
|
|
368
|
+
inst.drawMode = 'TRIANGLES';
|
|
349
369
|
// We don't have a z component in the shader, so we need to sort.
|
|
350
370
|
if (points[0].node && points[0].node.levelDynamic) {
|
|
351
371
|
points.sort(function (a, b) {
|
|
@@ -363,12 +383,13 @@ function GLRenderer(postRenderCallback) {
|
|
|
363
383
|
});
|
|
364
384
|
}
|
|
365
385
|
points.forEach(function (point) {
|
|
366
|
-
var plotY = point.plotY
|
|
386
|
+
var plotY = point.plotY;
|
|
387
|
+
var swidth, pointAttr;
|
|
367
388
|
if (typeof plotY !== 'undefined' &&
|
|
368
389
|
!isNaN(plotY) &&
|
|
369
390
|
point.y !== null &&
|
|
370
391
|
point.shapeArgs) {
|
|
371
|
-
var _a = point.shapeArgs, _b = _a.x, x_1 = _b === void 0 ? 0 : _b, _c = _a.y, y_1 = _c === void 0 ? 0 : _c, _d = _a.width,
|
|
392
|
+
var _a = point.shapeArgs, _b = _a.x, x_1 = _b === void 0 ? 0 : _b, _c = _a.y, y_1 = _c === void 0 ? 0 : _c, _d = _a.width, width = _d === void 0 ? 0 : _d, _e = _a.height, height = _e === void 0 ? 0 : _e;
|
|
372
393
|
pointAttr = chart.styledMode ?
|
|
373
394
|
point.series
|
|
374
395
|
.colorAttribs(point) :
|
|
@@ -392,7 +413,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
392
413
|
scolor[0] /= 255.0;
|
|
393
414
|
scolor[1] /= 255.0;
|
|
394
415
|
scolor[2] /= 255.0;
|
|
395
|
-
pushRect(x_1, y_1,
|
|
416
|
+
pushRect(x_1, y_1, width, height, scolor);
|
|
396
417
|
swidth /= 2;
|
|
397
418
|
}
|
|
398
419
|
// } else {
|
|
@@ -406,10 +427,10 @@ function GLRenderer(postRenderCallback) {
|
|
|
406
427
|
if (series.is('heatmap') && chart.inverted) {
|
|
407
428
|
x_1 = xAxis.len - x_1;
|
|
408
429
|
y_1 = yAxis.len - y_1;
|
|
409
|
-
|
|
410
|
-
|
|
430
|
+
width = -width;
|
|
431
|
+
height = -height;
|
|
411
432
|
}
|
|
412
|
-
pushRect(x_1 + swidth, y_1 + swidth,
|
|
433
|
+
pushRect(x_1 + swidth, y_1 + swidth, width - (swidth * 2), height - (swidth * 2), pcolor);
|
|
413
434
|
}
|
|
414
435
|
});
|
|
415
436
|
closeSegment();
|
|
@@ -587,7 +608,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
587
608
|
// If this is rendered as a point, just skip drawing it
|
|
588
609
|
// entirely, as we're not dependandt on lineTo'ing to it.
|
|
589
610
|
// See #8197
|
|
590
|
-
if (inst.drawMode === '
|
|
611
|
+
if (inst.drawMode === 'POINTS') {
|
|
591
612
|
return "continue";
|
|
592
613
|
}
|
|
593
614
|
// Having this here will clamp markers and make the angle
|
|
@@ -667,7 +688,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
667
688
|
firstPoint = false;
|
|
668
689
|
};
|
|
669
690
|
// Extract color axis
|
|
670
|
-
// (chart.axes || []).forEach(
|
|
691
|
+
// (chart.axes || []).forEach((a): void => {
|
|
671
692
|
// if (H.ColorAxis && a instanceof H.ColorAxis) {
|
|
672
693
|
// caxis = a;
|
|
673
694
|
// }
|
|
@@ -680,10 +701,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
680
701
|
if (settings.debug.showSkipSummary) {
|
|
681
702
|
console.log('skipped points:', skipped); // eslint-disable-line no-console
|
|
682
703
|
}
|
|
683
|
-
|
|
684
|
-
* @private
|
|
685
|
-
*/
|
|
686
|
-
function pushSupplementPoint(point, atStart) {
|
|
704
|
+
var pushSupplementPoint = function (point, atStart) {
|
|
687
705
|
if (!settings.useGPUTranslations) {
|
|
688
706
|
inst.skipTranslation = true;
|
|
689
707
|
point.x = xAxis.toPixels(point.x, true);
|
|
@@ -692,11 +710,11 @@ function GLRenderer(postRenderCallback) {
|
|
|
692
710
|
// We should only do this for lines, and we should ignore markers
|
|
693
711
|
// since there's no point here that would have a marker.
|
|
694
712
|
if (atStart) {
|
|
695
|
-
data = [point.x, point.y, 0, 2].concat(data);
|
|
713
|
+
_this.data = [point.x, point.y, 0, 2].concat(_this.data);
|
|
696
714
|
return;
|
|
697
715
|
}
|
|
698
716
|
vertice(point.x, point.y, 0, 2);
|
|
699
|
-
}
|
|
717
|
+
};
|
|
700
718
|
if (!hadPoints &&
|
|
701
719
|
connectNulls !== false &&
|
|
702
720
|
series.drawMode === 'line_strip') {
|
|
@@ -709,14 +727,16 @@ function GLRenderer(postRenderCallback) {
|
|
|
709
727
|
}
|
|
710
728
|
}
|
|
711
729
|
closeSegment();
|
|
712
|
-
}
|
|
730
|
+
};
|
|
713
731
|
/**
|
|
714
732
|
* Push a series to the renderer
|
|
715
733
|
* If we render the series immediatly, we don't have to loop later
|
|
716
734
|
* @private
|
|
717
|
-
* @param
|
|
735
|
+
* @param {Highchart.Series} s
|
|
736
|
+
* The series to push.
|
|
718
737
|
*/
|
|
719
|
-
function
|
|
738
|
+
WGLRenderer.prototype.pushSeries = function (s) {
|
|
739
|
+
var markerData = this.markerData, series = this.series, settings = this.settings;
|
|
720
740
|
if (series.length > 0) {
|
|
721
741
|
// series[series.length - 1].to = data.length;
|
|
722
742
|
if (series[series.length - 1].hasMarkers) {
|
|
@@ -741,19 +761,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
741
761
|
s.options.marker.enabled !== false :
|
|
742
762
|
false,
|
|
743
763
|
showMarkers: true,
|
|
744
|
-
drawMode:
|
|
745
|
-
'area': 'lines',
|
|
746
|
-
'arearange': 'lines',
|
|
747
|
-
'areaspline': 'lines',
|
|
748
|
-
'column': 'lines',
|
|
749
|
-
'columnrange': 'lines',
|
|
750
|
-
'bar': 'lines',
|
|
751
|
-
'line': 'line_strip',
|
|
752
|
-
'scatter': 'points',
|
|
753
|
-
'heatmap': 'triangles',
|
|
754
|
-
'treemap': 'triangles',
|
|
755
|
-
'bubble': 'points'
|
|
756
|
-
}[s.type] || 'line_strip'
|
|
764
|
+
drawMode: WGLDrawMode[s.type] || 'LINE_STRIP'
|
|
757
765
|
};
|
|
758
766
|
if (s.index >= series.length) {
|
|
759
767
|
series.push(obj);
|
|
@@ -762,35 +770,38 @@ function GLRenderer(postRenderCallback) {
|
|
|
762
770
|
series[s.index] = obj;
|
|
763
771
|
}
|
|
764
772
|
// Add the series data to our buffer(s)
|
|
765
|
-
pushSeriesData(s, obj);
|
|
773
|
+
this.pushSeriesData(s, obj);
|
|
766
774
|
if (settings.debug.timeSeriesProcessing) {
|
|
767
775
|
console.timeEnd('building ' + s.type + ' series'); // eslint-disable-line no-console
|
|
768
776
|
}
|
|
769
|
-
}
|
|
777
|
+
};
|
|
770
778
|
/**
|
|
771
779
|
* Flush the renderer.
|
|
772
780
|
* This removes pushed series and vertices.
|
|
773
781
|
* Should be called after clearing and before rendering
|
|
774
782
|
* @private
|
|
775
783
|
*/
|
|
776
|
-
function
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
markerData = [];
|
|
784
|
+
WGLRenderer.prototype.flush = function () {
|
|
785
|
+
var vbuffer = this.vbuffer;
|
|
786
|
+
this.data = [];
|
|
787
|
+
this.markerData = [];
|
|
788
|
+
this.series = [];
|
|
780
789
|
if (vbuffer) {
|
|
781
790
|
vbuffer.destroy();
|
|
782
791
|
}
|
|
783
|
-
}
|
|
792
|
+
};
|
|
784
793
|
/**
|
|
785
794
|
* Pass x-axis to shader
|
|
786
795
|
* @private
|
|
787
|
-
* @param
|
|
796
|
+
* @param {Highcharts.Axis} axis
|
|
797
|
+
* The x-axis.
|
|
788
798
|
*/
|
|
789
|
-
function
|
|
799
|
+
WGLRenderer.prototype.setXAxis = function (axis) {
|
|
800
|
+
var shader = this.shader;
|
|
790
801
|
if (!shader) {
|
|
791
802
|
return;
|
|
792
803
|
}
|
|
793
|
-
var pixelRatio = getPixelRatio();
|
|
804
|
+
var pixelRatio = this.getPixelRatio();
|
|
794
805
|
shader.setUniform('xAxisTrans', axis.transA * pixelRatio);
|
|
795
806
|
shader.setUniform('xAxisMin', axis.min);
|
|
796
807
|
shader.setUniform('xAxisMinPad', axis.minPixelPadding * pixelRatio);
|
|
@@ -800,17 +811,19 @@ function GLRenderer(postRenderCallback) {
|
|
|
800
811
|
shader.setUniform('xAxisCVSCoord', (!axis.horiz));
|
|
801
812
|
shader.setUniform('xAxisIsLog', (!!axis.logarithmic));
|
|
802
813
|
shader.setUniform('xAxisReversed', (!!axis.reversed));
|
|
803
|
-
}
|
|
814
|
+
};
|
|
804
815
|
/**
|
|
805
816
|
* Pass y-axis to shader
|
|
806
817
|
* @private
|
|
807
|
-
* @param
|
|
818
|
+
* @param {Highcharts.Axis} axis
|
|
819
|
+
* The y-axis.
|
|
808
820
|
*/
|
|
809
|
-
function
|
|
821
|
+
WGLRenderer.prototype.setYAxis = function (axis) {
|
|
822
|
+
var shader = this.shader;
|
|
810
823
|
if (!shader) {
|
|
811
824
|
return;
|
|
812
825
|
}
|
|
813
|
-
var pixelRatio = getPixelRatio();
|
|
826
|
+
var pixelRatio = this.getPixelRatio();
|
|
814
827
|
shader.setUniform('yAxisTrans', axis.transA * pixelRatio);
|
|
815
828
|
shader.setUniform('yAxisMin', axis.min);
|
|
816
829
|
shader.setUniform('yAxisMinPad', axis.minPixelPadding * pixelRatio);
|
|
@@ -820,32 +833,41 @@ function GLRenderer(postRenderCallback) {
|
|
|
820
833
|
shader.setUniform('yAxisCVSCoord', (!axis.horiz));
|
|
821
834
|
shader.setUniform('yAxisIsLog', (!!axis.logarithmic));
|
|
822
835
|
shader.setUniform('yAxisReversed', (!!axis.reversed));
|
|
823
|
-
}
|
|
836
|
+
};
|
|
824
837
|
/**
|
|
825
838
|
* Set the translation threshold
|
|
826
839
|
* @private
|
|
827
|
-
* @param
|
|
828
|
-
*
|
|
840
|
+
* @param {boolean} has
|
|
841
|
+
* Has threshold flag.
|
|
842
|
+
* @param {numbe} translation
|
|
843
|
+
* The threshold.
|
|
829
844
|
*/
|
|
830
|
-
function
|
|
845
|
+
WGLRenderer.prototype.setThreshold = function (has, translation) {
|
|
846
|
+
var shader = this.shader;
|
|
847
|
+
if (!shader) {
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
831
850
|
shader.setUniform('hasThreshold', has);
|
|
832
851
|
shader.setUniform('translatedThreshold', translation);
|
|
833
|
-
}
|
|
852
|
+
};
|
|
834
853
|
/**
|
|
835
854
|
* Render the data
|
|
836
855
|
* This renders all pushed series.
|
|
837
856
|
* @private
|
|
838
857
|
*/
|
|
839
|
-
function
|
|
840
|
-
var
|
|
858
|
+
WGLRenderer.prototype.renderChart = function (chart) {
|
|
859
|
+
var _this = this;
|
|
860
|
+
var gl = this.gl, settings = this.settings, shader = this.shader, vbuffer = this.vbuffer;
|
|
861
|
+
var pixelRatio = this.getPixelRatio();
|
|
841
862
|
if (chart) {
|
|
842
|
-
width = chart.chartWidth * pixelRatio;
|
|
843
|
-
height = chart.chartHeight * pixelRatio;
|
|
863
|
+
this.width = chart.chartWidth * pixelRatio;
|
|
864
|
+
this.height = chart.chartHeight * pixelRatio;
|
|
844
865
|
}
|
|
845
866
|
else {
|
|
846
867
|
return false;
|
|
847
868
|
}
|
|
848
|
-
|
|
869
|
+
var height = this.height, width = this.width;
|
|
870
|
+
if (!gl || !shader || !width || !height) {
|
|
849
871
|
return false;
|
|
850
872
|
}
|
|
851
873
|
if (settings.debug.timeRendering) {
|
|
@@ -855,22 +877,25 @@ function GLRenderer(postRenderCallback) {
|
|
|
855
877
|
gl.canvas.height = height;
|
|
856
878
|
shader.bind();
|
|
857
879
|
gl.viewport(0, 0, width, height);
|
|
858
|
-
shader.setPMatrix(orthoMatrix(width, height));
|
|
880
|
+
shader.setPMatrix(WGLRenderer.orthoMatrix(width, height));
|
|
859
881
|
if (settings.lineWidth > 1 && !H.isMS) {
|
|
860
882
|
gl.lineWidth(settings.lineWidth);
|
|
861
883
|
}
|
|
862
|
-
vbuffer
|
|
863
|
-
|
|
884
|
+
if (vbuffer) {
|
|
885
|
+
vbuffer.build(this.data, 'aVertexPosition', 4);
|
|
886
|
+
vbuffer.bind();
|
|
887
|
+
}
|
|
864
888
|
shader.setInverted(chart.inverted);
|
|
865
889
|
// Render the series
|
|
866
|
-
series.forEach(function (s, si) {
|
|
867
|
-
var options = s.series.options, shapeOptions = options.marker,
|
|
890
|
+
this.series.forEach(function (s, si) {
|
|
891
|
+
var options = s.series.options, shapeOptions = options.marker, lineWidth = (typeof options.lineWidth !== 'undefined' ?
|
|
868
892
|
options.lineWidth :
|
|
869
|
-
1), threshold = options.threshold, hasThreshold = isNumber(threshold), yBottom = s.series.yAxis.getThreshold(threshold), translatedThreshold = yBottom,
|
|
893
|
+
1), threshold = options.threshold, hasThreshold = isNumber(threshold), yBottom = s.series.yAxis.getThreshold(threshold), translatedThreshold = yBottom, showMarkers = pick(options.marker ? options.marker.enabled : null, s.series.xAxis.isRadial ? true : null, s.series.closestPointRangePx >
|
|
870
894
|
2 * ((options.marker ?
|
|
871
895
|
options.marker.radius :
|
|
872
|
-
10) || 10)),
|
|
873
|
-
s.series.symbol] || textureHandles.circle
|
|
896
|
+
10) || 10)), shapeTexture = _this.textureHandles[(shapeOptions && shapeOptions.symbol) ||
|
|
897
|
+
s.series.symbol] || _this.textureHandles.circle;
|
|
898
|
+
var sindex, cbuffer, fillColor, scolor = [];
|
|
874
899
|
if (s.segments.length === 0 ||
|
|
875
900
|
s.segments[0].from === s.segments[0].to) {
|
|
876
901
|
return;
|
|
@@ -885,7 +910,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
885
910
|
}
|
|
886
911
|
else {
|
|
887
912
|
fillColor =
|
|
888
|
-
(s.drawMode === '
|
|
913
|
+
(s.drawMode === 'POINTS' && // #14260
|
|
889
914
|
s.series.pointAttribs &&
|
|
890
915
|
s.series.pointAttribs().fill) ||
|
|
891
916
|
s.series.color;
|
|
@@ -901,7 +926,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
901
926
|
scolor[3] = 1.0;
|
|
902
927
|
}
|
|
903
928
|
// This is very much temporary
|
|
904
|
-
if (s.drawMode === '
|
|
929
|
+
if (s.drawMode === 'LINES' &&
|
|
905
930
|
settings.useAlpha &&
|
|
906
931
|
scolor[3] < 1) {
|
|
907
932
|
scolor[3] /= 10;
|
|
@@ -928,21 +953,21 @@ function GLRenderer(postRenderCallback) {
|
|
|
928
953
|
// If there are entries in the colorData buffer, build and bind it.
|
|
929
954
|
if (s.colorData.length > 0) {
|
|
930
955
|
shader.setUniform('hasColor', 1.0);
|
|
931
|
-
cbuffer =
|
|
956
|
+
cbuffer = new WGLVertexBuffer(gl, shader);
|
|
932
957
|
cbuffer.build(s.colorData, 'aColor', 4);
|
|
933
958
|
cbuffer.bind();
|
|
934
959
|
}
|
|
935
960
|
else {
|
|
936
961
|
// #15869, a buffer with fewer points might already be bound by
|
|
937
962
|
// a different series/chart causing out of range errors
|
|
938
|
-
gl.disableVertexAttribArray(gl.getAttribLocation(shader.
|
|
963
|
+
gl.disableVertexAttribArray(gl.getAttribLocation(shader.getProgram(), 'aColor'));
|
|
939
964
|
}
|
|
940
965
|
// Set series specific uniforms
|
|
941
966
|
shader.setColor(scolor);
|
|
942
|
-
setXAxis(s.series.xAxis);
|
|
943
|
-
setYAxis(s.series.yAxis);
|
|
944
|
-
setThreshold(hasThreshold, translatedThreshold);
|
|
945
|
-
if (s.drawMode === '
|
|
967
|
+
_this.setXAxis(s.series.xAxis);
|
|
968
|
+
_this.setYAxis(s.series.yAxis);
|
|
969
|
+
_this.setThreshold(hasThreshold, translatedThreshold);
|
|
970
|
+
if (s.drawMode === 'POINTS') {
|
|
946
971
|
shader.setPointSize(pick(options.marker && options.marker.radius, 0.5) * 2 * pixelRatio);
|
|
947
972
|
}
|
|
948
973
|
// If set to true, the toPixels translations in the shader
|
|
@@ -952,9 +977,12 @@ function GLRenderer(postRenderCallback) {
|
|
|
952
977
|
shader.setBubbleUniforms(s.series, s.zMin, s.zMax, pixelRatio);
|
|
953
978
|
}
|
|
954
979
|
shader.setDrawAsCircle(asCircle[s.series.type] || false);
|
|
980
|
+
if (!vbuffer) {
|
|
981
|
+
return;
|
|
982
|
+
}
|
|
955
983
|
// Do the actual rendering
|
|
956
984
|
// If the line width is < 0, skip rendering of the lines. See #7833.
|
|
957
|
-
if (lineWidth > 0 || s.drawMode !== '
|
|
985
|
+
if (lineWidth > 0 || s.drawMode !== 'LINE_STRIP') {
|
|
958
986
|
for (sindex = 0; sindex < s.segments.length; sindex++) {
|
|
959
987
|
vbuffer.render(s.segments[sindex].from, s.segments[sindex].to, s.drawMode);
|
|
960
988
|
}
|
|
@@ -970,76 +998,72 @@ function GLRenderer(postRenderCallback) {
|
|
|
970
998
|
if (settings.debug.timeRendering) {
|
|
971
999
|
console.timeEnd('gl rendering'); // eslint-disable-line no-console
|
|
972
1000
|
}
|
|
973
|
-
if (postRenderCallback) {
|
|
974
|
-
postRenderCallback();
|
|
1001
|
+
if (this.postRenderCallback) {
|
|
1002
|
+
this.postRenderCallback(this);
|
|
975
1003
|
}
|
|
976
|
-
flush();
|
|
977
|
-
}
|
|
1004
|
+
this.flush();
|
|
1005
|
+
};
|
|
978
1006
|
/**
|
|
979
1007
|
* Render the data when ready
|
|
980
1008
|
* @private
|
|
981
1009
|
*/
|
|
982
|
-
function
|
|
983
|
-
|
|
1010
|
+
WGLRenderer.prototype.render = function (chart) {
|
|
1011
|
+
var _this = this;
|
|
1012
|
+
this.clear();
|
|
984
1013
|
if (chart.renderer.forExport) {
|
|
985
|
-
return
|
|
1014
|
+
return this.renderChart(chart);
|
|
986
1015
|
}
|
|
987
|
-
if (isInited) {
|
|
988
|
-
|
|
1016
|
+
if (this.isInited) {
|
|
1017
|
+
this.renderChart(chart);
|
|
989
1018
|
}
|
|
990
1019
|
else {
|
|
991
1020
|
setTimeout(function () {
|
|
992
|
-
|
|
1021
|
+
_this.render(chart);
|
|
993
1022
|
}, 1);
|
|
994
1023
|
}
|
|
995
|
-
}
|
|
1024
|
+
};
|
|
996
1025
|
/**
|
|
997
1026
|
* Set the viewport size in pixels
|
|
998
1027
|
* Creates an orthographic perspective matrix and applies it.
|
|
999
1028
|
* @private
|
|
1000
|
-
* @param w {Integer} - the width of the viewport
|
|
1001
|
-
* @param h {Integer} - the height of the viewport
|
|
1002
1029
|
*/
|
|
1003
|
-
function
|
|
1030
|
+
WGLRenderer.prototype.setSize = function (width, height) {
|
|
1031
|
+
var shader = this.shader;
|
|
1004
1032
|
// Skip if there's no change, or if we have no valid shader
|
|
1005
|
-
if ((width ===
|
|
1033
|
+
if (!shader || (this.width === width && this.height === height)) {
|
|
1006
1034
|
return;
|
|
1007
1035
|
}
|
|
1008
|
-
width =
|
|
1009
|
-
height =
|
|
1036
|
+
this.width = width;
|
|
1037
|
+
this.height = height;
|
|
1010
1038
|
shader.bind();
|
|
1011
|
-
shader.setPMatrix(orthoMatrix(width, height));
|
|
1012
|
-
}
|
|
1039
|
+
shader.setPMatrix(WGLRenderer.orthoMatrix(width, height));
|
|
1040
|
+
};
|
|
1013
1041
|
/**
|
|
1014
1042
|
* Init OpenGL
|
|
1015
1043
|
* @private
|
|
1016
|
-
* @param canvas {HTMLCanvas} - the canvas to render to
|
|
1017
1044
|
*/
|
|
1018
|
-
function
|
|
1019
|
-
var
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
'moz-webgl',
|
|
1023
|
-
'webkit-3d'
|
|
1024
|
-
];
|
|
1025
|
-
isInited = false;
|
|
1045
|
+
WGLRenderer.prototype.init = function (canvas, noFlush) {
|
|
1046
|
+
var _this = this;
|
|
1047
|
+
var settings = this.settings;
|
|
1048
|
+
this.isInited = false;
|
|
1026
1049
|
if (!canvas) {
|
|
1027
1050
|
return false;
|
|
1028
1051
|
}
|
|
1029
1052
|
if (settings.debug.timeSetup) {
|
|
1030
1053
|
console.time('gl setup'); // eslint-disable-line no-console
|
|
1031
1054
|
}
|
|
1032
|
-
for (; i < contexts.length; i
|
|
1033
|
-
gl = canvas.getContext(contexts[i], {
|
|
1055
|
+
for (var i = 0; i < contexts.length; ++i) {
|
|
1056
|
+
this.gl = canvas.getContext(contexts[i], {
|
|
1034
1057
|
// premultipliedAlpha: false
|
|
1035
1058
|
});
|
|
1036
|
-
if (gl) {
|
|
1059
|
+
if (this.gl) {
|
|
1037
1060
|
break;
|
|
1038
1061
|
}
|
|
1039
1062
|
}
|
|
1063
|
+
var gl = this.gl;
|
|
1040
1064
|
if (gl) {
|
|
1041
1065
|
if (!noFlush) {
|
|
1042
|
-
flush();
|
|
1066
|
+
this.flush();
|
|
1043
1067
|
}
|
|
1044
1068
|
}
|
|
1045
1069
|
else {
|
|
@@ -1051,22 +1075,19 @@ function GLRenderer(postRenderCallback) {
|
|
|
1051
1075
|
gl.disable(gl.DEPTH_TEST);
|
|
1052
1076
|
// gl.depthMask(gl.FALSE);
|
|
1053
1077
|
gl.depthFunc(gl.LESS);
|
|
1054
|
-
shader =
|
|
1078
|
+
var shader = this.shader = new WGLShader(gl);
|
|
1055
1079
|
if (!shader) {
|
|
1056
1080
|
// We need to abort, there's no shader context
|
|
1057
1081
|
return false;
|
|
1058
1082
|
}
|
|
1059
|
-
vbuffer =
|
|
1060
|
-
|
|
1061
|
-
* @private
|
|
1062
|
-
*/
|
|
1063
|
-
function createTexture(name, fn) {
|
|
1083
|
+
this.vbuffer = new WGLVertexBuffer(gl, shader);
|
|
1084
|
+
var createTexture = function (name, fn) {
|
|
1064
1085
|
var props = {
|
|
1065
1086
|
isReady: false,
|
|
1066
1087
|
texture: doc.createElement('canvas'),
|
|
1067
1088
|
handle: gl.createTexture()
|
|
1068
1089
|
}, ctx = props.texture.getContext('2d');
|
|
1069
|
-
textureHandles[name] = props;
|
|
1090
|
+
_this.textureHandles[name] = props;
|
|
1070
1091
|
props.texture.width = 512;
|
|
1071
1092
|
props.texture.height = 512;
|
|
1072
1093
|
ctx.mozImageSmoothingEnabled = false;
|
|
@@ -1092,7 +1113,7 @@ function GLRenderer(postRenderCallback) {
|
|
|
1092
1113
|
catch (e) {
|
|
1093
1114
|
// silent error
|
|
1094
1115
|
}
|
|
1095
|
-
}
|
|
1116
|
+
};
|
|
1096
1117
|
// Circle shape
|
|
1097
1118
|
createTexture('circle', function (ctx) {
|
|
1098
1119
|
ctx.beginPath();
|
|
@@ -1132,39 +1153,27 @@ function GLRenderer(postRenderCallback) {
|
|
|
1132
1153
|
ctx.lineTo(0, 0);
|
|
1133
1154
|
ctx.fill();
|
|
1134
1155
|
});
|
|
1135
|
-
isInited = true;
|
|
1156
|
+
this.isInited = true;
|
|
1136
1157
|
if (settings.debug.timeSetup) {
|
|
1137
1158
|
console.timeEnd('gl setup'); // eslint-disable-line no-console
|
|
1138
1159
|
}
|
|
1139
1160
|
return true;
|
|
1140
|
-
}
|
|
1141
|
-
/**
|
|
1142
|
-
* Check if we have a valid OGL context
|
|
1143
|
-
* @private
|
|
1144
|
-
* @return {boolean}
|
|
1145
|
-
* true if the context is valid
|
|
1146
|
-
*/
|
|
1147
|
-
function valid() {
|
|
1148
|
-
return gl !== false;
|
|
1149
|
-
}
|
|
1150
|
-
/**
|
|
1151
|
-
* Check if the renderer has been initialized
|
|
1152
|
-
* @private
|
|
1153
|
-
* @return {boolean}
|
|
1154
|
-
* true if it has, false if not
|
|
1155
|
-
*/
|
|
1156
|
-
function inited() {
|
|
1157
|
-
return isInited;
|
|
1158
|
-
}
|
|
1161
|
+
};
|
|
1159
1162
|
/**
|
|
1160
1163
|
* @private
|
|
1164
|
+
* @todo use it
|
|
1161
1165
|
*/
|
|
1162
|
-
function
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
+
WGLRenderer.prototype.destroy = function () {
|
|
1167
|
+
var gl = this.gl, shader = this.shader, vbuffer = this.vbuffer;
|
|
1168
|
+
this.flush();
|
|
1169
|
+
if (vbuffer) {
|
|
1170
|
+
vbuffer.destroy();
|
|
1171
|
+
}
|
|
1172
|
+
if (shader) {
|
|
1173
|
+
shader.destroy();
|
|
1174
|
+
}
|
|
1166
1175
|
if (gl) {
|
|
1167
|
-
objectEach(textureHandles, function (texture) {
|
|
1176
|
+
objectEach(this.textureHandles, function (texture) {
|
|
1168
1177
|
if (texture.handle) {
|
|
1169
1178
|
gl.deleteTexture(texture.handle);
|
|
1170
1179
|
}
|
|
@@ -1172,28 +1181,12 @@ function GLRenderer(postRenderCallback) {
|
|
|
1172
1181
|
gl.canvas.width = 1;
|
|
1173
1182
|
gl.canvas.height = 1;
|
|
1174
1183
|
}
|
|
1175
|
-
}
|
|
1176
|
-
// /////////////////////////////////////////////////////////////////////////
|
|
1177
|
-
exports = {
|
|
1178
|
-
allocateBufferForSingleSeries: allocateBufferForSingleSeries,
|
|
1179
|
-
pushSeries: pushSeries,
|
|
1180
|
-
setSize: setSize,
|
|
1181
|
-
inited: inited,
|
|
1182
|
-
setThreshold: setThreshold,
|
|
1183
|
-
init: init,
|
|
1184
|
-
render: renderWhenReady,
|
|
1185
|
-
settings: settings,
|
|
1186
|
-
valid: valid,
|
|
1187
|
-
clear: clear,
|
|
1188
|
-
flush: flush,
|
|
1189
|
-
setXAxis: setXAxis,
|
|
1190
|
-
setYAxis: setYAxis,
|
|
1191
|
-
data: data,
|
|
1192
|
-
gl: getGL,
|
|
1193
|
-
allocateBuffer: allocateBuffer,
|
|
1194
|
-
destroy: destroy,
|
|
1195
|
-
setOptions: setOptions
|
|
1196
1184
|
};
|
|
1197
|
-
return
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1185
|
+
return WGLRenderer;
|
|
1186
|
+
}());
|
|
1187
|
+
/* *
|
|
1188
|
+
*
|
|
1189
|
+
* Default Export
|
|
1190
|
+
*
|
|
1191
|
+
* */
|
|
1192
|
+
export default WGLRenderer;
|