highcharts 9.3.3 → 10.2.0
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 +19 -2
- package/css/highcharts.scss +17 -2
- package/css/themes/dark-unica.css +19 -2
- package/css/themes/grid-light.css +19 -2
- package/css/themes/sand-signika.css +19 -2
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +3 -4
- 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 +34 -26
- package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
- package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +3 -3
- package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
- package/es-modules/Accessibility/ProxyElement.js +14 -6
- package/es-modules/Accessibility/ProxyProvider.js +10 -2
- 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 +197 -91
- package/es-modules/Core/Axis/AxisDefaults.js +8 -8
- package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +821 -821
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/StackingAxis.js +0 -1
- package/es-modules/Core/Axis/Tick.js +22 -18
- package/es-modules/Core/Axis/TreeGridTick.js +13 -2
- package/es-modules/Core/Axis/ZAxis.js +3 -1
- package/es-modules/Core/Chart/Chart.js +27 -8
- package/es-modules/Core/Chart/Chart3D.js +1 -11
- package/es-modules/Core/Chart/ChartDefaults.js +46 -14
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +4 -7
- package/es-modules/Core/Chart/StockChart.js +7 -5
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +19 -15
- package/es-modules/Core/Geometry/PolygonClip.js +84 -0
- package/es-modules/Core/Globals.js +4 -18
- package/es-modules/Core/HttpUtilities.js +46 -39
- package/es-modules/Core/Legend/Legend.js +14 -12
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/Core/Navigator.js +16 -13
- package/es-modules/Core/Pointer.js +16 -12
- package/es-modules/Core/Renderer/HTML/AST.js +68 -8
- 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 +54 -70
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
- package/es-modules/Core/Scrollbar.js +9 -5
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +67 -38
- package/es-modules/Core/Series/Point.js +11 -2
- package/es-modules/Core/Series/Series.js +57 -27
- package/es-modules/Core/Series/Series3D.js +3 -1
- package/es-modules/Core/Series/SeriesDefaults.js +7 -4
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +17 -34
- package/es-modules/Core/Utilities.js +33 -33
- package/es-modules/Data/DataConverter.js +1 -1
- package/es-modules/Data/DataTable.js +12 -10
- package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
- package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
- package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
- package/es-modules/Data/Modifiers/SortModifier.js +3 -1
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +1 -1
- 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/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
- package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
- package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
- package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
- package/es-modules/Extensions/Annotations/Popup.js +2 -2
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
- package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
- package/es-modules/Extensions/Boost/BoostInit.js +9 -3
- package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
- package/es-modules/Extensions/Boost/Boostables.js +1 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
- package/es-modules/Extensions/Boost/WGLShader.js +4 -3
- package/es-modules/Extensions/BoostCanvas.js +11 -5
- package/es-modules/Extensions/Breadcrumbs.js +898 -0
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +661 -613
- package/es-modules/Extensions/DataGrouping.js +8 -3
- 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 +9 -7
- package/es-modules/Extensions/Drilldown.js +152 -97
- package/es-modules/Extensions/ExportData.js +58 -9
- package/es-modules/Extensions/Exporting/Exporting.js +34 -23
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
- package/es-modules/Extensions/FullScreen.js +121 -54
- package/es-modules/Extensions/GeoJSON.js +149 -125
- package/es-modules/Extensions/MarkerClusters.js +36 -22
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
- 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 +1 -1
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Stacking.js +5 -4
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
- package/es-modules/Maps/MapNavigation.js +49 -12
- package/es-modules/Maps/MapPointer.js +16 -0
- package/es-modules/Maps/MapUtilities.js +56 -0
- package/es-modules/Maps/MapView.js +619 -137
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
- package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
- package/es-modules/Maps/Projection.js +182 -88
- package/es-modules/Maps/Projections/EqualEarth.js +15 -6
- package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
- package/es-modules/Maps/Projections/Miller.js +23 -10
- package/es-modules/Maps/Projections/Orthographic.js +21 -10
- package/es-modules/Maps/Projections/WebMercator.js +25 -13
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
- 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/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
- 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 +10 -7
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DataModifyComposition.js +1 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- 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 +3 -1
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -1
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
- 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 +29 -33
- 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 +3 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
- package/es-modules/Series/Map/MapPoint.js +32 -7
- package/es-modules/Series/Map/MapSeries.js +298 -189
- package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
- package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
- package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
- package/es-modules/Series/NodesComposition.js +101 -49
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
- package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
- package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
- 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 +15 -6
- package/es-modules/Series/Pie/PieSeries.js +51 -37
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -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/SankeyColumnComposition.js +193 -0
- package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
- package/es-modules/Series/Sankey/SankeySeries.js +35 -136
- package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
- package/es-modules/Series/SeriesOnPointComposition.js +391 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
- 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 +3 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +21 -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 +6 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
- 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 +3 -1
- 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 +16 -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 +11 -8
- package/es-modules/Series/XRange/XRangePoint.js +3 -1
- package/es-modules/Series/XRange/XRangeSeries.js +3 -1
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
- package/es-modules/Stock/StockToolsBindings.js +51 -43
- package/es-modules/Stock/StockToolsGui.js +1 -1
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +4 -4
- package/es-modules/masters/highcharts.src.js +1 -1
- 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 +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
- package/es-modules/masters/modules/annotations.src.js +2 -2
- package/es-modules/masters/modules/arc-diagram.src.js +14 -0
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +2 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +2 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/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 +5 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +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 +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +5 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/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 +99 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +51 -21
- package/highcharts-gantt.js +811 -801
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +2020 -1607
- package/highcharts-more.d.ts +10 -0
- package/highcharts-more.js +194 -194
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +10 -0
- package/highcharts-more.src.js +3512 -3364
- package/highcharts.d.ts +12336 -965
- package/highcharts.js +595 -586
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +12336 -965
- package/highcharts.src.js +1047 -665
- package/highmaps.js +763 -728
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +4482 -2639
- package/highstock.js +798 -788
- package/highstock.js.map +1 -1
- package/highstock.src.js +1177 -739
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -11
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +99 -100
- package/indicators/accumulation-distribution.js +5 -5
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +11 -2
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +13 -4
- package/indicators/apo.js +5 -5
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +11 -2
- 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 +99 -100
- 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 +99 -100
- package/indicators/atr.js +5 -5
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +11 -2
- 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 +102 -103
- package/indicators/cci.js +5 -5
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +11 -2
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +11 -2
- package/indicators/cmf.js +6 -6
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +11 -2
- package/indicators/cmo.js +5 -5
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +11 -2
- package/indicators/dema.js +5 -5
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +11 -2
- package/indicators/disparity-index.js +6 -6
- package/indicators/disparity-index.js.map +1 -1
- package/indicators/disparity-index.src.js +11 -2
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +109 -106
- package/indicators/dpo.js +5 -5
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +11 -2
- package/indicators/ema.js +2 -1
- package/indicators/ema.js.map +1 -1
- package/indicators/ema.src.js +10 -1
- package/indicators/ichimoku-kinko-hyo.js +16 -16
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +11 -2
- package/indicators/indicators-all.d.ts +1 -17
- package/indicators/indicators-all.js +198 -196
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +151 -129
- package/indicators/indicators.js +13 -12
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +21 -5
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -11
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +99 -100
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +99 -100
- package/indicators/macd.js +13 -11
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +35 -14
- package/indicators/mfi.js +6 -6
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +11 -2
- package/indicators/momentum.js +5 -5
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +11 -2
- package/indicators/natr.js +5 -4
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +11 -2
- package/indicators/obv.js +5 -5
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -2
- package/indicators/pivot-points.js +11 -11
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +11 -2
- package/indicators/ppo.js +5 -5
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +11 -2
- 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 +99 -100
- package/indicators/price-envelopes.js +8 -8
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +11 -2
- package/indicators/psar.js +7 -6
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +11 -2
- package/indicators/regressions.js +12 -12
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +11 -2
- package/indicators/roc.js +5 -5
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +11 -2
- package/indicators/rsi.js +6 -5
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +11 -2
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +11 -2
- 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 +99 -100
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +14 -5
- package/indicators/tema.js +6 -6
- package/indicators/tema.js.map +1 -1
- package/indicators/tema.src.js +11 -2
- package/indicators/trendline.js +5 -5
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +11 -2
- package/indicators/trix.js +4 -4
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +11 -2
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +11 -2
- package/indicators/vwap.js +5 -5
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +11 -2
- package/indicators/williams-r.js +6 -5
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -2
- package/indicators/wma.js +5 -5
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +11 -2
- package/indicators/zigzag.js +6 -6
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +11 -2
- package/lib/jspdf.js +299 -184
- package/lib/jspdf.src.js +25266 -18067
- package/lib/svg2pdf.js +35 -31
- package/lib/svg2pdf.src.js +5721 -4179
- package/modules/accessibility.js +242 -237
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +599 -390
- package/modules/annotations-advanced.js +192 -192
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +96 -47
- package/modules/annotations.js +126 -126
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +67 -25
- package/modules/arc-diagram.js +25 -0
- package/modules/arc-diagram.js.map +1 -0
- package/modules/arc-diagram.src.js +778 -0
- package/modules/arrow-symbols.js +4 -3
- package/modules/arrow-symbols.js.map +1 -1
- package/modules/arrow-symbols.src.js +11 -2
- package/modules/boost-canvas.js +16 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +22 -7
- package/modules/boost.js +81 -79
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +90 -51
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +11 -2
- package/modules/bullet.js +9 -9
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +12 -6
- package/modules/coloraxis.js +24 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +37 -11
- package/modules/current-date-indicator.js +5 -4
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +12 -3
- package/modules/cylinder.js +11 -11
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +11 -2
- package/modules/data.d.ts +12 -12
- package/modules/data.js +33 -33
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +906 -846
- package/modules/datagrouping.js +21 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.js +19 -5
- package/modules/debugger.js +8 -7
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +15 -2
- package/modules/dependency-wheel.js +12 -11
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +14 -5
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +11 -2
- package/modules/drag-panes.js +10 -10
- package/modules/drag-panes.js.map +1 -1
- package/modules/drag-panes.src.js +12 -3
- package/modules/draggable-points.js +35 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +20 -9
- package/modules/drilldown.d.ts +19 -0
- package/modules/drilldown.js +37 -25
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +19 -0
- package/modules/drilldown.src.js +1124 -108
- 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 +34 -13
- package/modules/export-data.js +24 -21
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +87 -14
- 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 +270 -135
- package/modules/full-screen.js +8 -7
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +135 -58
- package/modules/funnel.js +12 -12
- package/modules/funnel.js.map +1 -1
- package/modules/funnel.src.js +13 -4
- package/modules/funnel3d.js +21 -21
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +11 -2
- package/modules/gantt.js +218 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +983 -943
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +900 -890
- package/modules/heatmap.js +40 -39
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +160 -113
- package/modules/heikinashi.js +8 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.js +11 -2
- package/modules/histogram-bellcurve.js +13 -13
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +11 -2
- package/modules/hollowcandlestick.js +9 -9
- package/modules/hollowcandlestick.js.map +1 -1
- package/modules/hollowcandlestick.src.js +19 -10
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +11 -2
- package/modules/lollipop.js +7 -7
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +12 -3
- package/modules/map.d.ts +80 -43
- package/modules/map.js +171 -144
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +80 -43
- package/modules/map.src.js +8292 -6822
- package/modules/marker-clusters.js +36 -36
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +48 -28
- package/modules/networkgraph.d.ts +1 -12
- package/modules/networkgraph.js +46 -45
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -12
- package/modules/networkgraph.src.js +127 -55
- package/modules/no-data-to-display.js +5 -5
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +12 -3
- package/modules/offline-exporting.js +20 -18
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +129 -28
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +11 -2
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +13 -4
- package/modules/organization.js +16 -14
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +168 -34
- package/modules/overlapping-datalabels.js +3 -2
- package/modules/overlapping-datalabels.js.map +1 -1
- package/modules/overlapping-datalabels.src.js +11 -2
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +12 -3
- package/modules/pareto.js +7 -7
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +11 -2
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +11 -2
- package/modules/pattern-fill.js +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +25 -3
- package/modules/price-indicator.js +5 -5
- package/modules/price-indicator.js.map +1 -1
- package/modules/price-indicator.src.js +11 -2
- package/modules/pyramid3d.js +4 -4
- package/modules/pyramid3d.js.map +1 -1
- package/modules/pyramid3d.src.js +11 -2
- package/modules/sankey.d.ts +1 -12
- package/modules/sankey.js +32 -29
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -12
- package/modules/sankey.src.js +422 -207
- package/modules/series-label.js +18 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +482 -386
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +464 -0
- package/modules/solid-gauge.js +10 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +15 -6
- package/modules/sonification.js +59 -59
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +13 -8
- package/modules/static-scale.js +5 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +11 -2
- package/modules/stock-tools.js +167 -167
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +118 -67
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +141 -76
- package/modules/streamgraph.js +5 -4
- package/modules/streamgraph.js.map +1 -1
- package/modules/streamgraph.src.js +11 -2
- package/modules/sunburst.d.ts +3 -0
- package/modules/sunburst.js +73 -60
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.d.ts +3 -0
- package/modules/sunburst.src.js +1391 -406
- package/modules/tilemap.js +17 -17
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +11 -2
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +14 -5
- package/modules/treegrid.js +57 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +913 -892
- package/modules/treemap.d.ts +3 -0
- package/modules/treemap.js +54 -41
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.d.ts +3 -0
- package/modules/treemap.src.js +1229 -255
- package/modules/variable-pie.js +9 -9
- package/modules/variable-pie.js.map +1 -1
- package/modules/variable-pie.src.js +11 -2
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +11 -2
- package/modules/vector.js +8 -7
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +11 -2
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +88 -105
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +11 -2
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +92 -109
- package/modules/xrange.js +16 -16
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +11 -2
- package/package.json +1 -1
- package/themes/avocado.js +4 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +11 -2
- package/themes/brand-dark.js +9 -8
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.js +11 -2
- package/themes/brand-light.js +8 -8
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.js +11 -2
- package/themes/dark-blue.js +9 -8
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +11 -2
- package/themes/dark-green.js +9 -8
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +11 -2
- package/themes/dark-unica.js +8 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +11 -2
- package/themes/gray.js +9 -8
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +11 -2
- package/themes/grid-light.js +5 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +11 -2
- package/themes/grid.js +5 -5
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +11 -2
- package/themes/high-contrast-dark.js +7 -7
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +21 -12
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +21 -12
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +11 -2
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +11 -2
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +11 -2
- package/es-modules/Extensions/Polar.js +0 -740
- package/es-modules/Maps/ProjectionDefinition.js +0 -9
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -111
|
@@ -19,493 +19,61 @@ import Point from '../Core/Series/Point.js';
|
|
|
19
19
|
import SeriesRegistry from '../Core/Series/SeriesRegistry.js';
|
|
20
20
|
var seriesTypes = SeriesRegistry.seriesTypes;
|
|
21
21
|
import U from '../Core/Utilities.js';
|
|
22
|
+
import D from '../Core/DefaultOptions.js';
|
|
23
|
+
var getOptions = D.getOptions;
|
|
22
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;
|
|
23
|
-
|
|
24
|
-
* Callback function to modify the CSV before parsing it by the data module.
|
|
25
|
-
*
|
|
26
|
-
* @callback Highcharts.DataBeforeParseCallbackFunction
|
|
27
|
-
*
|
|
28
|
-
* @param {string} csv
|
|
29
|
-
* The CSV to modify.
|
|
30
|
-
*
|
|
31
|
-
* @return {string}
|
|
32
|
-
* The CSV to parse.
|
|
33
|
-
*/
|
|
34
|
-
/**
|
|
35
|
-
* Callback function that gets called after parsing data.
|
|
36
|
-
*
|
|
37
|
-
* @callback Highcharts.DataCompleteCallbackFunction
|
|
38
|
-
*
|
|
39
|
-
* @param {Highcharts.Options} chartOptions
|
|
40
|
-
* The chart options that were used.
|
|
41
|
-
*/
|
|
42
|
-
/**
|
|
43
|
-
* Callback function that returns the correspondig Date object to a match.
|
|
44
|
-
*
|
|
45
|
-
* @callback Highcharts.DataDateFormatCallbackFunction
|
|
46
|
-
*
|
|
47
|
-
* @param {Array<number>} match
|
|
48
|
-
*
|
|
49
|
-
* @return {number}
|
|
50
|
-
*/
|
|
51
|
-
/**
|
|
52
|
-
* Structure for alternative date formats to parse.
|
|
53
|
-
*
|
|
54
|
-
* @interface Highcharts.DataDateFormatObject
|
|
55
|
-
*/ /**
|
|
56
|
-
* @name Highcharts.DataDateFormatObject#alternative
|
|
57
|
-
* @type {string|undefined}
|
|
58
|
-
*/ /**
|
|
59
|
-
* @name Highcharts.DataDateFormatObject#parser
|
|
60
|
-
* @type {Highcharts.DataDateFormatCallbackFunction}
|
|
61
|
-
*/ /**
|
|
62
|
-
* @name Highcharts.DataDateFormatObject#regex
|
|
63
|
-
* @type {global.RegExp}
|
|
64
|
-
*/
|
|
65
|
-
/**
|
|
66
|
-
* Possible types for a data item in a column or row.
|
|
67
|
-
*
|
|
68
|
-
* @typedef {number|string|null} Highcharts.DataValueType
|
|
69
|
-
*/
|
|
70
|
-
/**
|
|
71
|
-
* Callback function to parse string representations of dates into
|
|
72
|
-
* JavaScript timestamps (milliseconds since 1.1.1970).
|
|
73
|
-
*
|
|
74
|
-
* @callback Highcharts.DataParseDateCallbackFunction
|
|
75
|
-
*
|
|
76
|
-
* @param {string} dateValue
|
|
77
|
-
*
|
|
78
|
-
* @return {number}
|
|
79
|
-
* Timestamp (milliseconds since 1.1.1970) as integer for Date class.
|
|
80
|
-
*/
|
|
81
|
-
/**
|
|
82
|
-
* Callback function to access the parsed columns, the two-dimentional
|
|
83
|
-
* input data array directly, before they are interpreted into series
|
|
84
|
-
* data and categories.
|
|
85
|
-
*
|
|
86
|
-
* @callback Highcharts.DataParsedCallbackFunction
|
|
87
|
-
*
|
|
88
|
-
* @param {Array<Array<*>>} columns
|
|
89
|
-
* The parsed columns by the data module.
|
|
90
|
-
*
|
|
91
|
-
* @return {boolean|undefined}
|
|
92
|
-
* Return `false` to stop completion, or call `this.complete()` to
|
|
93
|
-
* continue async.
|
|
94
|
-
*/
|
|
95
|
-
/**
|
|
96
|
-
* The Data module provides a simplified interface for adding data to
|
|
97
|
-
* a chart from sources like CVS, HTML tables or grid views. See also
|
|
98
|
-
* the [tutorial article on the Data module](
|
|
99
|
-
* https://www.highcharts.com/docs/working-with-data/data-module).
|
|
100
|
-
*
|
|
101
|
-
* It requires the `modules/data.js` file to be loaded.
|
|
102
|
-
*
|
|
103
|
-
* Please note that the default way of adding data in Highcharts, without
|
|
104
|
-
* the need of a module, is through the [series._type_.data](#series.line.data)
|
|
105
|
-
* option.
|
|
106
|
-
*
|
|
107
|
-
* @sample {highcharts} highcharts/demo/column-parsed/
|
|
108
|
-
* HTML table
|
|
109
|
-
* @sample {highcharts} highcharts/data/csv/
|
|
110
|
-
* CSV
|
|
111
|
-
*
|
|
112
|
-
* @since 4.0
|
|
113
|
-
* @requires modules/data
|
|
114
|
-
* @apioption data
|
|
115
|
-
*/
|
|
116
|
-
/**
|
|
117
|
-
* A callback function to modify the CSV before parsing it. Return the modified
|
|
118
|
-
* string.
|
|
119
|
-
*
|
|
120
|
-
* @sample {highcharts} highcharts/demo/line-ajax/
|
|
121
|
-
* Modify CSV before parse
|
|
122
|
-
*
|
|
123
|
-
* @type {Highcharts.DataBeforeParseCallbackFunction}
|
|
124
|
-
* @since 6.1
|
|
125
|
-
* @apioption data.beforeParse
|
|
126
|
-
*/
|
|
127
|
-
/**
|
|
128
|
-
* A two-dimensional array representing the input data on tabular form.
|
|
129
|
-
* This input can be used when the data is already parsed, for example
|
|
130
|
-
* from a grid view component. Each cell can be a string or number.
|
|
131
|
-
* If not switchRowsAndColumns is set, the columns are interpreted as
|
|
132
|
-
* series.
|
|
133
|
-
*
|
|
134
|
-
* @see [data.rows](#data.rows)
|
|
135
|
-
*
|
|
136
|
-
* @sample {highcharts} highcharts/data/columns/
|
|
137
|
-
* Columns
|
|
138
|
-
*
|
|
139
|
-
* @type {Array<Array<Highcharts.DataValueType>>}
|
|
140
|
-
* @since 4.0
|
|
141
|
-
* @apioption data.columns
|
|
142
|
-
*/
|
|
143
|
-
/**
|
|
144
|
-
* The callback that is evaluated when the data is finished loading,
|
|
145
|
-
* optionally from an external source, and parsed. The first argument
|
|
146
|
-
* passed is a finished chart options object, containing the series.
|
|
147
|
-
* These options can be extended with additional options and passed
|
|
148
|
-
* directly to the chart constructor.
|
|
149
|
-
*
|
|
150
|
-
* @see [data.parsed](#data.parsed)
|
|
151
|
-
*
|
|
152
|
-
* @sample {highcharts} highcharts/data/complete/
|
|
153
|
-
* Modify data on complete
|
|
154
|
-
*
|
|
155
|
-
* @type {Highcharts.DataCompleteCallbackFunction}
|
|
156
|
-
* @since 4.0
|
|
157
|
-
* @apioption data.complete
|
|
158
|
-
*/
|
|
159
|
-
/**
|
|
160
|
-
* A comma delimited string to be parsed. Related options are [startRow](
|
|
161
|
-
* #data.startRow), [endRow](#data.endRow), [startColumn](#data.startColumn)
|
|
162
|
-
* and [endColumn](#data.endColumn) to delimit what part of the table
|
|
163
|
-
* is used. The [lineDelimiter](#data.lineDelimiter) and [itemDelimiter](
|
|
164
|
-
* #data.itemDelimiter) options define the CSV delimiter formats.
|
|
165
|
-
*
|
|
166
|
-
* The built-in CSV parser doesn't support all flavours of CSV, so in
|
|
167
|
-
* some cases it may be necessary to use an external CSV parser. See
|
|
168
|
-
* [this example](https://jsfiddle.net/highcharts/u59176h4/) of parsing
|
|
169
|
-
* CSV through the MIT licensed [Papa Parse](http://papaparse.com/)
|
|
170
|
-
* library.
|
|
171
|
-
*
|
|
172
|
-
* @sample {highcharts} highcharts/data/csv/
|
|
173
|
-
* Data from CSV
|
|
174
|
-
*
|
|
175
|
-
* @type {string}
|
|
176
|
-
* @since 4.0
|
|
177
|
-
* @apioption data.csv
|
|
178
|
-
*/
|
|
179
|
-
/**
|
|
180
|
-
* Which of the predefined date formats in Date.prototype.dateFormats
|
|
181
|
-
* to use to parse date values. Defaults to a best guess based on what
|
|
182
|
-
* format gives valid and ordered dates. Valid options include: `YYYY/mm/dd`,
|
|
183
|
-
* `dd/mm/YYYY`, `mm/dd/YYYY`, `dd/mm/YY`, `mm/dd/YY`.
|
|
184
|
-
*
|
|
185
|
-
* @see [data.parseDate](#data.parseDate)
|
|
186
|
-
*
|
|
187
|
-
* @sample {highcharts} highcharts/data/dateformat-auto/
|
|
188
|
-
* Best guess date format
|
|
189
|
-
*
|
|
190
|
-
* @type {string}
|
|
191
|
-
* @since 4.0
|
|
192
|
-
* @validvalue ["YYYY/mm/dd", "dd/mm/YYYY", "mm/dd/YYYY", "dd/mm/YYYY",
|
|
193
|
-
* "dd/mm/YY", "mm/dd/YY"]
|
|
194
|
-
* @apioption data.dateFormat
|
|
195
|
-
*/
|
|
196
|
-
/**
|
|
197
|
-
* The decimal point used for parsing numbers in the CSV.
|
|
198
|
-
*
|
|
199
|
-
* If both this and data.delimiter is set to `undefined`, the parser will
|
|
200
|
-
* attempt to deduce the decimal point automatically.
|
|
201
|
-
*
|
|
202
|
-
* @sample {highcharts} highcharts/data/delimiters/
|
|
203
|
-
* Comma as decimal point
|
|
204
|
-
*
|
|
205
|
-
* @type {string}
|
|
206
|
-
* @default .
|
|
207
|
-
* @since 4.1.0
|
|
208
|
-
* @apioption data.decimalPoint
|
|
209
|
-
*/
|
|
210
|
-
/**
|
|
211
|
-
* In tabular input data, the last column (indexed by 0) to use. Defaults
|
|
212
|
-
* to the last column containing data.
|
|
25
|
+
/* *
|
|
213
26
|
*
|
|
214
|
-
*
|
|
215
|
-
* Limited data
|
|
27
|
+
* Functions
|
|
216
28
|
*
|
|
217
|
-
*
|
|
218
|
-
* @since 4.0
|
|
219
|
-
* @apioption data.endColumn
|
|
220
|
-
*/
|
|
29
|
+
* */
|
|
221
30
|
/**
|
|
222
|
-
*
|
|
223
|
-
* to the last row containing data.
|
|
224
|
-
*
|
|
225
|
-
* @sample {highcharts} highcharts/data/start-end/
|
|
226
|
-
* Limited data
|
|
227
|
-
*
|
|
228
|
-
* @type {number}
|
|
229
|
-
* @since 4.0.4
|
|
230
|
-
* @apioption data.endRow
|
|
31
|
+
* @private
|
|
231
32
|
*/
|
|
232
|
-
|
|
233
|
-
|
|
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
|
+
/* *
|
|
234
60
|
*
|
|
235
|
-
*
|
|
236
|
-
* Don't get series names from the CSV
|
|
237
|
-
* @sample {highstock} highcharts/data/start-end/
|
|
238
|
-
* Don't get series names from the CSV
|
|
61
|
+
* Class
|
|
239
62
|
*
|
|
240
|
-
*
|
|
241
|
-
* @default true
|
|
242
|
-
* @since 4.1.0
|
|
243
|
-
* @product highcharts highstock gantt
|
|
244
|
-
* @apioption data.firstRowAsNames
|
|
245
|
-
*/
|
|
63
|
+
* */
|
|
246
64
|
/**
|
|
247
|
-
* The
|
|
248
|
-
* / Credentials](https://console.cloud.google.com/apis/credentials). See a
|
|
249
|
-
* comprehensive tutorial for setting up the key at the
|
|
250
|
-
* [Hands-On Data Visualization](https://handsondataviz.org/google-sheets-api-key.html)
|
|
251
|
-
* book website.
|
|
65
|
+
* The Data class
|
|
252
66
|
*
|
|
253
|
-
* @
|
|
254
|
-
* Load a Google Spreadsheet
|
|
67
|
+
* @requires module:modules/data
|
|
255
68
|
*
|
|
256
|
-
* @
|
|
257
|
-
* @
|
|
258
|
-
* @apioption data.googleAPIKey
|
|
259
|
-
*/
|
|
260
|
-
/**
|
|
261
|
-
* The key or `spreadsheetId` value for a Google Spreadsheet to load. See
|
|
262
|
-
* [developers.google.com](https://developers.google.com/sheets/api/guides/concepts)
|
|
263
|
-
* for how to find the `spreadsheetId`.
|
|
69
|
+
* @class
|
|
70
|
+
* @name Highcharts.Data
|
|
264
71
|
*
|
|
265
|
-
*
|
|
266
|
-
* must also be given.
|
|
72
|
+
* @param {Highcharts.DataOptions} dataOptions
|
|
267
73
|
*
|
|
268
|
-
* @
|
|
269
|
-
* Load a Google Spreadsheet
|
|
74
|
+
* @param {Highcharts.Options} [chartOptions]
|
|
270
75
|
*
|
|
271
|
-
* @
|
|
272
|
-
* @since 4.0
|
|
273
|
-
* @apioption data.googleSpreadsheetKey
|
|
274
|
-
*/
|
|
275
|
-
/**
|
|
276
|
-
* The Google Spreadsheet `range` to use in combination with
|
|
277
|
-
* [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
|
|
278
|
-
* [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
|
|
279
|
-
* for details.
|
|
280
|
-
*
|
|
281
|
-
* If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
|
|
282
|
-
* `endRow`.
|
|
283
|
-
*
|
|
284
|
-
* @example
|
|
285
|
-
* googleSpreadsheetRange: 'Fruit Consumption' // Load a named worksheet
|
|
286
|
-
* googleSpreadsheetRange: 'A:Z' // Load columns A to Z
|
|
287
|
-
*
|
|
288
|
-
* @sample {highcharts} highcharts/data/google-spreadsheet/
|
|
289
|
-
* Load a Google Spreadsheet
|
|
290
|
-
*
|
|
291
|
-
* @type {string|undefined}
|
|
292
|
-
* @since 9.2.2
|
|
293
|
-
* @apioption data.googleSpreadsheetRange
|
|
294
|
-
*/
|
|
295
|
-
/**
|
|
296
|
-
* No longer works since v9.2.2, that uses Google Sheets API v4. Instead, use
|
|
297
|
-
* the [googleSpreadsheetRange](#data.googleSpreadsheetRange) option to load a
|
|
298
|
-
* specific sheet.
|
|
299
|
-
*
|
|
300
|
-
* @deprecated
|
|
301
|
-
* @type {string}
|
|
302
|
-
* @since 4.0
|
|
303
|
-
* @apioption data.googleSpreadsheetWorksheet
|
|
304
|
-
*/
|
|
305
|
-
/**
|
|
306
|
-
* Item or cell delimiter for parsing CSV. Defaults to the tab character
|
|
307
|
-
* `\t` if a tab character is found in the CSV string, if not it defaults
|
|
308
|
-
* to `,`.
|
|
309
|
-
*
|
|
310
|
-
* If this is set to false or undefined, the parser will attempt to deduce
|
|
311
|
-
* the delimiter automatically.
|
|
312
|
-
*
|
|
313
|
-
* @sample {highcharts} highcharts/data/delimiters/
|
|
314
|
-
* Delimiters
|
|
315
|
-
*
|
|
316
|
-
* @type {string}
|
|
317
|
-
* @since 4.0
|
|
318
|
-
* @apioption data.itemDelimiter
|
|
319
|
-
*/
|
|
320
|
-
/**
|
|
321
|
-
* Line delimiter for parsing CSV.
|
|
322
|
-
*
|
|
323
|
-
* @sample {highcharts} highcharts/data/delimiters/
|
|
324
|
-
* Delimiters
|
|
325
|
-
*
|
|
326
|
-
* @type {string}
|
|
327
|
-
* @default \n
|
|
328
|
-
* @since 4.0
|
|
329
|
-
* @apioption data.lineDelimiter
|
|
330
|
-
*/
|
|
331
|
-
/**
|
|
332
|
-
* A callback function to access the parsed columns, the two-dimentional
|
|
333
|
-
* input data array directly, before they are interpreted into series
|
|
334
|
-
* data and categories. Return `false` to stop completion, or call
|
|
335
|
-
* `this.complete()` to continue async.
|
|
336
|
-
*
|
|
337
|
-
* @see [data.complete](#data.complete)
|
|
338
|
-
*
|
|
339
|
-
* @sample {highcharts} highcharts/data/parsed/
|
|
340
|
-
* Modify data after parse
|
|
341
|
-
*
|
|
342
|
-
* @type {Highcharts.DataParsedCallbackFunction}
|
|
343
|
-
* @since 4.0
|
|
344
|
-
* @apioption data.parsed
|
|
345
|
-
*/
|
|
346
|
-
/**
|
|
347
|
-
* A callback function to parse string representations of dates into
|
|
348
|
-
* JavaScript timestamps. Should return an integer timestamp on success.
|
|
349
|
-
*
|
|
350
|
-
* @see [dateFormat](#data.dateFormat)
|
|
351
|
-
*
|
|
352
|
-
* @type {Highcharts.DataParseDateCallbackFunction}
|
|
353
|
-
* @since 4.0
|
|
354
|
-
* @apioption data.parseDate
|
|
355
|
-
*/
|
|
356
|
-
/**
|
|
357
|
-
* The same as the columns input option, but defining rows intead of
|
|
358
|
-
* columns.
|
|
359
|
-
*
|
|
360
|
-
* @see [data.columns](#data.columns)
|
|
361
|
-
*
|
|
362
|
-
* @sample {highcharts} highcharts/data/rows/
|
|
363
|
-
* Data in rows
|
|
364
|
-
*
|
|
365
|
-
* @type {Array<Array<Highcharts.DataValueType>>}
|
|
366
|
-
* @since 4.0
|
|
367
|
-
* @apioption data.rows
|
|
368
|
-
*/
|
|
369
|
-
/**
|
|
370
|
-
* An array containing dictionaries for each series. A dictionary exists of
|
|
371
|
-
* Point property names as the key and the CSV column index as the value.
|
|
372
|
-
*
|
|
373
|
-
* @sample {highcharts} highcharts/data/seriesmapping-label/
|
|
374
|
-
* Label from data set
|
|
375
|
-
*
|
|
376
|
-
* @type {Array<Highcharts.Dictionary<number>>}
|
|
377
|
-
* @since 4.0.4
|
|
378
|
-
* @apioption data.seriesMapping
|
|
379
|
-
*/
|
|
380
|
-
/**
|
|
381
|
-
* In tabular input data, the first column (indexed by 0) to use.
|
|
382
|
-
*
|
|
383
|
-
* @sample {highcharts} highcharts/data/start-end/
|
|
384
|
-
* Limited data
|
|
385
|
-
*
|
|
386
|
-
* @type {number}
|
|
387
|
-
* @default 0
|
|
388
|
-
* @since 4.0
|
|
389
|
-
* @apioption data.startColumn
|
|
390
|
-
*/
|
|
391
|
-
/**
|
|
392
|
-
* In tabular input data, the first row (indexed by 0) to use.
|
|
393
|
-
*
|
|
394
|
-
* @sample {highcharts} highcharts/data/start-end/
|
|
395
|
-
* Limited data
|
|
396
|
-
*
|
|
397
|
-
* @type {number}
|
|
398
|
-
* @default 0
|
|
399
|
-
* @since 4.0
|
|
400
|
-
* @apioption data.startRow
|
|
401
|
-
*/
|
|
402
|
-
/**
|
|
403
|
-
* Switch rows and columns of the input data, so that `this.columns`
|
|
404
|
-
* effectively becomes the rows of the data set, and the rows are interpreted
|
|
405
|
-
* as series.
|
|
406
|
-
*
|
|
407
|
-
* @sample {highcharts} highcharts/data/switchrowsandcolumns/
|
|
408
|
-
* Switch rows and columns
|
|
409
|
-
*
|
|
410
|
-
* @type {boolean}
|
|
411
|
-
* @default false
|
|
412
|
-
* @since 4.0
|
|
413
|
-
* @apioption data.switchRowsAndColumns
|
|
414
|
-
*/
|
|
415
|
-
/**
|
|
416
|
-
* An HTML table or the id of such to be parsed as input data. Related
|
|
417
|
-
* options are `startRow`, `endRow`, `startColumn` and `endColumn` to
|
|
418
|
-
* delimit what part of the table is used.
|
|
419
|
-
*
|
|
420
|
-
* @sample {highcharts} highcharts/demo/column-parsed/
|
|
421
|
-
* Parsed table
|
|
422
|
-
*
|
|
423
|
-
* @type {string|global.HTMLElement}
|
|
424
|
-
* @since 4.0
|
|
425
|
-
* @apioption data.table
|
|
426
|
-
*/
|
|
427
|
-
/**
|
|
428
|
-
* An URL to a remote CSV dataset. Will be fetched when the chart is created
|
|
429
|
-
* using Ajax.
|
|
430
|
-
*
|
|
431
|
-
* @sample highcharts/data/livedata-columns
|
|
432
|
-
* Categorized bar chart with CSV and live polling
|
|
433
|
-
* @sample highcharts/data/livedata-csv
|
|
434
|
-
* Time based line chart with CSV and live polling
|
|
435
|
-
*
|
|
436
|
-
* @type {string}
|
|
437
|
-
* @apioption data.csvURL
|
|
438
|
-
*/
|
|
439
|
-
/**
|
|
440
|
-
* A URL to a remote JSON dataset, structured as a row array.
|
|
441
|
-
* Will be fetched when the chart is created using Ajax.
|
|
442
|
-
*
|
|
443
|
-
* @sample highcharts/data/livedata-rows
|
|
444
|
-
* Rows with live polling
|
|
445
|
-
*
|
|
446
|
-
* @type {string}
|
|
447
|
-
* @apioption data.rowsURL
|
|
448
|
-
*/
|
|
449
|
-
/**
|
|
450
|
-
* A URL to a remote JSON dataset, structured as a column array.
|
|
451
|
-
* Will be fetched when the chart is created using Ajax.
|
|
452
|
-
*
|
|
453
|
-
* @sample highcharts/data/livedata-columns
|
|
454
|
-
* Columns with live polling
|
|
455
|
-
*
|
|
456
|
-
* @type {string}
|
|
457
|
-
* @apioption data.columnsURL
|
|
458
|
-
*/
|
|
459
|
-
/**
|
|
460
|
-
* Sets the refresh rate for data polling when importing remote dataset by
|
|
461
|
-
* setting [data.csvURL](data.csvURL), [data.rowsURL](data.rowsURL),
|
|
462
|
-
* [data.columnsURL](data.columnsURL), or
|
|
463
|
-
* [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
|
|
464
|
-
*
|
|
465
|
-
* Note that polling must be enabled by setting
|
|
466
|
-
* [data.enablePolling](data.enablePolling) to true.
|
|
467
|
-
*
|
|
468
|
-
* The value is the number of seconds between pollings.
|
|
469
|
-
* It cannot be set to less than 1 second.
|
|
470
|
-
*
|
|
471
|
-
* @sample highcharts/demo/live-data
|
|
472
|
-
* Live data with user set refresh rate
|
|
473
|
-
*
|
|
474
|
-
* @default 1
|
|
475
|
-
* @type {number}
|
|
476
|
-
* @apioption data.dataRefreshRate
|
|
477
|
-
*/
|
|
478
|
-
/**
|
|
479
|
-
* Enables automatic refetching of remote datasets every _n_ seconds (defined by
|
|
480
|
-
* setting [data.dataRefreshRate](data.dataRefreshRate)).
|
|
481
|
-
*
|
|
482
|
-
* Only works when either [data.csvURL](data.csvURL),
|
|
483
|
-
* [data.rowsURL](data.rowsURL), [data.columnsURL](data.columnsURL), or
|
|
484
|
-
* [data.googleSpreadsheetKey](data.googleSpreadsheetKey).
|
|
485
|
-
*
|
|
486
|
-
* @sample highcharts/demo/live-data
|
|
487
|
-
* Live data
|
|
488
|
-
* @sample highcharts/data/livedata-columns
|
|
489
|
-
* Categorized bar chart with CSV and live polling
|
|
490
|
-
*
|
|
491
|
-
* @type {boolean}
|
|
492
|
-
* @default false
|
|
493
|
-
* @apioption data.enablePolling
|
|
494
|
-
*/
|
|
495
|
-
/* eslint-disable valid-jsdoc */
|
|
496
|
-
/**
|
|
497
|
-
* The Data class
|
|
498
|
-
*
|
|
499
|
-
* @requires module:modules/data
|
|
500
|
-
*
|
|
501
|
-
* @class
|
|
502
|
-
* @name Highcharts.Data
|
|
503
|
-
*
|
|
504
|
-
* @param {Highcharts.DataOptions} dataOptions
|
|
505
|
-
*
|
|
506
|
-
* @param {Highcharts.Options} [chartOptions]
|
|
507
|
-
*
|
|
508
|
-
* @param {Highcharts.Chart} [chart]
|
|
76
|
+
* @param {Highcharts.Chart} [chart]
|
|
509
77
|
*/
|
|
510
78
|
var Data = /** @class */ (function () {
|
|
511
79
|
/* *
|
|
@@ -514,11 +82,8 @@ var Data = /** @class */ (function () {
|
|
|
514
82
|
*
|
|
515
83
|
* */
|
|
516
84
|
function Data(dataOptions, chartOptions, chart) {
|
|
517
|
-
|
|
518
|
-
this.
|
|
519
|
-
this.firstRowAsNames = void 0;
|
|
520
|
-
this.rawColumns = void 0;
|
|
521
|
-
this.options = void 0;
|
|
85
|
+
if (chartOptions === void 0) { chartOptions = {}; }
|
|
86
|
+
this.rowsToColumns = Data.rowsToColumns; // backwards compatibility
|
|
522
87
|
/**
|
|
523
88
|
* A collection of available date formats, extendable from the outside to
|
|
524
89
|
* support custom date formats.
|
|
@@ -558,7 +123,8 @@ var Data = /** @class */ (function () {
|
|
|
558
123
|
if (!match) {
|
|
559
124
|
return NaN;
|
|
560
125
|
}
|
|
561
|
-
var
|
|
126
|
+
var d = new Date();
|
|
127
|
+
var year = +match[3];
|
|
562
128
|
if (year > (d.getFullYear() - 2000)) {
|
|
563
129
|
year += 1900;
|
|
564
130
|
}
|
|
@@ -578,50 +144,90 @@ var Data = /** @class */ (function () {
|
|
|
578
144
|
}
|
|
579
145
|
}
|
|
580
146
|
};
|
|
147
|
+
this.chart = chart;
|
|
148
|
+
this.chartOptions = chartOptions;
|
|
149
|
+
this.options = dataOptions;
|
|
150
|
+
this.rawColumns = [];
|
|
581
151
|
this.init(dataOptions, chartOptions, chart);
|
|
582
152
|
}
|
|
583
153
|
/* *
|
|
584
154
|
*
|
|
585
|
-
*
|
|
155
|
+
* Static Properties
|
|
586
156
|
*
|
|
587
157
|
* */
|
|
588
158
|
/**
|
|
589
|
-
*
|
|
159
|
+
* Creates a data object to parse data for a chart.
|
|
590
160
|
*
|
|
591
|
-
* @
|
|
592
|
-
* @function Highcharts.Data#init
|
|
161
|
+
* @function Highcharts.data
|
|
593
162
|
*/
|
|
594
|
-
Data.
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
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
|
|
223
|
+
// values with the same organisation as the columns array. It makes it
|
|
224
|
+
// possible for example to revert from interpreted timestamps to
|
|
225
|
+
// string-based categories.
|
|
226
|
+
this.rawColumns = [];
|
|
617
227
|
// No need to parse or interpret anything
|
|
618
228
|
if (this.columns.length) {
|
|
619
229
|
this.dataFound();
|
|
620
|
-
hasData =
|
|
621
|
-
}
|
|
622
|
-
if (this.hasURLOption(options)) {
|
|
623
|
-
clearTimeout(this.liveDataTimeout);
|
|
624
|
-
hasData = false;
|
|
230
|
+
hasData = !hasURLOption(dataOptions);
|
|
625
231
|
}
|
|
626
232
|
if (!hasData) {
|
|
627
233
|
// Fetch live data
|
|
@@ -640,14 +246,10 @@ var Data = /** @class */ (function () {
|
|
|
640
246
|
// Parse a Google Spreadsheet
|
|
641
247
|
hasData = this.parseGoogleSpreadsheet();
|
|
642
248
|
}
|
|
643
|
-
if (!hasData &&
|
|
644
|
-
|
|
249
|
+
if (!hasData && dataOptions.afterComplete) {
|
|
250
|
+
dataOptions.afterComplete();
|
|
645
251
|
}
|
|
646
252
|
};
|
|
647
|
-
Data.prototype.hasURLOption = function (options) {
|
|
648
|
-
return Boolean(options &&
|
|
649
|
-
(options.rowsURL || options.csvURL || options.columnsURL));
|
|
650
|
-
};
|
|
651
253
|
/**
|
|
652
254
|
* Get the column distribution. For example, a line series takes a single
|
|
653
255
|
* column for Y values. A range series takes two columns for low and high
|
|
@@ -662,7 +264,7 @@ var Data = /** @class */ (function () {
|
|
|
662
264
|
return seriesTypes[type || 'line'].prototype.pointArrayMap;
|
|
663
265
|
}, globalType = (chartOptions &&
|
|
664
266
|
chartOptions.chart &&
|
|
665
|
-
chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
|
|
267
|
+
chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
|
|
666
268
|
// If no series mapping is defined, check if the series array is
|
|
667
269
|
// defined with types.
|
|
668
270
|
seriesMapping = ((options && options.seriesMapping) ||
|
|
@@ -671,7 +273,8 @@ var Data = /** @class */ (function () {
|
|
|
671
273
|
chartOptions.series.map(function () {
|
|
672
274
|
return { x: 0 };
|
|
673
275
|
})) ||
|
|
674
|
-
[])
|
|
276
|
+
[]);
|
|
277
|
+
var seriesIndex = 0, i;
|
|
675
278
|
((chartOptions && chartOptions.series) || []).forEach(function (series) {
|
|
676
279
|
individualCounts.push(getValueCount(series.type || globalType));
|
|
677
280
|
});
|
|
@@ -757,12 +360,8 @@ var Data = /** @class */ (function () {
|
|
|
757
360
|
* @function Highcharts.Data#parseCSV
|
|
758
361
|
*/
|
|
759
362
|
Data.prototype.parseCSV = function (inOptions) {
|
|
760
|
-
var self = this, options = inOptions || this.options,
|
|
761
|
-
options.
|
|
762
|
-
0), endRow = options.endRow || Number.MAX_VALUE, startColumn = (typeof options.startColumn !== 'undefined' &&
|
|
763
|
-
options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0,
|
|
764
|
-
// activeRowNo = 0,
|
|
765
|
-
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 = [],
|
|
766
365
|
// We count potential delimiters in the prepass, and use the
|
|
767
366
|
// result as the basis of half-intelligent guesses.
|
|
768
367
|
potDelimiters = {
|
|
@@ -770,7 +369,11 @@ var Data = /** @class */ (function () {
|
|
|
770
369
|
';': 0,
|
|
771
370
|
'\t': 0
|
|
772
371
|
};
|
|
773
|
-
|
|
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;
|
|
774
377
|
/*
|
|
775
378
|
This implementation is quite verbose. It will be shortened once
|
|
776
379
|
it's stable and passes all the test.
|
|
@@ -1005,9 +608,10 @@ var Data = /** @class */ (function () {
|
|
|
1005
608
|
* @private
|
|
1006
609
|
*/
|
|
1007
610
|
function deduceDateFormat(data, limit) {
|
|
1008
|
-
var format = 'YYYY/mm/dd',
|
|
611
|
+
var format = 'YYYY/mm/dd', stable = [], max = [];
|
|
612
|
+
var thing, guessedFormat = [], calculatedFormat, i = 0, madeDeduction = false,
|
|
1009
613
|
// candidates = {},
|
|
1010
|
-
|
|
614
|
+
j;
|
|
1011
615
|
if (!limit || limit > data.length) {
|
|
1012
616
|
limit = data.length;
|
|
1013
617
|
}
|
|
@@ -1179,8 +783,9 @@ var Data = /** @class */ (function () {
|
|
|
1179
783
|
* @function Highcharts.Data#parseTable
|
|
1180
784
|
*/
|
|
1181
785
|
Data.prototype.parseTable = function () {
|
|
1182
|
-
var options = this.options,
|
|
1183
|
-
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;
|
|
1184
789
|
if (typeof table === 'string') {
|
|
1185
790
|
table = doc.getElementById(table);
|
|
1186
791
|
}
|
|
@@ -1221,8 +826,9 @@ var Data = /** @class */ (function () {
|
|
|
1221
826
|
* The URLs that were tried can be found in the options
|
|
1222
827
|
*/
|
|
1223
828
|
Data.prototype.fetchLiveData = function () {
|
|
1224
|
-
var data = this, chart = this.chart, options = this.options, maxRetries = 3,
|
|
1225
|
-
|
|
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)) {
|
|
1226
832
|
return false;
|
|
1227
833
|
}
|
|
1228
834
|
// Do not allow polling more than once a second
|
|
@@ -1306,7 +912,7 @@ var Data = /** @class */ (function () {
|
|
|
1306
912
|
}
|
|
1307
913
|
}
|
|
1308
914
|
performFetch(true);
|
|
1309
|
-
return
|
|
915
|
+
return hasURLOption(options);
|
|
1310
916
|
};
|
|
1311
917
|
/**
|
|
1312
918
|
* Parse a Google spreadsheet.
|
|
@@ -1333,7 +939,7 @@ var Data = /** @class */ (function () {
|
|
|
1333
939
|
if (defined(options.endRow)) {
|
|
1334
940
|
end += options.endRow + 1;
|
|
1335
941
|
}
|
|
1336
|
-
return start
|
|
942
|
+
return "".concat(start, ":").concat(end);
|
|
1337
943
|
};
|
|
1338
944
|
/**
|
|
1339
945
|
* Fetch the actual spreadsheet using XMLHttpRequest.
|
|
@@ -1357,7 +963,7 @@ var Data = /** @class */ (function () {
|
|
|
1357
963
|
success: function (json) {
|
|
1358
964
|
fn(json);
|
|
1359
965
|
if (options.enablePolling) {
|
|
1360
|
-
setTimeout(function () {
|
|
966
|
+
data.liveDataTimeout = setTimeout(function () {
|
|
1361
967
|
fetchSheet(fn);
|
|
1362
968
|
}, refreshRate);
|
|
1363
969
|
}
|
|
@@ -1434,7 +1040,8 @@ var Data = /** @class */ (function () {
|
|
|
1434
1040
|
* @function Highcharts.Data#parseTypes
|
|
1435
1041
|
*/
|
|
1436
1042
|
Data.prototype.parseTypes = function () {
|
|
1437
|
-
var columns = this.columns
|
|
1043
|
+
var columns = this.columns || [];
|
|
1044
|
+
var col = columns.length;
|
|
1438
1045
|
while (col--) {
|
|
1439
1046
|
this.parseColumn(columns[col], col);
|
|
1440
1047
|
}
|
|
@@ -1451,9 +1058,10 @@ var Data = /** @class */ (function () {
|
|
|
1451
1058
|
* Column index
|
|
1452
1059
|
*/
|
|
1453
1060
|
Data.prototype.parseColumn = function (column, col) {
|
|
1454
|
-
var rawColumns = this.rawColumns, columns = this.columns,
|
|
1061
|
+
var rawColumns = this.rawColumns, columns = this.columns, firstRowAsNames = this.firstRowAsNames, isXColumn = this.valueCount.xColumns.indexOf(col) !== -1, backup = [], chartOptions = this.chartOptions, columnTypes = this.options.columnTypes || [], columnType = columnTypes[col], forceCategory = isXColumn && ((chartOptions &&
|
|
1455
1062
|
chartOptions.xAxis &&
|
|
1456
|
-
splat(chartOptions.xAxis)[0].type === 'category') || columnType === 'string');
|
|
1063
|
+
splat(chartOptions.xAxis)[0].type === 'category') || columnType === 'string'), columnHasName = defined(column.name);
|
|
1064
|
+
var row = column.length, val, floatVal, trimVal, trimInsideVal, dateVal, diff, descending;
|
|
1457
1065
|
if (!rawColumns[col]) {
|
|
1458
1066
|
rawColumns[col] = [];
|
|
1459
1067
|
}
|
|
@@ -1468,7 +1076,8 @@ var Data = /** @class */ (function () {
|
|
|
1468
1076
|
}
|
|
1469
1077
|
// Disable number or date parsing by setting the X axis type to
|
|
1470
1078
|
// category
|
|
1471
|
-
if (forceCategory ||
|
|
1079
|
+
if (forceCategory ||
|
|
1080
|
+
(row === 0 && firstRowAsNames && !columnHasName)) {
|
|
1472
1081
|
column[row] = '' + trimVal;
|
|
1473
1082
|
}
|
|
1474
1083
|
else if (+trimInsideVal === floatVal) { // is numeric
|
|
@@ -1611,28 +1220,6 @@ var Data = /** @class */ (function () {
|
|
|
1611
1220
|
}
|
|
1612
1221
|
return ret;
|
|
1613
1222
|
};
|
|
1614
|
-
/**
|
|
1615
|
-
* Reorganize rows into columns.
|
|
1616
|
-
*
|
|
1617
|
-
* @function Highcharts.Data#rowsToColumns
|
|
1618
|
-
*/
|
|
1619
|
-
Data.prototype.rowsToColumns = function (rows) {
|
|
1620
|
-
var row, rowsLength, col, colsLength, columns;
|
|
1621
|
-
if (rows) {
|
|
1622
|
-
columns = [];
|
|
1623
|
-
rowsLength = rows.length;
|
|
1624
|
-
for (row = 0; row < rowsLength; row++) {
|
|
1625
|
-
colsLength = rows[row].length;
|
|
1626
|
-
for (col = 0; col < colsLength; col++) {
|
|
1627
|
-
if (!columns[col]) {
|
|
1628
|
-
columns[col] = [];
|
|
1629
|
-
}
|
|
1630
|
-
columns[col][row] = rows[row][col];
|
|
1631
|
-
}
|
|
1632
|
-
}
|
|
1633
|
-
}
|
|
1634
|
-
return columns;
|
|
1635
|
-
};
|
|
1636
1223
|
/**
|
|
1637
1224
|
* Get the parsed data in a form that we can apply directly to the
|
|
1638
1225
|
* `series.data` config. Array positions can be mapped using the
|
|
@@ -1662,31 +1249,6 @@ var Data = /** @class */ (function () {
|
|
|
1662
1249
|
return this.options.parsed.call(this, this.columns);
|
|
1663
1250
|
}
|
|
1664
1251
|
};
|
|
1665
|
-
/**
|
|
1666
|
-
* @private
|
|
1667
|
-
* @function Highcharts.Data#getFreeIndexes
|
|
1668
|
-
*/
|
|
1669
|
-
Data.prototype.getFreeIndexes = function (numberOfColumns, seriesBuilders) {
|
|
1670
|
-
var s, i, freeIndexes = [], freeIndexValues = [], referencedIndexes;
|
|
1671
|
-
// Add all columns as free
|
|
1672
|
-
for (i = 0; i < numberOfColumns; i = i + 1) {
|
|
1673
|
-
freeIndexes.push(true);
|
|
1674
|
-
}
|
|
1675
|
-
// Loop all defined builders and remove their referenced columns
|
|
1676
|
-
for (s = 0; s < seriesBuilders.length; s = s + 1) {
|
|
1677
|
-
referencedIndexes = seriesBuilders[s].getReferencedColumnIndexes();
|
|
1678
|
-
for (i = 0; i < referencedIndexes.length; i = i + 1) {
|
|
1679
|
-
freeIndexes[referencedIndexes[i]] = false;
|
|
1680
|
-
}
|
|
1681
|
-
}
|
|
1682
|
-
// Collect the values for the free indexes
|
|
1683
|
-
for (i = 0; i < freeIndexes.length; i = i + 1) {
|
|
1684
|
-
if (freeIndexes[i]) {
|
|
1685
|
-
freeIndexValues.push(i);
|
|
1686
|
-
}
|
|
1687
|
-
}
|
|
1688
|
-
return freeIndexValues;
|
|
1689
|
-
};
|
|
1690
1252
|
/**
|
|
1691
1253
|
* If a complete callback function is provided in the options, interpret the
|
|
1692
1254
|
* columns into a Highcharts options object.
|
|
@@ -1694,7 +1256,8 @@ var Data = /** @class */ (function () {
|
|
|
1694
1256
|
* @function Highcharts.Data#complete
|
|
1695
1257
|
*/
|
|
1696
1258
|
Data.prototype.complete = function () {
|
|
1697
|
-
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;
|
|
1698
1261
|
xColumns.length = columns.length;
|
|
1699
1262
|
if (options.complete || options.afterComplete) {
|
|
1700
1263
|
// Get the names and shift the top row
|
|
@@ -1708,7 +1271,7 @@ var Data = /** @class */ (function () {
|
|
|
1708
1271
|
}
|
|
1709
1272
|
// Use the next columns for series
|
|
1710
1273
|
series = [];
|
|
1711
|
-
freeIndexes =
|
|
1274
|
+
freeIndexes = getFreeIndexes(columns.length, this.valueCount.seriesBuilders);
|
|
1712
1275
|
// Populate defined series
|
|
1713
1276
|
for (seriesIndex = 0; seriesIndex < this.valueCount.seriesBuilders.length; seriesIndex++) {
|
|
1714
1277
|
builder = this.valueCount.seriesBuilders[seriesIndex];
|
|
@@ -1815,7 +1378,7 @@ var Data = /** @class */ (function () {
|
|
|
1815
1378
|
* @param {boolean} [redraw=true]
|
|
1816
1379
|
*/
|
|
1817
1380
|
Data.prototype.update = function (options, redraw) {
|
|
1818
|
-
var chart = this.chart;
|
|
1381
|
+
var chart = this.chart, chartOptions = chart.options;
|
|
1819
1382
|
if (options) {
|
|
1820
1383
|
// Set the complete handler
|
|
1821
1384
|
options.afterComplete = function (dataOptions) {
|
|
@@ -1834,28 +1397,24 @@ var Data = /** @class */ (function () {
|
|
|
1834
1397
|
}
|
|
1835
1398
|
};
|
|
1836
1399
|
// Apply it
|
|
1837
|
-
merge(true,
|
|
1838
|
-
|
|
1400
|
+
merge(true, chartOptions.data, options);
|
|
1401
|
+
// Reset columns if fetching spreadsheet, to force a re-fetch
|
|
1402
|
+
if (chartOptions.data && chartOptions.data.googleSpreadsheetKey &&
|
|
1403
|
+
!options.columns) {
|
|
1404
|
+
delete chartOptions.data.columns;
|
|
1405
|
+
}
|
|
1406
|
+
this.init(chartOptions.data);
|
|
1839
1407
|
}
|
|
1840
1408
|
};
|
|
1841
1409
|
return Data;
|
|
1842
1410
|
}());
|
|
1843
|
-
// Register the Data prototype and data function on Highcharts
|
|
1844
|
-
// Highcharts.Data = Data as any;
|
|
1845
|
-
/**
|
|
1846
|
-
* Creates a data object to parse data for a chart.
|
|
1847
|
-
*
|
|
1848
|
-
* @function Highcharts.data
|
|
1849
|
-
*/
|
|
1850
|
-
G.data = function (dataOptions, chartOptions, chart) {
|
|
1851
|
-
return new G.Data(dataOptions, chartOptions, chart);
|
|
1852
|
-
};
|
|
1853
1411
|
// Extend Chart.init so that the Chart constructor accepts a new configuration
|
|
1854
1412
|
// option group, data.
|
|
1855
1413
|
addEvent(Chart, 'init', function (e) {
|
|
1856
|
-
var chart = this,
|
|
1857
|
-
userOptions = (e.args[0] || {})
|
|
1858
|
-
if (userOptions && userOptions.data &&
|
|
1414
|
+
var chart = this, callback = e.args[1], defaultDataOptions = getOptions().data;
|
|
1415
|
+
var userOptions = (e.args[0] || {});
|
|
1416
|
+
if ((defaultDataOptions || userOptions && userOptions.data) &&
|
|
1417
|
+
!chart.hasDataDef) {
|
|
1859
1418
|
chart.hasDataDef = true;
|
|
1860
1419
|
/**
|
|
1861
1420
|
* The data parser for this chart.
|
|
@@ -1863,7 +1422,8 @@ addEvent(Chart, 'init', function (e) {
|
|
|
1863
1422
|
* @name Highcharts.Chart#data
|
|
1864
1423
|
* @type {Highcharts.Data|undefined}
|
|
1865
1424
|
*/
|
|
1866
|
-
|
|
1425
|
+
var dataOptions = merge(defaultDataOptions, userOptions.data);
|
|
1426
|
+
chart.data = new Data(extend(dataOptions, {
|
|
1867
1427
|
afterComplete: function (dataOptions) {
|
|
1868
1428
|
var i, series;
|
|
1869
1429
|
// Merge series configs
|
|
@@ -1911,8 +1471,6 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
1911
1471
|
/* eslint-disable no-invalid-this */
|
|
1912
1472
|
this.readers = [];
|
|
1913
1473
|
this.pointIsArray = true;
|
|
1914
|
-
/* eslint-enable no-invalid-this */
|
|
1915
|
-
this.name = void 0;
|
|
1916
1474
|
}
|
|
1917
1475
|
/**
|
|
1918
1476
|
* Populates readers with column indexes. A reader can be added without
|
|
@@ -1922,7 +1480,8 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
1922
1480
|
* @function SeriesBuilder#populateColumns
|
|
1923
1481
|
*/
|
|
1924
1482
|
SeriesBuilder.prototype.populateColumns = function (freeIndexes) {
|
|
1925
|
-
var builder = this
|
|
1483
|
+
var builder = this;
|
|
1484
|
+
var enoughColumns = true;
|
|
1926
1485
|
// Loop each reader and give it an index if its missing.
|
|
1927
1486
|
// The freeIndexes.shift() will return undefined if there
|
|
1928
1487
|
// are no more columns.
|
|
@@ -1948,7 +1507,8 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
1948
1507
|
* @function SeriesBuilder#read<T>
|
|
1949
1508
|
*/
|
|
1950
1509
|
SeriesBuilder.prototype.read = function (columns, rowIndex) {
|
|
1951
|
-
var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {}
|
|
1510
|
+
var builder = this, pointIsArray = builder.pointIsArray, point = pointIsArray ? [] : {};
|
|
1511
|
+
var columnIndexes;
|
|
1952
1512
|
// Loop each reader and ask it to read its value.
|
|
1953
1513
|
// Then, build an array or point based on the readers names.
|
|
1954
1514
|
builder.readers.forEach(function (reader) {
|
|
@@ -2007,7 +1567,8 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
2007
1567
|
* @function SeriesBuilder#getReferencedColumnIndexes
|
|
2008
1568
|
*/
|
|
2009
1569
|
SeriesBuilder.prototype.getReferencedColumnIndexes = function () {
|
|
2010
|
-
var
|
|
1570
|
+
var referencedColumnIndexes = [];
|
|
1571
|
+
var i, columnReader;
|
|
2011
1572
|
for (i = 0; i < this.readers.length; i = i + 1) {
|
|
2012
1573
|
columnReader = this.readers[i];
|
|
2013
1574
|
if (typeof columnReader.columnIndex !== 'undefined') {
|
|
@@ -2033,5 +1594,492 @@ var SeriesBuilder = /** @class */ (function () {
|
|
|
2033
1594
|
};
|
|
2034
1595
|
return SeriesBuilder;
|
|
2035
1596
|
}());
|
|
2036
|
-
|
|
2037
|
-
|
|
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
|