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
|
@@ -22,492 +22,58 @@ import U from '../Core/Utilities.js';
|
|
|
22
22
|
import D from '../Core/DefaultOptions.js';
|
|
23
23
|
var getOptions = D.getOptions;
|
|
24
24
|
var addEvent = U.addEvent, defined = U.defined, extend = U.extend, fireEvent = U.fireEvent, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pick = U.pick, splat = U.splat;
|
|
25
|
-
|
|
26
|
-
* Callback function to modify the CSV before parsing it by the data module.
|
|
27
|
-
*
|
|
28
|
-
* @callback Highcharts.DataBeforeParseCallbackFunction
|
|
29
|
-
*
|
|
30
|
-
* @param {string} csv
|
|
31
|
-
* The CSV to modify.
|
|
32
|
-
*
|
|
33
|
-
* @return {string}
|
|
34
|
-
* The CSV to parse.
|
|
35
|
-
*/
|
|
36
|
-
/**
|
|
37
|
-
* Callback function that gets called after parsing data.
|
|
38
|
-
*
|
|
39
|
-
* @callback Highcharts.DataCompleteCallbackFunction
|
|
40
|
-
*
|
|
41
|
-
* @param {Highcharts.Options} chartOptions
|
|
42
|
-
* The chart options that were used.
|
|
43
|
-
*/
|
|
44
|
-
/**
|
|
45
|
-
* Callback function that returns the correspondig Date object to a match.
|
|
46
|
-
*
|
|
47
|
-
* @callback Highcharts.DataDateFormatCallbackFunction
|
|
48
|
-
*
|
|
49
|
-
* @param {Array<number>} match
|
|
50
|
-
*
|
|
51
|
-
* @return {number}
|
|
52
|
-
*/
|
|
53
|
-
/**
|
|
54
|
-
* Structure for alternative date formats to parse.
|
|
55
|
-
*
|
|
56
|
-
* @interface Highcharts.DataDateFormatObject
|
|
57
|
-
*/ /**
|
|
58
|
-
* @name Highcharts.DataDateFormatObject#alternative
|
|
59
|
-
* @type {string|undefined}
|
|
60
|
-
*/ /**
|
|
61
|
-
* @name Highcharts.DataDateFormatObject#parser
|
|
62
|
-
* @type {Highcharts.DataDateFormatCallbackFunction}
|
|
63
|
-
*/ /**
|
|
64
|
-
* @name Highcharts.DataDateFormatObject#regex
|
|
65
|
-
* @type {global.RegExp}
|
|
66
|
-
*/
|
|
67
|
-
/**
|
|
68
|
-
* Possible types for a data item in a column or row.
|
|
69
|
-
*
|
|
70
|
-
* @typedef {number|string|null} Highcharts.DataValueType
|
|
71
|
-
*/
|
|
72
|
-
/**
|
|
73
|
-
* Callback function to parse string representations of dates into
|
|
74
|
-
* JavaScript timestamps (milliseconds since 1.1.1970).
|
|
75
|
-
*
|
|
76
|
-
* @callback Highcharts.DataParseDateCallbackFunction
|
|
77
|
-
*
|
|
78
|
-
* @param {string} dateValue
|
|
79
|
-
*
|
|
80
|
-
* @return {number}
|
|
81
|
-
* Timestamp (milliseconds since 1.1.1970) as integer for Date class.
|
|
82
|
-
*/
|
|
83
|
-
/**
|
|
84
|
-
* Callback function to access the parsed columns, the two-dimentional
|
|
85
|
-
* input data array directly, before they are interpreted into series
|
|
86
|
-
* data and categories.
|
|
87
|
-
*
|
|
88
|
-
* @callback Highcharts.DataParsedCallbackFunction
|
|
89
|
-
*
|
|
90
|
-
* @param {Array<Array<*>>} columns
|
|
91
|
-
* The parsed columns by the data module.
|
|
92
|
-
*
|
|
93
|
-
* @return {boolean|undefined}
|
|
94
|
-
* Return `false` to stop completion, or call `this.complete()` to
|
|
95
|
-
* continue async.
|
|
96
|
-
*/
|
|
97
|
-
/**
|
|
98
|
-
* The Data module provides a simplified interface for adding data to
|
|
99
|
-
* a chart from sources like CVS, HTML tables or grid views. See also
|
|
100
|
-
* the [tutorial article on the Data module](
|
|
101
|
-
* https://www.highcharts.com/docs/working-with-data/data-module).
|
|
102
|
-
*
|
|
103
|
-
* It requires the `modules/data.js` file to be loaded.
|
|
104
|
-
*
|
|
105
|
-
* Please note that the default way of adding data in Highcharts, without
|
|
106
|
-
* the need of a module, is through the [series._type_.data](#series.line.data)
|
|
107
|
-
* option.
|
|
108
|
-
*
|
|
109
|
-
* @sample {highcharts} highcharts/demo/column-parsed/
|
|
110
|
-
* HTML table
|
|
111
|
-
* @sample {highcharts} highcharts/data/csv/
|
|
112
|
-
* CSV
|
|
113
|
-
*
|
|
114
|
-
* @since 4.0
|
|
115
|
-
* @requires modules/data
|
|
116
|
-
* @apioption data
|
|
117
|
-
*/
|
|
118
|
-
/**
|
|
119
|
-
* A callback function to modify the CSV before parsing it. Return the modified
|
|
120
|
-
* string.
|
|
121
|
-
*
|
|
122
|
-
* @sample {highcharts} highcharts/demo/line-ajax/
|
|
123
|
-
* Modify CSV before parse
|
|
124
|
-
*
|
|
125
|
-
* @type {Highcharts.DataBeforeParseCallbackFunction}
|
|
126
|
-
* @since 6.1
|
|
127
|
-
* @apioption data.beforeParse
|
|
128
|
-
*/
|
|
129
|
-
/**
|
|
130
|
-
* A two-dimensional array representing the input data on tabular form.
|
|
131
|
-
* This input can be used when the data is already parsed, for example
|
|
132
|
-
* from a grid view component. Each cell can be a string or number.
|
|
133
|
-
* If not switchRowsAndColumns is set, the columns are interpreted as
|
|
134
|
-
* series.
|
|
135
|
-
*
|
|
136
|
-
* @see [data.rows](#data.rows)
|
|
137
|
-
*
|
|
138
|
-
* @sample {highcharts} highcharts/data/columns/
|
|
139
|
-
* Columns
|
|
140
|
-
*
|
|
141
|
-
* @type {Array<Array<Highcharts.DataValueType>>}
|
|
142
|
-
* @since 4.0
|
|
143
|
-
* @apioption data.columns
|
|
144
|
-
*/
|
|
145
|
-
/**
|
|
146
|
-
* The callback that is evaluated when the data is finished loading,
|
|
147
|
-
* optionally from an external source, and parsed. The first argument
|
|
148
|
-
* passed is a finished chart options object, containing the series.
|
|
149
|
-
* These options can be extended with additional options and passed
|
|
150
|
-
* directly to the chart constructor.
|
|
151
|
-
*
|
|
152
|
-
* @see [data.parsed](#data.parsed)
|
|
153
|
-
*
|
|
154
|
-
* @sample {highcharts} highcharts/data/complete/
|
|
155
|
-
* Modify data on complete
|
|
156
|
-
*
|
|
157
|
-
* @type {Highcharts.DataCompleteCallbackFunction}
|
|
158
|
-
* @since 4.0
|
|
159
|
-
* @apioption data.complete
|
|
160
|
-
*/
|
|
161
|
-
/**
|
|
162
|
-
* A comma delimited string to be parsed. Related options are [startRow](
|
|
163
|
-
* #data.startRow), [endRow](#data.endRow), [startColumn](#data.startColumn)
|
|
164
|
-
* and [endColumn](#data.endColumn) to delimit what part of the table
|
|
165
|
-
* is used. The [lineDelimiter](#data.lineDelimiter) and [itemDelimiter](
|
|
166
|
-
* #data.itemDelimiter) options define the CSV delimiter formats.
|
|
167
|
-
*
|
|
168
|
-
* The built-in CSV parser doesn't support all flavours of CSV, so in
|
|
169
|
-
* some cases it may be necessary to use an external CSV parser. See
|
|
170
|
-
* [this example](https://jsfiddle.net/highcharts/u59176h4/) of parsing
|
|
171
|
-
* CSV through the MIT licensed [Papa Parse](http://papaparse.com/)
|
|
172
|
-
* library.
|
|
173
|
-
*
|
|
174
|
-
* @sample {highcharts} highcharts/data/csv/
|
|
175
|
-
* Data from CSV
|
|
176
|
-
*
|
|
177
|
-
* @type {string}
|
|
178
|
-
* @since 4.0
|
|
179
|
-
* @apioption data.csv
|
|
180
|
-
*/
|
|
181
|
-
/**
|
|
182
|
-
* Which of the predefined date formats in Date.prototype.dateFormats
|
|
183
|
-
* to use to parse date values. Defaults to a best guess based on what
|
|
184
|
-
* format gives valid and ordered dates. Valid options include: `YYYY/mm/dd`,
|
|
185
|
-
* `dd/mm/YYYY`, `mm/dd/YYYY`, `dd/mm/YY`, `mm/dd/YY`.
|
|
186
|
-
*
|
|
187
|
-
* @see [data.parseDate](#data.parseDate)
|
|
188
|
-
*
|
|
189
|
-
* @sample {highcharts} highcharts/data/dateformat-auto/
|
|
190
|
-
* Best guess date format
|
|
191
|
-
*
|
|
192
|
-
* @type {string}
|
|
193
|
-
* @since 4.0
|
|
194
|
-
* @validvalue ["YYYY/mm/dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY",
|
|
195
|
-
* "dd/mm/YY", "mm/dd/YY"]
|
|
196
|
-
* @apioption data.dateFormat
|
|
197
|
-
*/
|
|
198
|
-
/**
|
|
199
|
-
* The decimal point used for parsing numbers in the CSV.
|
|
200
|
-
*
|
|
201
|
-
* If both this and data.delimiter is set to `undefined`, the parser will
|
|
202
|
-
* attempt to deduce the decimal point automatically.
|
|
203
|
-
*
|
|
204
|
-
* @sample {highcharts} highcharts/data/delimiters/
|
|
205
|
-
* Comma as decimal point
|
|
206
|
-
*
|
|
207
|
-
* @type {string}
|
|
208
|
-
* @default .
|
|
209
|
-
* @since 4.1.0
|
|
210
|
-
* @apioption data.decimalPoint
|
|
211
|
-
*/
|
|
212
|
-
/**
|
|
213
|
-
* In tabular input data, the last column (indexed by 0) to use. Defaults
|
|
214
|
-
* to the last column containing data.
|
|
25
|
+
/* *
|
|
215
26
|
*
|
|
216
|
-
*
|
|
217
|
-
* Limited data
|
|
27
|
+
* Functions
|
|
218
28
|
*
|
|
219
|
-
*
|
|
220
|
-
* @since 4.0
|
|
221
|
-
* @apioption data.endColumn
|
|
222
|
-
*/
|
|
29
|
+
* */
|
|
223
30
|
/**
|
|
224
|
-
*
|
|
225
|
-
* to the last row containing data.
|
|
226
|
-
*
|
|
227
|
-
* @sample {highcharts} highcharts/data/start-end/
|
|
228
|
-
* Limited data
|
|
229
|
-
*
|
|
230
|
-
* @type {number}
|
|
231
|
-
* @since 4.0.4
|
|
232
|
-
* @apioption data.endRow
|
|
31
|
+
* @private
|
|
233
32
|
*/
|
|
234
|
-
|
|
235
|
-
|
|
33
|
+
function getFreeIndexes(numberOfColumns, seriesBuilders) {
|
|
34
|
+
var freeIndexes = [], freeIndexValues = [];
|
|
35
|
+
var s, i, referencedIndexes;
|
|
36
|
+
// Add all columns as free
|
|
37
|
+
for (i = 0; i < numberOfColumns; i = i + 1) {
|
|
38
|
+
freeIndexes.push(true);
|
|
39
|
+
}
|
|
40
|
+
// Loop all defined builders and remove their referenced columns
|
|
41
|
+
for (s = 0; s < seriesBuilders.length; s = s + 1) {
|
|
42
|
+
referencedIndexes = seriesBuilders[s].getReferencedColumnIndexes();
|
|
43
|
+
for (i = 0; i < referencedIndexes.length; i = i + 1) {
|
|
44
|
+
freeIndexes[referencedIndexes[i]] = false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Collect the values for the free indexes
|
|
48
|
+
for (i = 0; i < freeIndexes.length; i = i + 1) {
|
|
49
|
+
if (freeIndexes[i]) {
|
|
50
|
+
freeIndexValues.push(i);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return freeIndexValues;
|
|
54
|
+
}
|
|
55
|
+
function hasURLOption(options) {
|
|
56
|
+
return Boolean(options &&
|
|
57
|
+
(options.rowsURL || options.csvURL || options.columnsURL));
|
|
58
|
+
}
|
|
59
|
+
/* *
|
|
236
60
|
*
|
|
237
|
-
*
|
|
238
|
-
* Don't get series names from the CSV
|
|
239
|
-
* @sample {highstock} highcharts/data/start-end/
|
|
240
|
-
* Don't get series names from the CSV
|
|
61
|
+
* Class
|
|
241
62
|
*
|
|
242
|
-
*
|
|
243
|
-
* @default true
|
|
244
|
-
* @since 4.1.0
|
|
245
|
-
* @product highcharts highstock gantt
|
|
246
|
-
* @apioption data.firstRowAsNames
|
|
247
|
-
*/
|
|
63
|
+
* */
|
|
248
64
|
/**
|
|
249
|
-
* The
|
|
250
|
-
* / Credentials](https://console.cloud.google.com/apis/credentials). See a
|
|
251
|
-
* comprehensive tutorial for setting up the key at the
|
|
252
|
-
* [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
|
|
253
|
-
* book website.
|
|
65
|
+
* The Data class
|
|
254
66
|
*
|
|
255
|
-
* @
|
|
256
|
-
* Load a Google Spreadsheet
|
|
67
|
+
* @requires module:modules/data
|
|
257
68
|
*
|
|
258
|
-
* @
|
|
259
|
-
* @
|
|
260
|
-
* @apioption data.googleAPIKey
|
|
261
|
-
*/
|
|
262
|
-
/**
|
|
263
|
-
* The key or `spreadsheetId` value for a Google Spreadsheet to load. See
|
|
264
|
-
* [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
|
|
265
|
-
* for how to find the `spreadsheetId`.
|
|
69
|
+
* @class
|
|
70
|
+
* @name Highcharts.Data
|
|
266
71
|
*
|
|
267
|
-
*
|
|
268
|
-
* must also be given.
|
|
72
|
+
* @param {Highcharts.DataOptions} dataOptions
|
|
269
73
|
*
|
|
270
|
-
* @
|
|
271
|
-
* Load a Google Spreadsheet
|
|
74
|
+
* @param {Highcharts.Options} [chartOptions]
|
|
272
75
|
*
|
|
273
|
-
* @
|
|
274
|
-
* @since 4.0
|
|
275
|
-
* @apioption data.googleSpreadsheetKey
|
|
276
|
-
*/
|
|
277
|
-
/**
|
|
278
|
-
* The Google Spreadsheet `range` to use in combination with
|
|
279
|
-
* [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
|
|
280
|
-
* [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
|
|
281
|
-
* for details.
|
|
282
|
-
*
|
|
283
|
-
* If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
|
|
284
|
-
* `endRow`.
|
|
285
|
-
*
|
|
286
|
-
* @example
|
|
287
|
-
* googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
|
|
288
|
-
* googleSpreadsheetRange: 'A:Z' // Load columns A to Z
|
|
289
|
-
*
|
|
290
|
-
* @sample {highcharts} highcharts/data/google-spreadsheet/
|
|
291
|
-
* Load a Google Spreadsheet
|
|
292
|
-
*
|
|
293
|
-
* @type {string|undefined}
|
|
294
|
-
* @since 9.2.2
|
|
295
|
-
* @apioption data.googleSpreadsheetRange
|
|
296
|
-
*/
|
|
297
|
-
/**
|
|
298
|
-
* No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
|
|
299
|
-
* the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
|
|
300
|
-
* specific sheet.
|
|
301
|
-
*
|
|
302
|
-
* @deprecated
|
|
303
|
-
* @type {string}
|
|
304
|
-
* @since 4.0
|
|
305
|
-
* @apioption data.googleSpreadsheetWorksheet
|
|
306
|
-
*/
|
|
307
|
-
/**
|
|
308
|
-
* Item or cell delimiter for parsing CSV. Defaults to the tab character
|
|
309
|
-
* `\t` if a tab character is found in the CSV string, if not it defaults
|
|
310
|
-
* to `,`.
|
|
311
|
-
*
|
|
312
|
-
* If this is set to false or undefined, the parser will attempt to deduce
|
|
313
|
-
* the delimiter automatically.
|
|
314
|
-
*
|
|
315
|
-
* @sample {highcharts} highcharts/data/delimiters/
|
|
316
|
-
* Delimiters
|
|
317
|
-
*
|
|
318
|
-
* @type {string}
|
|
319
|
-
* @since 4.0
|
|
320
|
-
* @apioption data.itemDelimiter
|
|
321
|
-
*/
|
|
322
|
-
/**
|
|
323
|
-
* Line delimiter for parsing CSV.
|
|
324
|
-
*
|
|
325
|
-
* @sample {highcharts} highcharts/data/delimiters/
|
|
326
|
-
* Delimiters
|
|
327
|
-
*
|
|
328
|
-
* @type {string}
|
|
329
|
-
* @default \n
|
|
330
|
-
* @since 4.0
|
|
331
|
-
* @apioption data.lineDelimiter
|
|
332
|
-
*/
|
|
333
|
-
/**
|
|
334
|
-
* A callback function to access the parsed columns, the two-dimentional
|
|
335
|
-
* input data array directly, before they are interpreted into series
|
|
336
|
-
* data and categories. Return `false` to stop completion, or call
|
|
337
|
-
* `this.complete()` to continue async.
|
|
338
|
-
*
|
|
339
|
-
* @see [data.complete](#data.complete)
|
|
340
|
-
*
|
|
341
|
-
* @sample {highcharts} highcharts/data/parsed/
|
|
342
|
-
* Modify data after parse
|
|
343
|
-
*
|
|
344
|
-
* @type {Highcharts.DataParsedCallbackFunction}
|
|
345
|
-
* @since 4.0
|
|
346
|
-
* @apioption data.parsed
|
|
347
|
-
*/
|
|
348
|
-
/**
|
|
349
|
-
* A callback function to parse string representations of dates into
|
|
350
|
-
* JavaScript timestamps. Should return an integer timestamp on success.
|
|
351
|
-
*
|
|
352
|
-
* @see [dateFormat](#data.dateFormat)
|
|
353
|
-
*
|
|
354
|
-
* @type {Highcharts.DataParseDateCallbackFunction}
|
|
355
|
-
* @since 4.0
|
|
356
|
-
* @apioption data.parseDate
|
|
357
|
-
*/
|
|
358
|
-
/**
|
|
359
|
-
* The same as the columns input option, but defining rows intead of
|
|
360
|
-
* columns.
|
|
361
|
-
*
|
|
362
|
-
* @see [data.columns](#data.columns)
|
|
363
|
-
*
|
|
364
|
-
* @sample {highcharts} highcharts/data/rows/
|
|
365
|
-
* Data in rows
|
|
366
|
-
*
|
|
367
|
-
* @type {Array<Array<Highcharts.DataValueType>>}
|
|
368
|
-
* @since 4.0
|
|
369
|
-
* @apioption data.rows
|
|
370
|
-
*/
|
|
371
|
-
/**
|
|
372
|
-
* An array containing dictionaries for each series. A dictionary exists of
|
|
373
|
-
* Point property names as the key and the CSV column index as the value.
|
|
374
|
-
*
|
|
375
|
-
* @sample {highcharts} highcharts/data/seriesmapping-label/
|
|
376
|
-
* Label from data set
|
|
377
|
-
*
|
|
378
|
-
* @type {Array<Highcharts.Dictionary<number>>}
|
|
379
|
-
* @since 4.0.4
|
|
380
|
-
* @apioption data.seriesMapping
|
|
381
|
-
*/
|
|
382
|
-
/**
|
|
383
|
-
* In tabular input data, the first column (indexed by 0) to use.
|
|
384
|
-
*
|
|
385
|
-
* @sample {highcharts} highcharts/data/start-end/
|
|
386
|
-
* Limited data
|
|
387
|
-
*
|
|
388
|
-
* @type {number}
|
|
389
|
-
* @default 0
|
|
390
|
-
* @since 4.0
|
|
391
|
-
* @apioption data.startColumn
|
|
392
|
-
*/
|
|
393
|
-
/**
|
|
394
|
-
* In tabular input data, the first row (indexed by 0) to use.
|
|
395
|
-
*
|
|
396
|
-
* @sample {highcharts} highcharts/data/start-end/
|
|
397
|
-
* Limited data
|
|
398
|
-
*
|
|
399
|
-
* @type {number}
|
|
400
|
-
* @default 0
|
|
401
|
-
* @since 4.0
|
|
402
|
-
* @apioption data.startRow
|
|
403
|
-
*/
|
|
404
|
-
/**
|
|
405
|
-
* Switch rows and columns of the input data, so that `this.columns`
|
|
406
|
-
* effectively becomes the rows of the data set, and the rows are interpreted
|
|
407
|
-
* as series.
|
|
408
|
-
*
|
|
409
|
-
* @sample {highcharts} highcharts/data/switchrowsandcolumns/
|
|
410
|
-
* Switch rows and columns
|
|
411
|
-
*
|
|
412
|
-
* @type {boolean}
|
|
413
|
-
* @default false
|
|
414
|
-
* @since 4.0
|
|
415
|
-
* @apioption data.switchRowsAndColumns
|
|
416
|
-
*/
|
|
417
|
-
/**
|
|
418
|
-
* An HTML table or the id of such to be parsed as input data. Related
|
|
419
|
-
* options are `startRow`, `endRow`, `startColumn` and `endColumn` to
|
|
420
|
-
* delimit what part of the table is used.
|
|
421
|
-
*
|
|
422
|
-
* @sample {highcharts} highcharts/demo/column-parsed/
|
|
423
|
-
* Parsed table
|
|
424
|
-
*
|
|
425
|
-
* @type {string|global.HTMLElement}
|
|
426
|
-
* @since 4.0
|
|
427
|
-
* @apioption data.table
|
|
428
|
-
*/
|
|
429
|
-
/**
|
|
430
|
-
* An URL to a remote CSV dataset. Will be fetched when the chart is created
|
|
431
|
-
* using Ajax.
|
|
432
|
-
*
|
|
433
|
-
* @sample highcharts/data/livedata-columns
|
|
434
|
-
* Categorized bar chart with CSV and live polling
|
|
435
|
-
* @sample highcharts/data/livedata-csv
|
|
436
|
-
* Time based line chart with CSV and live polling
|
|
437
|
-
*
|
|
438
|
-
* @type {string}
|
|
439
|
-
* @apioption data.csvURL
|
|
440
|
-
*/
|
|
441
|
-
/**
|
|
442
|
-
* A URL to a remote JSON dataset, structured as a row array.
|
|
443
|
-
* Will be fetched when the chart is created using Ajax.
|
|
444
|
-
*
|
|
445
|
-
* @sample highcharts/data/livedata-rows
|
|
446
|
-
* Rows with live polling
|
|
447
|
-
*
|
|
448
|
-
* @type {string}
|
|
449
|
-
* @apioption data.rowsURL
|
|
450
|
-
*/
|
|
451
|
-
/**
|
|
452
|
-
* A URL to a remote JSON dataset, structured as a column array.
|
|
453
|
-
* Will be fetched when the chart is created using Ajax.
|
|
454
|
-
*
|
|
455
|
-
* @sample highcharts/data/livedata-columns
|
|
456
|
-
* Columns with live polling
|
|
457
|
-
*
|
|
458
|
-
* @type {string}
|
|
459
|
-
* @apioption data.columnsURL
|
|
460
|
-
*/
|
|
461
|
-
/**
|
|
462
|
-
* Sets the refresh rate for data polling when importing remote dataset by
|
|
463
|
-
* setting [data.csvURL](data.csvURL), [data.rowsURL](data.rowsURL),
|
|
464
|
-
* [data.columnsURL](data.columnsURL), or
|
|
465
|
-
* [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
|
|
466
|
-
*
|
|
467
|
-
* Note that polling must be enabled by setting
|
|
468
|
-
* [data.enablePolling](data.enablePolling) to true.
|
|
469
|
-
*
|
|
470
|
-
* The value is the number of seconds between pollings.
|
|
471
|
-
* It cannot be set to less than 1 second.
|
|
472
|
-
*
|
|
473
|
-
* @sample highcharts/demo/live-data
|
|
474
|
-
* Live data with user set refresh rate
|
|
475
|
-
*
|
|
476
|
-
* @default 1
|
|
477
|
-
* @type {number}
|
|
478
|
-
* @apioption data.dataRefreshRate
|
|
479
|
-
*/
|
|
480
|
-
/**
|
|
481
|
-
* Enables automatic refetching of remote datasets every _n_ seconds (defined by
|
|
482
|
-
* setting [data.dataRefreshRate](data.dataRefreshRate)).
|
|
483
|
-
*
|
|
484
|
-
* Only works when either [data.csvURL](data.csvURL),
|
|
485
|
-
* [data.rowsURL](data.rowsURL), [data.columnsURL](data.columnsURL), or
|
|
486
|
-
* [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
|
|
487
|
-
*
|
|
488
|
-
* @sample highcharts/demo/live-data
|
|
489
|
-
* Live data
|
|
490
|
-
* @sample highcharts/data/livedata-columns
|
|
491
|
-
* Categorized bar chart with CSV and live polling
|
|
492
|
-
*
|
|
493
|
-
* @type {boolean}
|
|
494
|
-
* @default false
|
|
495
|
-
* @apioption data.enablePolling
|
|
496
|
-
*/
|
|
497
|
-
/* eslint-disable valid-jsdoc */
|
|
498
|
-
/**
|
|
499
|
-
* The Data class
|
|
500
|
-
*
|
|
501
|
-
* @requires module:modules/data
|
|
502
|
-
*
|
|
503
|
-
* @class
|
|
504
|
-
* @name Highcharts.Data
|
|
505
|
-
*
|
|
506
|
-
* @param {Highcharts.DataOptions} dataOptions
|
|
507
|
-
*
|
|
508
|
-
* @param {Highcharts.Options} [chartOptions]
|
|
509
|
-
*
|
|
510
|
-
* @param {Highcharts.Chart} [chart]
|
|
76
|
+
* @param {Highcharts.Chart} [chart]
|
|
511
77
|
*/
|
|
512
78
|
var Data = /** @class */ (function () {
|
|
513
79
|
/* *
|
|
@@ -516,11 +82,8 @@ var Data = /** @class */ (function () {
|
|
|
516
82
|
*
|
|
517
83
|
* */
|
|
518
84
|
function Data(dataOptions, chartOptions, chart) {
|
|
519
|
-
|
|
520
|
-
this.
|
|
521
|
-
this.firstRowAsNames = void 0;
|
|
522
|
-
this.rawColumns = void 0;
|
|
523
|
-
this.options = void 0;
|
|
85
|
+
if (chartOptions === void 0) { chartOptions = {}; }
|
|
86
|
+
this.rowsToColumns = Data.rowsToColumns; // backwards compatibility
|
|
524
87
|
/**
|
|
525
88
|
* A collection of available date formats, extendable from the outside to
|
|
526
89
|
* support custom date formats.
|
|
@@ -560,7 +123,8 @@ var Data = /** @class */ (function () {
|
|
|
560
123
|
if (!match) {
|
|
561
124
|
return NaN;
|
|
562
125
|
}
|
|
563
|
-
var
|
|
126
|
+
var d = new Date();
|
|
127
|
+
var year = +match[3];
|
|
564
128
|
if (year > (d.getFullYear() - 2000)) {
|
|
565
129
|
year += 1900;
|
|
566
130
|
}
|
|
@@ -580,42 +144,82 @@ var Data = /** @class */ (function () {
|
|
|
580
144
|
}
|
|
581
145
|
}
|
|
582
146
|
};
|
|
147
|
+
this.chart = chart;
|
|
148
|
+
this.chartOptions = chartOptions;
|
|
149
|
+
this.options = dataOptions;
|
|
150
|
+
this.rawColumns = [];
|
|
583
151
|
this.init(dataOptions, chartOptions, chart);
|
|
584
152
|
}
|
|
585
153
|
/* *
|
|
586
154
|
*
|
|
587
|
-
*
|
|
155
|
+
* Static Properties
|
|
588
156
|
*
|
|
589
157
|
* */
|
|
590
158
|
/**
|
|
591
|
-
*
|
|
159
|
+
* Creates a data object to parse data for a chart.
|
|
592
160
|
*
|
|
593
|
-
* @
|
|
594
|
-
* @function Highcharts.Data#init
|
|
161
|
+
* @function Highcharts.data
|
|
595
162
|
*/
|
|
596
|
-
Data.
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
163
|
+
Data.data = function (dataOptions, chartOptions, chart) {
|
|
164
|
+
if (chartOptions === void 0) { chartOptions = {}; }
|
|
165
|
+
return new Data(dataOptions, chartOptions, chart);
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Reorganize rows into columns.
|
|
169
|
+
*
|
|
170
|
+
* @function Highcharts.Data.rowsToColumns
|
|
171
|
+
*/
|
|
172
|
+
Data.rowsToColumns = function (rows) {
|
|
173
|
+
var row, rowsLength, col, colsLength, columns;
|
|
174
|
+
if (rows) {
|
|
175
|
+
columns = [];
|
|
176
|
+
rowsLength = rows.length;
|
|
177
|
+
for (row = 0; row < rowsLength; row++) {
|
|
178
|
+
colsLength = rows[row].length;
|
|
179
|
+
for (col = 0; col < colsLength; col++) {
|
|
180
|
+
if (!columns[col]) {
|
|
181
|
+
columns[col] = [];
|
|
182
|
+
}
|
|
183
|
+
columns[col][row] = rows[row][col];
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return columns;
|
|
188
|
+
};
|
|
189
|
+
/* *
|
|
190
|
+
*
|
|
191
|
+
* Functions
|
|
192
|
+
*
|
|
193
|
+
* */
|
|
194
|
+
/**
|
|
195
|
+
* Initialize the Data object with the given options
|
|
196
|
+
*
|
|
197
|
+
* @private
|
|
198
|
+
* @function Highcharts.Data#init
|
|
199
|
+
*/
|
|
200
|
+
Data.prototype.init = function (dataOptions, chartOptions, chart) {
|
|
201
|
+
var decimalPoint = dataOptions.decimalPoint, hasData;
|
|
202
|
+
if (chartOptions) {
|
|
203
|
+
this.chartOptions = chartOptions;
|
|
204
|
+
}
|
|
205
|
+
if (chart) {
|
|
206
|
+
this.chart = chart;
|
|
207
|
+
}
|
|
208
|
+
if (decimalPoint !== '.' && decimalPoint !== ',') {
|
|
209
|
+
decimalPoint = void 0;
|
|
210
|
+
}
|
|
211
|
+
this.options = dataOptions;
|
|
212
|
+
this.columns = (dataOptions.columns ||
|
|
213
|
+
this.rowsToColumns(dataOptions.rows) ||
|
|
214
|
+
[]);
|
|
215
|
+
this.firstRowAsNames = pick(dataOptions.firstRowAsNames, this.firstRowAsNames, true);
|
|
216
|
+
this.decimalRegex = (decimalPoint &&
|
|
217
|
+
new RegExp('^(-?[0-9]+)' + decimalPoint + '([0-9]+)$'));
|
|
218
|
+
// Always stop old polling when we have new options
|
|
219
|
+
if (this.liveDataTimeout !== void 0) {
|
|
220
|
+
clearTimeout(this.liveDataTimeout);
|
|
221
|
+
}
|
|
222
|
+
// This is a two-dimensional array holding the raw, trimmed string
|
|
619
223
|
// values with the same organisation as the columns array. It makes it
|
|
620
224
|
// possible for example to revert from interpreted timestamps to
|
|
621
225
|
// string-based categories.
|
|
@@ -623,7 +227,7 @@ var Data = /** @class */ (function () {
|
|
|
623
227
|
// No need to parse or interpret anything
|
|
624
228
|
if (this.columns.length) {
|
|
625
229
|
this.dataFound();
|
|
626
|
-
hasData = !
|
|
230
|
+
hasData = !hasURLOption(dataOptions);
|
|
627
231
|
}
|
|
628
232
|
if (!hasData) {
|
|
629
233
|
// Fetch live data
|
|
@@ -642,14 +246,10 @@ var Data = /** @class */ (function () {
|
|
|
642
246
|
// Parse a Google Spreadsheet
|
|
643
247
|
hasData = this.parseGoogleSpreadsheet();
|
|
644
248
|
}
|
|
645
|
-
if (!hasData &&
|
|
646
|
-
|
|
249
|
+
if (!hasData && dataOptions.afterComplete) {
|
|
250
|
+
dataOptions.afterComplete();
|
|
647
251
|
}
|
|
648
252
|
};
|
|
649
|
-
Data.prototype.hasURLOption = function (options) {
|
|
650
|
-
return Boolean(options &&
|
|
651
|
-
(options.rowsURL || options.csvURL || options.columnsURL));
|
|
652
|
-
};
|
|
653
253
|
/**
|
|
654
254
|
* Get the column distribution. For example, a line series takes a single
|
|
655
255
|
* column for Y values. A range series takes two columns for low and high
|
|
@@ -664,7 +264,7 @@ var Data = /** @class */ (function () {
|
|
|
664
264
|
return seriesTypes[type || 'line'].prototype.pointArrayMap;
|
|
665
265
|
}, globalType = (chartOptions &&
|
|
666
266
|
chartOptions.chart &&
|
|
667
|
-
chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
|
|
267
|
+
chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
|
|
668
268
|
// If no series mapping is defined, check if the series array is
|
|
669
269
|
// defined with types.
|
|
670
270
|
seriesMapping = ((options && options.seriesMapping) ||
|
|
@@ -673,7 +273,8 @@ var Data = /** @class */ (function () {
|
|
|
673
273
|
chartOptions.series.map(function () {
|
|
674
274
|
return { x: 0 };
|
|
675
275
|
})) ||
|
|
676
|
-
[])
|
|
276
|
+
[]);
|
|
277
|
+
var seriesIndex = 0, i;
|
|
677
278
|
((chartOptions && chartOptions.series) || []).forEach(function (series) {
|
|
678
279
|
individualCounts.push(getValueCount(series.type || globalType));
|
|
679
280
|
});
|
|
@@ -759,12 +360,8 @@ var Data = /** @class */ (function () {
|
|
|
759
360
|
* @function Highcharts.Data#parseCSV
|
|
760
361
|
*/
|
|
761
362
|
Data.prototype.parseCSV = function (inOptions) {
|
|
762
|
-
var self = this, options = inOptions || this.options,
|
|
763
|
-
options.
|
|
764
|
-
0), endRow = options.endRow || Number.MAX_VALUE, startColumn = (typeof options.startColumn !== 'undefined' &&
|
|
765
|
-
options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0,
|
|
766
|
-
// activeRowNo = 0,
|
|
767
|
-
dataTypes = [],
|
|
363
|
+
var self = this, columns = this.columns = [], options = inOptions || this.options, startColumn = (typeof options.startColumn !== 'undefined' &&
|
|
364
|
+
options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, dataTypes = [],
|
|
768
365
|
// We count potential delimiters in the prepass, and use the
|
|
769
366
|
// result as the basis of half-intelligent guesses.
|
|
770
367
|
potDelimiters = {
|
|
@@ -772,7 +369,11 @@ var Data = /** @class */ (function () {
|
|
|
772
369
|
';': 0,
|
|
773
370
|
'\t': 0
|
|
774
371
|
};
|
|
775
|
-
|
|
372
|
+
var csv = options.csv, startRow = (typeof options.startRow !== 'undefined' && options.startRow ?
|
|
373
|
+
options.startRow :
|
|
374
|
+
0), endRow = options.endRow || Number.MAX_VALUE, itemDelimiter, lines,
|
|
375
|
+
// activeRowNo = 0,
|
|
376
|
+
rowIt = 0;
|
|
776
377
|
/*
|
|
777
378
|
This implementation is quite verbose. It will be shortened once
|
|
778
379
|
it's stable and passes all the test.
|
|
@@ -1007,9 +608,10 @@ var Data = /** @class */ (function () {
|
|
|
1007
608
|
* @private
|
|
1008
609
|
*/
|
|
1009
610
|
function deduceDateFormat(data, limit) {
|
|
1010
|
-
var format = 'YYYY/mm/dd',
|
|
611
|
+
var format = 'YYYY/mm/dd', stable = [], max = [];
|
|
612
|
+
var thing, guessedFormat = [], calculatedFormat, i = 0, madeDeduction = false,
|
|
1011
613
|
// candidates = {},
|
|
1012
|
-
|
|
614
|
+
j;
|
|
1013
615
|
if (!limit || limit > data.length) {
|
|
1014
616
|
limit = data.length;
|
|
1015
617
|
}
|
|
@@ -1181,8 +783,9 @@ var Data = /** @class */ (function () {
|
|
|
1181
783
|
* @function Highcharts.Data#parseTable
|
|
1182
784
|
*/
|
|
1183
785
|
Data.prototype.parseTable = function () {
|
|
1184
|
-
var options = this.options,
|
|
1185
|
-
if (table) {
|
|
786
|
+
var options = this.options, columns = this.columns || [], startRow = options.startRow || 0, endRow = options.endRow || Number.MAX_VALUE, startColumn = options.startColumn || 0, endColumn = options.endColumn || Number.MAX_VALUE;
|
|
787
|
+
if (options.table) {
|
|
788
|
+
var table = options.table;
|
|
1186
789
|
if (typeof table === 'string') {
|
|
1187
790
|
table = doc.getElementById(table);
|
|
1188
791
|
}
|
|
@@ -1223,8 +826,9 @@ var Data = /** @class */ (function () {
|
|
|
1223
826
|
* The URLs that were tried can be found in the options
|
|
1224
827
|
*/
|
|
1225
828
|
Data.prototype.fetchLiveData = function () {
|
|
1226
|
-
var data = this, chart = this.chart, options = this.options, maxRetries = 3,
|
|
1227
|
-
|
|
829
|
+
var data = this, chart = this.chart, options = this.options, maxRetries = 3, pollingEnabled = options.enablePolling, originalOptions = merge(options);
|
|
830
|
+
var currentRetries = 0, updateIntervalMs = (options.dataRefreshRate || 2) * 1000;
|
|
831
|
+
if (!hasURLOption(options)) {
|
|
1228
832
|
return false;
|
|
1229
833
|
}
|
|
1230
834
|
// Do not allow polling more than once a second
|
|
@@ -1308,7 +912,7 @@ var Data = /** @class */ (function () {
|
|
|
1308
912
|
}
|
|
1309
913
|
}
|
|
1310
914
|
performFetch(true);
|
|
1311
|
-
return
|
|
915
|
+
return hasURLOption(options);
|
|
1312
916
|
};
|
|
1313
917
|
/**
|
|
1314
918
|
* Parse a Google spreadsheet.
|
|
@@ -1335,7 +939,7 @@ var Data = /** @class */ (function () {
|
|
|
1335
939
|
if (defined(options.endRow)) {
|
|
1336
940
|
end += options.endRow + 1;
|
|
1337
941
|
}
|
|
1338
|
-
return start
|
|
942
|
+
return "".concat(start, ":").concat(end);
|
|
1339
943
|
};
|
|
1340
944
|
/**
|
|
1341
945
|
* Fetch the actual spreadsheet using XMLHttpRequest.
|
|
@@ -1436,7 +1040,8 @@ var Data = /** @class */ (function () {
|
|
|
1436
1040
|
* @function Highcharts.Data#parseTypes
|
|
1437
1041
|
*/
|
|
1438
1042
|
Data.prototype.parseTypes = function () {
|
|
1439
|
-
var columns = this.columns
|
|
1043
|
+
var columns = this.columns || [];
|
|
1044
|
+
var col = columns.length;
|
|
1440
1045
|
while (col--) {
|
|
1441
1046
|
this.parseColumn(columns[col], col);
|
|
1442
1047
|
}
|
|
@@ -1615,28 +1220,6 @@ var Data = /** @class */ (function () {
|
|
|
1615
1220
|
}
|
|
1616
1221
|
return ret;
|
|
1617
1222
|
};
|
|
1618
|
-
/**
|
|
1619
|
-
* Reorganize rows into columns.
|
|
1620
|
-
*
|
|
1621
|
-
* @function Highcharts.Data#rowsToColumns
|
|
1622
|
-
*/
|
|
1623
|
-
Data.prototype.rowsToColumns = function (rows) {
|
|
1624
|
-
var row, rowsLength, col, colsLength, columns;
|
|
1625
|
-
if (rows) {
|
|
1626
|
-
columns = [];
|
|
1627
|
-
rowsLength = rows.length;
|
|
1628
|
-
for (row = 0; row < rowsLength; row++) {
|
|
1629
|
-
colsLength = rows[row].length;
|
|
1630
|
-
for (col = 0; col < colsLength; col++) {
|
|
1631
|
-
if (!columns[col]) {
|
|
1632
|
-
columns[col] = [];
|
|
1633
|
-
}
|
|
1634
|
-
columns[col][row] = rows[row][col];
|
|
1635
|
-
}
|
|
1636
|
-
}
|
|
1637
|
-
}
|
|
1638
|
-
return columns;
|
|
1639
|
-
};
|
|
1640
1223
|
/**
|
|
1641
1224
|
* Get the parsed data in a form that we can apply directly to the
|
|
1642
1225
|
* `series.data` config. Array positions can be mapped using the
|
|
@@ -1666,31 +1249,6 @@ var Data = /** @class */ (function () {
|
|
|
1666
1249
|
return this.options.parsed.call(this, this.columns);
|
|
1667
1250
|
}
|
|
1668
1251
|
};
|
|
1669
|
-
/**
|
|
1670
|
-
* @private
|
|
1671
|
-
* @function Highcharts.Data#getFreeIndexes
|
|
1672
|
-
*/
|
|
1673
|
-
Data.prototype.getFreeIndexes = function (numberOfColumns, seriesBuilders) {
|
|
1674
|
-
var s, i, freeIndexes = [], freeIndexValues = [], referencedIndexes;
|
|
1675
|
-
// Add all columns as free
|
|
1676
|
-
for (i = 0; i < numberOfColumns; i = i + 1) {
|
|
1677
|
-
freeIndexes.push(true);
|
|
1678
|
-
}
|
|
1679
|
-
// Loop all defined builders and remove their referenced columns
|
|
1680
|
-
for (s = 0; s < seriesBuilders.length; s = s + 1) {
|
|
1681
|
-
referencedIndexes = seriesBuilders[s].getReferencedColumnIndexes();
|
|
1682
|
-
for (i = 0; i < referencedIndexes.length; i = i + 1) {
|
|
1683
|
-
freeIndexes[referencedIndexes[i]] = false;
|
|
1684
|
-
}
|
|
1685
|
-
}
|
|
1686
|
-
// Collect the values for the free indexes
|
|
1687
|
-
for (i = 0; i < freeIndexes.length; i = i + 1) {
|
|
1688
|
-
if (freeIndexes[i]) {
|
|
1689
|
-
freeIndexValues.push(i);
|
|
1690
|
-
}
|
|
1691
|
-
}
|
|
1692
|
-
return freeIndexValues;
|
|
1693
|
-
};
|
|
1694
1252
|
/**
|
|
1695
1253
|
* If a complete callback function is provided in the options, interpret the
|
|
1696
1254
|
* columns into a Highcharts options object.
|
|
@@ -1698,7 +1256,8 @@ var Data = /** @class */ (function () {
|
|
|
1698
1256
|
* @function Highcharts.Data#complete
|
|
1699
1257
|
*/
|
|
1700
1258
|
Data.prototype.complete = function () {
|
|
1701
|
-
var columns = this.columns, xColumns = [],
|
|
1259
|
+
var columns = this.columns, xColumns = [], options = this.options, allSeriesBuilders = [];
|
|
1260
|
+
var type, series, data, i, j, r, seriesIndex, chartOptions, builder, freeIndexes, typeCol, index;
|
|
1702
1261
|
xColumns.length = columns.length;
|
|
1703
1262
|
if (options.complete || options.afterComplete) {
|
|
1704
1263
|
// Get the names and shift the top row
|
|
@@ -1712,7 +1271,7 @@ var Data = /** @class */ (function () {
|
|
|
1712
1271
|
}
|
|
1713
1272
|
// Use the next columns for series
|
|
1714
1273
|
series = [];
|
|
1715
|
-
freeIndexes =
|
|
1274
|
+
freeIndexes = getFreeIndexes(columns.length, this.valueCount.seriesBuilders);
|
|
1716
1275
|
// Populate defined series
|
|
1717
1276
|
for (seriesIndex = 0; seriesIndex < this.valueCount.seriesBuilders.length; seriesIndex++) {
|
|
1718
1277
|
builder = this.valueCount.seriesBuilders[seriesIndex];
|
|
@@ -1849,22 +1408,11 @@ var Data = /** @class */ (function () {
|
|
|
1849
1408
|
};
|
|
1850
1409
|
return Data;
|
|
1851
1410
|
}());
|
|
1852
|
-
// Register the Data prototype and data function on Highcharts
|
|
1853
|
-
// Highcharts.Data = Data as any;
|
|
1854
|
-
/**
|
|
1855
|
-
* Creates a data object to parse data for a chart.
|
|
1856
|
-
*
|
|
1857
|
-
* @function Highcharts.data
|
|
1858
|
-
*/
|
|
1859
|
-
G.data = function (dataOptions, chartOptions, chart) {
|
|
1860
|
-
return new G.Data(dataOptions, chartOptions, chart);
|
|
1861
|
-
};
|
|
1862
1411
|
// Extend Chart.init so that the Chart constructor accepts a new configuration
|
|
1863
1412
|
// option group, data.
|
|
1864
1413
|
addEvent(Chart, 'init', function (e) {
|
|
1865
|
-
var chart = this,
|
|
1866
|
-
userOptions = (e.args[0] || {})
|
|
1867
|
-
var defaultDataOptions = getOptions().data;
|
|
1414
|
+
var chart = this, callback = e.args[1], defaultDataOptions = getOptions().data;
|
|
1415
|
+
var userOptions = (e.args[0] || {});
|
|
1868
1416
|
if ((defaultDataOptions || userOptions && userOptions.data) &&
|
|
1869
1417
|
!chart.hasDataDef) {
|
|
1870
1418
|
chart.hasDataDef = true;
|
|
@@ -1875,7 +1423,7 @@ addEvent(Chart, 'init', function (e) {
|
|
|
1875
1423
|
* @type {Highcharts.Data|undefined}
|
|
1876
1424
|
*/
|
|
1877
1425
|
var dataOptions = merge(defaultDataOptions, userOptions.data);
|
|
1878
|
-
chart.data = new
|
|
1426
|
+
chart.data = new Data(extend(dataOptions, {
|
|
1879
1427
|
afterComplete: function (dataOptions) {
|
|
1880
1428
|
var i, series;
|
|
1881
1429
|
// Merge series configs
|
|
@@ -1923,8 +1471,6 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
1923
1471
|
/* eslint-disable no-invalid-this */
|
|
1924
1472
|
this.readers = [];
|
|
1925
1473
|
this.pointIsArray = true;
|
|
1926
|
-
/* eslint-enable no-invalid-this */
|
|
1927
|
-
this.name = void 0;
|
|
1928
1474
|
}
|
|
1929
1475
|
/**
|
|
1930
1476
|
* Populates readers with column indexes. A reader can be added without
|
|
@@ -1934,7 +1480,8 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
1934
1480
|
* @function SeriesBuilder#populateColumns
|
|
1935
1481
|
*/
|
|
1936
1482
|
SeriesBuilder.prototype.populateColumns = function (freeIndexes) {
|
|
1937
|
-
var builder = this
|
|
1483
|
+
var builder = this;
|
|
1484
|
+
var enoughColumns = true;
|
|
1938
1485
|
// Loop each reader and give it an index if its missing.
|
|
1939
1486
|
// The freeIndexes.shift() will return undefined if there
|
|
1940
1487
|
// are no more columns.
|
|
@@ -1960,7 +1507,8 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
1960
1507
|
* @function SeriesBuilder#read<T>
|
|
1961
1508
|
*/
|
|
1962
1509
|
SeriesBuilder.prototype.read = function (columns, rowIndex) {
|
|
1963
|
-
var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {}
|
|
1510
|
+
var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {};
|
|
1511
|
+
var columnIndexes;
|
|
1964
1512
|
// Loop each reader and ask it to read its value.
|
|
1965
1513
|
// Then, build an array or point based on the readers names.
|
|
1966
1514
|
builder.readers.forEach(function (reader) {
|
|
@@ -2019,7 +1567,8 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
2019
1567
|
* @function SeriesBuilder#getReferencedColumnIndexes
|
|
2020
1568
|
*/
|
|
2021
1569
|
SeriesBuilder.prototype.getReferencedColumnIndexes = function () {
|
|
2022
|
-
var
|
|
1570
|
+
var referencedColumnIndexes = [];
|
|
1571
|
+
var i, columnReader;
|
|
2023
1572
|
for (i = 0; i < this.readers.length; i = i + 1) {
|
|
2024
1573
|
columnReader = this.readers[i];
|
|
2025
1574
|
if (typeof columnReader.columnIndex !== 'undefined') {
|
|
@@ -2045,5 +1594,492 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
2045
1594
|
};
|
|
2046
1595
|
return SeriesBuilder;
|
|
2047
1596
|
}());
|
|
2048
|
-
|
|
2049
|
-
|
|
1597
|
+
/* *
|
|
1598
|
+
*
|
|
1599
|
+
* Default Export
|
|
1600
|
+
*
|
|
1601
|
+
* */
|
|
1602
|
+
export default Data;
|
|
1603
|
+
/* *
|
|
1604
|
+
*
|
|
1605
|
+
* API Declarations
|
|
1606
|
+
*
|
|
1607
|
+
* */
|
|
1608
|
+
/**
|
|
1609
|
+
* Callback function to modify the CSV before parsing it by the data module.
|
|
1610
|
+
*
|
|
1611
|
+
* @callback Highcharts.DataBeforeParseCallbackFunction
|
|
1612
|
+
*
|
|
1613
|
+
* @param {string} csv
|
|
1614
|
+
* The CSV to modify.
|
|
1615
|
+
*
|
|
1616
|
+
* @return {string}
|
|
1617
|
+
* The CSV to parse.
|
|
1618
|
+
*/
|
|
1619
|
+
/**
|
|
1620
|
+
* Callback function that gets called after parsing data.
|
|
1621
|
+
*
|
|
1622
|
+
* @callback Highcharts.DataCompleteCallbackFunction
|
|
1623
|
+
*
|
|
1624
|
+
* @param {Highcharts.Options} chartOptions
|
|
1625
|
+
* The chart options that were used.
|
|
1626
|
+
*/
|
|
1627
|
+
/**
|
|
1628
|
+
* Callback function that returns the correspondig Date object to a match.
|
|
1629
|
+
*
|
|
1630
|
+
* @callback Highcharts.DataDateFormatCallbackFunction
|
|
1631
|
+
*
|
|
1632
|
+
* @param {Array<number>} match
|
|
1633
|
+
*
|
|
1634
|
+
* @return {number}
|
|
1635
|
+
*/
|
|
1636
|
+
/**
|
|
1637
|
+
* Structure for alternative date formats to parse.
|
|
1638
|
+
*
|
|
1639
|
+
* @interface Highcharts.DataDateFormatObject
|
|
1640
|
+
*/ /**
|
|
1641
|
+
* @name Highcharts.DataDateFormatObject#alternative
|
|
1642
|
+
* @type {string|undefined}
|
|
1643
|
+
*/ /**
|
|
1644
|
+
* @name Highcharts.DataDateFormatObject#parser
|
|
1645
|
+
* @type {Highcharts.DataDateFormatCallbackFunction}
|
|
1646
|
+
*/ /**
|
|
1647
|
+
* @name Highcharts.DataDateFormatObject#regex
|
|
1648
|
+
* @type {global.RegExp}
|
|
1649
|
+
*/
|
|
1650
|
+
/**
|
|
1651
|
+
* Possible types for a data item in a column or row.
|
|
1652
|
+
*
|
|
1653
|
+
* @typedef {number|string|null} Highcharts.DataValueType
|
|
1654
|
+
*/
|
|
1655
|
+
/**
|
|
1656
|
+
* Callback function to parse string representations of dates into
|
|
1657
|
+
* JavaScript timestamps (milliseconds since 1.1.1970).
|
|
1658
|
+
*
|
|
1659
|
+
* @callback Highcharts.DataParseDateCallbackFunction
|
|
1660
|
+
*
|
|
1661
|
+
* @param {string} dateValue
|
|
1662
|
+
*
|
|
1663
|
+
* @return {number}
|
|
1664
|
+
* Timestamp (milliseconds since 1.1.1970) as integer for Date class.
|
|
1665
|
+
*/
|
|
1666
|
+
/**
|
|
1667
|
+
* Callback function to access the parsed columns, the two-dimentional
|
|
1668
|
+
* input data array directly, before they are interpreted into series
|
|
1669
|
+
* data and categories.
|
|
1670
|
+
*
|
|
1671
|
+
* @callback Highcharts.DataParsedCallbackFunction
|
|
1672
|
+
*
|
|
1673
|
+
* @param {Array<Array<*>>} columns
|
|
1674
|
+
* The parsed columns by the data module.
|
|
1675
|
+
*
|
|
1676
|
+
* @return {boolean|undefined}
|
|
1677
|
+
* Return `false` to stop completion, or call `this.complete()` to
|
|
1678
|
+
* continue async.
|
|
1679
|
+
*/
|
|
1680
|
+
/* *
|
|
1681
|
+
*
|
|
1682
|
+
* API Options
|
|
1683
|
+
*
|
|
1684
|
+
* */
|
|
1685
|
+
/**
|
|
1686
|
+
* The Data module provides a simplified interface for adding data to
|
|
1687
|
+
* a chart from sources like CVS, HTML tables or grid views. See also
|
|
1688
|
+
* the [tutorial article on the Data module](
|
|
1689
|
+
* https://www.highcharts.com/docs/working-with-data/data-module).
|
|
1690
|
+
*
|
|
1691
|
+
* It requires the `modules/data.js` file to be loaded.
|
|
1692
|
+
*
|
|
1693
|
+
* Please note that the default way of adding data in Highcharts, without
|
|
1694
|
+
* the need of a module, is through the [series._type_.data](#series.line.data)
|
|
1695
|
+
* option.
|
|
1696
|
+
*
|
|
1697
|
+
* @sample {highcharts} highcharts/demo/column-parsed/
|
|
1698
|
+
* HTML table
|
|
1699
|
+
* @sample {highcharts} highcharts/data/csv/
|
|
1700
|
+
* CSV
|
|
1701
|
+
*
|
|
1702
|
+
* @since 4.0
|
|
1703
|
+
* @requires modules/data
|
|
1704
|
+
* @apioption data
|
|
1705
|
+
*/
|
|
1706
|
+
/**
|
|
1707
|
+
* A callback function to modify the CSV before parsing it. Return the modified
|
|
1708
|
+
* string.
|
|
1709
|
+
*
|
|
1710
|
+
* @sample {highcharts} highcharts/demo/line-ajax/
|
|
1711
|
+
* Modify CSV before parse
|
|
1712
|
+
*
|
|
1713
|
+
* @type {Highcharts.DataBeforeParseCallbackFunction}
|
|
1714
|
+
* @since 6.1
|
|
1715
|
+
* @apioption data.beforeParse
|
|
1716
|
+
*/
|
|
1717
|
+
/**
|
|
1718
|
+
* A two-dimensional array representing the input data on tabular form.
|
|
1719
|
+
* This input can be used when the data is already parsed, for example
|
|
1720
|
+
* from a grid view component. Each cell can be a string or number.
|
|
1721
|
+
* If not switchRowsAndColumns is set, the columns are interpreted as
|
|
1722
|
+
* series.
|
|
1723
|
+
*
|
|
1724
|
+
* @see [data.rows](#data.rows)
|
|
1725
|
+
*
|
|
1726
|
+
* @sample {highcharts} highcharts/data/columns/
|
|
1727
|
+
* Columns
|
|
1728
|
+
*
|
|
1729
|
+
* @type {Array<Array<Highcharts.DataValueType>>}
|
|
1730
|
+
* @since 4.0
|
|
1731
|
+
* @apioption data.columns
|
|
1732
|
+
*/
|
|
1733
|
+
/**
|
|
1734
|
+
* The callback that is evaluated when the data is finished loading,
|
|
1735
|
+
* optionally from an external source, and parsed. The first argument
|
|
1736
|
+
* passed is a finished chart options object, containing the series.
|
|
1737
|
+
* These options can be extended with additional options and passed
|
|
1738
|
+
* directly to the chart constructor.
|
|
1739
|
+
*
|
|
1740
|
+
* @see [data.parsed](#data.parsed)
|
|
1741
|
+
*
|
|
1742
|
+
* @sample {highcharts} highcharts/data/complete/
|
|
1743
|
+
* Modify data on complete
|
|
1744
|
+
*
|
|
1745
|
+
* @type {Highcharts.DataCompleteCallbackFunction}
|
|
1746
|
+
* @since 4.0
|
|
1747
|
+
* @apioption data.complete
|
|
1748
|
+
*/
|
|
1749
|
+
/**
|
|
1750
|
+
* A comma delimited string to be parsed. Related options are [startRow](
|
|
1751
|
+
* #data.startRow), [endRow](#data.endRow), [startColumn](#data.startColumn)
|
|
1752
|
+
* and [endColumn](#data.endColumn) to delimit what part of the table
|
|
1753
|
+
* is used. The [lineDelimiter](#data.lineDelimiter) and [itemDelimiter](
|
|
1754
|
+
* #data.itemDelimiter) options define the CSV delimiter formats.
|
|
1755
|
+
*
|
|
1756
|
+
* The built-in CSV parser doesn't support all flavours of CSV, so in
|
|
1757
|
+
* some cases it may be necessary to use an external CSV parser. See
|
|
1758
|
+
* [this example](https://jsfiddle.net/highcharts/u59176h4/) of parsing
|
|
1759
|
+
* CSV through the MIT licensed [Papa Parse](http://papaparse.com/)
|
|
1760
|
+
* library.
|
|
1761
|
+
*
|
|
1762
|
+
* @sample {highcharts} highcharts/data/csv/
|
|
1763
|
+
* Data from CSV
|
|
1764
|
+
*
|
|
1765
|
+
* @type {string}
|
|
1766
|
+
* @since 4.0
|
|
1767
|
+
* @apioption data.csv
|
|
1768
|
+
*/
|
|
1769
|
+
/**
|
|
1770
|
+
* Which of the predefined date formats in Date.prototype.dateFormats
|
|
1771
|
+
* to use to parse date values. Defaults to a best guess based on what
|
|
1772
|
+
* format gives valid and ordered dates. Valid options include: `YYYY/mm/dd`,
|
|
1773
|
+
* `dd/mm/YYYY`, `mm/dd/YYYY`, `dd/mm/YY`, `mm/dd/YY`.
|
|
1774
|
+
*
|
|
1775
|
+
* @see [data.parseDate](#data.parseDate)
|
|
1776
|
+
*
|
|
1777
|
+
* @sample {highcharts} highcharts/data/dateformat-auto/
|
|
1778
|
+
* Best guess date format
|
|
1779
|
+
*
|
|
1780
|
+
* @type {string}
|
|
1781
|
+
* @since 4.0
|
|
1782
|
+
* @validvalue ["YYYY/mm/dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY",
|
|
1783
|
+
* "dd/mm/YY", "mm/dd/YY"]
|
|
1784
|
+
* @apioption data.dateFormat
|
|
1785
|
+
*/
|
|
1786
|
+
/**
|
|
1787
|
+
* The decimal point used for parsing numbers in the CSV.
|
|
1788
|
+
*
|
|
1789
|
+
* If both this and data.delimiter is set to `undefined`, the parser will
|
|
1790
|
+
* attempt to deduce the decimal point automatically.
|
|
1791
|
+
*
|
|
1792
|
+
* @sample {highcharts} highcharts/data/delimiters/
|
|
1793
|
+
* Comma as decimal point
|
|
1794
|
+
*
|
|
1795
|
+
* @type {string}
|
|
1796
|
+
* @default .
|
|
1797
|
+
* @since 4.1.0
|
|
1798
|
+
* @apioption data.decimalPoint
|
|
1799
|
+
*/
|
|
1800
|
+
/**
|
|
1801
|
+
* In tabular input data, the last column (indexed by 0) to use. Defaults
|
|
1802
|
+
* to the last column containing data.
|
|
1803
|
+
*
|
|
1804
|
+
* @sample {highcharts} highcharts/data/start-end/
|
|
1805
|
+
* Limited data
|
|
1806
|
+
*
|
|
1807
|
+
* @type {number}
|
|
1808
|
+
* @since 4.0
|
|
1809
|
+
* @apioption data.endColumn
|
|
1810
|
+
*/
|
|
1811
|
+
/**
|
|
1812
|
+
* In tabular input data, the last row (indexed by 0) to use. Defaults
|
|
1813
|
+
* to the last row containing data.
|
|
1814
|
+
*
|
|
1815
|
+
* @sample {highcharts} highcharts/data/start-end/
|
|
1816
|
+
* Limited data
|
|
1817
|
+
*
|
|
1818
|
+
* @type {number}
|
|
1819
|
+
* @since 4.0.4
|
|
1820
|
+
* @apioption data.endRow
|
|
1821
|
+
*/
|
|
1822
|
+
/**
|
|
1823
|
+
* Whether to use the first row in the data set as series names.
|
|
1824
|
+
*
|
|
1825
|
+
* @sample {highcharts} highcharts/data/start-end/
|
|
1826
|
+
* Don't get series names from the CSV
|
|
1827
|
+
* @sample {highstock} highcharts/data/start-end/
|
|
1828
|
+
* Don't get series names from the CSV
|
|
1829
|
+
*
|
|
1830
|
+
* @type {boolean}
|
|
1831
|
+
* @default true
|
|
1832
|
+
* @since 4.1.0
|
|
1833
|
+
* @product highcharts highstock gantt
|
|
1834
|
+
* @apioption data.firstRowAsNames
|
|
1835
|
+
*/
|
|
1836
|
+
/**
|
|
1837
|
+
* The Google Spreadsheet API key required for access generated at [API Services
|
|
1838
|
+
* / Credentials](https://console.cloud.google.com/apis/credentials). See a
|
|
1839
|
+
* comprehensive tutorial for setting up the key at the
|
|
1840
|
+
* [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
|
|
1841
|
+
* book website.
|
|
1842
|
+
*
|
|
1843
|
+
* @sample {highcharts} highcharts/data/google-spreadsheet/
|
|
1844
|
+
* Load a Google Spreadsheet
|
|
1845
|
+
*
|
|
1846
|
+
* @type {string}
|
|
1847
|
+
* @since 9.2.2
|
|
1848
|
+
* @apioption data.googleAPIKey
|
|
1849
|
+
*/
|
|
1850
|
+
/**
|
|
1851
|
+
* The key or `spreadsheetId` value for a Google Spreadsheet to load. See
|
|
1852
|
+
* [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
|
|
1853
|
+
* for how to find the `spreadsheetId`.
|
|
1854
|
+
*
|
|
1855
|
+
* In order for Google Sheets to load, a valid [googleAPIKey](#data.googleAPIKey)
|
|
1856
|
+
* must also be given.
|
|
1857
|
+
*
|
|
1858
|
+
* @sample {highcharts} highcharts/data/google-spreadsheet/
|
|
1859
|
+
* Load a Google Spreadsheet
|
|
1860
|
+
*
|
|
1861
|
+
* @type {string}
|
|
1862
|
+
* @since 4.0
|
|
1863
|
+
* @apioption data.googleSpreadsheetKey
|
|
1864
|
+
*/
|
|
1865
|
+
/**
|
|
1866
|
+
* The Google Spreadsheet `range` to use in combination with
|
|
1867
|
+
* [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
|
|
1868
|
+
* [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
|
|
1869
|
+
* for details.
|
|
1870
|
+
*
|
|
1871
|
+
* If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
|
|
1872
|
+
* `endRow`.
|
|
1873
|
+
*
|
|
1874
|
+
* @example
|
|
1875
|
+
* googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
|
|
1876
|
+
* googleSpreadsheetRange: 'A:Z' // Load columns A to Z
|
|
1877
|
+
*
|
|
1878
|
+
* @sample {highcharts} highcharts/data/google-spreadsheet/
|
|
1879
|
+
* Load a Google Spreadsheet
|
|
1880
|
+
*
|
|
1881
|
+
* @type {string|undefined}
|
|
1882
|
+
* @since 9.2.2
|
|
1883
|
+
* @apioption data.googleSpreadsheetRange
|
|
1884
|
+
*/
|
|
1885
|
+
/**
|
|
1886
|
+
* No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
|
|
1887
|
+
* the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
|
|
1888
|
+
* specific sheet.
|
|
1889
|
+
*
|
|
1890
|
+
* @deprecated
|
|
1891
|
+
* @type {string}
|
|
1892
|
+
* @since 4.0
|
|
1893
|
+
* @apioption data.googleSpreadsheetWorksheet
|
|
1894
|
+
*/
|
|
1895
|
+
/**
|
|
1896
|
+
* Item or cell delimiter for parsing CSV. Defaults to the tab character
|
|
1897
|
+
* `\t` if a tab character is found in the CSV string, if not it defaults
|
|
1898
|
+
* to `,`.
|
|
1899
|
+
*
|
|
1900
|
+
* If this is set to false or undefined, the parser will attempt to deduce
|
|
1901
|
+
* the delimiter automatically.
|
|
1902
|
+
*
|
|
1903
|
+
* @sample {highcharts} highcharts/data/delimiters/
|
|
1904
|
+
* Delimiters
|
|
1905
|
+
*
|
|
1906
|
+
* @type {string}
|
|
1907
|
+
* @since 4.0
|
|
1908
|
+
* @apioption data.itemDelimiter
|
|
1909
|
+
*/
|
|
1910
|
+
/**
|
|
1911
|
+
* Line delimiter for parsing CSV.
|
|
1912
|
+
*
|
|
1913
|
+
* @sample {highcharts} highcharts/data/delimiters/
|
|
1914
|
+
* Delimiters
|
|
1915
|
+
*
|
|
1916
|
+
* @type {string}
|
|
1917
|
+
* @default \n
|
|
1918
|
+
* @since 4.0
|
|
1919
|
+
* @apioption data.lineDelimiter
|
|
1920
|
+
*/
|
|
1921
|
+
/**
|
|
1922
|
+
* A callback function to access the parsed columns, the two-dimentional
|
|
1923
|
+
* input data array directly, before they are interpreted into series
|
|
1924
|
+
* data and categories. Return `false` to stop completion, or call
|
|
1925
|
+
* `this.complete()` to continue async.
|
|
1926
|
+
*
|
|
1927
|
+
* @see [data.complete](#data.complete)
|
|
1928
|
+
*
|
|
1929
|
+
* @sample {highcharts} highcharts/data/parsed/
|
|
1930
|
+
* Modify data after parse
|
|
1931
|
+
*
|
|
1932
|
+
* @type {Highcharts.DataParsedCallbackFunction}
|
|
1933
|
+
* @since 4.0
|
|
1934
|
+
* @apioption data.parsed
|
|
1935
|
+
*/
|
|
1936
|
+
/**
|
|
1937
|
+
* A callback function to parse string representations of dates into
|
|
1938
|
+
* JavaScript timestamps. Should return an integer timestamp on success.
|
|
1939
|
+
*
|
|
1940
|
+
* @see [dateFormat](#data.dateFormat)
|
|
1941
|
+
*
|
|
1942
|
+
* @type {Highcharts.DataParseDateCallbackFunction}
|
|
1943
|
+
* @since 4.0
|
|
1944
|
+
* @apioption data.parseDate
|
|
1945
|
+
*/
|
|
1946
|
+
/**
|
|
1947
|
+
* The same as the columns input option, but defining rows intead of
|
|
1948
|
+
* columns.
|
|
1949
|
+
*
|
|
1950
|
+
* @see [data.columns](#data.columns)
|
|
1951
|
+
*
|
|
1952
|
+
* @sample {highcharts} highcharts/data/rows/
|
|
1953
|
+
* Data in rows
|
|
1954
|
+
*
|
|
1955
|
+
* @type {Array<Array<Highcharts.DataValueType>>}
|
|
1956
|
+
* @since 4.0
|
|
1957
|
+
* @apioption data.rows
|
|
1958
|
+
*/
|
|
1959
|
+
/**
|
|
1960
|
+
* An array containing dictionaries for each series. A dictionary exists of
|
|
1961
|
+
* Point property names as the key and the CSV column index as the value.
|
|
1962
|
+
*
|
|
1963
|
+
* @sample {highcharts} highcharts/data/seriesmapping-label/
|
|
1964
|
+
* Label from data set
|
|
1965
|
+
*
|
|
1966
|
+
* @type {Array<Highcharts.Dictionary<number>>}
|
|
1967
|
+
* @since 4.0.4
|
|
1968
|
+
* @apioption data.seriesMapping
|
|
1969
|
+
*/
|
|
1970
|
+
/**
|
|
1971
|
+
* In tabular input data, the first column (indexed by 0) to use.
|
|
1972
|
+
*
|
|
1973
|
+
* @sample {highcharts} highcharts/data/start-end/
|
|
1974
|
+
* Limited data
|
|
1975
|
+
*
|
|
1976
|
+
* @type {number}
|
|
1977
|
+
* @default 0
|
|
1978
|
+
* @since 4.0
|
|
1979
|
+
* @apioption data.startColumn
|
|
1980
|
+
*/
|
|
1981
|
+
/**
|
|
1982
|
+
* In tabular input data, the first row (indexed by 0) to use.
|
|
1983
|
+
*
|
|
1984
|
+
* @sample {highcharts} highcharts/data/start-end/
|
|
1985
|
+
* Limited data
|
|
1986
|
+
*
|
|
1987
|
+
* @type {number}
|
|
1988
|
+
* @default 0
|
|
1989
|
+
* @since 4.0
|
|
1990
|
+
* @apioption data.startRow
|
|
1991
|
+
*/
|
|
1992
|
+
/**
|
|
1993
|
+
* Switch rows and columns of the input data, so that `this.columns`
|
|
1994
|
+
* effectively becomes the rows of the data set, and the rows are interpreted
|
|
1995
|
+
* as series.
|
|
1996
|
+
*
|
|
1997
|
+
* @sample {highcharts} highcharts/data/switchrowsandcolumns/
|
|
1998
|
+
* Switch rows and columns
|
|
1999
|
+
*
|
|
2000
|
+
* @type {boolean}
|
|
2001
|
+
* @default false
|
|
2002
|
+
* @since 4.0
|
|
2003
|
+
* @apioption data.switchRowsAndColumns
|
|
2004
|
+
*/
|
|
2005
|
+
/**
|
|
2006
|
+
* An HTML table or the id of such to be parsed as input data. Related
|
|
2007
|
+
* options are `startRow`, `endRow`, `startColumn` and `endColumn` to
|
|
2008
|
+
* delimit what part of the table is used.
|
|
2009
|
+
*
|
|
2010
|
+
* @sample {highcharts} highcharts/demo/column-parsed/
|
|
2011
|
+
* Parsed table
|
|
2012
|
+
*
|
|
2013
|
+
* @type {string|global.HTMLElement}
|
|
2014
|
+
* @since 4.0
|
|
2015
|
+
* @apioption data.table
|
|
2016
|
+
*/
|
|
2017
|
+
/**
|
|
2018
|
+
* An URL to a remote CSV dataset. Will be fetched when the chart is created
|
|
2019
|
+
* using Ajax.
|
|
2020
|
+
*
|
|
2021
|
+
* @sample highcharts/data/livedata-columns
|
|
2022
|
+
* Categorized bar chart with CSV and live polling
|
|
2023
|
+
* @sample highcharts/data/livedata-csv
|
|
2024
|
+
* Time based line chart with CSV and live polling
|
|
2025
|
+
*
|
|
2026
|
+
* @type {string}
|
|
2027
|
+
* @apioption data.csvURL
|
|
2028
|
+
*/
|
|
2029
|
+
/**
|
|
2030
|
+
* A URL to a remote JSON dataset, structured as a row array.
|
|
2031
|
+
* Will be fetched when the chart is created using Ajax.
|
|
2032
|
+
*
|
|
2033
|
+
* @sample highcharts/data/livedata-rows
|
|
2034
|
+
* Rows with live polling
|
|
2035
|
+
*
|
|
2036
|
+
* @type {string}
|
|
2037
|
+
* @apioption data.rowsURL
|
|
2038
|
+
*/
|
|
2039
|
+
/**
|
|
2040
|
+
* A URL to a remote JSON dataset, structured as a column array.
|
|
2041
|
+
* Will be fetched when the chart is created using Ajax.
|
|
2042
|
+
*
|
|
2043
|
+
* @sample highcharts/data/livedata-columns
|
|
2044
|
+
* Columns with live polling
|
|
2045
|
+
*
|
|
2046
|
+
* @type {string}
|
|
2047
|
+
* @apioption data.columnsURL
|
|
2048
|
+
*/
|
|
2049
|
+
/**
|
|
2050
|
+
* Sets the refresh rate for data polling when importing remote dataset by
|
|
2051
|
+
* setting [data.csvURL](data.csvURL), [data.rowsURL](data.rowsURL),
|
|
2052
|
+
* [data.columnsURL](data.columnsURL), or
|
|
2053
|
+
* [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
|
|
2054
|
+
*
|
|
2055
|
+
* Note that polling must be enabled by setting
|
|
2056
|
+
* [data.enablePolling](data.enablePolling) to true.
|
|
2057
|
+
*
|
|
2058
|
+
* The value is the number of seconds between pollings.
|
|
2059
|
+
* It cannot be set to less than 1 second.
|
|
2060
|
+
*
|
|
2061
|
+
* @sample highcharts/demo/live-data
|
|
2062
|
+
* Live data with user set refresh rate
|
|
2063
|
+
*
|
|
2064
|
+
* @default 1
|
|
2065
|
+
* @type {number}
|
|
2066
|
+
* @apioption data.dataRefreshRate
|
|
2067
|
+
*/
|
|
2068
|
+
/**
|
|
2069
|
+
* Enables automatic refetching of remote datasets every _n_ seconds (defined by
|
|
2070
|
+
* setting [data.dataRefreshRate](data.dataRefreshRate)).
|
|
2071
|
+
*
|
|
2072
|
+
* Only works when either [data.csvURL](data.csvURL),
|
|
2073
|
+
* [data.rowsURL](data.rowsURL), [data.columnsURL](data.columnsURL), or
|
|
2074
|
+
* [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
|
|
2075
|
+
*
|
|
2076
|
+
* @sample highcharts/demo/live-data
|
|
2077
|
+
* Live data
|
|
2078
|
+
* @sample highcharts/data/livedata-columns
|
|
2079
|
+
* Categorized bar chart with CSV and live polling
|
|
2080
|
+
*
|
|
2081
|
+
* @type {boolean}
|
|
2082
|
+
* @default false
|
|
2083
|
+
* @apioption data.enablePolling
|
|
2084
|
+
*/
|
|
2085
|
+
(''); // keeps doclets above in JS file
|