highcharts 11.3.0 → 11.4.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/README.md +1 -1
- package/bower.json +1 -1
- package/css/annotations/popup.css +27 -19
- package/css/stocktools/gui.css +19 -7
- package/es-modules/Accessibility/A11yI18n.js +4 -6
- package/es-modules/Accessibility/Accessibility.js +8 -6
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +11 -6
- package/es-modules/Accessibility/Components/LegendComponent.js +4 -4
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -6
- package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -3
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -7
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +18 -3
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +5 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +4 -4
- package/es-modules/Accessibility/FocusBorder.js +5 -5
- package/es-modules/Accessibility/HighContrastMode.js +22 -13
- package/es-modules/Accessibility/HighContrastTheme.js +2 -6
- package/es-modules/Accessibility/KeyboardNavigation.js +17 -8
- package/es-modules/Accessibility/Options/A11yDefaults.js +11 -1
- package/es-modules/Accessibility/ProxyElement.js +4 -4
- package/es-modules/Accessibility/ProxyProvider.js +8 -2
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +8 -0
- package/es-modules/Accessibility/Utils/EventProvider.js +9 -0
- package/es-modules/Core/Animation/Fx.js +3 -3
- package/es-modules/Core/Axis/Axis.js +43 -97
- package/es-modules/Core/Axis/Axis3DComposition.js +5 -5
- package/es-modules/Core/Axis/Axis3DDefaults.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +18 -7
- package/es-modules/Core/Axis/BrokenAxis.js +4 -6
- package/es-modules/Core/Axis/Color/ColorAxis.js +2 -1
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -5
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -5
- package/es-modules/Core/Axis/GridAxis.js +7 -7
- package/es-modules/Core/Axis/LogarithmicAxis.js +2 -4
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +26 -22
- package/es-modules/Core/Axis/OrdinalAxis.js +97 -53
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +4 -5
- package/es-modules/Core/Axis/RadialAxis.js +5 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +2 -2
- package/es-modules/Core/Axis/Stacking/StackItem.js +8 -4
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +3 -5
- package/es-modules/Core/Axis/Tick.js +16 -7
- package/es-modules/Core/Axis/Tick3DComposition.js +2 -2
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +4 -8
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -6
- package/es-modules/Core/Axis/WaterfallAxis.js +3 -3
- package/es-modules/Core/Axis/ZAxis.js +6 -11
- package/es-modules/Core/Chart/Chart.js +201 -176
- package/es-modules/Core/Chart/Chart3D.js +1 -1
- package/es-modules/Core/Chart/ChartDefaults.js +7 -0
- package/es-modules/Core/Chart/GanttChart.js +2 -2
- package/es-modules/Core/Chart/MapChart.js +12 -2
- package/es-modules/Core/Chart/StockChart.js +12 -11
- package/es-modules/Core/Color/Color.js +3 -3
- package/es-modules/Core/Color/Palettes.js +2 -2
- package/es-modules/Core/Defaults.js +18 -15
- package/es-modules/Core/Geometry/CircleUtilities.js +3 -3
- package/es-modules/Core/Globals.js +2 -2
- package/es-modules/Core/HttpUtilities.js +4 -4
- package/es-modules/Core/Legend/Legend.js +6 -6
- package/es-modules/Core/MSPointer.js +7 -7
- package/es-modules/Core/Pointer.js +230 -245
- package/es-modules/Core/Renderer/HTML/AST.js +1 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +213 -26
- package/es-modules/Core/Renderer/RendererUtilities.js +1 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +85 -52
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +14 -11
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -14
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +8 -7
- package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Responsive.js +5 -6
- package/es-modules/Core/Series/DataLabel.js +70 -90
- package/es-modules/Core/Series/DataSeriesComposition.js +1 -1
- package/es-modules/Core/Series/DataSeriesConverter.js +2 -2
- package/es-modules/Core/Series/Point.js +48 -40
- package/es-modules/Core/Series/Series.js +61 -51
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Series/SeriesRegistry.js +10 -2
- package/es-modules/Core/Templating.js +1 -1
- package/es-modules/Core/Time.js +12 -7
- package/es-modules/Core/Tooltip.js +19 -17
- package/es-modules/Core/Utilities.js +54 -26
- package/es-modules/Data/Connectors/CSVConnector.js +2 -2
- package/es-modules/Data/Connectors/DataConnector.js +4 -2
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
- package/es-modules/Data/Connectors/HTMLTableConnector.js +2 -2
- package/es-modules/Data/Connectors/JSONConnector.js +3 -5
- package/es-modules/Data/Converters/CSVConverter.js +1 -3
- package/es-modules/Data/Converters/DataConverter.js +8 -2
- package/es-modules/Data/Converters/HTMLTableConverter.js +1 -3
- package/es-modules/Data/Converters/JSONConverter.js +1 -0
- package/es-modules/Data/DataTable.js +1 -2
- package/es-modules/Data/Formula/FormulaProcessor.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +15 -3
- package/es-modules/Extensions/Annotations/Annotation.js +6 -7
- package/es-modules/Extensions/Annotations/AnnotationChart.js +4 -5
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
- package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/ControlTarget.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/Controllable.js +7 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +3 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +8 -9
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -4
- package/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
- package/es-modules/Extensions/Annotations/NavigationBindings.js +29 -18
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +6 -6
- package/es-modules/Extensions/Annotations/Popup/Popup.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -6
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +31 -31
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +1 -1
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +14 -11
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +1 -1
- package/es-modules/Extensions/ArrowSymbols.js +7 -13
- package/es-modules/Extensions/Boost/Boost.js +39 -7
- package/es-modules/Extensions/Boost/BoostChart.js +4 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +58 -13
- package/es-modules/Extensions/Boost/WGLRenderer.js +3 -3
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +1 -1
- package/es-modules/Extensions/BoostCanvas.js +5 -4
- package/es-modules/Extensions/BorderRadius.js +5 -4
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +9 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +11 -11
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +8 -9
- package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +6 -7
- package/es-modules/Extensions/Debugger/Debugger.js +1 -1
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DragPanes/AxisResizer.js +13 -16
- package/es-modules/Extensions/DragPanes/DragPanes.js +2 -4
- package/es-modules/Extensions/DraggablePoints/DragDropDefaults.js +2 -1
- package/es-modules/Extensions/DraggablePoints/DragDropUtilities.js +1 -1
- package/es-modules/Extensions/DraggablePoints/DraggableChart.js +4 -4
- package/es-modules/Extensions/DraggablePoints/DraggablePoints.js +8 -9
- package/es-modules/Extensions/Drilldown/Drilldown.js +11 -9
- package/es-modules/Extensions/Drilldown/DrilldownSeries.js +5 -6
- package/es-modules/Extensions/ExportData/ExportData.js +27 -18
- package/es-modules/Extensions/Exporting/Exporting.js +25 -20
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +1 -1
- package/es-modules/Extensions/Exporting/Fullscreen.js +5 -10
- package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +26 -21
- package/es-modules/Extensions/MarkerClusters/MarkerClusterSymbols.js +2 -12
- package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +3 -3
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +51 -161
- package/es-modules/Extensions/NoDataToDisplay/NoDataToDisplay.js +3 -5
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -6
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +21 -49
- package/es-modules/Extensions/Pane/PaneComposition.js +3 -5
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -4
- package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +5 -6
- package/es-modules/Extensions/ParallelCoordinates/ParallelSeries.js +1 -1
- package/es-modules/Extensions/PatternFill.js +19 -22
- package/es-modules/Extensions/PriceIndication.js +1 -1
- package/es-modules/Extensions/ScrollablePlotArea.js +218 -292
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +26 -18
- package/es-modules/Extensions/Sonification/Options.js +1 -0
- package/es-modules/Extensions/Sonification/SonificationSpeaker.js +2 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
- package/es-modules/Extensions/StaticScale.js +3 -5
- package/es-modules/Gantt/Legacy.js +1 -1
- package/es-modules/Gantt/Pathfinder.js +2 -2
- package/es-modules/Gantt/PathfinderComposition.js +3 -5
- package/es-modules/Gantt/Tree.js +3 -3
- package/es-modules/Maps/GeoJSONComposition.js +20 -13
- package/es-modules/Maps/MapNavigation.js +2 -2
- package/es-modules/Maps/MapPointer.js +3 -19
- package/es-modules/Maps/MapSymbols.js +3 -9
- package/es-modules/Maps/MapView.js +134 -74
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +5 -4
- package/es-modules/Series/Area/AreaSeries.js +2 -4
- package/es-modules/Series/Area3D/Area3DSeries.js +1 -1
- package/es-modules/Series/AreaRange/AreaRangePoint.js +2 -2
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +2 -3
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
- package/es-modules/Series/Bar/BarSeries.js +1 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +1 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +4 -0
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +2 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
- package/es-modules/Series/Bullet/BulletSeriesDefaults.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeries.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -5
- package/es-modules/Series/ColorMapComposition.js +1 -1
- package/es-modules/Series/Column/ColumnDataLabel.js +2 -2
- package/es-modules/Series/Column/ColumnSeries.js +20 -22
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
- package/es-modules/Series/Column3D/Column3DComposition.js +1 -1
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +9 -9
- package/es-modules/Series/DataModifyComposition.js +5 -5
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -2
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +1 -1
- package/es-modules/Series/DragNodesComposition.js +7 -7
- package/es-modules/Series/DrawPointUtilities.js +0 -2
- package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +1 -1
- package/es-modules/Series/Funnel/FunnelSeries.js +1 -1
- package/es-modules/Series/Funnel3D/Funnel3DComposition.js +6 -6
- package/es-modules/Series/Funnel3D/Funnel3DSeriesDefaults.js +2 -2
- package/es-modules/Series/Funnel3D/SVGElement3DFunnel.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +0 -1
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
- package/es-modules/Series/GraphLayoutComposition.js +1 -1
- package/es-modules/Series/Heatmap/HeatmapSeries.js +2 -2
- package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -3
- package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +2 -2
- package/es-modules/Series/Item/ItemSeries.js +1 -1
- package/es-modules/Series/Line/LineSeries.js +1 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
- package/es-modules/Series/Map/MapPoint.js +5 -1
- package/es-modules/Series/Map/MapSeries.js +32 -7
- package/es-modules/Series/Map/MapSeriesDefaults.js +5 -3
- package/es-modules/Series/Networkgraph/EulerIntegration.js +5 -5
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -4
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +5 -5
- package/es-modules/Series/Networkgraph/QuadTree.js +1 -1
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +1 -1
- package/es-modules/Series/Networkgraph/VerletIntegration.js +9 -9
- package/es-modules/Series/NodesComposition.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +1 -1
- package/es-modules/Series/OnSeriesComposition.js +1 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +1 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +22 -10
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +15 -2
- package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -5
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +6 -10
- package/es-modules/Series/Pictorial/PictorialSeries.js +2 -2
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PiePoint.js +1 -1
- package/es-modules/Series/Pie/PieSeries.js +10 -1
- package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +2 -2
- package/es-modules/Series/PolarComposition.js +22 -20
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +1 -1
- package/es-modules/Series/Sankey/SankeySeries.js +8 -8
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +57 -13
- package/es-modules/Series/SeriesOnPointComposition.js +3 -3
- package/es-modules/Series/Spline/SplineSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +2 -7
- package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +3 -3
- package/es-modules/Series/Sunburst/SunburstUtilities.js +1 -1
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +23 -25
- package/es-modules/Series/Tilemap/TilemapSeries.js +2 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +2 -2
- package/es-modules/Series/TreeUtilities.js +23 -1
- package/es-modules/Series/Treegraph/TreegraphLayout.js +7 -11
- package/es-modules/Series/Treegraph/TreegraphPoint.js +1 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +8 -8
- package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +39 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +4 -2
- package/es-modules/Series/Treemap/TreemapUtilities.js +0 -7
- package/es-modules/Series/Variwide/VariwideComposition.js +6 -2
- package/es-modules/Series/Variwide/VariwideSeries.js +1 -1
- package/es-modules/Series/Venn/VennSeries.js +4 -4
- package/es-modules/Series/Venn/VennUtils.js +5 -6
- package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +1 -1
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -4
- package/es-modules/Series/XRange/XRangePoint.js +2 -2
- package/es-modules/Series/XRange/XRangeSeries.js +1 -1
- package/es-modules/Shared/BaseForm.js +1 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +2 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +7 -7
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +9 -9
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -2
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +16 -17
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +4 -5
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +5 -5
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +188 -0
- package/es-modules/Stock/Navigator/Navigator.js +42 -27
- package/es-modules/Stock/Navigator/NavigatorComposition.js +10 -149
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +16 -2
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +334 -0
- package/es-modules/Stock/Navigator/StandaloneNavigatorDefaults.js +64 -0
- package/es-modules/Stock/RangeSelector/RangeSelector.js +28 -16
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
- package/es-modules/Stock/Scrollbar/Scrollbar.js +10 -10
- package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
- package/es-modules/Stock/StockTools/StockToolbar.js +6 -5
- package/es-modules/Stock/StockTools/StockTools.js +10 -13
- package/es-modules/Stock/StockTools/StockToolsBindings.js +35 -35
- package/es-modules/Stock/StockTools/StockToolsDefaults.js +2 -1
- package/es-modules/Stock/StockTools/StockToolsGui.js +7 -8
- package/es-modules/Stock/StockTools/StockToolsUtilities.js +8 -9
- package/es-modules/Stock/Utilities/StockUtilities.js +41 -0
- package/es-modules/masters/highcharts-3d.src.js +2 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +2 -1
- package/es-modules/masters/highcharts.src.js +41 -40
- 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 +3 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +3 -1
- package/es-modules/masters/indicators/ao.src.js +3 -1
- package/es-modules/masters/indicators/apo.src.js +3 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +3 -1
- package/es-modules/masters/indicators/aroon.src.js +3 -1
- package/es-modules/masters/indicators/atr.src.js +3 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +3 -1
- package/es-modules/masters/indicators/cci.src.js +3 -1
- package/es-modules/masters/indicators/chaikin.src.js +3 -1
- package/es-modules/masters/indicators/cmf.src.js +3 -1
- package/es-modules/masters/indicators/cmo.src.js +3 -1
- package/es-modules/masters/indicators/dema.src.js +3 -1
- package/es-modules/masters/indicators/disparity-index.src.js +3 -1
- package/es-modules/masters/indicators/dmi.src.js +3 -1
- package/es-modules/masters/indicators/dpo.src.js +3 -1
- package/es-modules/masters/indicators/ema.src.js +2 -0
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +3 -1
- package/es-modules/masters/indicators/indicators-all.src.js +3 -1
- package/es-modules/masters/indicators/indicators.src.js +7 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +3 -1
- package/es-modules/masters/indicators/klinger.src.js +3 -1
- package/es-modules/masters/indicators/macd.src.js +3 -1
- package/es-modules/masters/indicators/mfi.src.js +3 -1
- package/es-modules/masters/indicators/momentum.src.js +3 -1
- package/es-modules/masters/indicators/natr.src.js +3 -1
- package/es-modules/masters/indicators/obv.src.js +3 -1
- package/es-modules/masters/indicators/pivot-points.src.js +3 -1
- package/es-modules/masters/indicators/ppo.src.js +3 -1
- package/es-modules/masters/indicators/price-channel.src.js +3 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +3 -1
- package/es-modules/masters/indicators/psar.src.js +3 -1
- package/es-modules/masters/indicators/regressions.src.js +3 -1
- package/es-modules/masters/indicators/roc.src.js +3 -1
- package/es-modules/masters/indicators/rsi.src.js +3 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +3 -1
- package/es-modules/masters/indicators/stochastic.src.js +3 -1
- package/es-modules/masters/indicators/supertrend.src.js +3 -1
- package/es-modules/masters/indicators/tema.src.js +3 -1
- package/es-modules/masters/indicators/trendline.src.js +3 -1
- package/es-modules/masters/indicators/trix.src.js +3 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +3 -1
- package/es-modules/masters/indicators/vwap.src.js +3 -1
- package/es-modules/masters/indicators/williams-r.src.js +3 -1
- package/es-modules/masters/indicators/wma.src.js +3 -1
- package/es-modules/masters/indicators/zigzag.src.js +3 -1
- package/es-modules/masters/modules/accessibility.src.js +4 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -5
- package/es-modules/masters/modules/annotations.src.js +6 -3
- package/es-modules/masters/modules/arc-diagram.src.js +3 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +2 -1
- package/es-modules/masters/modules/boost-canvas.src.js +2 -1
- package/es-modules/masters/modules/boost.src.js +3 -2
- package/es-modules/masters/modules/broken-axis.src.js +4 -3
- package/es-modules/masters/modules/bullet.src.js +3 -1
- package/es-modules/masters/modules/coloraxis.src.js +4 -3
- package/es-modules/masters/modules/current-date-indicator.src.js +2 -1
- package/es-modules/masters/modules/cylinder.src.js +3 -1
- package/es-modules/masters/modules/data-tools.src.js +9 -8
- package/es-modules/masters/modules/data.src.js +9 -8
- package/es-modules/masters/modules/datagrouping.src.js +7 -5
- package/es-modules/masters/modules/debugger.src.js +3 -2
- package/es-modules/masters/modules/dependency-wheel.src.js +3 -1
- package/es-modules/masters/modules/dotplot.src.js +3 -1
- package/es-modules/masters/modules/drag-panes.src.js +2 -1
- package/es-modules/masters/modules/draggable-points.src.js +2 -1
- package/es-modules/masters/modules/drilldown.src.js +3 -2
- package/es-modules/masters/modules/dumbbell.src.js +3 -1
- package/es-modules/masters/modules/export-data.src.js +5 -4
- package/es-modules/masters/modules/exporting.src.js +6 -5
- package/es-modules/masters/modules/flowmap.src.js +3 -1
- package/es-modules/masters/modules/full-screen.src.js +4 -3
- package/es-modules/masters/modules/funnel.src.js +2 -1
- package/es-modules/masters/modules/funnel3d.src.js +4 -3
- package/es-modules/masters/modules/gantt.src.js +15 -17
- package/es-modules/masters/modules/geoheatmap.src.js +3 -1
- package/es-modules/masters/modules/grid-axis.src.js +2 -1
- package/es-modules/masters/modules/heatmap.src.js +3 -5
- package/es-modules/masters/modules/heikinashi.src.js +2 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +3 -1
- package/es-modules/masters/modules/item-series.src.js +3 -1
- package/es-modules/masters/modules/lollipop.src.js +3 -1
- package/es-modules/masters/modules/map.src.js +15 -10
- package/es-modules/masters/modules/marker-clusters.src.js +2 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +4 -2
- package/es-modules/masters/modules/navigator.src.d.ts +1 -0
- package/es-modules/masters/modules/navigator.src.js +19 -0
- package/es-modules/masters/modules/networkgraph.src.js +2 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +2 -1
- package/es-modules/masters/modules/offline-exporting.src.js +4 -3
- package/es-modules/masters/modules/organization.src.js +3 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +4 -2
- package/es-modules/masters/modules/parallel-coordinates.src.js +2 -1
- package/es-modules/masters/modules/pareto.src.js +3 -1
- package/es-modules/masters/modules/pathfinder.src.js +4 -3
- package/es-modules/masters/modules/pattern-fill.src.js +2 -1
- package/es-modules/masters/modules/pictorial.src.js +3 -1
- package/es-modules/masters/modules/price-indicator.src.js +2 -1
- package/es-modules/masters/modules/pyramid3d.src.js +3 -1
- package/es-modules/masters/modules/sankey.src.js +3 -1
- package/es-modules/masters/modules/series-label.src.js +2 -1
- package/es-modules/masters/modules/series-on-point.src.js +2 -1
- package/es-modules/masters/modules/solid-gauge.src.js +3 -1
- package/es-modules/masters/modules/sonification.src.js +2 -1
- package/es-modules/masters/modules/static-scale.src.js +2 -1
- package/es-modules/masters/modules/stock-tools.src.js +5 -3
- package/es-modules/masters/modules/stock.src.js +20 -15
- package/es-modules/masters/modules/streamgraph.src.js +3 -1
- package/es-modules/masters/modules/sunburst.src.js +4 -3
- package/es-modules/masters/modules/tiledwebmap.src.js +5 -4
- package/es-modules/masters/modules/tilemap.src.js +2 -1
- package/es-modules/masters/modules/timeline.src.js +3 -1
- package/es-modules/masters/modules/treegraph.src.js +3 -1
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +5 -4
- package/es-modules/masters/modules/variable-pie.src.js +3 -1
- package/es-modules/masters/modules/variwide.src.js +2 -1
- package/es-modules/masters/modules/vector.src.js +3 -1
- package/es-modules/masters/modules/venn.src.js +3 -1
- package/es-modules/masters/modules/windbarb.src.js +3 -1
- package/es-modules/masters/modules/wordcloud.src.js +3 -1
- package/es-modules/masters/modules/xrange.src.js +2 -1
- package/es-modules/masters/standalone-navigator.src.js +13 -0
- package/es-modules/masters/themes/avocado.src.js +2 -1
- package/es-modules/masters/themes/brand-dark.src.js +2 -1
- package/es-modules/masters/themes/brand-light.src.js +2 -1
- package/es-modules/masters/themes/dark-blue.src.js +2 -1
- package/es-modules/masters/themes/dark-green.src.js +2 -1
- package/es-modules/masters/themes/dark-unica.src.js +2 -1
- package/es-modules/masters/themes/gray.src.js +2 -1
- package/es-modules/masters/themes/grid-light.src.js +2 -1
- package/es-modules/masters/themes/grid.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +2 -1
- package/es-modules/masters/themes/sand-signika.src.js +2 -1
- package/es-modules/masters/themes/skies.src.js +2 -1
- package/es-modules/masters/themes/sunset.src.js +2 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -0
- package/globals.d.ts +9 -0
- package/globals.src.d.ts +9 -0
- package/highcharts-3d.js +3 -3
- package/highcharts-3d.src.js +32 -33
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +5703 -5639
- package/highcharts-more.d.ts +4 -0
- package/highcharts-more.js +3 -3
- package/highcharts-more.src.d.ts +4 -0
- package/highcharts-more.src.js +88 -87
- package/highcharts.d.ts +834 -5365
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +834 -5365
- package/highcharts.src.js +1583 -1682
- package/highmaps.js +4 -4
- package/highmaps.src.js +1837 -1835
- package/highstock.js +4 -4
- package/highstock.src.js +12488 -12510
- package/indicators/acceleration-bands.js +3 -3
- package/indicators/acceleration-bands.src.js +12 -11
- package/indicators/accumulation-distribution.js +3 -3
- package/indicators/accumulation-distribution.src.js +6 -3
- package/indicators/ao.js +3 -3
- package/indicators/ao.src.js +3 -2
- package/indicators/apo.js +3 -3
- package/indicators/apo.src.js +4 -3
- package/indicators/aroon-oscillator.js +3 -3
- package/indicators/aroon-oscillator.src.js +12 -11
- package/indicators/aroon.js +3 -3
- package/indicators/aroon.src.js +13 -12
- package/indicators/atr.js +3 -3
- package/indicators/atr.src.js +3 -2
- package/indicators/bollinger-bands.js +3 -3
- package/indicators/bollinger-bands.src.js +12 -11
- package/indicators/cci.js +3 -3
- package/indicators/cci.src.js +3 -2
- package/indicators/chaikin.js +3 -3
- package/indicators/chaikin.src.js +7 -4
- package/indicators/cmf.js +3 -3
- package/indicators/cmf.src.js +4 -3
- package/indicators/cmo.js +3 -3
- package/indicators/cmo.src.js +5 -4
- package/indicators/dema.js +3 -3
- package/indicators/dema.src.js +3 -2
- package/indicators/disparity-index.js +3 -3
- package/indicators/disparity-index.src.js +3 -2
- package/indicators/dmi.js +3 -3
- package/indicators/dmi.src.js +12 -11
- package/indicators/dpo.js +3 -3
- package/indicators/dpo.src.js +4 -3
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +2 -1
- package/indicators/ichimoku-kinko-hyo.js +3 -3
- package/indicators/ichimoku-kinko-hyo.src.js +3 -2
- package/indicators/indicators-all.js +3 -3
- package/indicators/indicators-all.src.js +63 -60
- package/indicators/indicators.js +3 -3
- package/indicators/indicators.src.js +286 -3
- package/indicators/keltner-channels.js +3 -3
- package/indicators/keltner-channels.src.js +12 -11
- package/indicators/klinger.js +3 -3
- package/indicators/klinger.src.js +13 -12
- package/indicators/macd.js +3 -3
- package/indicators/macd.src.js +3 -2
- package/indicators/mfi.js +3 -3
- package/indicators/mfi.src.js +3 -2
- package/indicators/momentum.js +3 -3
- package/indicators/momentum.src.js +3 -2
- package/indicators/natr.js +3 -3
- package/indicators/natr.src.js +3 -2
- package/indicators/obv.js +3 -3
- package/indicators/obv.src.js +4 -3
- package/indicators/pivot-points.js +3 -3
- package/indicators/pivot-points.src.js +5 -4
- package/indicators/ppo.js +3 -3
- package/indicators/ppo.src.js +4 -3
- package/indicators/price-channel.js +3 -3
- package/indicators/price-channel.src.js +12 -11
- package/indicators/price-envelopes.js +3 -3
- package/indicators/price-envelopes.src.js +12 -11
- package/indicators/psar.js +3 -3
- package/indicators/psar.src.js +3 -2
- package/indicators/regressions.js +3 -3
- package/indicators/regressions.src.js +10 -9
- package/indicators/roc.js +3 -3
- package/indicators/roc.src.js +3 -2
- package/indicators/rsi.js +3 -3
- package/indicators/rsi.src.js +3 -2
- package/indicators/slow-stochastic.js +3 -3
- package/indicators/slow-stochastic.src.js +3 -2
- package/indicators/stochastic.js +3 -3
- package/indicators/stochastic.src.js +12 -11
- package/indicators/supertrend.js +3 -3
- package/indicators/supertrend.src.js +20 -19
- package/indicators/tema.js +3 -3
- package/indicators/tema.src.js +3 -2
- package/indicators/trendline.js +3 -3
- package/indicators/trendline.src.js +3 -2
- package/indicators/trix.js +3 -3
- package/indicators/trix.src.js +3 -2
- package/indicators/volume-by-price.js +3 -3
- package/indicators/volume-by-price.src.js +8 -7
- package/indicators/vwap.js +3 -3
- package/indicators/vwap.src.js +3 -2
- package/indicators/williams-r.js +3 -3
- package/indicators/williams-r.src.js +4 -3
- package/indicators/wma.js +3 -3
- package/indicators/wma.src.js +3 -2
- package/indicators/zigzag.js +3 -3
- package/indicators/zigzag.src.js +8 -7
- package/lib/svg2pdf.js +7 -7
- package/lib/svg2pdf.src.js +185 -150
- package/modules/accessibility.js +3 -3
- package/modules/accessibility.src.js +664 -2793
- package/modules/annotations-advanced.d.ts +3 -0
- package/modules/annotations-advanced.js +3 -3
- package/modules/annotations-advanced.src.d.ts +3 -0
- package/modules/annotations-advanced.src.js +2949 -2920
- package/modules/annotations.d.ts +0 -3
- package/modules/annotations.js +3 -3
- package/modules/annotations.src.d.ts +0 -3
- package/modules/annotations.src.js +2926 -2905
- package/modules/arc-diagram.js +3 -3
- package/modules/arc-diagram.src.js +8 -6
- package/modules/arrow-symbols.js +3 -3
- package/modules/arrow-symbols.src.js +10 -13
- package/modules/boost-canvas.js +3 -3
- package/modules/boost-canvas.src.js +73 -26
- package/modules/boost.js +3 -3
- package/modules/boost.src.js +108 -30
- package/modules/broken-axis.js +3 -3
- package/modules/broken-axis.src.js +9 -9
- package/modules/bullet.js +3 -3
- package/modules/bullet.src.js +5 -4
- package/modules/coloraxis.js +3 -3
- package/modules/coloraxis.src.js +10 -9
- package/modules/current-date-indicator.js +3 -3
- package/modules/current-date-indicator.src.js +3 -2
- package/modules/cylinder.js +3 -3
- package/modules/cylinder.src.js +12 -11
- package/modules/data-tools.js +3 -3
- package/modules/data-tools.src.js +53 -36
- package/modules/data.d.ts +2 -2
- package/modules/data.js +3 -3
- package/modules/data.src.d.ts +2 -2
- package/modules/data.src.js +24 -23
- package/modules/datagrouping.js +3 -3
- package/modules/datagrouping.src.js +25 -23
- package/modules/debugger.js +3 -3
- package/modules/debugger.src.js +6 -5
- package/modules/dependency-wheel.js +3 -3
- package/modules/dependency-wheel.src.js +7 -5
- package/modules/dotplot.js +3 -3
- package/modules/dotplot.src.js +3 -2
- package/modules/drag-panes.js +3 -3
- package/modules/drag-panes.src.js +19 -21
- package/modules/draggable-points.js +3 -3
- package/modules/draggable-points.src.js +18 -16
- package/modules/drilldown.js +3 -3
- package/modules/drilldown.src.js +29 -26
- package/modules/dumbbell.js +3 -3
- package/modules/dumbbell.src.js +5 -4
- package/modules/export-data.js +3 -3
- package/modules/export-data.src.js +33 -22
- package/modules/exporting.d.ts +1 -1
- package/modules/exporting.js +3 -3
- package/modules/exporting.src.d.ts +1 -1
- package/modules/exporting.src.js +40 -39
- package/modules/flowmap.js +3 -3
- package/modules/flowmap.src.js +3 -2
- package/modules/full-screen.js +3 -3
- package/modules/full-screen.src.js +9 -13
- package/modules/funnel.js +3 -3
- package/modules/funnel.src.js +3 -2
- package/modules/funnel3d.js +3 -3
- package/modules/funnel3d.src.js +12 -12
- package/modules/gantt.d.ts +3 -4
- package/modules/gantt.js +3 -3
- package/modules/gantt.src.d.ts +3 -4
- package/modules/gantt.src.js +4165 -4002
- package/modules/geoheatmap.js +3 -3
- package/modules/geoheatmap.src.js +8 -7
- package/modules/grid-axis.js +3 -3
- package/modules/grid-axis.src.js +9 -8
- package/modules/heatmap.d.ts +2 -2
- package/modules/heatmap.js +3 -3
- package/modules/heatmap.src.d.ts +2 -2
- package/modules/heatmap.src.js +21 -15
- package/modules/heikinashi.js +3 -3
- package/modules/heikinashi.src.js +9 -6
- package/modules/histogram-bellcurve.js +3 -3
- package/modules/histogram-bellcurve.src.js +4 -3
- package/modules/hollowcandlestick.js +3 -3
- package/modules/hollowcandlestick.src.js +5 -4
- package/modules/item-series.js +3 -3
- package/modules/item-series.src.js +4 -3
- package/modules/lollipop.js +3 -3
- package/modules/lollipop.src.js +6 -3
- package/modules/map.d.ts +22 -1
- package/modules/map.js +3 -3
- package/modules/map.src.d.ts +22 -1
- package/modules/map.src.js +256 -155
- package/modules/marker-clusters.js +3 -3
- package/modules/marker-clusters.src.js +35 -37
- package/modules/mouse-wheel-zoom.js +3 -3
- package/modules/mouse-wheel-zoom.src.js +55 -163
- package/modules/navigator.d.ts +148 -0
- package/modules/navigator.js +9 -0
- package/modules/navigator.src.d.ts +148 -0
- package/modules/navigator.src.js +3921 -0
- package/modules/networkgraph.d.ts +2 -2
- package/modules/networkgraph.js +3 -3
- package/modules/networkgraph.src.d.ts +2 -2
- package/modules/networkgraph.src.js +36 -35
- package/modules/no-data-to-display.js +3 -3
- package/modules/no-data-to-display.src.js +6 -6
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.src.js +10 -10
- package/modules/organization.js +3 -3
- package/modules/organization.src.js +41 -15
- package/modules/overlapping-datalabels.js +3 -3
- package/modules/overlapping-datalabels.src.js +4 -2
- package/modules/parallel-coordinates.js +3 -3
- package/modules/parallel-coordinates.src.js +12 -12
- package/modules/pareto.js +3 -3
- package/modules/pareto.src.js +3 -2
- package/modules/pathfinder.js +3 -3
- package/modules/pathfinder.src.js +18 -22
- package/modules/pattern-fill.js +3 -3
- package/modules/pattern-fill.src.js +22 -23
- package/modules/pictorial.js +3 -3
- package/modules/pictorial.src.js +25 -26
- package/modules/price-indicator.js +3 -3
- package/modules/price-indicator.src.js +3 -2
- package/modules/pyramid3d.js +3 -3
- package/modules/pyramid3d.src.js +3 -2
- package/modules/sankey.js +3 -3
- package/modules/sankey.src.js +93 -26
- package/modules/series-label.js +3 -3
- package/modules/series-label.src.js +28 -19
- package/modules/series-on-point.js +3 -3
- package/modules/series-on-point.src.js +5 -4
- package/modules/solid-gauge.js +3 -3
- package/modules/solid-gauge.src.js +3 -2
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +3 -3
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +8 -6
- package/modules/static-scale.js +3 -3
- package/modules/static-scale.src.js +6 -6
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +109 -96
- package/modules/stock.d.ts +1 -1
- package/modules/stock.js +3 -3
- package/modules/stock.src.d.ts +1 -1
- package/modules/stock.src.js +10762 -10685
- package/modules/streamgraph.js +3 -3
- package/modules/streamgraph.src.js +3 -2
- package/modules/sunburst.js +3 -3
- package/modules/sunburst.src.js +50 -37
- package/modules/tiledwebmap.js +4 -4
- package/modules/tiledwebmap.src.js +28 -29
- package/modules/tilemap.js +3 -3
- package/modules/tilemap.src.js +4 -3
- package/modules/timeline.js +3 -3
- package/modules/timeline.src.js +5 -4
- package/modules/treegraph.js +3 -3
- package/modules/treegraph.src.js +58 -23
- package/modules/treegrid.js +3 -3
- package/modules/treegrid.src.js +49 -33
- package/modules/treemap.js +3 -3
- package/modules/treemap.src.js +44 -26
- package/modules/variable-pie.js +3 -3
- package/modules/variable-pie.src.js +3 -2
- package/modules/variwide.js +3 -3
- package/modules/variwide.src.js +9 -4
- package/modules/vector.js +3 -3
- package/modules/vector.src.js +3 -2
- package/modules/venn.js +3 -3
- package/modules/venn.src.js +16 -17
- package/modules/windbarb.js +3 -3
- package/modules/windbarb.src.js +5 -4
- package/modules/wordcloud.js +3 -3
- package/modules/wordcloud.src.js +10 -8
- package/modules/xrange.js +3 -3
- package/modules/xrange.src.js +5 -4
- package/package.json +1 -1
- package/standalone-navigator.js +2 -0
- package/standalone-navigator.src.js +49402 -0
- package/themes/avocado.js +3 -3
- package/themes/avocado.src.js +2 -1
- package/themes/brand-dark.js +3 -3
- package/themes/brand-dark.src.js +2 -1
- package/themes/brand-light.js +3 -3
- package/themes/brand-light.src.js +2 -1
- package/themes/dark-blue.js +3 -3
- package/themes/dark-blue.src.js +2 -1
- package/themes/dark-green.js +3 -3
- package/themes/dark-green.src.js +2 -1
- package/themes/dark-unica.js +3 -3
- package/themes/dark-unica.src.js +2 -1
- package/themes/gray.js +3 -3
- package/themes/gray.src.js +2 -1
- package/themes/grid-light.js +3 -3
- package/themes/grid-light.src.js +2 -1
- package/themes/grid.js +3 -3
- package/themes/grid.src.js +2 -1
- package/themes/high-contrast-dark.js +3 -3
- package/themes/high-contrast-dark.src.js +2 -1
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.src.js +2 -1
- package/themes/sand-signika.js +3 -3
- package/themes/sand-signika.src.js +2 -1
- package/themes/skies.js +3 -3
- package/themes/skies.src.js +2 -1
- package/themes/sunset.js +3 -3
- package/themes/sunset.src.js +2 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +0 -259
- package/lib/canvg.js +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.
|
|
2
|
+
* @license Highcharts JS v11.4.0 (2024-03-05)
|
|
3
3
|
*
|
|
4
4
|
* Highcharts
|
|
5
5
|
*
|
|
@@ -182,7 +182,11 @@
|
|
|
182
182
|
* @return {Highcharts.DataTable}
|
|
183
183
|
* Table with `modified` property as a reference.
|
|
184
184
|
*/
|
|
185
|
-
modifyCell(table,
|
|
185
|
+
modifyCell(table,
|
|
186
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
187
|
+
columnName, rowIndex, cellValue, eventDetail
|
|
188
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
189
|
+
) {
|
|
186
190
|
return this.modifyTable(table);
|
|
187
191
|
}
|
|
188
192
|
/**
|
|
@@ -204,7 +208,11 @@
|
|
|
204
208
|
* @return {Highcharts.DataTable}
|
|
205
209
|
* Table with `modified` property as a reference.
|
|
206
210
|
*/
|
|
207
|
-
modifyColumns(table,
|
|
211
|
+
modifyColumns(table,
|
|
212
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
213
|
+
columns, rowIndex, eventDetail
|
|
214
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
215
|
+
) {
|
|
208
216
|
return this.modifyTable(table);
|
|
209
217
|
}
|
|
210
218
|
/**
|
|
@@ -226,7 +234,11 @@
|
|
|
226
234
|
* @return {Highcharts.DataTable}
|
|
227
235
|
* Table with `modified` property as a reference.
|
|
228
236
|
*/
|
|
229
|
-
modifyRows(table,
|
|
237
|
+
modifyRows(table,
|
|
238
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
239
|
+
rows, rowIndex, eventDetail
|
|
240
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
241
|
+
) {
|
|
230
242
|
return this.modifyTable(table);
|
|
231
243
|
}
|
|
232
244
|
/**
|
|
@@ -332,7 +344,6 @@
|
|
|
332
344
|
* to add, remove, and manipulate columns and rows, as well as to retrieve data
|
|
333
345
|
* from specific cells.
|
|
334
346
|
*
|
|
335
|
-
* @private
|
|
336
347
|
* @class
|
|
337
348
|
* @name Highcharts.DataTable
|
|
338
349
|
*
|
|
@@ -1198,7 +1209,7 @@
|
|
|
1198
1209
|
* @emits #afterSetColumns
|
|
1199
1210
|
*/
|
|
1200
1211
|
setColumns(columns, rowIndex, eventDetail) {
|
|
1201
|
-
const table = this, tableColumns = table.columns, tableModifier = table.modifier,
|
|
1212
|
+
const table = this, tableColumns = table.columns, tableModifier = table.modifier, reset = (typeof rowIndex === 'undefined'), columnNames = Object.keys(columns);
|
|
1202
1213
|
table.emit({
|
|
1203
1214
|
type: 'setColumns',
|
|
1204
1215
|
columns,
|
|
@@ -1517,14 +1528,16 @@
|
|
|
1517
1528
|
* @return {Array<string>|undefined}
|
|
1518
1529
|
* Order of columns.
|
|
1519
1530
|
*/
|
|
1520
|
-
getColumnOrder(
|
|
1531
|
+
getColumnOrder(
|
|
1532
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1533
|
+
usePresentationState) {
|
|
1521
1534
|
const connector = this, columns = connector.metadata.columns, names = Object.keys(columns || {});
|
|
1522
1535
|
if (names.length) {
|
|
1523
1536
|
return names.sort((a, b) => (pick(columns[a].index, 0) - pick(columns[b].index, 0)));
|
|
1524
1537
|
}
|
|
1525
1538
|
}
|
|
1526
1539
|
/**
|
|
1527
|
-
* Retrieves the columns of the
|
|
1540
|
+
* Retrieves the columns of the dataTable,
|
|
1528
1541
|
* applies column order from meta.
|
|
1529
1542
|
*
|
|
1530
1543
|
* @param {boolean} [usePresentationOrder]
|
|
@@ -2043,7 +2056,11 @@
|
|
|
2043
2056
|
* @param {DataConverter.Options} [options]
|
|
2044
2057
|
* Options for the export.
|
|
2045
2058
|
*/
|
|
2046
|
-
export(
|
|
2059
|
+
export(
|
|
2060
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2061
|
+
connector, options
|
|
2062
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
2063
|
+
) {
|
|
2047
2064
|
this.emit({
|
|
2048
2065
|
type: 'exportError',
|
|
2049
2066
|
columns: [],
|
|
@@ -2118,7 +2135,9 @@
|
|
|
2118
2135
|
* @param {DataConverter.UserOptions} options
|
|
2119
2136
|
* Options of the DataConverter.
|
|
2120
2137
|
*/
|
|
2121
|
-
parse(
|
|
2138
|
+
parse(
|
|
2139
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2140
|
+
options) {
|
|
2122
2141
|
this.emit({
|
|
2123
2142
|
type: 'parseError',
|
|
2124
2143
|
columns: [],
|
|
@@ -3898,7 +3917,7 @@
|
|
|
3898
3917
|
return isValue(x) ? x : NaN;
|
|
3899
3918
|
}
|
|
3900
3919
|
/**
|
|
3901
|
-
* Process a function
|
|
3920
|
+
* Process a function on the given table. If the arguments do not contain
|
|
3902
3921
|
* references or ranges, then no table has to be provided.
|
|
3903
3922
|
*
|
|
3904
3923
|
* @private
|
|
@@ -3915,7 +3934,9 @@
|
|
|
3915
3934
|
* @return {Highcharts.FormulaValue|Array<Highcharts.FormulaValue>}
|
|
3916
3935
|
* Result value (or values) of the process. `NaN` indicates an error.
|
|
3917
3936
|
*/
|
|
3918
|
-
function processFunction(formulaFunction, table,
|
|
3937
|
+
function processFunction(formulaFunction, table,
|
|
3938
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3939
|
+
reference // @todo
|
|
3919
3940
|
) {
|
|
3920
3941
|
const processor = processorFunctions[formulaFunction.name];
|
|
3921
3942
|
if (processor) {
|
|
@@ -5592,11 +5613,9 @@
|
|
|
5592
5613
|
if (!decimalPoint || decimalPoint === itemDelimiter) {
|
|
5593
5614
|
decimalPoint = converter.guessedDecimalPoint || '.';
|
|
5594
5615
|
}
|
|
5595
|
-
let i = 0, c = '',
|
|
5616
|
+
let i = 0, c = '', token = '', actualColumn = 0, column = 0;
|
|
5596
5617
|
const read = (j) => {
|
|
5597
5618
|
c = columnStr[j];
|
|
5598
|
-
cl = columnStr[j - 1];
|
|
5599
|
-
cn = columnStr[j + 1];
|
|
5600
5619
|
};
|
|
5601
5620
|
const pushType = (type) => {
|
|
5602
5621
|
if (dataTypes.length < column + 1) {
|
|
@@ -5878,14 +5897,14 @@
|
|
|
5878
5897
|
detail: eventDetail,
|
|
5879
5898
|
table
|
|
5880
5899
|
});
|
|
5881
|
-
// If already loaded, clear the current rows
|
|
5882
|
-
table.deleteRows();
|
|
5883
5900
|
return Promise
|
|
5884
5901
|
.resolve(csvURL ?
|
|
5885
5902
|
fetch(csvURL).then((response) => response.text()) :
|
|
5886
5903
|
csv || '')
|
|
5887
5904
|
.then((csv) => {
|
|
5888
5905
|
if (csv) {
|
|
5906
|
+
// If already loaded, clear the current rows
|
|
5907
|
+
table.deleteColumns();
|
|
5889
5908
|
converter.parse({ csv });
|
|
5890
5909
|
table.setColumns(converter.getTable().getColumns());
|
|
5891
5910
|
}
|
|
@@ -6007,6 +6026,7 @@
|
|
|
6007
6026
|
if (!data) {
|
|
6008
6027
|
return;
|
|
6009
6028
|
}
|
|
6029
|
+
converter.columns = [];
|
|
6010
6030
|
converter.emit({
|
|
6011
6031
|
type: 'parse',
|
|
6012
6032
|
columns: converter.columns,
|
|
@@ -6179,20 +6199,18 @@
|
|
|
6179
6199
|
detail: eventDetail,
|
|
6180
6200
|
table
|
|
6181
6201
|
});
|
|
6182
|
-
// If already loaded, clear the current rows
|
|
6183
|
-
table.deleteRows();
|
|
6184
6202
|
return Promise
|
|
6185
6203
|
.resolve(dataUrl ?
|
|
6186
6204
|
fetch(dataUrl).then((json) => json.json()) :
|
|
6187
6205
|
data || [])
|
|
6188
6206
|
.then((data) => {
|
|
6189
6207
|
if (data) {
|
|
6208
|
+
// If already loaded, clear the current rows
|
|
6209
|
+
table.deleteColumns();
|
|
6190
6210
|
converter.parse({ data });
|
|
6191
6211
|
table.setColumns(converter.getTable().getColumns());
|
|
6192
6212
|
}
|
|
6193
|
-
return connector
|
|
6194
|
-
.setModifierOptions(dataModifier)
|
|
6195
|
-
.then(() => data);
|
|
6213
|
+
return connector.setModifierOptions(dataModifier).then(() => data);
|
|
6196
6214
|
})
|
|
6197
6215
|
.then((data) => {
|
|
6198
6216
|
connector.emit({
|
|
@@ -6446,8 +6464,6 @@
|
|
|
6446
6464
|
table,
|
|
6447
6465
|
url
|
|
6448
6466
|
});
|
|
6449
|
-
// If already loaded, clear the current table
|
|
6450
|
-
table.deleteColumns();
|
|
6451
6467
|
return fetch(url)
|
|
6452
6468
|
.then((response) => (response.json()))
|
|
6453
6469
|
.then((json) => {
|
|
@@ -6458,6 +6474,8 @@
|
|
|
6458
6474
|
firstRowAsNames,
|
|
6459
6475
|
json
|
|
6460
6476
|
});
|
|
6477
|
+
// If already loaded, clear the current table
|
|
6478
|
+
table.deleteColumns();
|
|
6461
6479
|
table.setColumns(converter.getTable().getColumns());
|
|
6462
6480
|
return connector.setModifierOptions(dataModifier);
|
|
6463
6481
|
})
|
|
@@ -6738,9 +6756,7 @@
|
|
|
6738
6756
|
* Get table header markup from row data.
|
|
6739
6757
|
*/
|
|
6740
6758
|
getTableHeaderHTML(topheaders = [], subheaders = [], options = this.options) {
|
|
6741
|
-
const { useMultiLevelHeaders, useRowspanHeaders } = options
|
|
6742
|
-
(1.1).toLocaleString()[1] :
|
|
6743
|
-
'.');
|
|
6759
|
+
const { useMultiLevelHeaders, useRowspanHeaders } = options;
|
|
6744
6760
|
let html = '<thead>', i = 0, len = subheaders && subheaders.length, next, cur, curColspan = 0, rowspan;
|
|
6745
6761
|
// Clean up multiple table headers. Chart.getDataRows() returns two
|
|
6746
6762
|
// levels of headers when using multilevel, not merged. We need to
|
|
@@ -6988,8 +7004,6 @@
|
|
|
6988
7004
|
table,
|
|
6989
7005
|
tableElement: connector.tableElement
|
|
6990
7006
|
});
|
|
6991
|
-
// If already loaded, clear the current rows
|
|
6992
|
-
table.deleteColumns();
|
|
6993
7007
|
let tableElement;
|
|
6994
7008
|
if (typeof tableHTML === 'string') {
|
|
6995
7009
|
connector.tableID = tableHTML;
|
|
@@ -7011,6 +7025,8 @@
|
|
|
7011
7025
|
return Promise.reject(new Error(error));
|
|
7012
7026
|
}
|
|
7013
7027
|
converter.parse(merge({ tableElement: connector.tableElement }, connector.options), eventDetail);
|
|
7028
|
+
// If already loaded, clear the current rows
|
|
7029
|
+
table.deleteColumns();
|
|
7014
7030
|
table.setColumns(converter.getTable().getColumns());
|
|
7015
7031
|
return connector
|
|
7016
7032
|
.setModifierOptions(dataModifier)
|
|
@@ -8164,13 +8180,14 @@
|
|
|
8164
8180
|
_registerModule(_modules, 'masters/modules/data-tools.src.js', [_modules['Core/Globals.js'], _modules['Data/Connectors/DataConnector.js'], _modules['Data/Converters/DataConverter.js'], _modules['Data/DataCursor.js'], _modules['Data/Modifiers/DataModifier.js'], _modules['Data/DataPool.js'], _modules['Data/DataTable.js'], _modules['Data/Formula/Formula.js']], function (Highcharts, DataConnector, DataConverter, DataCursor, DataModifier, DataPool, DataTable, Formula) {
|
|
8165
8181
|
|
|
8166
8182
|
const G = Highcharts;
|
|
8167
|
-
G.DataConnector = DataConnector;
|
|
8168
|
-
G.DataConverter = DataConverter;
|
|
8169
|
-
G.DataCursor = DataCursor;
|
|
8170
|
-
G.DataModifier = DataModifier;
|
|
8171
|
-
G.DataPool = DataPool;
|
|
8172
|
-
G.DataTable = DataTable;
|
|
8173
|
-
G.Formula = Formula;
|
|
8183
|
+
G.DataConnector = G.DataConnector || DataConnector;
|
|
8184
|
+
G.DataConverter = G.DataConverter || DataConverter;
|
|
8185
|
+
G.DataCursor = G.DataCursor || DataCursor;
|
|
8186
|
+
G.DataModifier = G.DataModifier || DataModifier;
|
|
8187
|
+
G.DataPool = G.DataPool || DataPool;
|
|
8188
|
+
G.DataTable = G.DataTable || DataTable;
|
|
8189
|
+
G.Formula = G.Formula || Formula;
|
|
8174
8190
|
|
|
8191
|
+
return Highcharts;
|
|
8175
8192
|
});
|
|
8176
8193
|
}));
|
package/modules/data.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import * as _Highcharts from "../highcharts";
|
|
|
14
14
|
export function factory(highcharts: typeof Highcharts): void;
|
|
15
15
|
declare module "../highcharts" {
|
|
16
16
|
/**
|
|
17
|
-
* Callback function that returns the
|
|
17
|
+
* Callback function that returns the corresponding Date object to a match.
|
|
18
18
|
*/
|
|
19
19
|
type DataDateFormatCallbackFunction = (match: Array<number>) => number;
|
|
20
20
|
interface AjaxSettingsObject {
|
|
@@ -165,7 +165,7 @@ declare module "../highcharts" {
|
|
|
165
165
|
* @param settings
|
|
166
166
|
* The Ajax settings to use.
|
|
167
167
|
*
|
|
168
|
-
* @return Returns false, if error
|
|
168
|
+
* @return Returns false, if error occurred.
|
|
169
169
|
*/
|
|
170
170
|
function ajax(settings: AjaxSettingsObject): (false|undefined);
|
|
171
171
|
/**
|
package/modules/data.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
* Highcharts JS v11.
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v11.4.0 (2024-03-04)
|
|
3
3
|
*
|
|
4
4
|
* Data module
|
|
5
5
|
*
|
|
6
6
|
* (c) 2012-2024 Torstein Honsi
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
*/!function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(e,t,s,r){e.hasOwnProperty(t)||(e[t]=r.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}s(t,"Core/HttpUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{doc:s,win:r}=e,{createElement:a,discardElement:i,merge:n,objectEach:o}=t,l={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},s=new XMLHttpRequest;function r(t,s){e.error&&e.error(t,s)}if(!e.url)return!1;s.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||s.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),o(e.headers,function(e,t){s.setRequestHeader(t,e)}),e.responseType&&(s.responseType=e.responseType),s.onreadystatechange=function(){let t;if(4===s.readyState){if(200===s.status){if("blob"!==e.responseType&&(t=s.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return r(s,e)}return e.success&&e.success(t,s)}r(s,s.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),s.send(e.data)},getJSON:function(e,t){l.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,s){let a=new r.FormData;o(t,function(e,t){a.append(t,e)}),a.append("b64","true");let{filename:n,type:l}=t;return r.fetch(e,{method:"POST",body:a,...s}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${l};base64,${e}`,t.download=n,t.click(),i(t)})})}};return l}),s(t,"Extensions/Data.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,s,r,a,i,n){let{getOptions:o}=t,{doc:l}=s,{ajax:u}=r,{seriesTypes:h}=i,{addEvent:d,defined:m,extend:c,fireEvent:p,isNumber:f,merge:g,objectEach:C,pick:x,splat:y}=n;function T(e){return!!(e&&(e.rowsURL||e.csvURL||e.columnsURL))}class v{static data(e,t={},s){return new v(e,t,s)}static rowsToColumns(e){let t,s,r,a,i;if(e)for(t=0,i=[],s=e.length;t<s;t++)for(r=0,a=e[t].length;r<a;r++)i[r]||(i[r]=[]),i[r][t]=e[t][r];return i}constructor(e,t={},s){this.rowsToColumns=v.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){if(!e)return NaN;let t=new Date,s=+e[3];return s>t.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let r=e.decimalPoint,a;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==r&&","!==r&&(r=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=x(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=r&&RegExp("^(-?[0-9]+)"+r+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),a=!T(e)),a||(a=this.fetchLiveData()),a||(a=!!this.parseCSV().length),a||(a=!!this.parseTable().length),a||(a=this.parseGoogleSpreadsheet()),!a&&e.afterComplete&&e.afterComplete()}getColumnDistribution(){let e=this.chartOptions,t=this.options,s=[],r=function(e){return(h[e||"line"].prototype.pointArrayMap||[0]).length},a=function(e){return h[e||"line"].prototype.pointArrayMap},i=e&&e.chart&&e.chart.type,n=[],o=[],l=t&&t.seriesMapping||e&&e.series&&e.series.map(function(){return{x:0}})||[],u=0,d;(e&&e.series||[]).forEach(e=>{n.push(r(e.type||i))}),l.forEach(e=>{s.push(e.x||0)}),0===s.length&&s.push(0),l.forEach(t=>{let s=new R,l=n[u]||r(i),h=e&&e.series||[],c=h[u]||{},p=a(c.type||i),f=p||["y"];for((m(t.x)||c.isCartesian||!p)&&s.addColumnReader(t.x,"x"),C(t,function(e,t){"x"!==t&&s.addColumnReader(e,t)}),d=0;d<l;d++)s.hasReader(f[d])||s.addColumnReader(void 0,f[d]);o.push(s),u++});let c=a(i);void 0===c&&(c=["y"]),this.valueCount={global:r(i),xColumns:s,individual:n,seriesBuilders:o,globalPointArrayMap:c}}dataFound(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns)),this.getColumnDistribution(),this.parseTypes(),!1!==this.parsed()&&this.complete()}parseCSV(e){let t=this,s=this.columns=[],r=e||this.options,a=void 0!==r.startColumn&&r.startColumn?r.startColumn:0,i=r.endColumn||Number.MAX_VALUE,n=[],o={",":0,";":0," ":0},l=r.csv,u=void 0!==r.startRow&&r.startRow?r.startRow:0,h=r.endRow||Number.MAX_VALUE,d,m,c=0;if(l&&r.beforeParse&&(l=r.beforeParse.call(this,l)),l){if(m=l.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(r.lineDelimiter||"\n"),(!u||u<0)&&(u=0),(!h||h>=m.length)&&(h=m.length-1),r.itemDelimiter)d=r.itemDelimiter;else{let e,s,a;d=null,e=0,s=0,a=!1,m.some(function(t,r){let a=!1,i,n,l,u="";if(r>13)return!0;for(let r=0;r<t.length;r++){if(i=t[r],n=t[r+1],l=t[r-1],"#"===i)return;if('"'===i){if(a){if('"'!==l&&'"'!==n){for(;" "===n&&r<t.length;)n=t[++r];void 0!==o[n]&&o[n]++,a=!1}}else a=!0}else void 0!==o[i]?(isNaN(Date.parse(u=u.trim()))?(isNaN(u)||!isFinite(u))&&o[i]++:o[i]++,u=""):u+=i;","===i&&s++,"."===i&&e++}}),o[";"]>o[","]?a=";":(o[","],o[";"],a=","),r.decimalPoint||(e>s?r.decimalPoint=".":r.decimalPoint=",",t.decimalRegex=RegExp("^(-?[0-9]+)"+r.decimalPoint+"([0-9]+)$")),d=a}let e=0;for(c=u;c<=h;c++)"#"===m[c][0]?e++:function(e,t,o,l){let u=0,h="",m="",c="",p="",f=0,g=0;function C(t){h=e[t],m=e[t-1],c=e[t+1]}function x(e){n.length<g+1&&n.push([e]),n[g][n[g].length-1]!==e&&n[g].push(e)}function y(){if(a>f||f>i){++f,p="";return}r.columnTypes||(!isNaN(parseFloat(p))&&isFinite(p)?(p=parseFloat(p),x("number")):isNaN(Date.parse(p))?x("string"):(p=p.replace(/\//g,"-"),x("date"))),s.length<g+1&&s.push([]),s[g][t]=p,p="",++g,++f}if(e.trim().length&&"#"!==e.trim()[0]){for(;u<e.length;u++)if(C(u),'"'===h)for(C(++u);u<e.length&&('"'!==h||'"'===m||'"'===c);)('"'!==h||'"'===h&&'"'!==m)&&(p+=h),C(++u);else l&&l[h]?l[h](h,p)&&y():h===d?y():p+=h;y()}}(m[c],c-u-e);(!r.columnTypes||0===r.columnTypes.length)&&n.length&&n[0].length&&"date"===n[0][1]&&!r.dateFormat&&(r.dateFormat=function(e,s){let a="YYYY/mm/dd",i=[],n=[],o,l=[],u,h=0,d=!1,m;for((!s||s>e.length)&&(s=e.length);h<s;h++)if(void 0!==e[h]&&e[h]&&e[h].length)for(m=0,o=e[h].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),l=["","",""];m<o.length;m++)m<l.length&&(o[m]=parseInt(o[m],10),o[m]&&(n[m]=!n[m]||n[m]<o[m]?o[m]:n[m],void 0!==i[m]?i[m]!==o[m]&&(i[m]=!1):i[m]=o[m],o[m]>31?o[m]<100?l[m]="YY":l[m]="YYYY":o[m]>12&&o[m]<=31?(l[m]="dd",d=!0):l[m].length||(l[m]="mm")));if(d){for(m=0;m<i.length;m++)!1!==i[m]?n[m]>12&&"YY"!==l[m]&&"YYYY"!==l[m]&&(l[m]="YY"):n[m]>12&&"mm"===l[m]&&(l[m]="dd");return(3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),u=l.join("/"),(r.dateFormats||t.dateFormats)[u])?u:(p("deduceDateFailed"),a)}return a}(s[0])),this.dataFound()}return s}parseTable(){let e=this.options,t=this.columns||[],s=e.startRow||0,r=e.endRow||Number.MAX_VALUE,a=e.startColumn||0,i=e.endColumn||Number.MAX_VALUE;if(e.table){let n=e.table;"string"==typeof n&&(n=l.getElementById(n)),[].forEach.call(n.getElementsByTagName("tr"),(e,n)=>{n>=s&&n<=r&&[].forEach.call(e.children,(e,r)=>{let o=t[r-a],l=1;if(("TD"===e.tagName||"TH"===e.tagName)&&r>=a&&r<=i)for(t[r-a]||(t[r-a]=[]),t[r-a][n-s]=e.innerHTML;n-s>=l&&void 0===o[n-s-l];)o[n-s-l]=null,l++})}),this.dataFound()}return t}fetchLiveData(){let e=this,t=this.chart,s=this.options,r=s.enablePolling,a=g(s),i=0,n=1e3*(s.dataRefreshRate||2);return!!T(s)&&(n<1e3&&(n=1e3),delete s.csvURL,delete s.rowsURL,delete s.columnsURL,function o(l){function h(a,h,d){if(!a||!/^(http|\/|\.\/|\.\.\/)/.test(a))return a&&s.error&&s.error("Invalid URL"),!1;function m(){r&&t.liveDataURL===a&&(e.liveDataTimeout=setTimeout(o,n))}return l&&(clearTimeout(e.liveDataTimeout),t.liveDataURL=a),u({url:a,dataType:d||"json",success:function(e){t&&t.series&&h(e),m()},error:function(e,t){return++i<3&&m(),s.error&&s.error(t,e)}}),!0}h(a.csvURL,function(e){t.update({data:{csv:e}})},"text")||h(a.rowsURL,function(e){t.update({data:{rows:e}})})||h(a.columnsURL,function(e){t.update({data:{columns:e}})})}(!0),T(s))}parseGoogleSpreadsheet(){let e=this,t=this.options,s=t.googleSpreadsheetKey,r=this.chart,a=Math.max(1e3*(t.dataRefreshRate||2),4e3),i=()=>{if(t.googleSpreadsheetRange)return t.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",s=(e.charAt(t.startColumn||0)||"A")+((t.startRow||0)+1),r=e.charAt(x(t.endColumn,-1))||"ZZ";return m(t.endRow)&&(r+=t.endRow+1),`${s}:${r}`};return s&&(delete t.googleSpreadsheetKey,function r(n){let o=["https://sheets.googleapis.com/v4/spreadsheets",s,"values",i(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+t.googleAPIKey].join("/");u({url:o,dataType:"json",success:function(s){n(s),t.enablePolling&&(e.liveDataTimeout=setTimeout(function(){r(n)},a))},error:function(e,s){return t.error&&t.error(s,e)}})}(function(t){let s=t.values;if(!s||0===s.length)return!1;let a=s.reduce((e,t)=>Math.max(e,t.length),0);s.forEach(e=>{for(let t=0;t<a;t++)void 0===e[t]&&(e[t]=null)}),r&&r.series?r.update({data:{columns:s}}):(e.columns=s,e.dataFound())})),!1}trim(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/^-?[0-9\s]+$/.test(e)&&(e=e.replace(/\s/g,"")),this.decimalRegex&&(e=e.replace(this.decimalRegex,"$1.$2"))),e}parseTypes(){let e=this.columns||[],t=e.length;for(;t--;)this.parseColumn(e[t],t)}parseColumn(e,t){let s=this.rawColumns,r=this.columns,a=this.firstRowAsNames,i=-1!==this.valueCount.xColumns.indexOf(t),n=[],o=this.chartOptions,l=this.options.columnTypes||[],u=l[t],h=i&&o&&o.xAxis&&"category"===y(o.xAxis)[0].type||"string"===u,d=m(e.name),c=e.length,p,g,C,x,T,v,R;for(s[t]||(s[t]=[]);c--;)p=n[c]||e[c],C=this.trim(p),g=parseFloat(x=this.trim(p,!0)),void 0===s[t][c]&&(s[t][c]=C),h||0===c&&a&&!d?e[c]=""+C:+x===g?(e[c]=g,g>31536e6&&"float"!==u?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[c+1]&&(R=g>e[c+1])):(C&&C.length&&(T=this.parseDate(p)),i&&f(T)&&"float"!==u?(n[c]=p,e[c]=T,e.isDatetime=!0,void 0!==e[c+1]&&((v=T>e[c+1])!==R&&void 0!==R&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,c=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),R=v)):(e[c]=""===C?null:C,0!==c&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(i&&e.mixed&&(r[t]=s[t]),i&&R&&this.options.sort)for(t=0;t<r.length;t++)r[t].reverse(),a&&r[t].unshift(r[t].pop())}parseDate(e){let t=this.options.parseDate,s,r,a,i=this.options.dateFormat||this.dateFormat,n;if(t)s=t(e);else if("string"==typeof e){if(i)(a=this.dateFormats[i])||(a=this.dateFormats["YYYY/mm/dd"]),(n=e.match(a.regex))&&(s=a.parser(n));else for(r in this.dateFormats)if(a=this.dateFormats[r],n=e.match(a.regex)){this.dateFormat=i=r,this.alternativeFormat=a.alternative,s=a.parser(n);break}!n&&(e.match(/:.+(GMT|UTC|[Z+-])/)&&(e=e.replace(/\s*(?:GMT|UTC)?([+-])(\d\d)(\d\d)$/,"$1$2:$3").replace(/(?:\s+|GMT|UTC)([+-])/,"$1").replace(/(\d)\s*(?:GMT|UTC|Z)$/,"$1+00:00")),"object"==typeof(n=Date.parse(e))&&null!==n&&n.getTime?s=n.getTime()-6e4*n.getTimezoneOffset():f(n)&&(s=n-6e4*new Date(n).getTimezoneOffset()))}return s}getData(){if(this.columns)return this.rowsToColumns(this.columns).slice(1)}parsed(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)}complete(){let e,t,s,r,a,i,n,o,l,u,h,d;let c=this.columns,p=this.options,f=[];if([].length=c.length,p.complete||p.afterComplete){if(this.firstRowAsNames)for(r=0;r<c.length;r++){let e=c[r];m(e.name)||(e.name=x(e.shift(),"").toString())}for(n=0,t=[],u=function(e,t){let s,r,a;let i=[],n=[];for(r=0;r<e;r+=1)i.push(!0);for(s=0;s<t.length;s+=1)for(r=0,a=t[s].getReferencedColumnIndexes();r<a.length;r+=1)i[a[r]]=!1;for(r=0;r<i.length;r+=1)i[r]&&n.push(r);return n}(c.length,this.valueCount.seriesBuilders);n<this.valueCount.seriesBuilders.length;n++)(l=this.valueCount.seriesBuilders[n]).populateColumns(u)&&f.push(l);for(;u.length>0;){for((l=new R).addColumnReader(0,"x"),-1!==(d=u.indexOf(0))&&u.splice(d,1),r=0;r<this.valueCount.global;r++)l.addColumnReader(void 0,this.valueCount.globalPointArrayMap[r]);l.populateColumns(u)&&f.push(l)}if(f.length>0&&f[0].readers.length>0&&void 0!==(h=c[f[0].readers[0].columnIndex])&&(h.isDatetime?e="datetime":h.isNumeric||(e="category")),"category"===e)for(n=0;n<f.length;n++)for(i=0,l=f[n];i<l.readers.length;i++)"x"===l.readers[i].configName&&(l.readers[i].configName="name");for(n=0;n<f.length;n++){for(a=0,l=f[n],s=[];a<c[0].length;a++)s[a]=l.read(c,a);t[n]={data:s},l.name&&(t[n].name=l.name),"category"===e&&(t[n].turboThreshold=0)}o={series:t},e&&(o.xAxis={type:e},"category"===e&&(o.xAxis.uniqueNames=!1)),p.complete&&p.complete(o),p.afterComplete&&p.afterComplete(o)}}update(e,t){let s=this.chart,r=s.options;e&&(e.afterComplete=function(e){e&&(e.xAxis&&s.xAxis[0]&&e.xAxis.type===s.xAxis[0].options.type&&delete e.xAxis,s.update(e,t,!0))},g(!0,r.data,e),r.data&&r.data.googleSpreadsheetKey&&!e.columns&&delete r.data.columns,this.init(r.data))}}d(e,"init",function(e){let t=this,s=e.args[1],r=o().data,a=e.args[0]||{};if((r||a&&a.data)&&!t.hasDataDef){t.hasDataDef=!0;let i=g(r,a.data);t.data=new v(c(i,{afterComplete:function(e){let r,i;if(Object.hasOwnProperty.call(a,"series")){if("object"==typeof a.series)for(r=Math.max(a.series.length,e&&e.series?e.series.length:0);r--;)i=a.series[r]||{},a.series[r]=g(i,e&&e.series?e.series[r]:{});else delete a.series}a=g(e,a),t.init(a,s)}}),a,t),e.preventDefault()}});class R{constructor(){this.readers=[],this.pointIsArray=!0}populateColumns(e){let t=!0;return this.readers.forEach(t=>{void 0===t.columnIndex&&(t.columnIndex=e.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(t=!1)}),t}read(e,t){let s=this.pointIsArray,r=s?[]:{};if(this.readers.forEach(i=>{let n=e[i.columnIndex][t];s?r.push(n):i.configName.indexOf(".")>0?a.prototype.setNestedProperty(r,n,i.configName):r[i.configName]=n}),void 0===this.name&&this.readers.length>=2){let t=[];this.readers.forEach(function(e){("x"===e.configName||"name"===e.configName||"y"===e.configName)&&void 0!==e.columnIndex&&t.push(e.columnIndex)}),t.length>=2&&(t.shift(),t.sort(function(e,t){return e-t})),this.name=e[x(t.shift(),0)].name}return r}addColumnReader(e,t){this.readers.push({columnIndex:e,configName:t}),"x"===t||"y"===t||void 0===t||(this.pointIsArray=!1)}getReferencedColumnIndexes(){let e,t;let s=[];for(e=0;e<this.readers.length;e+=1)void 0!==(t=this.readers[e]).columnIndex&&s.push(t.columnIndex);return s}hasReader(e){let t;for(t=0;t<this.readers.length;t+=1)if(this.readers[t].configName===e)return!0}}return v}),s(t,"masters/modules/data.src.js",[t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Extensions/Data.js"]],function(e,t,s){e.ajax=t.ajax,e.data=s.data,e.getJSON=t.getJSON,e.post=t.post,e.Data=s,e.HttpUtilities=t})});
|
|
9
|
+
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(e,t,s,r){e.hasOwnProperty(t)||(e[t]=r.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}s(t,"Core/HttpUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{win:s}=e,{discardElement:r,objectEach:i}=t,a={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},s=new XMLHttpRequest;function r(t,s){e.error&&e.error(t,s)}if(!e.url)return!1;s.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||s.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),i(e.headers,function(e,t){s.setRequestHeader(t,e)}),e.responseType&&(s.responseType=e.responseType),s.onreadystatechange=function(){let t;if(4===s.readyState){if(200===s.status){if("blob"!==e.responseType&&(t=s.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return r(s,e)}return e.success&&e.success(t,s)}r(s,s.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),s.send(e.data)},getJSON:function(e,t){a.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,a){let n=new s.FormData;i(t,function(e,t){n.append(t,e)}),n.append("b64","true");let{filename:o,type:l}=t;return s.fetch(e,{method:"POST",body:n,...a}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${l};base64,${e}`,t.download=o,t.click(),r(t)})})}};return a}),s(t,"Extensions/Data.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,s,r,i,a,n){let{getOptions:o}=t,{doc:l}=s,{ajax:u}=r,{seriesTypes:h}=a,{addEvent:d,defined:m,extend:c,fireEvent:p,isNumber:f,merge:g,objectEach:C,pick:x,splat:y}=n;function T(e){return!!(e&&(e.rowsURL||e.csvURL||e.columnsURL))}class v{static data(e,t={},s){return new v(e,t,s)}static rowsToColumns(e){let t,s,r,i,a;if(e)for(t=0,a=[],s=e.length;t<s;t++)for(r=0,i=e[t].length;r<i;r++)a[r]||(a[r]=[]),a[r][t]=e[t][r];return a}constructor(e,t={},s){this.rowsToColumns=v.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){if(!e)return NaN;let t=new Date,s=+e[3];return s>t.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let r=e.decimalPoint,i;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==r&&","!==r&&(r=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=x(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=r&&RegExp("^(-?[0-9]+)"+r+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),i=!T(e)),i||(i=this.fetchLiveData()),i||(i=!!this.parseCSV().length),i||(i=!!this.parseTable().length),i||(i=this.parseGoogleSpreadsheet()),!i&&e.afterComplete&&e.afterComplete()}getColumnDistribution(){let e=this.chartOptions,t=this.options,s=[],r=function(e){return(h[e||"line"].prototype.pointArrayMap||[0]).length},i=function(e){return h[e||"line"].prototype.pointArrayMap},a=e&&e.chart&&e.chart.type,n=[],o=[],l=t&&t.seriesMapping||e&&e.series&&e.series.map(function(){return{x:0}})||[],u=0,d;(e&&e.series||[]).forEach(e=>{n.push(r(e.type||a))}),l.forEach(e=>{s.push(e.x||0)}),0===s.length&&s.push(0),l.forEach(t=>{let s=new R,l=n[u]||r(a),h=(e&&e.series||[])[u]||{},c=i(h.type||a),p=c||["y"];for((m(t.x)||h.isCartesian||!c)&&s.addColumnReader(t.x,"x"),C(t,function(e,t){"x"!==t&&s.addColumnReader(e,t)}),d=0;d<l;d++)s.hasReader(p[d])||s.addColumnReader(void 0,p[d]);o.push(s),u++});let c=i(a);void 0===c&&(c=["y"]),this.valueCount={global:r(a),xColumns:s,individual:n,seriesBuilders:o,globalPointArrayMap:c}}dataFound(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns)),this.getColumnDistribution(),this.parseTypes(),!1!==this.parsed()&&this.complete()}parseCSV(e){let t=this,s=this.columns=[],r=e||this.options,i=void 0!==r.startColumn&&r.startColumn?r.startColumn:0,a=r.endColumn||Number.MAX_VALUE,n=[],o={",":0,";":0," ":0},l=r.csv,u=void 0!==r.startRow&&r.startRow?r.startRow:0,h=r.endRow||Number.MAX_VALUE,d,m,c=0;if(l&&r.beforeParse&&(l=r.beforeParse.call(this,l)),l){if(m=l.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(r.lineDelimiter||"\n"),(!u||u<0)&&(u=0),(!h||h>=m.length)&&(h=m.length-1),r.itemDelimiter)d=r.itemDelimiter;else{let e,s,i;d=null,e=0,s=0,i=!1,m.some(function(t,r){let i=!1,a,n,l,u="";if(r>13)return!0;for(let r=0;r<t.length;r++){if(a=t[r],n=t[r+1],l=t[r-1],"#"===a)return;if('"'===a){if(i){if('"'!==l&&'"'!==n){for(;" "===n&&r<t.length;)n=t[++r];void 0!==o[n]&&o[n]++,i=!1}}else i=!0}else void 0!==o[a]?(isNaN(Date.parse(u=u.trim()))?(isNaN(u)||!isFinite(u))&&o[a]++:o[a]++,u=""):u+=a;","===a&&s++,"."===a&&e++}}),o[";"]>o[","]?i=";":(o[","],o[";"],i=","),r.decimalPoint||(e>s?r.decimalPoint=".":r.decimalPoint=",",t.decimalRegex=RegExp("^(-?[0-9]+)"+r.decimalPoint+"([0-9]+)$")),d=i}let e=0;for(c=u;c<=h;c++)"#"===m[c][0]?e++:function(e,t,o,l){let u=0,h="",m="",c="",p="",f=0,g=0;function C(t){h=e[t],m=e[t-1],c=e[t+1]}function x(e){n.length<g+1&&n.push([e]),n[g][n[g].length-1]!==e&&n[g].push(e)}function y(){if(i>f||f>a){++f,p="";return}r.columnTypes||(!isNaN(parseFloat(p))&&isFinite(p)?(p=parseFloat(p),x("number")):isNaN(Date.parse(p))?x("string"):(p=p.replace(/\//g,"-"),x("date"))),s.length<g+1&&s.push([]),s[g][t]=p,p="",++g,++f}if(e.trim().length&&"#"!==e.trim()[0]){for(;u<e.length;u++)if(C(u),'"'===h)for(C(++u);u<e.length&&('"'!==h||'"'===m||'"'===c);)('"'!==h||'"'===h&&'"'!==m)&&(p+=h),C(++u);else h===d?y():p+=h;y()}}(m[c],c-u-e);(!r.columnTypes||0===r.columnTypes.length)&&n.length&&n[0].length&&"date"===n[0][1]&&!r.dateFormat&&(r.dateFormat=function(e,s){let i="YYYY/mm/dd",a=[],n=[],o,l=[],u,h=0,d=!1,m;for((!s||s>e.length)&&(s=e.length);h<s;h++)if(void 0!==e[h]&&e[h]&&e[h].length)for(m=0,o=e[h].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),l=["","",""];m<o.length;m++)m<l.length&&(o[m]=parseInt(o[m],10),o[m]&&(n[m]=!n[m]||n[m]<o[m]?o[m]:n[m],void 0!==a[m]?a[m]!==o[m]&&(a[m]=!1):a[m]=o[m],o[m]>31?o[m]<100?l[m]="YY":l[m]="YYYY":o[m]>12&&o[m]<=31?(l[m]="dd",d=!0):l[m].length||(l[m]="mm")));if(d){for(m=0;m<a.length;m++)!1!==a[m]?n[m]>12&&"YY"!==l[m]&&"YYYY"!==l[m]&&(l[m]="YY"):n[m]>12&&"mm"===l[m]&&(l[m]="dd");return(3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),u=l.join("/"),(r.dateFormats||t.dateFormats)[u])?u:(p("deduceDateFailed"),i)}return i}(s[0])),this.dataFound()}return s}parseTable(){let e=this.options,t=this.columns||[],s=e.startRow||0,r=e.endRow||Number.MAX_VALUE,i=e.startColumn||0,a=e.endColumn||Number.MAX_VALUE;if(e.table){let n=e.table;"string"==typeof n&&(n=l.getElementById(n)),[].forEach.call(n.getElementsByTagName("tr"),(e,n)=>{n>=s&&n<=r&&[].forEach.call(e.children,(e,r)=>{let o=t[r-i],l=1;if(("TD"===e.tagName||"TH"===e.tagName)&&r>=i&&r<=a)for(t[r-i]||(t[r-i]=[]),t[r-i][n-s]=e.innerHTML;n-s>=l&&void 0===o[n-s-l];)o[n-s-l]=null,l++})}),this.dataFound()}return t}fetchLiveData(){let e=this,t=this.chart,s=this.options,r=s.enablePolling,i=g(s),a=0,n=1e3*(s.dataRefreshRate||2);return!!T(s)&&(n<1e3&&(n=1e3),delete s.csvURL,delete s.rowsURL,delete s.columnsURL,function o(l){function h(i,h,d){if(!i||!/^(http|\/|\.\/|\.\.\/)/.test(i))return i&&s.error&&s.error("Invalid URL"),!1;function m(){r&&t.liveDataURL===i&&(e.liveDataTimeout=setTimeout(o,n))}return l&&(clearTimeout(e.liveDataTimeout),t.liveDataURL=i),u({url:i,dataType:d||"json",success:function(e){t&&t.series&&h(e),m()},error:function(e,t){return++a<3&&m(),s.error&&s.error(t,e)}}),!0}h(i.csvURL,function(e){t.update({data:{csv:e}})},"text")||h(i.rowsURL,function(e){t.update({data:{rows:e}})})||h(i.columnsURL,function(e){t.update({data:{columns:e}})})}(!0),T(s))}parseGoogleSpreadsheet(){let e=this,t=this.options,s=t.googleSpreadsheetKey,r=this.chart,i=Math.max(1e3*(t.dataRefreshRate||2),4e3),a=()=>{if(t.googleSpreadsheetRange)return t.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",s=(e.charAt(t.startColumn||0)||"A")+((t.startRow||0)+1),r=e.charAt(x(t.endColumn,-1))||"ZZ";return m(t.endRow)&&(r+=t.endRow+1),`${s}:${r}`};return s&&(delete t.googleSpreadsheetKey,function r(n){u({url:["https://sheets.googleapis.com/v4/spreadsheets",s,"values",a(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+t.googleAPIKey].join("/"),dataType:"json",success:function(s){n(s),t.enablePolling&&(e.liveDataTimeout=setTimeout(function(){r(n)},i))},error:function(e,s){return t.error&&t.error(s,e)}})}(function(t){let s=t.values;if(!s||0===s.length)return!1;let i=s.reduce((e,t)=>Math.max(e,t.length),0);s.forEach(e=>{for(let t=0;t<i;t++)void 0===e[t]&&(e[t]=null)}),r&&r.series?r.update({data:{columns:s}}):(e.columns=s,e.dataFound())})),!1}trim(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/^-?[0-9\s]+$/.test(e)&&(e=e.replace(/\s/g,"")),this.decimalRegex&&(e=e.replace(this.decimalRegex,"$1.$2"))),e}parseTypes(){let e=this.columns||[],t=e.length;for(;t--;)this.parseColumn(e[t],t)}parseColumn(e,t){let s=this.rawColumns,r=this.columns,i=this.firstRowAsNames,a=-1!==this.valueCount.xColumns.indexOf(t),n=[],o=this.chartOptions,l=(this.options.columnTypes||[])[t],u=a&&o&&o.xAxis&&"category"===y(o.xAxis)[0].type||"string"===l,h=m(e.name),d=e.length,c,p,g,C,x,T,v;for(s[t]||(s[t]=[]);d--;)c=n[d]||e[d],g=this.trim(c),p=parseFloat(C=this.trim(c,!0)),void 0===s[t][d]&&(s[t][d]=g),u||0===d&&i&&!h?e[d]=""+g:+C===p?(e[d]=p,p>31536e6&&"float"!==l?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[d+1]&&(v=p>e[d+1])):(g&&g.length&&(x=this.parseDate(c)),a&&f(x)&&"float"!==l?(n[d]=c,e[d]=x,e.isDatetime=!0,void 0!==e[d+1]&&((T=x>e[d+1])!==v&&void 0!==v&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,d=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),v=T)):(e[d]=""===g?null:g,0!==d&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(a&&e.mixed&&(r[t]=s[t]),a&&v&&this.options.sort)for(t=0;t<r.length;t++)r[t].reverse(),i&&r[t].unshift(r[t].pop())}parseDate(e){let t=this.options.parseDate,s,r,i,a=this.options.dateFormat||this.dateFormat,n;if(t)s=t(e);else if("string"==typeof e){if(a)(i=this.dateFormats[a])||(i=this.dateFormats["YYYY/mm/dd"]),(n=e.match(i.regex))&&(s=i.parser(n));else for(r in this.dateFormats)if(i=this.dateFormats[r],n=e.match(i.regex)){this.dateFormat=a=r,this.alternativeFormat=i.alternative,s=i.parser(n);break}!n&&(e.match(/:.+(GMT|UTC|[Z+-])/)&&(e=e.replace(/\s*(?:GMT|UTC)?([+-])(\d\d)(\d\d)$/,"$1$2:$3").replace(/(?:\s+|GMT|UTC)([+-])/,"$1").replace(/(\d)\s*(?:GMT|UTC|Z)$/,"$1+00:00")),"object"==typeof(n=Date.parse(e))&&null!==n&&n.getTime?s=n.getTime()-6e4*n.getTimezoneOffset():f(n)&&(s=n-6e4*new Date(n).getTimezoneOffset()))}return s}getData(){if(this.columns)return this.rowsToColumns(this.columns).slice(1)}parsed(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)}complete(){let e,t,s,r,i,a,n,o,l,u,h,d;let c=this.columns,p=this.options,f=[];if([].length=c.length,p.complete||p.afterComplete){if(this.firstRowAsNames)for(r=0;r<c.length;r++){let e=c[r];m(e.name)||(e.name=x(e.shift(),"").toString())}for(n=0,t=[],u=function(e,t){let s,r,i;let a=[],n=[];for(r=0;r<e;r+=1)a.push(!0);for(s=0;s<t.length;s+=1)for(r=0,i=t[s].getReferencedColumnIndexes();r<i.length;r+=1)a[i[r]]=!1;for(r=0;r<a.length;r+=1)a[r]&&n.push(r);return n}(c.length,this.valueCount.seriesBuilders);n<this.valueCount.seriesBuilders.length;n++)(l=this.valueCount.seriesBuilders[n]).populateColumns(u)&&f.push(l);for(;u.length>0;){for((l=new R).addColumnReader(0,"x"),-1!==(d=u.indexOf(0))&&u.splice(d,1),r=0;r<this.valueCount.global;r++)l.addColumnReader(void 0,this.valueCount.globalPointArrayMap[r]);l.populateColumns(u)&&f.push(l)}if(f.length>0&&f[0].readers.length>0&&void 0!==(h=c[f[0].readers[0].columnIndex])&&(h.isDatetime?e="datetime":h.isNumeric||(e="category")),"category"===e)for(n=0;n<f.length;n++)for(a=0,l=f[n];a<l.readers.length;a++)"x"===l.readers[a].configName&&(l.readers[a].configName="name");for(n=0;n<f.length;n++){for(i=0,l=f[n],s=[];i<c[0].length;i++)s[i]=l.read(c,i);t[n]={data:s},l.name&&(t[n].name=l.name),"category"===e&&(t[n].turboThreshold=0)}o={series:t},e&&(o.xAxis={type:e},"category"===e&&(o.xAxis.uniqueNames=!1)),p.complete&&p.complete(o),p.afterComplete&&p.afterComplete(o)}}update(e,t){let s=this.chart,r=s.options;e&&(e.afterComplete=function(e){e&&(e.xAxis&&s.xAxis[0]&&e.xAxis.type===s.xAxis[0].options.type&&delete e.xAxis,s.update(e,t,!0))},g(!0,r.data,e),r.data&&r.data.googleSpreadsheetKey&&!e.columns&&delete r.data.columns,this.init(r.data))}}d(e,"init",function(e){let t=this,s=e.args[1],r=o().data,i=e.args[0]||{};if((r||i&&i.data)&&!t.hasDataDef){t.hasDataDef=!0;let a=g(r,i.data);t.data=new v(c(a,{afterComplete:function(e){let r,a;if(Object.hasOwnProperty.call(i,"series")){if("object"==typeof i.series)for(r=Math.max(i.series.length,e&&e.series?e.series.length:0);r--;)a=i.series[r]||{},i.series[r]=g(a,e&&e.series?e.series[r]:{});else delete i.series}i=g(e,i),t.init(i,s)}}),i,t),e.preventDefault()}});class R{constructor(){this.readers=[],this.pointIsArray=!0}populateColumns(e){let t=!0;return this.readers.forEach(t=>{void 0===t.columnIndex&&(t.columnIndex=e.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(t=!1)}),t}read(e,t){let s=this.pointIsArray,r=s?[]:{};if(this.readers.forEach(a=>{let n=e[a.columnIndex][t];s?r.push(n):a.configName.indexOf(".")>0?i.prototype.setNestedProperty(r,n,a.configName):r[a.configName]=n}),void 0===this.name&&this.readers.length>=2){let t=[];this.readers.forEach(function(e){("x"===e.configName||"name"===e.configName||"y"===e.configName)&&void 0!==e.columnIndex&&t.push(e.columnIndex)}),t.length>=2&&(t.shift(),t.sort(function(e,t){return e-t})),this.name=e[x(t.shift(),0)].name}return r}addColumnReader(e,t){this.readers.push({columnIndex:e,configName:t}),"x"===t||"y"===t||void 0===t||(this.pointIsArray=!1)}getReferencedColumnIndexes(){let e,t;let s=[];for(e=0;e<this.readers.length;e+=1)void 0!==(t=this.readers[e]).columnIndex&&s.push(t.columnIndex);return s}hasReader(e){let t;for(t=0;t<this.readers.length;t+=1)if(this.readers[t].configName===e)return!0}}return v}),s(t,"masters/modules/data.src.js",[t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Extensions/Data.js"]],function(e,t,s){return e.Data=e.Data||s,e.HttpUtilities=e.HttpUtilities||t,e.ajax=e.HttpUtilities.ajax,e.data=e.Data.data,e.getJSON=e.HttpUtilities.getJSON,e.post=e.HttpUtilities.post,e})});
|
package/modules/data.src.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import * as _Highcharts from "../highcharts.src";
|
|
|
14
14
|
export function factory(highcharts: typeof Highcharts): void;
|
|
15
15
|
declare module "../highcharts.src" {
|
|
16
16
|
/**
|
|
17
|
-
* Callback function that returns the
|
|
17
|
+
* Callback function that returns the corresponding Date object to a match.
|
|
18
18
|
*/
|
|
19
19
|
type DataDateFormatCallbackFunction = (match: Array<number>) => number;
|
|
20
20
|
interface AjaxSettingsObject {
|
|
@@ -165,7 +165,7 @@ declare module "../highcharts.src" {
|
|
|
165
165
|
* @param settings
|
|
166
166
|
* The Ajax settings to use.
|
|
167
167
|
*
|
|
168
|
-
* @return Returns false, if error
|
|
168
|
+
* @return Returns false, if error occurred.
|
|
169
169
|
*/
|
|
170
170
|
function ajax(settings: AjaxSettingsObject): (false|undefined);
|
|
171
171
|
/**
|
package/modules/data.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.
|
|
2
|
+
* @license Highcharts JS v11.4.0 (2024-03-05)
|
|
3
3
|
*
|
|
4
4
|
* Data module
|
|
5
5
|
*
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
46
46
|
*
|
|
47
47
|
* */
|
|
48
|
-
const {
|
|
49
|
-
const {
|
|
48
|
+
const { win } = G;
|
|
49
|
+
const { discardElement, objectEach } = U;
|
|
50
50
|
/* *
|
|
51
51
|
*
|
|
52
52
|
* Functions
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
* The Ajax settings to use.
|
|
62
62
|
*
|
|
63
63
|
* @return {false|undefined}
|
|
64
|
-
* Returns false, if error
|
|
64
|
+
* Returns false, if error occurred.
|
|
65
65
|
*/
|
|
66
66
|
function ajax(settings) {
|
|
67
67
|
const headers = {
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
* @param {XMLHttpRequest} xhr
|
|
77
77
|
* Internal request object.
|
|
78
78
|
* @param {string|Error} err
|
|
79
|
-
*
|
|
79
|
+
* Occurred error.
|
|
80
80
|
*/
|
|
81
81
|
function handleError(xhr, err) {
|
|
82
82
|
if (settings.error) {
|
|
@@ -611,7 +611,7 @@
|
|
|
611
611
|
it's stable and passes all the test.
|
|
612
612
|
|
|
613
613
|
It's also not written with speed in mind, instead everything is
|
|
614
|
-
very
|
|
614
|
+
very segregated, and there a several redundant loops.
|
|
615
615
|
This is to make it easier to stabilize the code initially.
|
|
616
616
|
|
|
617
617
|
We do a pre-pass on the first 4 rows to make some intelligent
|
|
@@ -633,7 +633,7 @@
|
|
|
633
633
|
General rules:
|
|
634
634
|
- Quoting is allowed, e.g: "Col 1",123,321
|
|
635
635
|
- Quoting is optional, e.g.: Col1,123,321
|
|
636
|
-
-
|
|
636
|
+
- Double quoting is escaping, e.g. "Col ""Hello world""",123
|
|
637
637
|
- Spaces are considered part of the data: Col1 ,123
|
|
638
638
|
- New line is always the row delimiter
|
|
639
639
|
- Potential column delimiters are , ; \t
|
|
@@ -695,7 +695,7 @@
|
|
|
695
695
|
columns.push([]);
|
|
696
696
|
}
|
|
697
697
|
if (!noAdd) {
|
|
698
|
-
// Don't push - if there's a
|
|
698
|
+
// Don't push - if there's a varying amount of columns
|
|
699
699
|
// for each row, pushing will skew everything down n slots
|
|
700
700
|
columns[column][rowNumber] = token;
|
|
701
701
|
}
|
|
@@ -922,7 +922,7 @@
|
|
|
922
922
|
guessedFormat[2] = 'YY';
|
|
923
923
|
}
|
|
924
924
|
calculatedFormat = guessedFormat.join('/');
|
|
925
|
-
// If the
|
|
925
|
+
// If the calculated format is not valid, we need to present an
|
|
926
926
|
// error.
|
|
927
927
|
if (!(options.dateFormats || self.dateFormats)[calculatedFormat]) {
|
|
928
928
|
// This should emit an event instead
|
|
@@ -1210,7 +1210,7 @@
|
|
|
1210
1210
|
if (googleSpreadsheetKey) {
|
|
1211
1211
|
delete options.googleSpreadsheetKey;
|
|
1212
1212
|
fetchSheet(function (json) {
|
|
1213
|
-
// Prepare the data from the
|
|
1213
|
+
// Prepare the data from the spreadsheet
|
|
1214
1214
|
const columns = json.values;
|
|
1215
1215
|
if (!columns || columns.length === 0) {
|
|
1216
1216
|
return false;
|
|
@@ -1258,7 +1258,7 @@
|
|
|
1258
1258
|
trim(str, inside) {
|
|
1259
1259
|
if (typeof str === 'string') {
|
|
1260
1260
|
str = str.replace(/^\s+|\s+$/g, '');
|
|
1261
|
-
// Clear white space
|
|
1261
|
+
// Clear white space inside the string, like thousands separators
|
|
1262
1262
|
if (inside && /^-?[0-9\s]+$/.test(str)) {
|
|
1263
1263
|
str = str.replace(/\s/g, '');
|
|
1264
1264
|
}
|
|
@@ -1822,7 +1822,7 @@
|
|
|
1822
1822
|
/**
|
|
1823
1823
|
* Returns true if the builder has a reader for the given configName.
|
|
1824
1824
|
*
|
|
1825
|
-
* @function
|
|
1825
|
+
* @function SeriesBuilder#hasReader
|
|
1826
1826
|
*/
|
|
1827
1827
|
hasReader(configName) {
|
|
1828
1828
|
let i, columnReader;
|
|
@@ -1865,7 +1865,7 @@
|
|
|
1865
1865
|
* The chart options that were used.
|
|
1866
1866
|
*/
|
|
1867
1867
|
/**
|
|
1868
|
-
* Callback function that returns the
|
|
1868
|
+
* Callback function that returns the corresponding Date object to a match.
|
|
1869
1869
|
*
|
|
1870
1870
|
* @callback Highcharts.DataDateFormatCallbackFunction
|
|
1871
1871
|
*
|
|
@@ -1904,7 +1904,7 @@
|
|
|
1904
1904
|
* Timestamp (milliseconds since 1.1.1970) as integer for Date class.
|
|
1905
1905
|
*/
|
|
1906
1906
|
/**
|
|
1907
|
-
* Callback function to access the parsed columns, the two-
|
|
1907
|
+
* Callback function to access the parsed columns, the two-dimensional
|
|
1908
1908
|
* input data array directly, before they are interpreted into series
|
|
1909
1909
|
* data and categories.
|
|
1910
1910
|
*
|
|
@@ -2175,7 +2175,7 @@
|
|
|
2175
2175
|
* @apioption data.lineDelimiter
|
|
2176
2176
|
*/
|
|
2177
2177
|
/**
|
|
2178
|
-
* A callback function to access the parsed columns, the two-
|
|
2178
|
+
* A callback function to access the parsed columns, the two-dimensional
|
|
2179
2179
|
* input data array directly, before they are interpreted into series
|
|
2180
2180
|
* data and categories. Return `false` to stop completion, or call
|
|
2181
2181
|
* `this.complete()` to continue async.
|
|
@@ -2200,7 +2200,7 @@
|
|
|
2200
2200
|
* @apioption data.parseDate
|
|
2201
2201
|
*/
|
|
2202
2202
|
/**
|
|
2203
|
-
* The same as the columns input option, but defining rows
|
|
2203
|
+
* The same as the columns input option, but defining rows instead of
|
|
2204
2204
|
* columns.
|
|
2205
2205
|
*
|
|
2206
2206
|
* @see [data.columns](#data.columns)
|
|
@@ -2345,14 +2345,15 @@
|
|
|
2345
2345
|
_registerModule(_modules, 'masters/modules/data.src.js', [_modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Extensions/Data.js']], function (Highcharts, HttpUtilities, Data) {
|
|
2346
2346
|
|
|
2347
2347
|
const G = Highcharts;
|
|
2348
|
-
// Functions
|
|
2349
|
-
G.ajax = HttpUtilities.ajax;
|
|
2350
|
-
G.data = Data.data;
|
|
2351
|
-
G.getJSON = HttpUtilities.getJSON;
|
|
2352
|
-
G.post = HttpUtilities.post;
|
|
2353
2348
|
// Classes
|
|
2354
|
-
G.Data = Data;
|
|
2355
|
-
G.HttpUtilities = HttpUtilities;
|
|
2349
|
+
G.Data = G.Data || Data;
|
|
2350
|
+
G.HttpUtilities = G.HttpUtilities || HttpUtilities;
|
|
2351
|
+
// Functions
|
|
2352
|
+
G.ajax = G.HttpUtilities.ajax;
|
|
2353
|
+
G.data = G.Data.data;
|
|
2354
|
+
G.getJSON = G.HttpUtilities.getJSON;
|
|
2355
|
+
G.post = G.HttpUtilities.post;
|
|
2356
2356
|
|
|
2357
|
+
return Highcharts;
|
|
2357
2358
|
});
|
|
2358
2359
|
}));
|
package/modules/datagrouping.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
* Highstock JS v11.
|
|
1
|
+
!/**
|
|
2
|
+
* Highstock JS v11.4.0 (2024-03-04)
|
|
3
3
|
*
|
|
4
4
|
* Data grouping module
|
|
5
5
|
*
|
|
6
6
|
* (c) 2010-2024 Torstein Hønsi
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
*/!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function o(t,i,o,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}o(i,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),o(i,"Extensions/DataGrouping/ApproximationDefaults.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{arrayMax:o,arrayMin:e,correctFloat:a,extend:n,isNumber:s}=i;function r(t){let i=t.length,o=l(t);return s(o)&&i&&(o=a(o/i)),o}function l(t){let i=t.length,o;if(!i&&t.hasNulls)o=null;else if(i)for(o=0;i--;)o+=t[i];return o}let p={average:r,averages:function(){let t=[];return[].forEach.call(arguments,function(i){t.push(r(i))}),void 0===t[0]?void 0:t},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0},high:function(t){return t.length?o(t):t.hasNulls?null:void 0},hlc:function(i,o,e){if(i=t.high(i),o=t.low(o),e=t.close(e),s(i)||s(o)||s(e))return[i,o,e]},low:function(t){return t.length?e(t):t.hasNulls?null:void 0},ohlc:function(i,o,e,a){if(i=t.open(i),o=t.high(o),e=t.low(e),a=t.close(a),s(i)||s(o)||s(e)||s(a))return[i,o,e,a]},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},range:function(i,o){return(i=t.low(i),o=t.high(o),s(i)||s(o))?[i,o]:null===i&&null===o?null:void 0},sum:l};return n(t,p),p}),o(i,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]}}),o(i,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o){let e;let{composed:a}=i,{addEvent:n,extend:s,merge:r,pick:l,pushUnique:p}=o;function u(t){let i=this,o=i.series;o.forEach(function(t){t.groupPixelWidth=void 0}),o.forEach(function(o){o.groupPixelWidth=i.getGroupPixelWidth&&i.getGroupPixelWidth(),o.groupPixelWidth&&(o.hasProcessed=!0),o.applyGrouping(!!t.hasExtremesChanged)})}function h(){let i=this.series,o=i.length,e=0,a=!1,n,s;for(;o--;)(s=i[o].options.dataGrouping)&&(e=Math.max(e,l(s.groupPixelWidth,t.common.groupPixelWidth)),n=(i[o].processedXData||i[o].data).length,(i[o].groupPixelWidth||n>this.chart.plotSizeX/e||n&&s.forced)&&(a=!0));return a?e:0}function g(){this.series.forEach(function(t){t.hasProcessed=!1})}function d(t,i){let o;if(i=l(i,!0),t||(t={forced:!1,units:null}),this instanceof e)for(o=this.series.length;o--;)this.series[o].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(i){i.dataGrouping="boolean"==typeof t?t:r(t,i.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),i&&this.chart.redraw()}return{compose:function t(i){e=i,p(a,t)&&(n(i,"afterSetScale",g),n(i,"postProcessData",u),s(i.prototype,{applyGrouping:u,getGroupPixelWidth:h,setDataGrouping:d}))}}}),o(i,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Defaults.js"],i["Core/Globals.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n,s){let{composed:r}=a,{series:{prototype:l}}=n,{addEvent:p,defined:u,error:h,extend:g,isNumber:d,merge:c,pick:f,pushUnique:m}=s,x=l.generatePoints;function D(t){var e;let a,n;let s=this.chart,r=this.options,p=r.dataGrouping,g=!1!==this.allowDG&&p&&f(p.enabled,s.options.isStock),c=this.reserveSpace(),m=this.currentDataGrouping,x,D,G=!1;g&&!this.requireSorting&&(this.requireSorting=G=!0);let y=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(G&&(this.requireSorting=!1),y)return;this.destroyGroupedData();let M=p.groupAll?this.xData:this.processedXData,A=p.groupAll?this.yData:this.processedYData,S=s.plotSizeX,j=this.xAxis,b=j.options.ordinal,P=this.groupPixelWidth;if(P&&M&&M.length&&S){n=!0,this.isDirty=!0,this.points=null;let t=j.getExtremes(),r=t.min,g=t.max,f=b&&j.ordinal&&j.ordinal.getGroupIntervalFactor(r,g,this)||1,m=P*(g-r)/S*f,G=j.getTimeTicks(o.Additions.prototype.normalizeTimeTickInterval(m,p.units||i.units),Math.min(r,M[0]),Math.max(g,M[M.length-1]),j.options.startOfWeek,M,this.closestPointRange),y=l.groupData.apply(this,[M,A,G,p.approximation]),E=y.groupedXData,v=y.groupedYData,C=0;for(p&&p.smoothed&&E.length&&(p.firstAnchor="firstPoint",p.anchor="middle",p.lastAnchor="lastPoint",h(32,!1,s,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a<G.length;a++)G.info.segmentStarts&&-1!==G.info.segmentStarts.indexOf(a)||(C=Math.max(G[a]-G[a-1],C));(x=G.info).gapSize=C,this.closestPointRange=G.info.totalRange,this.groupMap=y.groupMap,this.currentDataGrouping=x,function(t,i,o){let e=t.options,a=e.dataGrouping,n=t.currentDataGrouping&&t.currentDataGrouping.gapSize;if(!(a&&t.xData&&n&&t.groupMap))return;let s=i.length-1,r=a.anchor,l=a.firstAnchor,p=a.lastAnchor,u=i.length-1,h=0;if(l&&t.xData[0]>=i[0]){let o;h++;let e=t.groupMap[0].start,a=t.groupMap[0].length;d(e)&&d(a)&&(o=e+(a-1)),i[0]=({start:i[0],middle:i[0]+.5*n,end:i[0]+n,firstPoint:t.xData[0],lastPoint:o&&t.xData[o]})[l]}if(s>0&&p&&n&&i[s]>=o-n){u--;let o=t.groupMap[t.groupMap.length-1].start;i[s]=({start:i[s],middle:i[s]+.5*n,end:i[s]+n,firstPoint:o&&t.xData[o],lastPoint:t.xData[t.xData.length-1]})[p]}if(r&&"start"!==r){let t=n*({middle:.5,end:1})[r];for(;u>=h;)i[u]+=t,u--}}(this,E,g),c&&(u((e=E)[0])&&d(j.min)&&d(j.dataMin)&&e[0]<j.min&&((!u(j.options.min)&&j.min<=j.dataMin||j.min===j.dataMin)&&(j.min=Math.min(e[0],j.min)),j.dataMin=Math.min(e[0],j.dataMin)),u(e[e.length-1])&&d(j.max)&&d(j.dataMax)&&e[e.length-1]>j.max&&((!u(j.options.max)&&d(j.dataMax)&&j.max>=j.dataMax||j.max===j.dataMax)&&(j.max=Math.max(e[e.length-1],j.max)),j.dataMax=Math.max(e[e.length-1],j.dataMax))),p.groupAll&&(this.allGroupedData=v,E=(D=this.cropData(E,v,j.min,j.max)).xData,v=D.yData,this.cropStart=D.start),this.processedXData=E,this.processedYData=v}else this.groupMap=null;this.hasGroupedData=n,this.preventGraphAnimation=(m&&m.totalRange)!==(x&&x.totalRange)}function G(){this.groupedData&&(this.groupedData.forEach(function(t,i){t&&(this.groupedData[i]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function y(){x.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function M(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function A(i,o,e,a){let n=this,s=n.data,r=n.options&&n.options.data,l=[],p=[],h=[],g=i.length,f=!!o,m=[],x=n.pointArrayMap,D=x&&x.length,G=["x"].concat(x||["y"]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,M,A,S,j=0,b=0,P="function"==typeof a?a:a&&t[a]?t[a]:t[n.getDGApproximation&&n.getDGApproximation()||"average"];if(D){let t=x.length;for(;t--;)m.push([])}else m.push([]);let E=D||1;for(let t=0;t<=g;t++)if(!(i[t]<e[0])){for(;void 0!==e[j+1]&&i[t]>=e[j+1]||t===g;){M=e[j],n.dataGroupInfo={start:y?b:n.cropStart+b,length:m[0].length,groupStart:M},S=P.apply(n,m),n.pointClass&&!u(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=c(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+b])),G.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==S&&(l.push(M),p.push(S),h.push(n.dataGroupInfo)),b=t;for(let t=0;t<E;t++)m[t].length=0,m[t].hasNulls=!1;if(j+=1,t===g)break}if(t===g)break;if(x){let i;let o=n.options.dataGrouping&&n.options.dataGrouping.groupAll?t:n.cropStart+t,e=s&&s[o]||n.pointClass.prototype.applyOptions.apply({series:n},[r[o]]);for(let t=0;t<D;t++)d(i=e[x[t]])?m[t].push(i):null===i&&(m[t].hasNulls=!0)}else d(A=f?o[t]:null)?m[0].push(A):null===A&&(m[0].hasNulls=!0)}return{groupedXData:l,groupedYData:p,groupMap:h}}function S(t){let o=t.options,a=this.type,n=this.chart.options.plotOptions,s=this.useCommonDataGrouping&&i.common,r=i.seriesSpecific,l=e.defaultOptions.plotOptions[a].dataGrouping;if(n&&(r[a]||s)){let t=this.chart.rangeSelector;l||(l=c(i.common,r[a])),o.dataGrouping=c(s,l,n.series&&n.series.dataGrouping,n[a].dataGrouping,this.userOptions.dataGrouping,!o.isInternal&&t&&d(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}return{compose:function t(i){let o=i.prototype.pointClass;m(r,t)&&(p(o,"update",function(){if(this.dataGroup)return h(24,!1,this.series.chart),!1}),p(i,"afterSetOptions",S),p(i,"destroy",G),g(i.prototype,{applyGrouping:D,destroyGroupedData:G,generatePoints:y,getDGApproximation:M,groupData:A}))},groupData:A}}),o(i,"Extensions/DataGrouping/DataGrouping.js",[i["Extensions/DataGrouping/DataGroupingAxisComposition.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{format:s}=e,{composed:r}=a,{addEvent:l,extend:p,isNumber:u,pick:h,pushUnique:g}=n;function d(t){let o=this.chart,e=o.time,a=t.labelConfig,n=a.series,r=a.point,l=n.options,g=n.tooltipOptions,d=l.dataGrouping,c=n.xAxis,f=g.xDateFormat,m,x,D,G,y,M=g[t.isFooter?"footerFormat":"headerFormat"];if(c&&"datetime"===c.options.type&&d&&u(a.key)){x=n.currentDataGrouping,D=d.dateTimeLabelFormats||i.common.dateTimeLabelFormats,x?(G=D[x.unitName],1===x.count?f=G[0]:(f=G[1],m=G[2])):!f&&D&&c.dateTime&&(f=c.dateTime.getXDateFormat(a.x,g.dateTimeLabelFormats));let l=h(n.groupMap?.[r.index].groupStart,a.key),u=l+x?.totalRange-1;y=e.dateFormat(f,l),m&&(y+=e.dateFormat(m,u)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:p(a.point,{key:y}),series:n},o),t.preventDefault()}}let c={compose:function i(e,a,n){t.compose(e),o.compose(a),n&&g(r,i)&&l(n,"headerFormatter",d)},groupData:o.groupData};return c}),o(i,"masters/modules/datagrouping.src.js",[i["Core/Globals.js"],i["Extensions/DataGrouping/ApproximationDefaults.js"],i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGrouping.js"]],function(t,i,o,e){t.dataGrouping={approximationDefaults:i,approximations:o},e.compose(t.Axis,t.Series,t.Tooltip)})});
|
|
9
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function o(t,i,o,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}o(i,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),o(i,"Extensions/DataGrouping/ApproximationDefaults.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{arrayMax:o,arrayMin:e,correctFloat:a,extend:n,isNumber:s}=i;function r(t){let i=t.length,o=p(t);return s(o)&&i&&(o=a(o/i)),o}function p(t){let i=t.length,o;if(!i&&t.hasNulls)o=null;else if(i)for(o=0;i--;)o+=t[i];return o}let l={average:r,averages:function(){let t=[];return[].forEach.call(arguments,function(i){t.push(r(i))}),void 0===t[0]?void 0:t},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0},high:function(t){return t.length?o(t):t.hasNulls?null:void 0},hlc:function(i,o,e){if(i=t.high(i),o=t.low(o),e=t.close(e),s(i)||s(o)||s(e))return[i,o,e]},low:function(t){return t.length?e(t):t.hasNulls?null:void 0},ohlc:function(i,o,e,a){if(i=t.open(i),o=t.high(o),e=t.low(e),a=t.close(a),s(i)||s(o)||s(e)||s(a))return[i,o,e,a]},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},range:function(i,o){return(i=t.low(i),o=t.high(o),s(i)||s(o))?[i,o]:null===i&&null===o?null:void 0},sum:p};return n(t,l),l}),o(i,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]}}),o(i,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Utilities.js"]],function(t,i){let o;let{addEvent:e,extend:a,merge:n,pick:s}=i;function r(t){let i=this,o=i.series;o.forEach(function(t){t.groupPixelWidth=void 0}),o.forEach(function(o){o.groupPixelWidth=i.getGroupPixelWidth&&i.getGroupPixelWidth(),o.groupPixelWidth&&(o.hasProcessed=!0),o.applyGrouping(!!t.hasExtremesChanged)})}function p(){let i=this.series,o=i.length,e=0,a=!1,n,r;for(;o--;)(r=i[o].options.dataGrouping)&&(e=Math.max(e,s(r.groupPixelWidth,t.common.groupPixelWidth)),n=(i[o].processedXData||i[o].data).length,(i[o].groupPixelWidth||n>this.chart.plotSizeX/e||n&&r.forced)&&(a=!0));return a?e:0}function l(){this.series.forEach(function(t){t.hasProcessed=!1})}function u(t,i){let e;if(i=s(i,!0),t||(t={forced:!1,units:null}),this instanceof o)for(e=this.series.length;e--;)this.series[e].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(i){i.dataGrouping="boolean"==typeof t?t:n(t,i.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),i&&this.chart.redraw()}return{compose:function(t){o=t;let i=t.prototype;i.applyGrouping||(e(t,"afterSetScale",l),e(t,"postProcessData",r),a(i,{applyGrouping:r,getGroupPixelWidth:p,setDataGrouping:u}))}}}),o(i,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Defaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{series:{prototype:s}}=a,{addEvent:r,defined:p,error:l,extend:u,isNumber:h,merge:g,pick:d}=n,c=s.generatePoints;function f(t){var e;let a,n;let r=this.chart,u=this.options.dataGrouping,g=!1!==this.allowDG&&u&&d(u.enabled,r.options.isStock),c=this.reserveSpace(),f=this.currentDataGrouping,m,x,D=!1;g&&!this.requireSorting&&(this.requireSorting=D=!0);let G=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(D&&(this.requireSorting=!1),G)return;this.destroyGroupedData();let y=u.groupAll?this.xData:this.processedXData,M=u.groupAll?this.yData:this.processedYData,A=r.plotSizeX,S=this.xAxis,j=S.options.ordinal,P=this.groupPixelWidth;if(P&&y&&y.length&&A){n=!0,this.isDirty=!0,this.points=null;let t=S.getExtremes(),g=t.min,d=t.max,f=j&&S.ordinal&&S.ordinal.getGroupIntervalFactor(g,d,this)||1,D=P*(d-g)/A*f,G=S.getTimeTicks(o.Additions.prototype.normalizeTimeTickInterval(D,u.units||i.units),Math.min(g,y[0]),Math.max(d,y[y.length-1]),S.options.startOfWeek,y,this.closestPointRange),b=s.groupData.apply(this,[y,M,G,u.approximation]),E=b.groupedXData,v=b.groupedYData,C=0;for(u&&u.smoothed&&E.length&&(u.firstAnchor="firstPoint",u.anchor="middle",u.lastAnchor="lastPoint",l(32,!1,r,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a<G.length;a++)G.info.segmentStarts&&-1!==G.info.segmentStarts.indexOf(a)||(C=Math.max(G[a]-G[a-1],C));(m=G.info).gapSize=C,this.closestPointRange=G.info.totalRange,this.groupMap=b.groupMap,this.currentDataGrouping=m,function(t,i,o){let e=t.options.dataGrouping,a=t.currentDataGrouping&&t.currentDataGrouping.gapSize;if(!(e&&t.xData&&a&&t.groupMap))return;let n=i.length-1,s=e.anchor,r=e.firstAnchor,p=e.lastAnchor,l=i.length-1,u=0;if(r&&t.xData[0]>=i[0]){let o;u++;let e=t.groupMap[0].start,n=t.groupMap[0].length;h(e)&&h(n)&&(o=e+(n-1)),i[0]=({start:i[0],middle:i[0]+.5*a,end:i[0]+a,firstPoint:t.xData[0],lastPoint:o&&t.xData[o]})[r]}if(n>0&&p&&a&&i[n]>=o-a){l--;let o=t.groupMap[t.groupMap.length-1].start;i[n]=({start:i[n],middle:i[n]+.5*a,end:i[n]+a,firstPoint:o&&t.xData[o],lastPoint:t.xData[t.xData.length-1]})[p]}if(s&&"start"!==s){let t=a*({middle:.5,end:1})[s];for(;l>=u;)i[l]+=t,l--}}(this,E,d),c&&(p((e=E)[0])&&h(S.min)&&h(S.dataMin)&&e[0]<S.min&&((!p(S.options.min)&&S.min<=S.dataMin||S.min===S.dataMin)&&(S.min=Math.min(e[0],S.min)),S.dataMin=Math.min(e[0],S.dataMin)),p(e[e.length-1])&&h(S.max)&&h(S.dataMax)&&e[e.length-1]>S.max&&((!p(S.options.max)&&h(S.dataMax)&&S.max>=S.dataMax||S.max===S.dataMax)&&(S.max=Math.max(e[e.length-1],S.max)),S.dataMax=Math.max(e[e.length-1],S.dataMax))),u.groupAll&&(this.allGroupedData=v,E=(x=this.cropData(E,v,S.min,S.max)).xData,v=x.yData,this.cropStart=x.start),this.processedXData=E,this.processedYData=v}else this.groupMap=null;this.hasGroupedData=n,this.preventGraphAnimation=(f&&f.totalRange)!==(m&&m.totalRange)}function m(){this.groupedData&&(this.groupedData.forEach(function(t,i){t&&(this.groupedData[i]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function x(){c.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function D(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function G(i,o,e,a){let n=this,s=n.data,r=n.options&&n.options.data,l=[],u=[],d=[],c=i.length,f=!!o,m=[],x=n.pointArrayMap,D=x&&x.length,G=["x"].concat(x||["y"]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,M,A,S,j=0,P=0,b="function"==typeof a?a:a&&t[a]?t[a]:t[n.getDGApproximation&&n.getDGApproximation()||"average"];if(D){let t=x.length;for(;t--;)m.push([])}else m.push([]);let E=D||1;for(let t=0;t<=c;t++)if(!(i[t]<e[0])){for(;void 0!==e[j+1]&&i[t]>=e[j+1]||t===c;){M=e[j],n.dataGroupInfo={start:y?P:n.cropStart+P,length:m[0].length,groupStart:M},S=b.apply(n,m),n.pointClass&&!p(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=g(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+P])),G.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==S&&(l.push(M),u.push(S),d.push(n.dataGroupInfo)),P=t;for(let t=0;t<E;t++)m[t].length=0,m[t].hasNulls=!1;if(j+=1,t===c)break}if(t===c)break;if(x){let i;let o=n.options.dataGrouping&&n.options.dataGrouping.groupAll?t:n.cropStart+t,e=s&&s[o]||n.pointClass.prototype.applyOptions.apply({series:n},[r[o]]);for(let t=0;t<D;t++)h(i=e[x[t]])?m[t].push(i):null===i&&(m[t].hasNulls=!0)}else h(A=f?o[t]:null)?m[0].push(A):null===A&&(m[0].hasNulls=!0)}return{groupedXData:l,groupedYData:u,groupMap:d}}function y(t){let o=t.options,a=this.type,n=this.chart.options.plotOptions,s=this.useCommonDataGrouping&&i.common,r=i.seriesSpecific,p=e.defaultOptions.plotOptions[a].dataGrouping;if(n&&(r[a]||s)){let t=this.chart.rangeSelector;p||(p=g(i.common,r[a])),o.dataGrouping=g(s,p,n.series&&n.series.dataGrouping,n[a].dataGrouping,this.userOptions.dataGrouping,!o.isInternal&&t&&h(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}return{compose:function(t){let i=t.prototype;i.applyGrouping||(r(t.prototype.pointClass,"update",function(){if(this.dataGroup)return l(24,!1,this.series.chart),!1}),r(t,"afterSetOptions",y),r(t,"destroy",m),u(i,{applyGrouping:f,destroyGroupedData:m,generatePoints:x,getDGApproximation:D,groupData:G}))},groupData:G}}),o(i,"Extensions/DataGrouping/DataGrouping.js",[i["Extensions/DataGrouping/DataGroupingAxisComposition.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{format:s}=e,{composed:r}=a,{addEvent:p,extend:l,isNumber:u,pick:h,pushUnique:g}=n;function d(t){let o=this.chart,e=o.time,a=t.labelConfig,n=a.series,r=a.point,p=n.options,g=n.tooltipOptions,d=p.dataGrouping,c=n.xAxis,f=g.xDateFormat,m,x,D,G,y,M=g[t.isFooter?"footerFormat":"headerFormat"];if(c&&"datetime"===c.options.type&&d&&u(a.key)){x=n.currentDataGrouping,D=d.dateTimeLabelFormats||i.common.dateTimeLabelFormats,x?(G=D[x.unitName],1===x.count?f=G[0]:(f=G[1],m=G[2])):!f&&D&&c.dateTime&&(f=c.dateTime.getXDateFormat(a.x,g.dateTimeLabelFormats));let p=h(n.groupMap?.[r.index].groupStart,a.key),u=p+x?.totalRange-1;y=e.dateFormat(f,p),m&&(y+=e.dateFormat(m,u)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:l(a.point,{key:y}),series:n},o),t.preventDefault()}}return{compose:function(i,e,a){t.compose(i),o.compose(e),a&&g(r,"DataGrouping")&&p(a,"headerFormatter",d)},groupData:o.groupData}}),o(i,"masters/modules/datagrouping.src.js",[i["Core/Globals.js"],i["Extensions/DataGrouping/ApproximationDefaults.js"],i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGrouping.js"]],function(t,i,o,e){return t.dataGrouping=t.dataGrouping||{},t.dataGrouping.approximationDefaults=t.dataGrouping.approximationDefaults||i,t.dataGrouping.approximations=t.dataGrouping.approximations||o,e.compose(t.Axis,t.Series,t.Tooltip),t})});
|