@ntlab/ntjs-assets 2.0.27 → 2.0.28
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/assets/js/cdn.json +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Accessibility.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/AccessibilityComponent.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Components/NavigatorComponent.js +2 -2
- package/assets/js/highcharts/es-modules/Accessibility/KeyboardNavigation.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
- package/assets/js/highcharts/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Options/LangDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Accessibility/Utils/EventProvider.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Animation/Fx.js +4 -2
- package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +3 -3
- package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +1 -0
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
- package/assets/js/highcharts/es-modules/Core/Axis/GridAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/OrdinalAxis.js +5 -2
- package/assets/js/highcharts/es-modules/Core/Axis/RadialAxisDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Core/Axis/Stacking/StackItem.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +16 -7
- package/assets/js/highcharts/es-modules/Core/Chart/MapChart.js +3 -3
- package/assets/js/highcharts/es-modules/Core/Chart/StockChart.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Color/Color.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Defaults.js +27 -1
- package/assets/js/highcharts/es-modules/Core/Geometry/GeometryUtilities.js +22 -0
- package/assets/js/highcharts/es-modules/Core/Globals.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Legend/Legend.js +82 -14
- package/assets/js/highcharts/es-modules/Core/MSPointer.js +42 -1
- package/assets/js/highcharts/es-modules/Core/Pointer.js +10 -6
- package/assets/js/highcharts/es-modules/Core/Renderer/HTML/AST.js +6 -0
- package/assets/js/highcharts/es-modules/Core/Renderer/HTML/HTMLElement.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGElement.js +31 -98
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGLabel.js +20 -0
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +29 -14
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/Symbols.js +18 -18
- package/assets/js/highcharts/es-modules/Core/Responsive.js +6 -1
- package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +1 -10
- package/assets/js/highcharts/es-modules/Core/Series/DataSeriesComposition.js +0 -2
- package/assets/js/highcharts/es-modules/Core/Series/Point.js +7 -10
- package/assets/js/highcharts/es-modules/Core/Series/Series.js +40 -24
- package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +18 -12
- package/assets/js/highcharts/es-modules/Core/Templating.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Tooltip.js +6 -3
- package/assets/js/highcharts/es-modules/Data/Connectors/JSONConnector.js +1 -0
- package/assets/js/highcharts/es-modules/Data/Converters/CSVConverter.js +1 -1
- package/assets/js/highcharts/es-modules/Data/Converters/DataConverter.js +7 -7
- package/assets/js/highcharts/es-modules/Data/DataTable.js +106 -5
- package/assets/js/highcharts/es-modules/Data/Formula/FormulaParser.js +2 -2
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/NavigationBindings.js +1 -2
- package/assets/js/highcharts/es-modules/Extensions/Boost/Boost.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostChart.js +8 -2
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +41 -10
- package/assets/js/highcharts/es-modules/Extensions/Boost/WGLShader.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/BorderRadius.js +3 -3
- package/assets/js/highcharts/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +0 -38
- package/assets/js/highcharts/es-modules/Extensions/Data.js +11 -11
- package/assets/js/highcharts/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -2
- package/assets/js/highcharts/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/DownloadURL.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Drilldown/Drilldown.js +0 -2
- package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +14 -14
- package/assets/js/highcharts/es-modules/Extensions/OverlappingDataLabels.js +36 -5
- package/assets/js/highcharts/es-modules/Extensions/Pane/PaneDefaults.js +3 -2
- package/assets/js/highcharts/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Sonification/MIDI.js +7 -7
- package/assets/js/highcharts/es-modules/Extensions/Sonification/SonificationInstrument.js +0 -1
- package/assets/js/highcharts/es-modules/Extensions/Sonification/TimelineFromChart.js +1 -3
- package/assets/js/highcharts/es-modules/Extensions/TextPath.js +225 -0
- package/assets/js/highcharts/es-modules/Maps/MapUtilities.js +1 -20
- package/assets/js/highcharts/es-modules/Maps/MapView.js +3 -1
- package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -0
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeries.js +5 -0
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Bar/BarSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Bellcurve/BellcurveSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/BoxPlot/BoxPlotSeries.js +2 -1
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleLegendComposition.js +4 -7
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleLegendDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleSeries.js +4 -4
- package/assets/js/highcharts/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -2
- package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/ErrorBar/ErrorBarSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Gantt/GanttSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Gauge/GaugeSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/HLC/HLCSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Item/ItemSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Map/MapSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Map/MapSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -1
- package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeries.js +3 -0
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeries.js +8 -5
- package/assets/js/highcharts/es-modules/Series/Pie/PieDataLabel.js +7 -6
- package/assets/js/highcharts/es-modules/Series/Pie/PiePoint.js +6 -6
- package/assets/js/highcharts/es-modules/Series/Pie/PieSeriesDefaults.js +11 -10
- package/assets/js/highcharts/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeries.js +7 -4
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Sunburst/SunburstSeries.js +8 -5
- package/assets/js/highcharts/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +23 -2
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapPoint.js +2 -1
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeries.js +15 -7
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeriesDefaults.js +15 -1
- package/assets/js/highcharts/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Variwide/VariwideComposition.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Vector/VectorSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Windbarb/WindbarbSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Wordcloud/WordcloudSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/AD/ADIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -3
- package/assets/js/highcharts/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/MFI/MFIIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PC/PCIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -3
- package/assets/js/highcharts/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +2 -2
- package/assets/js/highcharts/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +3 -3
- package/assets/js/highcharts/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Navigator/Navigator.js +141 -55
- package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelector.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolbar.js +115 -37
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsDefaults.js +7 -1
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsGui.js +24 -23
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsUtilities.js +26 -0
- package/assets/js/highcharts/es-modules/masters/highcharts-more.src.js +2 -2
- package/assets/js/highcharts/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ao.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/apo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/aroon.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/atr.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cci.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cmf.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cmo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dema.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dmi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dpo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/indicators.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/klinger.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/macd.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/mfi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/momentum.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/natr.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/obv.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ppo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/psar.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/regressions.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/roc.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/rsi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/tema.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/trendline.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/trix.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/vwap.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/wma.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/arc-diagram.src.js +2 -3
- package/assets/js/highcharts/es-modules/masters/modules/cylinder.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/export-data.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/funnel3d.src.js +2 -2
- package/assets/js/highcharts/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/map.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/organization.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/pyramid3d.src.js +3 -3
- package/assets/js/highcharts/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/textpath.src.js +16 -0
- package/assets/js/highcharts/es-modules/masters/modules/tilemap.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/treegraph.src.js +1 -1
- package/assets/js/highcharts/highcharts-3d.js +2 -2
- package/assets/js/highcharts/highcharts-3d.src.js +4 -4
- package/assets/js/highcharts/highcharts-gantt.js +3 -3
- package/assets/js/highcharts/highcharts-gantt.src.js +3374 -3042
- package/assets/js/highcharts/highcharts-more.js +2 -2
- package/assets/js/highcharts/highcharts-more.src.js +260 -35
- package/assets/js/highcharts/highcharts.js +3 -3
- package/assets/js/highcharts/highcharts.src.js +5844 -5600
- package/assets/js/highcharts/highmaps.js +3 -3
- package/assets/js/highcharts/highmaps.src.js +3270 -3043
- package/assets/js/highcharts/highstock.js +3 -3
- package/assets/js/highcharts/highstock.src.js +3379 -3048
- package/assets/js/highcharts/indicators/acceleration-bands.js +2 -2
- package/assets/js/highcharts/indicators/acceleration-bands.src.js +4 -4
- package/assets/js/highcharts/indicators/accumulation-distribution.js +2 -2
- package/assets/js/highcharts/indicators/accumulation-distribution.src.js +5 -5
- package/assets/js/highcharts/indicators/ao.js +2 -2
- package/assets/js/highcharts/indicators/ao.src.js +4 -4
- package/assets/js/highcharts/indicators/apo.js +2 -2
- package/assets/js/highcharts/indicators/apo.src.js +5 -5
- package/assets/js/highcharts/indicators/aroon-oscillator.js +2 -2
- package/assets/js/highcharts/indicators/aroon-oscillator.src.js +4 -4
- package/assets/js/highcharts/indicators/aroon.js +2 -2
- package/assets/js/highcharts/indicators/aroon.src.js +5 -5
- package/assets/js/highcharts/indicators/atr.js +2 -2
- package/assets/js/highcharts/indicators/atr.src.js +4 -4
- package/assets/js/highcharts/indicators/bollinger-bands.js +2 -2
- package/assets/js/highcharts/indicators/bollinger-bands.src.js +4 -4
- package/assets/js/highcharts/indicators/cci.js +2 -2
- package/assets/js/highcharts/indicators/cci.src.js +4 -4
- package/assets/js/highcharts/indicators/chaikin.js +2 -2
- package/assets/js/highcharts/indicators/chaikin.src.js +6 -6
- package/assets/js/highcharts/indicators/cmf.js +2 -2
- package/assets/js/highcharts/indicators/cmf.src.js +5 -5
- package/assets/js/highcharts/indicators/cmo.js +2 -2
- package/assets/js/highcharts/indicators/cmo.src.js +4 -4
- package/assets/js/highcharts/indicators/dema.js +2 -2
- package/assets/js/highcharts/indicators/dema.src.js +4 -4
- package/assets/js/highcharts/indicators/disparity-index.js +2 -2
- package/assets/js/highcharts/indicators/disparity-index.src.js +4 -4
- package/assets/js/highcharts/indicators/dmi.js +2 -2
- package/assets/js/highcharts/indicators/dmi.src.js +4 -4
- package/assets/js/highcharts/indicators/dpo.js +2 -2
- package/assets/js/highcharts/indicators/dpo.src.js +4 -4
- package/assets/js/highcharts/indicators/ema.js +1 -1
- package/assets/js/highcharts/indicators/ema.src.js +2 -2
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +2 -2
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +7 -7
- package/assets/js/highcharts/indicators/indicators-all.js +2 -2
- package/assets/js/highcharts/indicators/indicators-all.src.js +29 -29
- package/assets/js/highcharts/indicators/indicators.js +2 -2
- package/assets/js/highcharts/indicators/indicators.src.js +5 -5
- package/assets/js/highcharts/indicators/keltner-channels.js +2 -2
- package/assets/js/highcharts/indicators/keltner-channels.src.js +4 -4
- package/assets/js/highcharts/indicators/klinger.js +2 -2
- package/assets/js/highcharts/indicators/klinger.src.js +4 -4
- package/assets/js/highcharts/indicators/macd.js +2 -2
- package/assets/js/highcharts/indicators/macd.src.js +4 -4
- package/assets/js/highcharts/indicators/mfi.js +2 -2
- package/assets/js/highcharts/indicators/mfi.src.js +5 -5
- package/assets/js/highcharts/indicators/momentum.js +2 -2
- package/assets/js/highcharts/indicators/momentum.src.js +4 -4
- package/assets/js/highcharts/indicators/natr.js +2 -2
- package/assets/js/highcharts/indicators/natr.src.js +4 -4
- package/assets/js/highcharts/indicators/obv.js +2 -2
- package/assets/js/highcharts/indicators/obv.src.js +4 -4
- package/assets/js/highcharts/indicators/pivot-points.js +2 -2
- package/assets/js/highcharts/indicators/pivot-points.src.js +7 -7
- package/assets/js/highcharts/indicators/ppo.js +2 -2
- package/assets/js/highcharts/indicators/ppo.src.js +5 -5
- package/assets/js/highcharts/indicators/price-channel.js +2 -2
- package/assets/js/highcharts/indicators/price-channel.src.js +5 -5
- package/assets/js/highcharts/indicators/price-envelopes.js +2 -2
- package/assets/js/highcharts/indicators/price-envelopes.src.js +4 -4
- package/assets/js/highcharts/indicators/psar.js +2 -2
- package/assets/js/highcharts/indicators/psar.src.js +5 -5
- package/assets/js/highcharts/indicators/regressions.js +2 -2
- package/assets/js/highcharts/indicators/regressions.src.js +5 -5
- package/assets/js/highcharts/indicators/roc.js +2 -2
- package/assets/js/highcharts/indicators/roc.src.js +4 -4
- package/assets/js/highcharts/indicators/rsi.js +2 -2
- package/assets/js/highcharts/indicators/rsi.src.js +4 -4
- package/assets/js/highcharts/indicators/slow-stochastic.js +2 -2
- package/assets/js/highcharts/indicators/slow-stochastic.src.js +6 -6
- package/assets/js/highcharts/indicators/stochastic.js +2 -2
- package/assets/js/highcharts/indicators/stochastic.src.js +4 -4
- package/assets/js/highcharts/indicators/supertrend.js +2 -2
- package/assets/js/highcharts/indicators/supertrend.src.js +7 -7
- package/assets/js/highcharts/indicators/tema.js +2 -2
- package/assets/js/highcharts/indicators/tema.src.js +4 -4
- package/assets/js/highcharts/indicators/trendline.js +2 -2
- package/assets/js/highcharts/indicators/trendline.src.js +5 -5
- package/assets/js/highcharts/indicators/trix.js +2 -2
- package/assets/js/highcharts/indicators/trix.src.js +4 -4
- package/assets/js/highcharts/indicators/volume-by-price.js +2 -2
- package/assets/js/highcharts/indicators/volume-by-price.src.js +4 -4
- package/assets/js/highcharts/indicators/vwap.js +2 -2
- package/assets/js/highcharts/indicators/vwap.src.js +5 -5
- package/assets/js/highcharts/indicators/williams-r.js +2 -2
- package/assets/js/highcharts/indicators/williams-r.src.js +5 -5
- package/assets/js/highcharts/indicators/wma.js +2 -2
- package/assets/js/highcharts/indicators/wma.src.js +4 -4
- package/assets/js/highcharts/indicators/zigzag.js +2 -2
- package/assets/js/highcharts/indicators/zigzag.src.js +4 -4
- package/assets/js/highcharts/modules/accessibility.js +2 -2
- package/assets/js/highcharts/modules/accessibility.src.js +162 -77
- package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
- package/assets/js/highcharts/modules/annotations-advanced.src.js +8 -9
- package/assets/js/highcharts/modules/annotations.js +2 -2
- package/assets/js/highcharts/modules/annotations.src.js +8 -9
- package/assets/js/highcharts/modules/arc-diagram.js +2 -2
- package/assets/js/highcharts/modules/arc-diagram.src.js +9363 -5
- package/assets/js/highcharts/modules/arrow-symbols.js +2 -2
- package/assets/js/highcharts/modules/arrow-symbols.src.js +3 -3
- package/assets/js/highcharts/modules/boost-canvas.js +2 -2
- package/assets/js/highcharts/modules/boost-canvas.src.js +53 -16
- package/assets/js/highcharts/modules/boost.js +2 -2
- package/assets/js/highcharts/modules/boost.src.js +54 -17
- package/assets/js/highcharts/modules/broken-axis.js +2 -2
- package/assets/js/highcharts/modules/broken-axis.src.js +3 -3
- package/assets/js/highcharts/modules/bullet.js +2 -2
- package/assets/js/highcharts/modules/bullet.src.js +3 -3
- package/assets/js/highcharts/modules/coloraxis.js +2 -2
- package/assets/js/highcharts/modules/coloraxis.src.js +10 -6
- package/assets/js/highcharts/modules/current-date-indicator.js +2 -2
- package/assets/js/highcharts/modules/current-date-indicator.src.js +3 -3
- package/assets/js/highcharts/modules/cylinder.js +2 -2
- package/assets/js/highcharts/modules/cylinder.src.js +4 -4
- package/assets/js/highcharts/modules/data-tools.js +2 -2
- package/assets/js/highcharts/modules/data-tools.src.js +120 -18
- package/assets/js/highcharts/modules/data.js +2 -2
- package/assets/js/highcharts/modules/data.src.js +14 -14
- package/assets/js/highcharts/modules/datagrouping.js +2 -2
- package/assets/js/highcharts/modules/datagrouping.src.js +5 -6
- package/assets/js/highcharts/modules/debugger.js +2 -2
- package/assets/js/highcharts/modules/debugger.src.js +3 -3
- package/assets/js/highcharts/modules/dependency-wheel.js +2 -2
- package/assets/js/highcharts/modules/dependency-wheel.src.js +8 -7
- package/assets/js/highcharts/modules/dotplot.js +2 -2
- package/assets/js/highcharts/modules/dotplot.src.js +3 -3
- package/assets/js/highcharts/modules/drag-panes.js +2 -2
- package/assets/js/highcharts/modules/drag-panes.src.js +4 -4
- package/assets/js/highcharts/modules/draggable-points.js +2 -2
- package/assets/js/highcharts/modules/draggable-points.src.js +3 -3
- package/assets/js/highcharts/modules/drilldown.js +2 -2
- package/assets/js/highcharts/modules/drilldown.src.js +3 -43
- package/assets/js/highcharts/modules/dumbbell.js +2 -2
- package/assets/js/highcharts/modules/dumbbell.src.js +5 -5
- package/assets/js/highcharts/modules/export-data.js +2 -2
- package/assets/js/highcharts/modules/export-data.src.js +5 -5
- package/assets/js/highcharts/modules/exporting.js +2 -2
- package/assets/js/highcharts/modules/exporting.src.js +17 -17
- package/assets/js/highcharts/modules/flowmap.js +2 -2
- package/assets/js/highcharts/modules/flowmap.src.js +3 -3
- package/assets/js/highcharts/modules/full-screen.js +2 -2
- package/assets/js/highcharts/modules/full-screen.src.js +3 -3
- package/assets/js/highcharts/modules/funnel.js +2 -2
- package/assets/js/highcharts/modules/funnel.src.js +3 -3
- package/assets/js/highcharts/modules/funnel3d.js +2 -2
- package/assets/js/highcharts/modules/funnel3d.src.js +4 -4
- package/assets/js/highcharts/modules/gantt.js +2 -2
- package/assets/js/highcharts/modules/gantt.src.js +155 -67
- package/assets/js/highcharts/modules/geoheatmap.js +2 -2
- package/assets/js/highcharts/modules/geoheatmap.src.js +3 -3
- package/assets/js/highcharts/modules/grid-axis.js +2 -2
- package/assets/js/highcharts/modules/grid-axis.src.js +4 -4
- package/assets/js/highcharts/modules/heatmap.js +2 -2
- package/assets/js/highcharts/modules/heatmap.src.js +12 -8
- package/assets/js/highcharts/modules/heikinashi.js +2 -2
- package/assets/js/highcharts/modules/heikinashi.src.js +4 -4
- package/assets/js/highcharts/modules/histogram-bellcurve.js +2 -2
- package/assets/js/highcharts/modules/histogram-bellcurve.src.js +5 -5
- package/assets/js/highcharts/modules/hollowcandlestick.js +2 -2
- package/assets/js/highcharts/modules/hollowcandlestick.src.js +4 -4
- package/assets/js/highcharts/modules/item-series.js +2 -2
- package/assets/js/highcharts/modules/item-series.src.js +4 -4
- package/assets/js/highcharts/modules/lollipop.js +2 -2
- package/assets/js/highcharts/modules/lollipop.src.js +3 -3
- package/assets/js/highcharts/modules/map.js +2 -2
- package/assets/js/highcharts/modules/map.src.js +34 -51
- package/assets/js/highcharts/modules/marker-clusters.js +2 -2
- package/assets/js/highcharts/modules/marker-clusters.src.js +3 -3
- package/assets/js/highcharts/modules/mouse-wheel-zoom.js +2 -2
- package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +3 -3
- package/assets/js/highcharts/modules/navigator.js +2 -2
- package/assets/js/highcharts/modules/navigator.src.js +146 -61
- package/assets/js/highcharts/modules/networkgraph.js +2 -2
- package/assets/js/highcharts/modules/networkgraph.src.js +231 -5
- package/assets/js/highcharts/modules/no-data-to-display.js +2 -2
- package/assets/js/highcharts/modules/no-data-to-display.src.js +3 -3
- package/assets/js/highcharts/modules/offline-exporting.js +2 -2
- package/assets/js/highcharts/modules/offline-exporting.src.js +6 -6
- package/assets/js/highcharts/modules/organization.js +2 -2
- package/assets/js/highcharts/modules/organization.src.js +6 -5
- package/assets/js/highcharts/modules/overlapping-datalabels.js +2 -2
- package/assets/js/highcharts/modules/overlapping-datalabels.src.js +3 -3
- package/assets/js/highcharts/modules/parallel-coordinates.js +2 -2
- package/assets/js/highcharts/modules/parallel-coordinates.src.js +4 -4
- package/assets/js/highcharts/modules/pareto.js +2 -2
- package/assets/js/highcharts/modules/pareto.src.js +3 -3
- package/assets/js/highcharts/modules/pathfinder.js +2 -2
- package/assets/js/highcharts/modules/pathfinder.src.js +3 -3
- package/assets/js/highcharts/modules/pattern-fill.js +2 -2
- package/assets/js/highcharts/modules/pattern-fill.src.js +3 -3
- package/assets/js/highcharts/modules/pictorial.js +2 -2
- package/assets/js/highcharts/modules/pictorial.src.js +3 -3
- package/assets/js/highcharts/modules/price-indicator.js +2 -2
- package/assets/js/highcharts/modules/price-indicator.src.js +4 -4
- package/assets/js/highcharts/modules/pyramid3d.js +2 -2
- package/assets/js/highcharts/modules/pyramid3d.src.js +4 -4
- package/assets/js/highcharts/modules/sankey.js +2 -2
- package/assets/js/highcharts/modules/sankey.src.js +235 -9
- package/assets/js/highcharts/modules/series-label.js +2 -2
- package/assets/js/highcharts/modules/series-label.src.js +3 -3
- package/assets/js/highcharts/modules/series-on-point.js +2 -2
- package/assets/js/highcharts/modules/series-on-point.src.js +3 -3
- package/assets/js/highcharts/modules/solid-gauge.js +2 -2
- package/assets/js/highcharts/modules/solid-gauge.src.js +4 -4
- package/assets/js/highcharts/modules/sonification.js +2 -2
- package/assets/js/highcharts/modules/sonification.src.js +12 -15
- package/assets/js/highcharts/modules/static-scale.js +2 -2
- package/assets/js/highcharts/modules/static-scale.src.js +3 -3
- package/assets/js/highcharts/modules/stock-tools.js +2 -2
- package/assets/js/highcharts/modules/stock-tools.src.js +178 -70
- package/assets/js/highcharts/modules/stock.js +2 -2
- package/assets/js/highcharts/modules/stock.src.js +160 -73
- package/assets/js/highcharts/modules/streamgraph.js +2 -2
- package/assets/js/highcharts/modules/streamgraph.src.js +3 -3
- package/assets/js/highcharts/modules/sunburst.js +2 -2
- package/assets/js/highcharts/modules/sunburst.src.js +269 -58
- package/assets/js/highcharts/modules/textpath.js +7 -0
- package/assets/js/highcharts/modules/textpath.src.js +269 -0
- package/assets/js/highcharts/modules/tiledwebmap.js +3 -3
- package/assets/js/highcharts/modules/tiledwebmap.src.js +3 -3
- package/assets/js/highcharts/modules/tilemap.js +2 -2
- package/assets/js/highcharts/modules/tilemap.src.js +6 -6
- package/assets/js/highcharts/modules/timeline.js +2 -2
- package/assets/js/highcharts/modules/timeline.src.js +3 -3
- package/assets/js/highcharts/modules/treegraph.js +2 -2
- package/assets/js/highcharts/modules/treegraph.src.js +253 -9
- package/assets/js/highcharts/modules/treegrid.js +2 -2
- package/assets/js/highcharts/modules/treegrid.src.js +4 -4
- package/assets/js/highcharts/modules/treemap.js +2 -2
- package/assets/js/highcharts/modules/treemap.src.js +35 -50
- package/assets/js/highcharts/modules/variable-pie.js +2 -2
- package/assets/js/highcharts/modules/variable-pie.src.js +5 -5
- package/assets/js/highcharts/modules/variwide.js +2 -2
- package/assets/js/highcharts/modules/variwide.src.js +4 -4
- package/assets/js/highcharts/modules/vector.js +2 -2
- package/assets/js/highcharts/modules/vector.src.js +4 -4
- package/assets/js/highcharts/modules/venn.js +2 -2
- package/assets/js/highcharts/modules/venn.src.js +3 -88
- package/assets/js/highcharts/modules/windbarb.js +2 -2
- package/assets/js/highcharts/modules/windbarb.src.js +5 -5
- package/assets/js/highcharts/modules/wordcloud.js +2 -2
- package/assets/js/highcharts/modules/wordcloud.src.js +6 -6
- package/assets/js/highcharts/modules/xrange.js +2 -2
- package/assets/js/highcharts/modules/xrange.src.js +3 -3
- package/assets/js/highcharts/standalone-navigator.js +2 -2
- package/assets/js/highcharts/standalone-navigator.src.js +3363 -3034
- package/assets/js/highcharts/themes/avocado.js +2 -2
- package/assets/js/highcharts/themes/avocado.src.js +3 -3
- package/assets/js/highcharts/themes/brand-dark.js +2 -2
- package/assets/js/highcharts/themes/brand-dark.src.js +3 -3
- package/assets/js/highcharts/themes/brand-light.js +2 -2
- package/assets/js/highcharts/themes/brand-light.src.js +3 -3
- package/assets/js/highcharts/themes/dark-blue.js +2 -2
- package/assets/js/highcharts/themes/dark-blue.src.js +3 -3
- package/assets/js/highcharts/themes/dark-green.js +2 -2
- package/assets/js/highcharts/themes/dark-green.src.js +3 -3
- package/assets/js/highcharts/themes/dark-unica.js +2 -2
- package/assets/js/highcharts/themes/dark-unica.src.js +3 -3
- package/assets/js/highcharts/themes/gray.js +2 -2
- package/assets/js/highcharts/themes/gray.src.js +3 -3
- package/assets/js/highcharts/themes/grid-light.js +2 -2
- package/assets/js/highcharts/themes/grid-light.src.js +3 -3
- package/assets/js/highcharts/themes/grid.js +2 -2
- package/assets/js/highcharts/themes/grid.src.js +3 -3
- package/assets/js/highcharts/themes/high-contrast-dark.js +2 -2
- package/assets/js/highcharts/themes/high-contrast-dark.src.js +3 -3
- package/assets/js/highcharts/themes/high-contrast-light.js +2 -2
- package/assets/js/highcharts/themes/high-contrast-light.src.js +3 -3
- package/assets/js/highcharts/themes/sand-signika.js +2 -2
- package/assets/js/highcharts/themes/sand-signika.src.js +3 -3
- package/assets/js/highcharts/themes/skies.js +2 -2
- package/assets/js/highcharts/themes/skies.src.js +3 -3
- package/assets/js/highcharts/themes/sunset.js +2 -2
- package/assets/js/highcharts/themes/sunset.src.js +3 -3
- package/assets/js/pdfjs/build/pdf.mjs +464 -207
- package/assets/js/pdfjs/build/pdf.mjs.map +1 -1
- package/assets/js/pdfjs/build/pdf.sandbox.mjs +6 -3
- package/assets/js/pdfjs/build/pdf.sandbox.mjs.map +1 -1
- package/assets/js/pdfjs/build/pdf.worker.mjs +384 -204
- package/assets/js/pdfjs/build/pdf.worker.mjs.map +1 -1
- package/assets/js/pdfjs/web/locale/br/viewer.ftl +5 -6
- package/assets/js/pdfjs/web/locale/is/viewer.ftl +1 -9
- package/assets/js/pdfjs/web/locale/ja/viewer.ftl +1 -3
- package/assets/js/pdfjs/web/locale/kab/viewer.ftl +57 -8
- package/assets/js/pdfjs/web/locale/nn-NO/viewer.ftl +40 -6
- package/assets/js/pdfjs/web/locale/sl/viewer.ftl +4 -0
- package/assets/js/pdfjs/web/viewer.css +15 -0
- package/assets/js/pdfjs/web/viewer.html +1 -1
- package/assets/js/pdfjs/web/viewer.mjs +159 -91
- package/assets/js/pdfjs/web/viewer.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.4 (2024-07-02)
|
|
3
3
|
*
|
|
4
4
|
* Highcharts
|
|
5
5
|
*
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
obj[path] = fn.apply(null, args);
|
|
29
29
|
|
|
30
30
|
if (typeof CustomEvent === 'function') {
|
|
31
|
-
|
|
31
|
+
Highcharts.win.dispatchEvent(new CustomEvent(
|
|
32
32
|
'HighchartsModuleLoaded',
|
|
33
33
|
{ detail: { path: path, module: obj[path] } }
|
|
34
34
|
));
|
|
@@ -331,6 +331,7 @@
|
|
|
331
331
|
* Authors:
|
|
332
332
|
* - Sophie Bremer
|
|
333
333
|
* - Gøran Slettemark
|
|
334
|
+
* - Jomar Hønsi
|
|
334
335
|
*
|
|
335
336
|
* */
|
|
336
337
|
const { addEvent, fireEvent, uniqueKey } = U;
|
|
@@ -434,7 +435,7 @@
|
|
|
434
435
|
this.autoId = !options.id;
|
|
435
436
|
this.columns = {};
|
|
436
437
|
/**
|
|
437
|
-
* ID of the table for
|
|
438
|
+
* ID of the table for identification purposes.
|
|
438
439
|
*
|
|
439
440
|
* @name Highcharts.DataTable#id
|
|
440
441
|
* @type {string}
|
|
@@ -443,6 +444,7 @@
|
|
|
443
444
|
this.modified = this;
|
|
444
445
|
this.rowCount = 0;
|
|
445
446
|
this.versionTag = uniqueKey();
|
|
447
|
+
this.rowKeysId = options.rowKeysId;
|
|
446
448
|
const columns = options.columns || {}, columnNames = Object.keys(columns), thisColumns = this.columns;
|
|
447
449
|
let rowCount = 0;
|
|
448
450
|
for (let i = 0, iEnd = columnNames.length, column, columnName; i < iEnd; ++i) {
|
|
@@ -460,6 +462,7 @@
|
|
|
460
462
|
alias = aliasKeys[i];
|
|
461
463
|
thisAliases[alias] = aliases[alias];
|
|
462
464
|
}
|
|
465
|
+
this.setRowKeysColumn(rowCount);
|
|
463
466
|
}
|
|
464
467
|
/* *
|
|
465
468
|
*
|
|
@@ -495,6 +498,9 @@
|
|
|
495
498
|
if (!table.autoId) {
|
|
496
499
|
tableOptions.id = table.id;
|
|
497
500
|
}
|
|
501
|
+
if (table.rowKeysId) {
|
|
502
|
+
tableOptions.rowKeysId = table.rowKeysId;
|
|
503
|
+
}
|
|
498
504
|
const tableClone = new DataTable(tableOptions);
|
|
499
505
|
if (!skipColumns) {
|
|
500
506
|
tableClone.versionTag = table.versionTag;
|
|
@@ -565,7 +571,13 @@
|
|
|
565
571
|
}
|
|
566
572
|
delete columns[columnName];
|
|
567
573
|
}
|
|
568
|
-
|
|
574
|
+
let nColumns = Object.keys(columns).length;
|
|
575
|
+
if (table.rowKeysId && nColumns === 1) {
|
|
576
|
+
// All columns deleted, remove row keys column
|
|
577
|
+
delete columns[table.rowKeysId];
|
|
578
|
+
nColumns = 0;
|
|
579
|
+
}
|
|
580
|
+
if (!nColumns) {
|
|
569
581
|
table.rowCount = 0;
|
|
570
582
|
}
|
|
571
583
|
if (modifier) {
|
|
@@ -735,7 +747,7 @@
|
|
|
735
747
|
case 'number':
|
|
736
748
|
return (isNaN(cellValue) && !useNaN ? null : cellValue);
|
|
737
749
|
}
|
|
738
|
-
cellValue = parseFloat(`${cellValue}`);
|
|
750
|
+
cellValue = parseFloat(`${cellValue ?? ''}`);
|
|
739
751
|
return (isNaN(cellValue) && !useNaN ? null : cellValue);
|
|
740
752
|
}
|
|
741
753
|
/**
|
|
@@ -757,6 +769,7 @@
|
|
|
757
769
|
columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
|
|
758
770
|
columnNameOrAlias);
|
|
759
771
|
const column = table.columns[columnNameOrAlias];
|
|
772
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
760
773
|
return `${(column && column[rowIndex])}`;
|
|
761
774
|
}
|
|
762
775
|
/**
|
|
@@ -836,6 +849,7 @@
|
|
|
836
849
|
*/
|
|
837
850
|
getColumnNames() {
|
|
838
851
|
const table = this, columnNames = Object.keys(table.columns);
|
|
852
|
+
this.removeRowKeysColumn(columnNames);
|
|
839
853
|
return columnNames;
|
|
840
854
|
}
|
|
841
855
|
/**
|
|
@@ -856,6 +870,7 @@
|
|
|
856
870
|
getColumns(columnNamesOrAliases, asReference) {
|
|
857
871
|
const table = this, tableAliasMap = table.aliases, tableColumns = table.columns, columns = {};
|
|
858
872
|
columnNamesOrAliases = (columnNamesOrAliases || Object.keys(tableColumns));
|
|
873
|
+
this.removeRowKeysColumn(columnNamesOrAliases);
|
|
859
874
|
for (let i = 0, iEnd = columnNamesOrAliases.length, column, columnName; i < iEnd; ++i) {
|
|
860
875
|
columnName = columnNamesOrAliases[i];
|
|
861
876
|
column = tableColumns[(tableAliasMap[columnName] || columnName)];
|
|
@@ -972,6 +987,7 @@
|
|
|
972
987
|
getRowObjects(rowIndex = 0, rowCount = (this.rowCount - rowIndex), columnNamesOrAliases) {
|
|
973
988
|
const table = this, aliases = table.aliases, columns = table.columns, rows = new Array(rowCount);
|
|
974
989
|
columnNamesOrAliases = (columnNamesOrAliases || Object.keys(columns));
|
|
990
|
+
this.removeRowKeysColumn(columnNamesOrAliases);
|
|
975
991
|
for (let i = rowIndex, i2 = 0, iEnd = Math.min(table.rowCount, (rowIndex + rowCount)), column, row; i < iEnd; ++i, ++i2) {
|
|
976
992
|
row = rows[i2] = {};
|
|
977
993
|
for (const columnName of columnNamesOrAliases) {
|
|
@@ -1108,6 +1124,10 @@
|
|
|
1108
1124
|
}
|
|
1109
1125
|
columns[newColumnName] = columns[columnName];
|
|
1110
1126
|
delete columns[columnName];
|
|
1127
|
+
if (table.rowKeysId) {
|
|
1128
|
+
// Ensure that row keys column is last
|
|
1129
|
+
this.moveRowKeysColumnToLast(columns, table.rowKeysId);
|
|
1130
|
+
}
|
|
1111
1131
|
}
|
|
1112
1132
|
return true;
|
|
1113
1133
|
}
|
|
@@ -1243,6 +1263,10 @@
|
|
|
1243
1263
|
if (tableModifier) {
|
|
1244
1264
|
tableModifier.modifyColumns(table, columns, (rowIndex || 0));
|
|
1245
1265
|
}
|
|
1266
|
+
if (table.rowKeysId) {
|
|
1267
|
+
// Ensure that the row keys column is always last
|
|
1268
|
+
this.moveRowKeysColumnToLast(tableColumns, table.rowKeysId);
|
|
1269
|
+
}
|
|
1246
1270
|
table.emit({
|
|
1247
1271
|
type: 'afterSetColumns',
|
|
1248
1272
|
columns,
|
|
@@ -1251,6 +1275,63 @@
|
|
|
1251
1275
|
rowIndex
|
|
1252
1276
|
});
|
|
1253
1277
|
}
|
|
1278
|
+
/**
|
|
1279
|
+
* Sets the row key column. This column is invisible and the cells
|
|
1280
|
+
* serve as identifiers to the rows they are contained in. Accessing
|
|
1281
|
+
* rows by keys instead of indexes is necessary in cases where rows
|
|
1282
|
+
* are rearranged by a DataModifier (e.g. SortModifier or RangeModifier).
|
|
1283
|
+
*
|
|
1284
|
+
* @function Highcharts.DataTable#setRowKeysColumn
|
|
1285
|
+
*
|
|
1286
|
+
* @param {number} nRows
|
|
1287
|
+
* Number of rows to add to the column.
|
|
1288
|
+
*
|
|
1289
|
+
*/
|
|
1290
|
+
setRowKeysColumn(nRows) {
|
|
1291
|
+
const id = this.rowKeysId;
|
|
1292
|
+
if (!id) {
|
|
1293
|
+
return;
|
|
1294
|
+
}
|
|
1295
|
+
this.columns[id] = [];
|
|
1296
|
+
const keysArray = this.columns[id];
|
|
1297
|
+
for (let i = 0; i < nRows; i++) {
|
|
1298
|
+
keysArray.push(id + '_' + i);
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1301
|
+
/**
|
|
1302
|
+
* Get the row key column.
|
|
1303
|
+
*
|
|
1304
|
+
* @function Highcharts.DataTable#getRowKeysColumn
|
|
1305
|
+
* *
|
|
1306
|
+
* @return {DataTable.Column|undefined}
|
|
1307
|
+
* Returns row keys if rowKeysId is defined, else undefined.
|
|
1308
|
+
*/
|
|
1309
|
+
getRowKeysColumn() {
|
|
1310
|
+
const id = this.rowKeysId;
|
|
1311
|
+
if (id) {
|
|
1312
|
+
return this.columns[id];
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
/**
|
|
1316
|
+
* Get the row index in the original (unmodified) data table.
|
|
1317
|
+
*
|
|
1318
|
+
* @function Highcharts.DataTable#getRowIndexOriginal
|
|
1319
|
+
*
|
|
1320
|
+
* @param {number} idx
|
|
1321
|
+
* Row index in the modified data table.
|
|
1322
|
+
*
|
|
1323
|
+
* @return {string}
|
|
1324
|
+
* Row index in the original data table.
|
|
1325
|
+
*/
|
|
1326
|
+
getRowIndexOriginal(idx) {
|
|
1327
|
+
const id = this.rowKeysId;
|
|
1328
|
+
if (id) {
|
|
1329
|
+
const rowKeyCol = this.columns[id];
|
|
1330
|
+
const idxOrig = '' + rowKeyCol[idx];
|
|
1331
|
+
return idxOrig.split('_')[1];
|
|
1332
|
+
}
|
|
1333
|
+
return String(idx);
|
|
1334
|
+
}
|
|
1254
1335
|
/**
|
|
1255
1336
|
* Sets or unsets the modifier for the table.
|
|
1256
1337
|
* @private
|
|
@@ -1262,7 +1343,7 @@
|
|
|
1262
1343
|
* Custom information for pending events.
|
|
1263
1344
|
*
|
|
1264
1345
|
* @return {Promise<Highcharts.DataTable>}
|
|
1265
|
-
* Resolves to this table if
|
|
1346
|
+
* Resolves to this table if successful, or rejects on failure.
|
|
1266
1347
|
*
|
|
1267
1348
|
* @emits #setModifier
|
|
1268
1349
|
* @emits #afterSetModifier
|
|
@@ -1338,7 +1419,7 @@
|
|
|
1338
1419
|
* Row values to set.
|
|
1339
1420
|
*
|
|
1340
1421
|
* @param {number} [rowIndex]
|
|
1341
|
-
* Index of the first row to set. Leave `
|
|
1422
|
+
* Index of the first row to set. Leave `undefined` to add as new rows.
|
|
1342
1423
|
*
|
|
1343
1424
|
* @param {Highcharts.DataTableEventDetail} [eventDetail]
|
|
1344
1425
|
* Custom information for pending events.
|
|
@@ -1386,6 +1467,9 @@
|
|
|
1386
1467
|
columns[columnNames[i]].length = indexRowCount;
|
|
1387
1468
|
}
|
|
1388
1469
|
}
|
|
1470
|
+
if (this.rowKeysId && !columnNames.includes(this.rowKeysId)) {
|
|
1471
|
+
this.setRowKeysColumn(rowCount);
|
|
1472
|
+
}
|
|
1389
1473
|
if (modifier) {
|
|
1390
1474
|
modifier.modifyRows(table, rows, rowIndex);
|
|
1391
1475
|
}
|
|
@@ -1397,6 +1481,23 @@
|
|
|
1397
1481
|
rows
|
|
1398
1482
|
});
|
|
1399
1483
|
}
|
|
1484
|
+
// The row keys column must always be the last column
|
|
1485
|
+
moveRowKeysColumnToLast(columns, id) {
|
|
1486
|
+
const rowKeyColumn = columns[id];
|
|
1487
|
+
delete columns[id];
|
|
1488
|
+
columns[id] = rowKeyColumn;
|
|
1489
|
+
}
|
|
1490
|
+
// The row keys column must be removed in some methods
|
|
1491
|
+
// (API backwards compatibility)
|
|
1492
|
+
removeRowKeysColumn(columnNamesOrAliases) {
|
|
1493
|
+
if (this.rowKeysId) {
|
|
1494
|
+
const pos = columnNamesOrAliases.indexOf(this.rowKeysId);
|
|
1495
|
+
if (pos !== -1) {
|
|
1496
|
+
// Always the last column
|
|
1497
|
+
columnNamesOrAliases.pop();
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1400
1501
|
}
|
|
1401
1502
|
/* *
|
|
1402
1503
|
*
|
|
@@ -1760,7 +1861,7 @@
|
|
|
1760
1861
|
*/
|
|
1761
1862
|
this.dateFormats = {
|
|
1762
1863
|
'YYYY/mm/dd': {
|
|
1763
|
-
regex: /^(
|
|
1864
|
+
regex: /^(\d{4})([\-\.\/])(\d{1,2})\2(\d{1,2})$/,
|
|
1764
1865
|
parser: function (match) {
|
|
1765
1866
|
return (match ?
|
|
1766
1867
|
Date.UTC(+match[1], match[3] - 1, +match[4]) :
|
|
@@ -1768,7 +1869,7 @@
|
|
|
1768
1869
|
}
|
|
1769
1870
|
},
|
|
1770
1871
|
'dd/mm/YYYY': {
|
|
1771
|
-
regex: /^(
|
|
1872
|
+
regex: /^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,
|
|
1772
1873
|
parser: function (match) {
|
|
1773
1874
|
return (match ?
|
|
1774
1875
|
Date.UTC(+match[4], match[3] - 1, +match[1]) :
|
|
@@ -1777,7 +1878,7 @@
|
|
|
1777
1878
|
alternative: 'mm/dd/YYYY' // Different format with the same regex
|
|
1778
1879
|
},
|
|
1779
1880
|
'mm/dd/YYYY': {
|
|
1780
|
-
regex: /^(
|
|
1881
|
+
regex: /^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,
|
|
1781
1882
|
parser: function (match) {
|
|
1782
1883
|
return (match ?
|
|
1783
1884
|
Date.UTC(+match[4], match[1] - 1, +match[3]) :
|
|
@@ -1785,7 +1886,7 @@
|
|
|
1785
1886
|
}
|
|
1786
1887
|
},
|
|
1787
1888
|
'dd/mm/YY': {
|
|
1788
|
-
regex: /^(
|
|
1889
|
+
regex: /^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,
|
|
1789
1890
|
parser: function (match) {
|
|
1790
1891
|
const d = new Date();
|
|
1791
1892
|
if (!match) {
|
|
@@ -1803,7 +1904,7 @@
|
|
|
1803
1904
|
alternative: 'mm/dd/YY' // Different format with the same regex
|
|
1804
1905
|
},
|
|
1805
1906
|
'mm/dd/YY': {
|
|
1806
|
-
regex: /^(
|
|
1907
|
+
regex: /^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,
|
|
1807
1908
|
parser: function (match) {
|
|
1808
1909
|
return (match ?
|
|
1809
1910
|
Date.UTC(+match[4] + 2000, match[1] - 1, +match[3]) :
|
|
@@ -1965,7 +2066,7 @@
|
|
|
1965
2066
|
data[i] && data[i].length) {
|
|
1966
2067
|
thing = data[i]
|
|
1967
2068
|
.trim()
|
|
1968
|
-
.replace(/[
|
|
2069
|
+
.replace(/[\-\.\/]/g, ' ')
|
|
1969
2070
|
.split(' ');
|
|
1970
2071
|
guessedFormat = [
|
|
1971
2072
|
'',
|
|
@@ -2232,7 +2333,7 @@
|
|
|
2232
2333
|
if (typeof str === 'string') {
|
|
2233
2334
|
str = str.replace(/^\s+|\s+$/g, '');
|
|
2234
2335
|
// Clear white space insdie the string, like thousands separators
|
|
2235
|
-
if (inside && /^[
|
|
2336
|
+
if (inside && /^[\d\s]+$/.test(str)) {
|
|
2236
2337
|
str = str.replace(/\s/g, '');
|
|
2237
2338
|
}
|
|
2238
2339
|
}
|
|
@@ -3009,12 +3110,12 @@
|
|
|
3009
3110
|
* `.`-separated decimal.
|
|
3010
3111
|
* @private
|
|
3011
3112
|
*/
|
|
3012
|
-
const decimal1RegExp = /^[
|
|
3113
|
+
const decimal1RegExp = /^[+\-]?\d+(?:\.\d+)?(?:e[+\-]\d+)?/;
|
|
3013
3114
|
/**
|
|
3014
3115
|
* `,`-separated decimal.
|
|
3015
3116
|
* @private
|
|
3016
3117
|
*/
|
|
3017
|
-
const decimal2RegExp = /^[
|
|
3118
|
+
const decimal2RegExp = /^[+\-]?\d+(?:,\d+)?(?:e[+\-]\d+)?/;
|
|
3018
3119
|
/**
|
|
3019
3120
|
* - Group 1: Function name
|
|
3020
3121
|
* @private
|
|
@@ -5696,7 +5797,7 @@
|
|
|
5696
5797
|
read(i);
|
|
5697
5798
|
if (c === '#') {
|
|
5698
5799
|
// If there are hexvalues remaining (#13283)
|
|
5699
|
-
if (!/^#[
|
|
5800
|
+
if (!/^#[A-F\d]{3,3}|[A-F\d]{6,6}/i.test(columnStr.substring(i))) {
|
|
5700
5801
|
// The rest of the row is a comment
|
|
5701
5802
|
push();
|
|
5702
5803
|
return;
|
|
@@ -6227,6 +6328,7 @@
|
|
|
6227
6328
|
table.deleteColumns();
|
|
6228
6329
|
converter.parse({ data });
|
|
6229
6330
|
table.setColumns(converter.getTable().getColumns());
|
|
6331
|
+
table.setRowKeysColumn(data.length);
|
|
6230
6332
|
}
|
|
6231
6333
|
return connector.setModifierOptions(dataModifier).then(() => data);
|
|
6232
6334
|
})
|
|
@@ -8208,4 +8310,4 @@
|
|
|
8208
8310
|
|
|
8209
8311
|
return Highcharts;
|
|
8210
8312
|
});
|
|
8211
|
-
}));
|
|
8313
|
+
}));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v11.4.
|
|
2
|
+
* Highcharts JS v11.4.4 (2024-07-02)
|
|
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{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})});
|
|
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(t,s,r,i){t.hasOwnProperty(s)||(t[s]=i.apply(null,r),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:t[s]}})))}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:d}=r,{seriesTypes:u}=a,{addEvent:h,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:/^(\d{4})[\-\/\.](\d{1,2})[\-\/\.](\d{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{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:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{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(u[e||"line"].prototype.pointArrayMap||[0]).length},i=function(e){return u[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}})||[],d=0,h;(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[d]||r(a),u=(e&&e.series||[])[d]||{},c=i(u.type||a),p=c||["y"];for((m(t.x)||u.isCartesian||!c)&&s.addColumnReader(t.x,"x"),C(t,function(e,t){"x"!==t&&s.addColumnReader(e,t)}),h=0;h<l;h++)s.hasReader(p[h])||s.addColumnReader(void 0,p[h]);o.push(s),d++});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,d=void 0!==r.startRow&&r.startRow?r.startRow:0,u=r.endRow||Number.MAX_VALUE,h,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"),(!d||d<0)&&(d=0),(!u||u>=m.length)&&(u=m.length-1),r.itemDelimiter)h=r.itemDelimiter;else{let e,s,i;h=null,e=0,s=0,i=!1,m.some(function(t,r){let i=!1,a,n,l,d="";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(d=d.trim()))?(isNaN(d)||!isFinite(d))&&o[a]++:o[a]++,d=""):d+=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]+)$")),h=i}let e=0;for(c=d;c<=u;c++)"#"===m[c][0]?e++:function(e,t,o,l){let d=0,u="",m="",c="",p="",f=0,g=0;function C(t){u=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(;d<e.length;d++)if(C(d),'"'===u)for(C(++d);d<e.length&&('"'!==u||'"'===m||'"'===c);)('"'!==u||'"'===u&&'"'!==m)&&(p+=u),C(++d);else u===h?y():p+=u;y()}}(m[c],c-d-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=[],d,u=0,h=!1,m;for((!s||s>e.length)&&(s=e.length);u<s;u++)if(void 0!==e[u]&&e[u]&&e[u].length)for(m=0,o=e[u].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",h=!0):l[m].length||(l[m]="mm")));if(h){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"),d=l.join("/"),(r.dateFormats||t.dateFormats)[d])?d:(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 u(i,u,h){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),d({url:i,dataType:h||"json",success:function(e){t&&t.series&&u(e),m()},error:function(e,t){return++a<3&&m(),s.error&&s.error(t,e)}}),!0}u(i.csvURL,function(e){t.update({data:{csv:e}})},"text")||u(i.rowsURL,function(e){t.update({data:{rows:e}})})||u(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){d({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&&/[\d\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],d=a&&o&&o.xAxis&&"category"===y(o.xAxis)[0].type||"string"===l,u=m(e.name),h=e.length,c,p,g,C,x,T,v;for(s[t]||(s[t]=[]);h--;)c=n[h]||e[h],g=this.trim(c),p=parseFloat(C=this.trim(c,!0)),void 0===s[t][h]&&(s[t][h]=g),d||0===h&&i&&!u?e[h]=""+g:+C===p?(e[h]=p,p>31536e6&&"float"!==l?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[h+1]&&(v=p>e[h+1])):(g&&g.length&&(x=this.parseDate(c)),a&&f(x)&&"float"!==l?(n[h]=c,e[h]=x,e.isDatetime=!0,void 0!==e[h+1]&&((T=x>e[h+1])!==v&&void 0!==v&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,h=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),v=T)):(e[h]=""===g?null:g,0!==h&&(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,d,u,h;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=[],d=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(d)&&f.push(l);for(;d.length>0;){for((l=new R).addColumnReader(0,"x"),-1!==(h=d.indexOf(0))&&d.splice(h,1),r=0;r<this.valueCount.global;r++)l.addColumnReader(void 0,this.valueCount.globalPointArrayMap[r]);l.populateColumns(d)&&f.push(l)}if(f.length>0&&f[0].readers.length>0&&void 0!==(u=c[f[0].readers[0].columnIndex])&&(u.isDatetime?e="datetime":u.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))}}h(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})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.4 (2024-07-02)
|
|
3
3
|
*
|
|
4
4
|
* Data module
|
|
5
5
|
*
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
obj[path] = fn.apply(null, args);
|
|
29
29
|
|
|
30
30
|
if (typeof CustomEvent === 'function') {
|
|
31
|
-
|
|
31
|
+
Highcharts.win.dispatchEvent(new CustomEvent(
|
|
32
32
|
'HighchartsModuleLoaded',
|
|
33
33
|
{ detail: { path: path, module: obj[path] } }
|
|
34
34
|
));
|
|
@@ -304,7 +304,7 @@
|
|
|
304
304
|
/**
|
|
305
305
|
* The Data class
|
|
306
306
|
*
|
|
307
|
-
* @requires
|
|
307
|
+
* @requires modules/data
|
|
308
308
|
*
|
|
309
309
|
* @class
|
|
310
310
|
* @name Highcharts.Data
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
*/
|
|
368
368
|
this.dateFormats = {
|
|
369
369
|
'YYYY/mm/dd': {
|
|
370
|
-
regex: /^(
|
|
370
|
+
regex: /^(\d{4})[\-\/\.](\d{1,2})[\-\/\.](\d{1,2})$/,
|
|
371
371
|
parser: function (match) {
|
|
372
372
|
return (match ?
|
|
373
373
|
Date.UTC(+match[1], match[2] - 1, +match[3]) :
|
|
@@ -375,7 +375,7 @@
|
|
|
375
375
|
}
|
|
376
376
|
},
|
|
377
377
|
'dd/mm/YYYY': {
|
|
378
|
-
regex: /^(
|
|
378
|
+
regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,
|
|
379
379
|
parser: function (match) {
|
|
380
380
|
return (match ?
|
|
381
381
|
Date.UTC(+match[3], match[2] - 1, +match[1]) :
|
|
@@ -384,7 +384,7 @@
|
|
|
384
384
|
alternative: 'mm/dd/YYYY' // Different format with the same regex
|
|
385
385
|
},
|
|
386
386
|
'mm/dd/YYYY': {
|
|
387
|
-
regex: /^(
|
|
387
|
+
regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,
|
|
388
388
|
parser: function (match) {
|
|
389
389
|
return (match ?
|
|
390
390
|
Date.UTC(+match[3], match[1] - 1, +match[2]) :
|
|
@@ -392,7 +392,7 @@
|
|
|
392
392
|
}
|
|
393
393
|
},
|
|
394
394
|
'dd/mm/YY': {
|
|
395
|
-
regex: /^(
|
|
395
|
+
regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,
|
|
396
396
|
parser: function (match) {
|
|
397
397
|
if (!match) {
|
|
398
398
|
return NaN;
|
|
@@ -410,7 +410,7 @@
|
|
|
410
410
|
alternative: 'mm/dd/YY' // Different format with the same regex
|
|
411
411
|
},
|
|
412
412
|
'mm/dd/YY': {
|
|
413
|
-
regex: /^(
|
|
413
|
+
regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,
|
|
414
414
|
parser: function (match) {
|
|
415
415
|
return (match ?
|
|
416
416
|
Date.UTC(+match[3] + 2000, match[1] - 1, +match[2]) :
|
|
@@ -1260,7 +1260,7 @@
|
|
|
1260
1260
|
if (typeof str === 'string') {
|
|
1261
1261
|
str = str.replace(/^\s+|\s+$/g, '');
|
|
1262
1262
|
// Clear white space inside the string, like thousands separators
|
|
1263
|
-
if (inside &&
|
|
1263
|
+
if (inside && /[\d\s]+/.test(str)) {
|
|
1264
1264
|
str = str.replace(/\s/g, '');
|
|
1265
1265
|
}
|
|
1266
1266
|
if (this.decimalRegex) {
|
|
@@ -1432,10 +1432,10 @@
|
|
|
1432
1432
|
}
|
|
1433
1433
|
// Fall back to Date.parse
|
|
1434
1434
|
if (!match) {
|
|
1435
|
-
if (val.match(/:.+(GMT|UTC|[Z
|
|
1435
|
+
if (val.match(/:.+(GMT|UTC|[Z+\-])/)) {
|
|
1436
1436
|
val = val
|
|
1437
|
-
.replace(/\s*(?:GMT|UTC)?([
|
|
1438
|
-
.replace(/(?:\s+|GMT|UTC)([
|
|
1437
|
+
.replace(/\s*(?:GMT|UTC)?([+\-])(\d\d)(\d\d)$/, '$1$2:$3')
|
|
1438
|
+
.replace(/(?:\s+|GMT|UTC)([+\-])/, '$1')
|
|
1439
1439
|
.replace(/(\d)\s*(?:GMT|UTC|Z)$/, '$1+00:00');
|
|
1440
1440
|
}
|
|
1441
1441
|
match = Date.parse(val);
|
|
@@ -1948,7 +1948,7 @@
|
|
|
1948
1948
|
* A callback function to modify the CSV before parsing it. Return the modified
|
|
1949
1949
|
* string.
|
|
1950
1950
|
*
|
|
1951
|
-
* @sample {highcharts} highcharts/demo/line-
|
|
1951
|
+
* @sample {highcharts} highcharts/demo/line-csv/
|
|
1952
1952
|
* Modify CSV before parse
|
|
1953
1953
|
*
|
|
1954
1954
|
* @type {Highcharts.DataBeforeParseCallbackFunction}
|
|
@@ -2357,4 +2357,4 @@
|
|
|
2357
2357
|
|
|
2358
2358
|
return Highcharts;
|
|
2359
2359
|
});
|
|
2360
|
-
}));
|
|
2360
|
+
}));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highstock JS v11.4.
|
|
2
|
+
* Highstock JS v11.4.4 (2024-07-02)
|
|
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=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 u={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,u),u}),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 u(){this.series.forEach(function(t){t.hasProcessed=!1})}function l(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",u),e(t,"postProcessData",r),a(i,{applyGrouping:r,getGroupPixelWidth:p,setDataGrouping:l}))}}}),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:u,extend:l,isNumber:h,merge:g,pick:d}=n,c=s.generatePoints;function f(t){var e;let a,n;let r=this.chart,l=this.options.dataGrouping,g=!1!==this.allowDG&&l&&d(l.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=l.groupAll?this.xData:this.processedXData,M=l.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,l.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,l.approximation]),E=b.groupedXData,v=b.groupedYData,C=0;for(l&&l.smoothed&&E.length&&(l.firstAnchor="firstPoint",l.anchor="middle",l.lastAnchor="lastPoint",u(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,u=i.length-1,l=0;if(r&&t.xData[0]>=i[0]){let o;l++;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){u--;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(;u>=l;)i[u]+=t,u--}}(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))),l.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.currentDataGrouping=void 0;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,u=[],l=[],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&&(u.push(M),l.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:u,groupedYData:l,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 u(24,!1,this.series.chart),!1}),r(t,"afterSetOptions",y),r(t,"destroy",m),l(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:u,isNumber:l,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&&l(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),l=p+x?.totalRange-1;y=e.dateFormat(f,p),m&&(y+=e.dateFormat(m,l)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:u(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})});
|
|
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(i,o,e,a){i.hasOwnProperty(o)||(i[o]=a.apply(null,e),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:o,module:i[o]}})))}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 u={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,u),u}),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 u(){this.series.forEach(function(t){t.hasProcessed=!1})}function l(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",u),e(t,"postProcessData",r),a(i,{applyGrouping:r,getGroupPixelWidth:p,setDataGrouping:l}))}}}),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:u,extend:l,isNumber:h,merge:g,pick:d}=n,c=s.generatePoints;function f(t){var e;let a,n;let r=this.chart,l=this.options.dataGrouping,g=!1!==this.allowDG&&l&&d(l.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=l.groupAll?this.xData:this.processedXData,M=l.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,l.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,l.approximation]),E=b.groupedXData,v=b.groupedYData,C=0;for(l&&l.smoothed&&E.length&&(l.firstAnchor="firstPoint",l.anchor="middle",l.lastAnchor="lastPoint",u(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,u=i.length-1,l=0;if(r&&t.xData[0]>=i[0]){let o;l++;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){u--;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(;u>=l;)i[u]+=t,u--}}(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))),l.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.currentDataGrouping=void 0;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,u=[],l=[],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&&(u.push(M),l.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:u,groupedYData:l,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 u(24,!1,this.series.chart),!1}),r(t,"afterSetOptions",y),r(t,"destroy",m),l(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:u,isNumber:l,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&&l(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),l=p+x?.totalRange-1;y=e.dateFormat(f,p),m&&(y+=e.dateFormat(m,l)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:u(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})});
|