highcharts 11.4.6 → 11.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/es-modules/Accessibility/Accessibility.js +15 -3
- package/es-modules/Accessibility/AccessibilityComponent.js +38 -30
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +12 -1
- package/es-modules/Core/Axis/Axis.js +15 -12
- package/es-modules/Core/Axis/AxisDefaults.js +4 -2
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -3
- package/es-modules/Core/Axis/GridAxis.js +2 -2
- package/es-modules/Core/Axis/LogarithmicAxis.js +5 -10
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +54 -13
- package/es-modules/Core/Axis/ScrollbarAxis.js +12 -2
- package/es-modules/Core/Axis/Tick.js +1 -1
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +6 -9
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +2 -2
- package/es-modules/Core/Chart/Chart.js +31 -13
- package/es-modules/Core/Chart/StockChart.js +3 -5
- package/es-modules/Core/Color/Color.js +1 -0
- package/es-modules/Core/Defaults.js +10 -8
- package/es-modules/Core/Legend/LegendSymbol.js +1 -1
- package/es-modules/Core/Pointer.js +3 -2
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -0
- package/es-modules/Core/Renderer/SVG/Symbols.js +2 -2
- package/es-modules/Core/Series/DataLabel.js +9 -0
- package/es-modules/Core/Series/Series.js +1 -1
- package/es-modules/Core/Tooltip.js +14 -4
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +18 -13
- package/es-modules/Data/Connectors/JSONConnector.js +0 -1
- package/es-modules/Data/Converters/DataConverter.js +0 -2
- package/es-modules/Data/DataTable.js +163 -252
- package/es-modules/Data/Modifiers/ChainModifier.js +17 -18
- package/es-modules/Data/Modifiers/MathModifier.js +4 -4
- package/es-modules/Data/Modifiers/RangeModifier.js +15 -4
- package/es-modules/Data/Modifiers/SortModifier.js +7 -1
- package/es-modules/Extensions/Annotations/Annotation.js +6 -2
- package/es-modules/Extensions/Boost/BoostSeries.js +5 -1
- package/es-modules/Extensions/Boost/WGLRenderer.js +0 -6
- package/es-modules/Extensions/Data.js +125 -98
- package/es-modules/Extensions/Exporting/Exporting.js +5 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +4 -1
- package/es-modules/Maps/GeoJSONComposition.js +0 -5
- package/es-modules/Series/Bubble/BubblePoint.js +9 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -0
- package/es-modules/Series/Heatmap/HeatmapSeries.js +6 -1
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -3
- package/es-modules/Series/Pictorial/PictorialSeries.js +2 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +1 -1
- package/es-modules/Stock/Navigator/Navigator.js +8 -2
- package/es-modules/masters/highcharts.src.js +1 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +3 -3
- package/highcharts-gantt.src.js +190 -94
- package/highcharts-more.js +2 -2
- package/highcharts-more.src.js +10 -2
- package/highcharts.d.ts +2092 -528
- package/highcharts.js +3 -3
- package/highcharts.src.d.ts +2092 -528
- package/highcharts.src.js +160 -77
- package/highmaps.js +3 -3
- package/highmaps.src.js +178 -87
- package/highstock.js +3 -3
- package/highstock.src.js +183 -86
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.src.js +1 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +1 -1
- package/indicators/indicators-all.src.js +1 -1
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.src.js +1 -1
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.js +1 -1
- package/indicators/klinger.src.js +1 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +11 -5
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.d.ts +11 -5
- package/modules/accessibility.src.js +87 -39
- package/modules/annotations-advanced.js +2 -2
- package/modules/annotations-advanced.src.js +9 -5
- package/modules/annotations.js +2 -2
- package/modules/annotations.src.js +9 -5
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +7 -6
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +6 -8
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +6 -8
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +1 -1
- package/modules/coloraxis.src.js +1 -1
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data-tools.js +2 -2
- package/modules/data-tools.src.js +225 -296
- package/modules/data.d.ts +10 -1
- package/modules/data.js +2 -2
- package/modules/data.src.d.ts +10 -1
- package/modules/data.src.js +126 -100
- package/modules/datagrouping.js +1 -1
- package/modules/datagrouping.src.js +1 -1
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +1 -1
- package/modules/drilldown.src.js +1 -1
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +1 -1
- package/modules/export-data.src.js +1 -1
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.js +6 -2
- package/modules/flowmap.js +1 -1
- package/modules/flowmap.src.js +1 -1
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +2 -1
- package/modules/gantt.js +2 -2
- package/modules/gantt.src.js +31 -18
- package/modules/geoheatmap.js +1 -1
- package/modules/geoheatmap.src.js +1 -1
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +3 -3
- package/modules/heatmap.js +2 -2
- package/modules/heatmap.src.js +7 -2
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.js +2 -2
- package/modules/map.src.js +19 -11
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/mouse-wheel-zoom.js +1 -1
- package/modules/mouse-wheel-zoom.src.js +1 -1
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.js +21 -5
- package/modules/networkgraph.js +1 -1
- package/modules/networkgraph.src.js +1 -1
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +6 -3
- package/modules/organization.js +1 -1
- package/modules/organization.src.js +1 -1
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/pictorial.js +1 -1
- package/modules/pictorial.src.js +3 -2
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +2 -1
- package/modules/sankey.js +1 -1
- package/modules/sankey.src.js +1 -1
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/series-on-point.js +1 -1
- package/modules/series-on-point.src.js +1 -1
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +1 -1
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.js +1 -1
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +2 -2
- package/modules/stock-tools.src.js +3 -3
- package/modules/stock.js +2 -2
- package/modules/stock.src.js +24 -10
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +1 -1
- package/modules/sunburst.src.js +1 -1
- package/modules/textpath.js +1 -1
- package/modules/textpath.src.js +1 -1
- package/modules/tiledwebmap.js +1 -1
- package/modules/tiledwebmap.src.js +1 -1
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.src.js +1 -1
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +2 -2
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +11 -14
- package/modules/treemap.js +1 -1
- package/modules/treemap.src.js +1 -1
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +1 -1
- package/modules/venn.src.js +1 -1
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +1 -1
- package/modules/wordcloud.src.js +1 -1
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/options/abands.d.ts +9 -2
- package/options/abands.src.d.ts +9 -2
- package/options/ad.d.ts +18 -4
- package/options/ad.src.d.ts +18 -4
- package/options/apo.d.ts +18 -4
- package/options/apo.src.d.ts +18 -4
- package/options/arearange.d.ts +18 -4
- package/options/arearange.src.d.ts +18 -4
- package/options/areaspline.d.ts +18 -4
- package/options/areaspline.src.d.ts +18 -4
- package/options/areasplinerange.d.ts +9 -2
- package/options/areasplinerange.src.d.ts +9 -2
- package/options/aroonoscillator.d.ts +9 -2
- package/options/aroonoscillator.src.d.ts +9 -2
- package/options/bar.d.ts +9 -2
- package/options/bar.src.d.ts +9 -2
- package/options/bb.d.ts +18 -4
- package/options/bb.src.d.ts +18 -4
- package/options/bubble.d.ts +9 -2
- package/options/bubble.src.d.ts +9 -2
- package/options/bullet.d.ts +9 -2
- package/options/bullet.src.d.ts +9 -2
- package/options/candlestick.d.ts +18 -4
- package/options/candlestick.src.d.ts +18 -4
- package/options/cci.d.ts +9 -2
- package/options/cci.src.d.ts +9 -2
- package/options/chaikin.d.ts +9 -2
- package/options/chaikin.src.d.ts +9 -2
- package/options/cmf.d.ts +9 -2
- package/options/cmf.src.d.ts +9 -2
- package/options/cmo.d.ts +9 -2
- package/options/cmo.src.d.ts +9 -2
- package/options/column.d.ts +18 -4
- package/options/column.src.d.ts +18 -4
- package/options/columnpyramid.d.ts +18 -4
- package/options/columnpyramid.src.d.ts +18 -4
- package/options/columnrange.d.ts +18 -4
- package/options/columnrange.src.d.ts +18 -4
- package/options/cylinder.d.ts +9 -2
- package/options/cylinder.src.d.ts +9 -2
- package/options/dema.d.ts +18 -4
- package/options/dema.src.d.ts +18 -4
- package/options/dependencywheel.d.ts +18 -4
- package/options/dependencywheel.src.d.ts +18 -4
- package/options/disparityindex.d.ts +9 -2
- package/options/disparityindex.src.d.ts +9 -2
- package/options/dmi.d.ts +9 -2
- package/options/dmi.src.d.ts +9 -2
- package/options/dpo.d.ts +9 -2
- package/options/dpo.src.d.ts +9 -2
- package/options/dumbbell.d.ts +9 -2
- package/options/dumbbell.src.d.ts +9 -2
- package/options/ema.d.ts +18 -4
- package/options/ema.src.d.ts +18 -4
- package/options/flags.d.ts +9 -2
- package/options/flags.src.d.ts +9 -2
- package/options/funnel.d.ts +18 -4
- package/options/funnel.src.d.ts +18 -4
- package/options/gantt.d.ts +18 -4
- package/options/gantt.src.d.ts +18 -4
- package/options/gauge.d.ts +9 -2
- package/options/gauge.src.d.ts +9 -2
- package/options/histogram.d.ts +9 -2
- package/options/histogram.src.d.ts +9 -2
- package/options/hlc.d.ts +9 -2
- package/options/hlc.src.d.ts +9 -2
- package/options/hollowcandlestick.d.ts +9 -2
- package/options/hollowcandlestick.src.d.ts +9 -2
- package/options/keltnerchannels.d.ts +9 -2
- package/options/keltnerchannels.src.d.ts +9 -2
- package/options/klinger.d.ts +9 -2
- package/options/klinger.src.d.ts +9 -2
- package/options/line.d.ts +9 -2
- package/options/line.src.d.ts +9 -2
- package/options/linearregression.d.ts +18 -4
- package/options/linearregression.src.d.ts +18 -4
- package/options/linearregressionangle.d.ts +9 -2
- package/options/linearregressionangle.src.d.ts +9 -2
- package/options/lollipop.d.ts +18 -4
- package/options/lollipop.src.d.ts +18 -4
- package/options/macd.d.ts +9 -2
- package/options/macd.src.d.ts +9 -2
- package/options/map.d.ts +18 -4
- package/options/map.src.d.ts +18 -4
- package/options/mapbubble.d.ts +9 -2
- package/options/mapbubble.src.d.ts +9 -2
- package/options/mapline.d.ts +9 -2
- package/options/mapline.src.d.ts +9 -2
- package/options/mfi.d.ts +9 -2
- package/options/mfi.src.d.ts +9 -2
- package/options/momentum.d.ts +9 -2
- package/options/momentum.src.d.ts +9 -2
- package/options/natr.d.ts +9 -2
- package/options/natr.src.d.ts +9 -2
- package/options/obv.d.ts +9 -2
- package/options/obv.src.d.ts +9 -2
- package/options/ohlc.d.ts +18 -4
- package/options/ohlc.src.d.ts +18 -4
- package/options/organization.d.ts +9 -2
- package/options/organization.src.d.ts +9 -2
- package/options/packedbubble.d.ts +9 -2
- package/options/packedbubble.src.d.ts +9 -2
- package/options/pareto.d.ts +18 -4
- package/options/pareto.src.d.ts +18 -4
- package/options/pc.d.ts +9 -2
- package/options/pc.src.d.ts +9 -2
- package/options/pie.d.ts +9 -2
- package/options/pie.src.d.ts +9 -2
- package/options/polygon.d.ts +9 -2
- package/options/polygon.src.d.ts +9 -2
- package/options/ppo.d.ts +18 -4
- package/options/ppo.src.d.ts +18 -4
- package/options/psar.d.ts +18 -4
- package/options/psar.src.d.ts +18 -4
- package/options/pyramid.d.ts +36 -8
- package/options/pyramid.src.d.ts +36 -8
- package/options/roc.d.ts +9 -2
- package/options/roc.src.d.ts +9 -2
- package/options/rsi.d.ts +9 -2
- package/options/rsi.src.d.ts +9 -2
- package/options/sankey.d.ts +18 -4
- package/options/sankey.src.d.ts +18 -4
- package/options/scatter.d.ts +9 -2
- package/options/scatter.src.d.ts +9 -2
- package/options/series.d.ts +9 -2
- package/options/series.src.d.ts +9 -2
- package/options/slowstochastic.d.ts +9 -2
- package/options/slowstochastic.src.d.ts +9 -2
- package/options/sma.d.ts +9 -2
- package/options/sma.src.d.ts +9 -2
- package/options/solidgauge.d.ts +9 -2
- package/options/solidgauge.src.d.ts +9 -2
- package/options/spline.d.ts +9 -2
- package/options/spline.src.d.ts +9 -2
- package/options/stochastic.d.ts +18 -4
- package/options/stochastic.src.d.ts +18 -4
- package/options/streamgraph.d.ts +9 -2
- package/options/streamgraph.src.d.ts +9 -2
- package/options/sunburst.d.ts +18 -4
- package/options/sunburst.src.d.ts +18 -4
- package/options/supertrend.d.ts +9 -2
- package/options/supertrend.src.d.ts +9 -2
- package/options/tema.d.ts +9 -2
- package/options/tema.src.d.ts +9 -2
- package/options/tiledwebmap.d.ts +9 -2
- package/options/tiledwebmap.src.d.ts +9 -2
- package/options/tilemap.d.ts +9 -2
- package/options/tilemap.src.d.ts +9 -2
- package/options/treegraph.d.ts +18 -4
- package/options/treegraph.src.d.ts +18 -4
- package/options/treemap.d.ts +18 -4
- package/options/treemap.src.d.ts +18 -4
- package/options/trendline.d.ts +9 -2
- package/options/trendline.src.d.ts +9 -2
- package/options/trix.d.ts +9 -2
- package/options/trix.src.d.ts +9 -2
- package/options/variablepie.d.ts +18 -4
- package/options/variablepie.src.d.ts +18 -4
- package/options/variwide.d.ts +18 -4
- package/options/variwide.src.d.ts +18 -4
- package/options/vbp.d.ts +9 -2
- package/options/vbp.src.d.ts +9 -2
- package/options/vector.d.ts +9 -2
- package/options/vector.src.d.ts +9 -2
- package/options/vwap.d.ts +9 -2
- package/options/vwap.src.d.ts +9 -2
- package/options/waterfall.d.ts +18 -4
- package/options/waterfall.src.d.ts +18 -4
- package/options/williamsr.d.ts +9 -2
- package/options/williamsr.src.d.ts +9 -2
- package/options/wma.d.ts +9 -2
- package/options/wma.src.d.ts +9 -2
- package/options/wordcloud.d.ts +9 -2
- package/options/wordcloud.src.d.ts +9 -2
- package/options/xrange.d.ts +18 -4
- package/options/xrange.src.d.ts +18 -4
- package/package.json +1 -1
- package/standalone-navigator.js +2 -2
- package/standalone-navigator.src.js +179 -80
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Series/KDPointSearchObjectLike.js +0 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.8 (2024-08-29)
|
|
3
3
|
*
|
|
4
4
|
* Highcharts
|
|
5
5
|
*
|
|
@@ -330,9 +330,10 @@
|
|
|
330
330
|
* - Sophie Bremer
|
|
331
331
|
* - Gøran Slettemark
|
|
332
332
|
* - Jomar Hønsi
|
|
333
|
+
* - Dawid Dragula
|
|
333
334
|
*
|
|
334
335
|
* */
|
|
335
|
-
const { addEvent, fireEvent, uniqueKey } = U;
|
|
336
|
+
const { addEvent, defined, fireEvent, uniqueKey } = U;
|
|
336
337
|
/* *
|
|
337
338
|
*
|
|
338
339
|
* Class
|
|
@@ -413,17 +414,6 @@
|
|
|
413
414
|
* Options to initialize the new DataTable instance.
|
|
414
415
|
*/
|
|
415
416
|
constructor(options = {}) {
|
|
416
|
-
/**
|
|
417
|
-
* Dictionary of all column aliases and their mapped column. If a column
|
|
418
|
-
* for one of the get-methods matches an column alias, this column will
|
|
419
|
-
* be replaced with the mapped column by the column alias.
|
|
420
|
-
*
|
|
421
|
-
* @name Highcharts.DataTable#aliases
|
|
422
|
-
* @type {Highcharts.Dictionary<string>}
|
|
423
|
-
*/
|
|
424
|
-
this.aliases = (options.aliases ?
|
|
425
|
-
JSON.parse(JSON.stringify(options.aliases)) :
|
|
426
|
-
{});
|
|
427
417
|
/**
|
|
428
418
|
* Whether the ID was automatic generated or given in the constructor.
|
|
429
419
|
*
|
|
@@ -442,7 +432,6 @@
|
|
|
442
432
|
this.modified = this;
|
|
443
433
|
this.rowCount = 0;
|
|
444
434
|
this.versionTag = uniqueKey();
|
|
445
|
-
this.rowKeysId = options.rowKeysId;
|
|
446
435
|
const columns = options.columns || {}, columnNames = Object.keys(columns), thisColumns = this.columns;
|
|
447
436
|
let rowCount = 0;
|
|
448
437
|
for (let i = 0, iEnd = columnNames.length, column, columnName; i < iEnd; ++i) {
|
|
@@ -455,12 +444,6 @@
|
|
|
455
444
|
thisColumns[columnNames[i]].length = rowCount;
|
|
456
445
|
}
|
|
457
446
|
this.rowCount = rowCount;
|
|
458
|
-
const aliases = options.aliases || {}, aliasKeys = Object.keys(aliases), thisAliases = this.aliases;
|
|
459
|
-
for (let i = 0, iEnd = aliasKeys.length, alias; i < iEnd; ++i) {
|
|
460
|
-
alias = aliasKeys[i];
|
|
461
|
-
thisAliases[alias] = aliases[alias];
|
|
462
|
-
}
|
|
463
|
-
this.setRowKeysColumn(rowCount);
|
|
464
447
|
}
|
|
465
448
|
/* *
|
|
466
449
|
*
|
|
@@ -490,18 +473,16 @@
|
|
|
490
473
|
const table = this, tableOptions = {};
|
|
491
474
|
table.emit({ type: 'cloneTable', detail: eventDetail });
|
|
492
475
|
if (!skipColumns) {
|
|
493
|
-
tableOptions.aliases = table.aliases;
|
|
494
476
|
tableOptions.columns = table.columns;
|
|
495
477
|
}
|
|
496
478
|
if (!table.autoId) {
|
|
497
479
|
tableOptions.id = table.id;
|
|
498
480
|
}
|
|
499
|
-
if (table.rowKeysId) {
|
|
500
|
-
tableOptions.rowKeysId = table.rowKeysId;
|
|
501
|
-
}
|
|
502
481
|
const tableClone = new DataTable(tableOptions);
|
|
503
482
|
if (!skipColumns) {
|
|
504
483
|
tableClone.versionTag = table.versionTag;
|
|
484
|
+
tableClone.originalRowIndexes = table.originalRowIndexes;
|
|
485
|
+
tableClone.localRowIndexes = table.localRowIndexes;
|
|
505
486
|
}
|
|
506
487
|
table.emit({
|
|
507
488
|
type: 'afterCloneTable',
|
|
@@ -510,36 +491,13 @@
|
|
|
510
491
|
});
|
|
511
492
|
return tableClone;
|
|
512
493
|
}
|
|
513
|
-
/**
|
|
514
|
-
* Deletes a column alias and returns the original column name. If the alias
|
|
515
|
-
* is not found, the method returns `undefined`. Deleting an alias does not
|
|
516
|
-
* affect the data in the table, only the way columns are accessed.
|
|
517
|
-
*
|
|
518
|
-
* @function Highcharts.DataTable#deleteColumnAlias
|
|
519
|
-
*
|
|
520
|
-
* @param {string} alias
|
|
521
|
-
* The alias to delete.
|
|
522
|
-
*
|
|
523
|
-
* @return {string|undefined}
|
|
524
|
-
* Returns the original column name, if found.
|
|
525
|
-
*/
|
|
526
|
-
deleteColumnAlias(alias) {
|
|
527
|
-
const table = this, aliases = table.aliases, deletedAlias = aliases[alias], modifier = table.modifier;
|
|
528
|
-
if (deletedAlias) {
|
|
529
|
-
delete table.aliases[alias];
|
|
530
|
-
if (modifier) {
|
|
531
|
-
modifier.modifyColumns(table, { [deletedAlias]: new Array(table.rowCount) }, 0);
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
return deletedAlias;
|
|
535
|
-
}
|
|
536
494
|
/**
|
|
537
495
|
* Deletes columns from the table.
|
|
538
496
|
*
|
|
539
497
|
* @function Highcharts.DataTable#deleteColumns
|
|
540
498
|
*
|
|
541
499
|
* @param {Array<string>} [columnNames]
|
|
542
|
-
* Names
|
|
500
|
+
* Names of columns to delete. If no array is provided, all
|
|
543
501
|
* columns will be deleted.
|
|
544
502
|
*
|
|
545
503
|
* @param {Highcharts.DataTableEventDetail} [eventDetail]
|
|
@@ -569,14 +527,9 @@
|
|
|
569
527
|
}
|
|
570
528
|
delete columns[columnName];
|
|
571
529
|
}
|
|
572
|
-
|
|
573
|
-
if (table.rowKeysId && nColumns === 1) {
|
|
574
|
-
// All columns deleted, remove row keys column
|
|
575
|
-
delete columns[table.rowKeysId];
|
|
576
|
-
nColumns = 0;
|
|
577
|
-
}
|
|
578
|
-
if (!nColumns) {
|
|
530
|
+
if (!Object.keys(columns).length) {
|
|
579
531
|
table.rowCount = 0;
|
|
532
|
+
this.deleteRowIndexReferences();
|
|
580
533
|
}
|
|
581
534
|
if (modifier) {
|
|
582
535
|
modifier.modifyColumns(table, modifiedColumns, 0, eventDetail);
|
|
@@ -590,6 +543,18 @@
|
|
|
590
543
|
return deletedColumns;
|
|
591
544
|
}
|
|
592
545
|
}
|
|
546
|
+
/**
|
|
547
|
+
* Deletes the row index references. This is useful when the original table
|
|
548
|
+
* is deleted, and the references are no longer needed. This table is
|
|
549
|
+
* then considered an original table or a table that has the same row's
|
|
550
|
+
* order as the original table.
|
|
551
|
+
*/
|
|
552
|
+
deleteRowIndexReferences() {
|
|
553
|
+
delete this.originalRowIndexes;
|
|
554
|
+
delete this.localRowIndexes;
|
|
555
|
+
// Here, in case of future need, can be implemented updating of the
|
|
556
|
+
// modified tables' row indexes references.
|
|
557
|
+
}
|
|
593
558
|
/**
|
|
594
559
|
* Deletes rows in this table.
|
|
595
560
|
*
|
|
@@ -677,8 +642,8 @@
|
|
|
677
642
|
*
|
|
678
643
|
* @function Highcharts.DataTable#getCell
|
|
679
644
|
*
|
|
680
|
-
* @param {string}
|
|
681
|
-
* Column name
|
|
645
|
+
* @param {string} columnName
|
|
646
|
+
* Column name of the cell to retrieve.
|
|
682
647
|
*
|
|
683
648
|
* @param {number} rowIndex
|
|
684
649
|
* Row index of the cell to retrieve.
|
|
@@ -686,11 +651,9 @@
|
|
|
686
651
|
* @return {Highcharts.DataTableCellType|undefined}
|
|
687
652
|
* Returns the cell value or `undefined`.
|
|
688
653
|
*/
|
|
689
|
-
getCell(
|
|
654
|
+
getCell(columnName, rowIndex) {
|
|
690
655
|
const table = this;
|
|
691
|
-
|
|
692
|
-
columnNameOrAlias);
|
|
693
|
-
const column = table.columns[columnNameOrAlias];
|
|
656
|
+
const column = table.columns[columnName];
|
|
694
657
|
if (column) {
|
|
695
658
|
return column[rowIndex];
|
|
696
659
|
}
|
|
@@ -700,8 +663,8 @@
|
|
|
700
663
|
*
|
|
701
664
|
* @function Highcharts.DataTable#getCellAsBoolean
|
|
702
665
|
*
|
|
703
|
-
* @param {string}
|
|
704
|
-
* Column name
|
|
666
|
+
* @param {string} columnName
|
|
667
|
+
* Column name to fetch.
|
|
705
668
|
*
|
|
706
669
|
* @param {number} rowIndex
|
|
707
670
|
* Row index to fetch.
|
|
@@ -709,11 +672,9 @@
|
|
|
709
672
|
* @return {boolean}
|
|
710
673
|
* Returns the cell value of the row as a boolean.
|
|
711
674
|
*/
|
|
712
|
-
getCellAsBoolean(
|
|
675
|
+
getCellAsBoolean(columnName, rowIndex) {
|
|
713
676
|
const table = this;
|
|
714
|
-
|
|
715
|
-
columnNameOrAlias);
|
|
716
|
-
const column = table.columns[columnNameOrAlias];
|
|
677
|
+
const column = table.columns[columnName];
|
|
717
678
|
return !!(column && column[rowIndex]);
|
|
718
679
|
}
|
|
719
680
|
/**
|
|
@@ -721,8 +682,8 @@
|
|
|
721
682
|
*
|
|
722
683
|
* @function Highcharts.DataTable#getCellAsNumber
|
|
723
684
|
*
|
|
724
|
-
* @param {string}
|
|
725
|
-
* Column name or
|
|
685
|
+
* @param {string} columnName
|
|
686
|
+
* Column name or to fetch.
|
|
726
687
|
*
|
|
727
688
|
* @param {number} rowIndex
|
|
728
689
|
* Row index to fetch.
|
|
@@ -733,11 +694,9 @@
|
|
|
733
694
|
* @return {number|null}
|
|
734
695
|
* Returns the cell value of the row as a number.
|
|
735
696
|
*/
|
|
736
|
-
getCellAsNumber(
|
|
697
|
+
getCellAsNumber(columnName, rowIndex, useNaN) {
|
|
737
698
|
const table = this;
|
|
738
|
-
|
|
739
|
-
columnNameOrAlias);
|
|
740
|
-
const column = table.columns[columnNameOrAlias];
|
|
699
|
+
const column = table.columns[columnName];
|
|
741
700
|
let cellValue = (column && column[rowIndex]);
|
|
742
701
|
switch (typeof cellValue) {
|
|
743
702
|
case 'boolean':
|
|
@@ -753,8 +712,8 @@
|
|
|
753
712
|
*
|
|
754
713
|
* @function Highcharts.DataTable#getCellAsString
|
|
755
714
|
*
|
|
756
|
-
* @param {string}
|
|
757
|
-
* Column name
|
|
715
|
+
* @param {string} columnName
|
|
716
|
+
* Column name to fetch.
|
|
758
717
|
*
|
|
759
718
|
* @param {number} rowIndex
|
|
760
719
|
* Row index to fetch.
|
|
@@ -762,22 +721,20 @@
|
|
|
762
721
|
* @return {string}
|
|
763
722
|
* Returns the cell value of the row as a string.
|
|
764
723
|
*/
|
|
765
|
-
getCellAsString(
|
|
724
|
+
getCellAsString(columnName, rowIndex) {
|
|
766
725
|
const table = this;
|
|
767
|
-
|
|
768
|
-
columnNameOrAlias);
|
|
769
|
-
const column = table.columns[columnNameOrAlias];
|
|
726
|
+
const column = table.columns[columnName];
|
|
770
727
|
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
771
728
|
return `${(column && column[rowIndex])}`;
|
|
772
729
|
}
|
|
773
730
|
/**
|
|
774
|
-
* Fetches the given column by the canonical column name
|
|
731
|
+
* Fetches the given column by the canonical column name.
|
|
775
732
|
* This function is a simplified wrap of {@link getColumns}.
|
|
776
733
|
*
|
|
777
734
|
* @function Highcharts.DataTable#getColumn
|
|
778
735
|
*
|
|
779
|
-
* @param {string}
|
|
780
|
-
* Name
|
|
736
|
+
* @param {string} columnName
|
|
737
|
+
* Name of the column to get.
|
|
781
738
|
*
|
|
782
739
|
* @param {boolean} [asReference]
|
|
783
740
|
* Whether to return the column as a readonly reference.
|
|
@@ -785,11 +742,11 @@
|
|
|
785
742
|
* @return {Highcharts.DataTableColumn|undefined}
|
|
786
743
|
* A copy of the column, or `undefined` if not found.
|
|
787
744
|
*/
|
|
788
|
-
getColumn(
|
|
789
|
-
return this.getColumns([
|
|
745
|
+
getColumn(columnName, asReference) {
|
|
746
|
+
return this.getColumns([columnName], asReference)[columnName];
|
|
790
747
|
}
|
|
791
748
|
/**
|
|
792
|
-
* Fetches the given column by the canonical column name
|
|
749
|
+
* Fetches the given column by the canonical column name, and
|
|
793
750
|
* validates the type of the first few cells. If the first defined cell is
|
|
794
751
|
* of type number, it assumes for performance reasons, that all cells are of
|
|
795
752
|
* type number or `null`. Otherwise it will convert all cells to number
|
|
@@ -797,8 +754,8 @@
|
|
|
797
754
|
*
|
|
798
755
|
* @function Highcharts.DataTable#getColumnAsNumbers
|
|
799
756
|
*
|
|
800
|
-
* @param {string}
|
|
801
|
-
* Name
|
|
757
|
+
* @param {string} columnName
|
|
758
|
+
* Name of the column to get.
|
|
802
759
|
*
|
|
803
760
|
* @param {boolean} [useNaN]
|
|
804
761
|
* Whether to use NaN instead of `null` and `undefined`.
|
|
@@ -806,16 +763,14 @@
|
|
|
806
763
|
* @return {Array<(number|null)>}
|
|
807
764
|
* A copy of the column, or an empty array if not found.
|
|
808
765
|
*/
|
|
809
|
-
getColumnAsNumbers(
|
|
766
|
+
getColumnAsNumbers(columnName, useNaN) {
|
|
810
767
|
const table = this, columns = table.columns;
|
|
811
|
-
|
|
812
|
-
columnNameOrAlias);
|
|
813
|
-
const column = columns[columnNameOrAlias], columnAsNumber = [];
|
|
768
|
+
const column = columns[columnName], columnAsNumber = [];
|
|
814
769
|
if (column) {
|
|
815
770
|
const columnLength = column.length;
|
|
816
771
|
if (useNaN) {
|
|
817
772
|
for (let i = 0; i < columnLength; ++i) {
|
|
818
|
-
columnAsNumber.push(table.getCellAsNumber(
|
|
773
|
+
columnAsNumber.push(table.getCellAsNumber(columnName, i, true));
|
|
819
774
|
}
|
|
820
775
|
}
|
|
821
776
|
else {
|
|
@@ -831,7 +786,7 @@
|
|
|
831
786
|
}
|
|
832
787
|
}
|
|
833
788
|
for (let i = 0; i < columnLength; ++i) {
|
|
834
|
-
columnAsNumber.push(table.getCellAsNumber(
|
|
789
|
+
columnAsNumber.push(table.getCellAsNumber(columnName, i));
|
|
835
790
|
}
|
|
836
791
|
}
|
|
837
792
|
}
|
|
@@ -847,7 +802,6 @@
|
|
|
847
802
|
*/
|
|
848
803
|
getColumnNames() {
|
|
849
804
|
const table = this, columnNames = Object.keys(table.columns);
|
|
850
|
-
this.removeRowKeysColumn(columnNames);
|
|
851
805
|
return columnNames;
|
|
852
806
|
}
|
|
853
807
|
/**
|
|
@@ -855,8 +809,8 @@
|
|
|
855
809
|
*
|
|
856
810
|
* @function Highcharts.DataTable#getColumns
|
|
857
811
|
*
|
|
858
|
-
* @param {Array<string>} [
|
|
859
|
-
* Column names
|
|
812
|
+
* @param {Array<string>} [columnNames]
|
|
813
|
+
* Column names to retrieve.
|
|
860
814
|
*
|
|
861
815
|
* @param {boolean} [asReference]
|
|
862
816
|
* Whether to return columns as a readonly reference.
|
|
@@ -865,19 +819,35 @@
|
|
|
865
819
|
* Collection of columns. If a requested column was not found, it is
|
|
866
820
|
* `undefined`.
|
|
867
821
|
*/
|
|
868
|
-
getColumns(
|
|
869
|
-
const table = this,
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
column = tableColumns[(tableAliasMap[columnName] || columnName)];
|
|
822
|
+
getColumns(columnNames, asReference) {
|
|
823
|
+
const table = this, tableColumns = table.columns, columns = {};
|
|
824
|
+
columnNames = (columnNames || Object.keys(tableColumns));
|
|
825
|
+
for (let i = 0, iEnd = columnNames.length, column, columnName; i < iEnd; ++i) {
|
|
826
|
+
columnName = columnNames[i];
|
|
827
|
+
column = tableColumns[columnName];
|
|
875
828
|
if (column) {
|
|
876
829
|
columns[columnName] = (asReference ? column : column.slice());
|
|
877
830
|
}
|
|
878
831
|
}
|
|
879
832
|
return columns;
|
|
880
833
|
}
|
|
834
|
+
/**
|
|
835
|
+
* Takes the original row index and returns the local row index in the
|
|
836
|
+
* modified table for which this function is called.
|
|
837
|
+
*
|
|
838
|
+
* @param {number} originalRowIndex
|
|
839
|
+
* Original row index to get the local row index for.
|
|
840
|
+
*
|
|
841
|
+
* @return {number|undefined}
|
|
842
|
+
* Returns the local row index or `undefined` if not found.
|
|
843
|
+
*/
|
|
844
|
+
getLocalRowIndex(originalRowIndex) {
|
|
845
|
+
const { localRowIndexes } = this;
|
|
846
|
+
if (localRowIndexes) {
|
|
847
|
+
return localRowIndexes[originalRowIndex];
|
|
848
|
+
}
|
|
849
|
+
return originalRowIndex;
|
|
850
|
+
}
|
|
881
851
|
/**
|
|
882
852
|
* Retrieves the modifier for the table.
|
|
883
853
|
* @private
|
|
@@ -888,6 +858,23 @@
|
|
|
888
858
|
getModifier() {
|
|
889
859
|
return this.modifier;
|
|
890
860
|
}
|
|
861
|
+
/**
|
|
862
|
+
* Takes the local row index and returns the index of the corresponding row
|
|
863
|
+
* in the original table.
|
|
864
|
+
*
|
|
865
|
+
* @param {number} rowIndex
|
|
866
|
+
* Local row index to get the original row index for.
|
|
867
|
+
*
|
|
868
|
+
* @return {number|undefined}
|
|
869
|
+
* Returns the original row index or `undefined` if not found.
|
|
870
|
+
*/
|
|
871
|
+
getOriginalRowIndex(rowIndex) {
|
|
872
|
+
const { originalRowIndexes } = this;
|
|
873
|
+
if (originalRowIndexes) {
|
|
874
|
+
return originalRowIndexes[rowIndex];
|
|
875
|
+
}
|
|
876
|
+
return rowIndex;
|
|
877
|
+
}
|
|
891
878
|
/**
|
|
892
879
|
* Retrieves the row at a given index. This function is a simplified wrap of
|
|
893
880
|
* {@link getRows}.
|
|
@@ -897,14 +884,14 @@
|
|
|
897
884
|
* @param {number} rowIndex
|
|
898
885
|
* Row index to retrieve. First row has index 0.
|
|
899
886
|
*
|
|
900
|
-
* @param {Array<string>} [
|
|
901
|
-
* Column names
|
|
887
|
+
* @param {Array<string>} [columnNames]
|
|
888
|
+
* Column names in order to retrieve.
|
|
902
889
|
*
|
|
903
890
|
* @return {Highcharts.DataTableRow}
|
|
904
891
|
* Returns the row values, or `undefined` if not found.
|
|
905
892
|
*/
|
|
906
|
-
getRow(rowIndex,
|
|
907
|
-
return this.getRows(rowIndex, 1,
|
|
893
|
+
getRow(rowIndex, columnNames) {
|
|
894
|
+
return this.getRows(rowIndex, 1, columnNames)[0];
|
|
908
895
|
}
|
|
909
896
|
/**
|
|
910
897
|
* Returns the number of rows in this table.
|
|
@@ -923,7 +910,7 @@
|
|
|
923
910
|
*
|
|
924
911
|
* @function Highcharts.DataTable#getRowIndexBy
|
|
925
912
|
*
|
|
926
|
-
* @param {string}
|
|
913
|
+
* @param {string} columnName
|
|
927
914
|
* Column to search in.
|
|
928
915
|
*
|
|
929
916
|
* @param {Highcharts.DataTableCellType} cellValue
|
|
@@ -935,11 +922,9 @@
|
|
|
935
922
|
* @return {number|undefined}
|
|
936
923
|
* Index of the first row matching the cell value.
|
|
937
924
|
*/
|
|
938
|
-
getRowIndexBy(
|
|
925
|
+
getRowIndexBy(columnName, cellValue, rowIndexOffset) {
|
|
939
926
|
const table = this;
|
|
940
|
-
|
|
941
|
-
columnNameOrAlias);
|
|
942
|
-
const column = table.columns[columnNameOrAlias];
|
|
927
|
+
const column = table.columns[columnName];
|
|
943
928
|
if (column) {
|
|
944
929
|
const rowIndex = column.indexOf(cellValue, rowIndexOffset);
|
|
945
930
|
if (rowIndex !== -1) {
|
|
@@ -956,14 +941,14 @@
|
|
|
956
941
|
* @param {number} rowIndex
|
|
957
942
|
* Row index.
|
|
958
943
|
*
|
|
959
|
-
* @param {Array<string>} [
|
|
960
|
-
* Column names
|
|
944
|
+
* @param {Array<string>} [columnNames]
|
|
945
|
+
* Column names and their order to retrieve.
|
|
961
946
|
*
|
|
962
947
|
* @return {Highcharts.DataTableRowObject}
|
|
963
948
|
* Returns the row values, or `undefined` if not found.
|
|
964
949
|
*/
|
|
965
|
-
getRowObject(rowIndex,
|
|
966
|
-
return this.getRowObjects(rowIndex, 1,
|
|
950
|
+
getRowObject(rowIndex, columnNames) {
|
|
951
|
+
return this.getRowObjects(rowIndex, 1, columnNames)[0];
|
|
967
952
|
}
|
|
968
953
|
/**
|
|
969
954
|
* Fetches all or a number of rows.
|
|
@@ -976,20 +961,19 @@
|
|
|
976
961
|
* @param {number} [rowCount]
|
|
977
962
|
* Number of rows to fetch. Defaults to maximal number of rows.
|
|
978
963
|
*
|
|
979
|
-
* @param {Array<string>} [
|
|
980
|
-
* Column names
|
|
964
|
+
* @param {Array<string>} [columnNames]
|
|
965
|
+
* Column names and their order to retrieve.
|
|
981
966
|
*
|
|
982
967
|
* @return {Highcharts.DataTableRowObject}
|
|
983
968
|
* Returns retrieved rows.
|
|
984
969
|
*/
|
|
985
|
-
getRowObjects(rowIndex = 0, rowCount = (this.rowCount - rowIndex),
|
|
986
|
-
const table = this,
|
|
987
|
-
|
|
988
|
-
this.removeRowKeysColumn(columnNamesOrAliases);
|
|
970
|
+
getRowObjects(rowIndex = 0, rowCount = (this.rowCount - rowIndex), columnNames) {
|
|
971
|
+
const table = this, columns = table.columns, rows = new Array(rowCount);
|
|
972
|
+
columnNames = (columnNames || Object.keys(columns));
|
|
989
973
|
for (let i = rowIndex, i2 = 0, iEnd = Math.min(table.rowCount, (rowIndex + rowCount)), column, row; i < iEnd; ++i, ++i2) {
|
|
990
974
|
row = rows[i2] = {};
|
|
991
|
-
for (const columnName of
|
|
992
|
-
column = columns[
|
|
975
|
+
for (const columnName of columnNames) {
|
|
976
|
+
column = columns[columnName];
|
|
993
977
|
row[columnName] = (column ? column[i] : void 0);
|
|
994
978
|
}
|
|
995
979
|
}
|
|
@@ -1006,19 +990,19 @@
|
|
|
1006
990
|
* @param {number} [rowCount]
|
|
1007
991
|
* Number of rows to fetch. Defaults to maximal number of rows.
|
|
1008
992
|
*
|
|
1009
|
-
* @param {Array<string>} [
|
|
1010
|
-
* Column names
|
|
993
|
+
* @param {Array<string>} [columnNames]
|
|
994
|
+
* Column names and their order to retrieve.
|
|
1011
995
|
*
|
|
1012
996
|
* @return {Highcharts.DataTableRow}
|
|
1013
997
|
* Returns retrieved rows.
|
|
1014
998
|
*/
|
|
1015
|
-
getRows(rowIndex = 0, rowCount = (this.rowCount - rowIndex),
|
|
1016
|
-
const table = this,
|
|
1017
|
-
|
|
999
|
+
getRows(rowIndex = 0, rowCount = (this.rowCount - rowIndex), columnNames) {
|
|
1000
|
+
const table = this, columns = table.columns, rows = new Array(rowCount);
|
|
1001
|
+
columnNames = (columnNames || Object.keys(columns));
|
|
1018
1002
|
for (let i = rowIndex, i2 = 0, iEnd = Math.min(table.rowCount, (rowIndex + rowCount)), column, row; i < iEnd; ++i, ++i2) {
|
|
1019
1003
|
row = rows[i2] = [];
|
|
1020
|
-
for (const columnName of
|
|
1021
|
-
column = columns[
|
|
1004
|
+
for (const columnName of columnNames) {
|
|
1005
|
+
column = columns[columnName];
|
|
1022
1006
|
row.push(column ? column[i] : void 0);
|
|
1023
1007
|
}
|
|
1024
1008
|
}
|
|
@@ -1036,21 +1020,21 @@
|
|
|
1036
1020
|
return this.versionTag;
|
|
1037
1021
|
}
|
|
1038
1022
|
/**
|
|
1039
|
-
* Checks for given column names
|
|
1023
|
+
* Checks for given column names.
|
|
1040
1024
|
*
|
|
1041
1025
|
* @function Highcharts.DataTable#hasColumns
|
|
1042
1026
|
*
|
|
1043
|
-
* @param {Array<string>}
|
|
1044
|
-
* Column names
|
|
1027
|
+
* @param {Array<string>} columnNames
|
|
1028
|
+
* Column names to check.
|
|
1045
1029
|
*
|
|
1046
1030
|
* @return {boolean}
|
|
1047
1031
|
* Returns `true` if all columns have been found, otherwise `false`.
|
|
1048
1032
|
*/
|
|
1049
|
-
hasColumns(
|
|
1050
|
-
const table = this,
|
|
1051
|
-
for (let i = 0, iEnd =
|
|
1052
|
-
columnName =
|
|
1053
|
-
if (!columns[columnName]
|
|
1033
|
+
hasColumns(columnNames) {
|
|
1034
|
+
const table = this, columns = table.columns;
|
|
1035
|
+
for (let i = 0, iEnd = columnNames.length, columnName; i < iEnd; ++i) {
|
|
1036
|
+
columnName = columnNames[i];
|
|
1037
|
+
if (!columns[columnName]) {
|
|
1054
1038
|
return false;
|
|
1055
1039
|
}
|
|
1056
1040
|
}
|
|
@@ -1061,7 +1045,7 @@
|
|
|
1061
1045
|
*
|
|
1062
1046
|
* @function Highcharts.DataTable#hasRowWith
|
|
1063
1047
|
*
|
|
1064
|
-
* @param {string}
|
|
1048
|
+
* @param {string} columnName
|
|
1065
1049
|
* Column to search in.
|
|
1066
1050
|
*
|
|
1067
1051
|
* @param {Highcharts.DataTableCellType} cellValue
|
|
@@ -1070,11 +1054,9 @@
|
|
|
1070
1054
|
* @return {boolean}
|
|
1071
1055
|
* True, if a row has been found, otherwise false.
|
|
1072
1056
|
*/
|
|
1073
|
-
hasRowWith(
|
|
1057
|
+
hasRowWith(columnName, cellValue) {
|
|
1074
1058
|
const table = this;
|
|
1075
|
-
|
|
1076
|
-
columnNameOrAlias);
|
|
1077
|
-
const column = table.columns[columnNameOrAlias];
|
|
1059
|
+
const column = table.columns[columnName];
|
|
1078
1060
|
if (column) {
|
|
1079
1061
|
return (column.indexOf(cellValue) !== -1);
|
|
1080
1062
|
}
|
|
@@ -1116,29 +1098,21 @@
|
|
|
1116
1098
|
const table = this, columns = table.columns;
|
|
1117
1099
|
if (columns[columnName]) {
|
|
1118
1100
|
if (columnName !== newColumnName) {
|
|
1119
|
-
const aliases = table.aliases;
|
|
1120
|
-
if (aliases[newColumnName]) {
|
|
1121
|
-
delete aliases[newColumnName];
|
|
1122
|
-
}
|
|
1123
1101
|
columns[newColumnName] = columns[columnName];
|
|
1124
1102
|
delete columns[columnName];
|
|
1125
|
-
if (table.rowKeysId) {
|
|
1126
|
-
// Ensure that row keys column is last
|
|
1127
|
-
this.moveRowKeysColumnToLast(columns, table.rowKeysId);
|
|
1128
|
-
}
|
|
1129
1103
|
}
|
|
1130
1104
|
return true;
|
|
1131
1105
|
}
|
|
1132
1106
|
return false;
|
|
1133
1107
|
}
|
|
1134
1108
|
/**
|
|
1135
|
-
* Sets a cell value based on the row index and column
|
|
1109
|
+
* Sets a cell value based on the row index and column. Will
|
|
1136
1110
|
* insert a new column, if not found.
|
|
1137
1111
|
*
|
|
1138
1112
|
* @function Highcharts.DataTable#setCell
|
|
1139
1113
|
*
|
|
1140
|
-
* @param {string}
|
|
1141
|
-
* Column name
|
|
1114
|
+
* @param {string} columnName
|
|
1115
|
+
* Column name to set.
|
|
1142
1116
|
*
|
|
1143
1117
|
* @param {number|undefined} rowIndex
|
|
1144
1118
|
* Row index to set.
|
|
@@ -1152,35 +1126,33 @@
|
|
|
1152
1126
|
* @emits #setCell
|
|
1153
1127
|
* @emits #afterSetCell
|
|
1154
1128
|
*/
|
|
1155
|
-
setCell(
|
|
1129
|
+
setCell(columnName, rowIndex, cellValue, eventDetail) {
|
|
1156
1130
|
const table = this, columns = table.columns, modifier = table.modifier;
|
|
1157
|
-
|
|
1158
|
-
columnNameOrAlias);
|
|
1159
|
-
let column = columns[columnNameOrAlias];
|
|
1131
|
+
let column = columns[columnName];
|
|
1160
1132
|
if (column && column[rowIndex] === cellValue) {
|
|
1161
1133
|
return;
|
|
1162
1134
|
}
|
|
1163
1135
|
table.emit({
|
|
1164
1136
|
type: 'setCell',
|
|
1165
1137
|
cellValue,
|
|
1166
|
-
columnName:
|
|
1138
|
+
columnName: columnName,
|
|
1167
1139
|
detail: eventDetail,
|
|
1168
1140
|
rowIndex
|
|
1169
1141
|
});
|
|
1170
1142
|
if (!column) {
|
|
1171
|
-
column = columns[
|
|
1143
|
+
column = columns[columnName] = new Array(table.rowCount);
|
|
1172
1144
|
}
|
|
1173
1145
|
if (rowIndex >= table.rowCount) {
|
|
1174
1146
|
table.rowCount = (rowIndex + 1);
|
|
1175
1147
|
}
|
|
1176
1148
|
column[rowIndex] = cellValue;
|
|
1177
1149
|
if (modifier) {
|
|
1178
|
-
modifier.modifyCell(table,
|
|
1150
|
+
modifier.modifyCell(table, columnName, rowIndex, cellValue);
|
|
1179
1151
|
}
|
|
1180
1152
|
table.emit({
|
|
1181
1153
|
type: 'afterSetCell',
|
|
1182
1154
|
cellValue,
|
|
1183
|
-
columnName:
|
|
1155
|
+
columnName: columnName,
|
|
1184
1156
|
detail: eventDetail,
|
|
1185
1157
|
rowIndex
|
|
1186
1158
|
});
|
|
@@ -1190,8 +1162,8 @@
|
|
|
1190
1162
|
*
|
|
1191
1163
|
* @function Highcharts.DataTable#setColumn
|
|
1192
1164
|
*
|
|
1193
|
-
* @param {string}
|
|
1194
|
-
* Column name
|
|
1165
|
+
* @param {string} columnName
|
|
1166
|
+
* Column name to set.
|
|
1195
1167
|
*
|
|
1196
1168
|
* @param {Highcharts.DataTableColumn} [column]
|
|
1197
1169
|
* Values to set in the column.
|
|
@@ -1205,8 +1177,8 @@
|
|
|
1205
1177
|
* @emits #setColumns
|
|
1206
1178
|
* @emits #afterSetColumns
|
|
1207
1179
|
*/
|
|
1208
|
-
setColumn(
|
|
1209
|
-
this.setColumns({ [
|
|
1180
|
+
setColumn(columnName, column = [], rowIndex = 0, eventDetail) {
|
|
1181
|
+
this.setColumns({ [columnName]: column }, rowIndex, eventDetail);
|
|
1210
1182
|
}
|
|
1211
1183
|
/**
|
|
1212
1184
|
* Sets cell values for multiple columns. Will insert new columns, if not
|
|
@@ -1215,7 +1187,7 @@
|
|
|
1215
1187
|
* @function Highcharts.DataTable#setColumns
|
|
1216
1188
|
*
|
|
1217
1189
|
* @param {Highcharts.DataTableColumnCollection} columns
|
|
1218
|
-
* Columns as a collection, where the keys are the column names
|
|
1190
|
+
* Columns as a collection, where the keys are the column names.
|
|
1219
1191
|
*
|
|
1220
1192
|
* @param {number} [rowIndex]
|
|
1221
1193
|
* Index of the first row to change. Keep undefined to reset.
|
|
@@ -1238,8 +1210,6 @@
|
|
|
1238
1210
|
for (let i = 0, iEnd = columnNames.length, column, columnName; i < iEnd; ++i) {
|
|
1239
1211
|
columnName = columnNames[i];
|
|
1240
1212
|
column = columns[columnName];
|
|
1241
|
-
columnName = (table.aliases[columnName] ||
|
|
1242
|
-
columnName);
|
|
1243
1213
|
if (reset) {
|
|
1244
1214
|
tableColumns[columnName] = column.slice();
|
|
1245
1215
|
table.rowCount = column.length;
|
|
@@ -1261,10 +1231,6 @@
|
|
|
1261
1231
|
if (tableModifier) {
|
|
1262
1232
|
tableModifier.modifyColumns(table, columns, (rowIndex || 0));
|
|
1263
1233
|
}
|
|
1264
|
-
if (table.rowKeysId) {
|
|
1265
|
-
// Ensure that the row keys column is always last
|
|
1266
|
-
this.moveRowKeysColumnToLast(tableColumns, table.rowKeysId);
|
|
1267
|
-
}
|
|
1268
1234
|
table.emit({
|
|
1269
1235
|
type: 'afterSetColumns',
|
|
1270
1236
|
columns,
|
|
@@ -1273,63 +1239,6 @@
|
|
|
1273
1239
|
rowIndex
|
|
1274
1240
|
});
|
|
1275
1241
|
}
|
|
1276
|
-
/**
|
|
1277
|
-
* Sets the row key column. This column is invisible and the cells
|
|
1278
|
-
* serve as identifiers to the rows they are contained in. Accessing
|
|
1279
|
-
* rows by keys instead of indexes is necessary in cases where rows
|
|
1280
|
-
* are rearranged by a DataModifier (e.g. SortModifier or RangeModifier).
|
|
1281
|
-
*
|
|
1282
|
-
* @function Highcharts.DataTable#setRowKeysColumn
|
|
1283
|
-
*
|
|
1284
|
-
* @param {number} nRows
|
|
1285
|
-
* Number of rows to add to the column.
|
|
1286
|
-
*
|
|
1287
|
-
*/
|
|
1288
|
-
setRowKeysColumn(nRows) {
|
|
1289
|
-
const id = this.rowKeysId;
|
|
1290
|
-
if (!id) {
|
|
1291
|
-
return;
|
|
1292
|
-
}
|
|
1293
|
-
this.columns[id] = [];
|
|
1294
|
-
const keysArray = this.columns[id];
|
|
1295
|
-
for (let i = 0; i < nRows; i++) {
|
|
1296
|
-
keysArray.push(id + '_' + i);
|
|
1297
|
-
}
|
|
1298
|
-
}
|
|
1299
|
-
/**
|
|
1300
|
-
* Get the row key column.
|
|
1301
|
-
*
|
|
1302
|
-
* @function Highcharts.DataTable#getRowKeysColumn
|
|
1303
|
-
* *
|
|
1304
|
-
* @return {DataTable.Column|undefined}
|
|
1305
|
-
* Returns row keys if rowKeysId is defined, else undefined.
|
|
1306
|
-
*/
|
|
1307
|
-
getRowKeysColumn() {
|
|
1308
|
-
const id = this.rowKeysId;
|
|
1309
|
-
if (id) {
|
|
1310
|
-
return this.columns[id];
|
|
1311
|
-
}
|
|
1312
|
-
}
|
|
1313
|
-
/**
|
|
1314
|
-
* Get the row index in the original (unmodified) data table.
|
|
1315
|
-
*
|
|
1316
|
-
* @function Highcharts.DataTable#getRowIndexOriginal
|
|
1317
|
-
*
|
|
1318
|
-
* @param {number} idx
|
|
1319
|
-
* Row index in the modified data table.
|
|
1320
|
-
*
|
|
1321
|
-
* @return {string}
|
|
1322
|
-
* Row index in the original data table.
|
|
1323
|
-
*/
|
|
1324
|
-
getRowIndexOriginal(idx) {
|
|
1325
|
-
const id = this.rowKeysId;
|
|
1326
|
-
if (id) {
|
|
1327
|
-
const rowKeyCol = this.columns[id];
|
|
1328
|
-
const idxOrig = '' + rowKeyCol[idx];
|
|
1329
|
-
return idxOrig.split('_')[1];
|
|
1330
|
-
}
|
|
1331
|
-
return String(idx);
|
|
1332
|
-
}
|
|
1333
1242
|
/**
|
|
1334
1243
|
* Sets or unsets the modifier for the table.
|
|
1335
1244
|
*
|
|
@@ -1381,6 +1290,29 @@
|
|
|
1381
1290
|
throw error;
|
|
1382
1291
|
});
|
|
1383
1292
|
}
|
|
1293
|
+
/**
|
|
1294
|
+
* Sets the original row indexes for the table. It is used to keep the
|
|
1295
|
+
* reference to the original rows when modifying the table.
|
|
1296
|
+
*
|
|
1297
|
+
* @param {Array<number|undefined>} originalRowIndexes
|
|
1298
|
+
* Original row indexes array.
|
|
1299
|
+
*
|
|
1300
|
+
* @param {boolean} omitLocalRowIndexes
|
|
1301
|
+
* Whether to omit the local row indexes calculation. Defaults to `false`.
|
|
1302
|
+
*/
|
|
1303
|
+
setOriginalRowIndexes(originalRowIndexes, omitLocalRowIndexes = false) {
|
|
1304
|
+
this.originalRowIndexes = originalRowIndexes;
|
|
1305
|
+
if (omitLocalRowIndexes) {
|
|
1306
|
+
return;
|
|
1307
|
+
}
|
|
1308
|
+
const modifiedIndexes = this.localRowIndexes = [];
|
|
1309
|
+
for (let i = 0, iEnd = originalRowIndexes.length, originalIndex; i < iEnd; ++i) {
|
|
1310
|
+
originalIndex = originalRowIndexes[i];
|
|
1311
|
+
if (defined(originalIndex)) {
|
|
1312
|
+
modifiedIndexes[originalIndex] = i;
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1384
1316
|
/**
|
|
1385
1317
|
* Sets cell values of a row. Will insert a new row, if no index was
|
|
1386
1318
|
* provided, or if the index is higher than the total number of table rows.
|
|
@@ -1425,7 +1357,7 @@
|
|
|
1425
1357
|
* @emits #afterSetRows
|
|
1426
1358
|
*/
|
|
1427
1359
|
setRows(rows, rowIndex = this.rowCount, eventDetail) {
|
|
1428
|
-
const table = this,
|
|
1360
|
+
const table = this, columns = table.columns, columnNames = Object.keys(columns), modifier = table.modifier, rowCount = rows.length;
|
|
1429
1361
|
table.emit({
|
|
1430
1362
|
type: 'setRows',
|
|
1431
1363
|
detail: eventDetail,
|
|
@@ -1449,7 +1381,6 @@
|
|
|
1449
1381
|
const rowColumnNames = Object.keys(row);
|
|
1450
1382
|
for (let j = 0, jEnd = rowColumnNames.length, rowColumnName; j < jEnd; ++j) {
|
|
1451
1383
|
rowColumnName = rowColumnNames[j];
|
|
1452
|
-
rowColumnName = (aliases[rowColumnName] || rowColumnName);
|
|
1453
1384
|
if (!columns[rowColumnName]) {
|
|
1454
1385
|
columns[rowColumnName] = new Array(i2 + 1);
|
|
1455
1386
|
}
|
|
@@ -1464,9 +1395,6 @@
|
|
|
1464
1395
|
columns[columnNames[i]].length = indexRowCount;
|
|
1465
1396
|
}
|
|
1466
1397
|
}
|
|
1467
|
-
if (this.rowKeysId && !columnNames.includes(this.rowKeysId)) {
|
|
1468
|
-
this.setRowKeysColumn(rowCount);
|
|
1469
|
-
}
|
|
1470
1398
|
if (modifier) {
|
|
1471
1399
|
modifier.modifyRows(table, rows, rowIndex);
|
|
1472
1400
|
}
|
|
@@ -1478,23 +1406,6 @@
|
|
|
1478
1406
|
rows
|
|
1479
1407
|
});
|
|
1480
1408
|
}
|
|
1481
|
-
// The row keys column must always be the last column
|
|
1482
|
-
moveRowKeysColumnToLast(columns, id) {
|
|
1483
|
-
const rowKeyColumn = columns[id];
|
|
1484
|
-
delete columns[id];
|
|
1485
|
-
columns[id] = rowKeyColumn;
|
|
1486
|
-
}
|
|
1487
|
-
// The row keys column must be removed in some methods
|
|
1488
|
-
// (API backwards compatibility)
|
|
1489
|
-
removeRowKeysColumn(columnNamesOrAliases) {
|
|
1490
|
-
if (this.rowKeysId) {
|
|
1491
|
-
const pos = columnNamesOrAliases.indexOf(this.rowKeysId);
|
|
1492
|
-
if (pos !== -1) {
|
|
1493
|
-
// Always the last column
|
|
1494
|
-
columnNamesOrAliases.pop();
|
|
1495
|
-
}
|
|
1496
|
-
}
|
|
1497
|
-
}
|
|
1498
1409
|
}
|
|
1499
1410
|
/* *
|
|
1500
1411
|
*
|
|
@@ -2246,8 +2157,6 @@
|
|
|
2246
2157
|
/**
|
|
2247
2158
|
* Parse a date and return it as a number.
|
|
2248
2159
|
*
|
|
2249
|
-
* @function Highcharts.Data#parseDate
|
|
2250
|
-
*
|
|
2251
2160
|
* @param {string} value
|
|
2252
2161
|
* Value to parse.
|
|
2253
2162
|
*
|
|
@@ -6325,7 +6234,6 @@
|
|
|
6325
6234
|
table.deleteColumns();
|
|
6326
6235
|
converter.parse({ data });
|
|
6327
6236
|
table.setColumns(converter.getTable().getColumns());
|
|
6328
|
-
table.setRowKeysColumn(data.length);
|
|
6329
6237
|
}
|
|
6330
6238
|
return connector.setModifierOptions(dataModifier).then(() => data);
|
|
6331
6239
|
})
|
|
@@ -6518,6 +6426,7 @@
|
|
|
6518
6426
|
* - Gøran Slettemark
|
|
6519
6427
|
* - Wojciech Chmiel
|
|
6520
6428
|
* - Sophie Bremer
|
|
6429
|
+
* - Jomar Hønsi
|
|
6521
6430
|
*
|
|
6522
6431
|
* */
|
|
6523
6432
|
const { merge, pick } = U;
|
|
@@ -6586,6 +6495,9 @@
|
|
|
6586
6495
|
table,
|
|
6587
6496
|
url
|
|
6588
6497
|
});
|
|
6498
|
+
if (!URL.canParse(url)) {
|
|
6499
|
+
throw new Error('Invalid URL: ' + url);
|
|
6500
|
+
}
|
|
6589
6501
|
return fetch(url)
|
|
6590
6502
|
.then((response) => (response.json()))
|
|
6591
6503
|
.then((json) => {
|
|
@@ -6632,7 +6544,6 @@
|
|
|
6632
6544
|
GoogleSheetsConnector.defaultOptions = {
|
|
6633
6545
|
googleAPIKey: '',
|
|
6634
6546
|
googleSpreadsheetKey: '',
|
|
6635
|
-
worksheet: 1,
|
|
6636
6547
|
enablePolling: false,
|
|
6637
6548
|
dataRefreshRate: 2,
|
|
6638
6549
|
firstRowAsNames: true
|
|
@@ -6664,18 +6575,20 @@
|
|
|
6664
6575
|
* @private
|
|
6665
6576
|
*/
|
|
6666
6577
|
function buildFetchURL(apiKey, sheetKey, options = {}) {
|
|
6667
|
-
|
|
6668
|
-
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6578
|
+
const url = new URL(`https://sheets.googleapis.com/v4/spreadsheets/${sheetKey}/values/`);
|
|
6579
|
+
const range = options.onlyColumnNames ?
|
|
6580
|
+
'A1:Z1' : buildQueryRange(options);
|
|
6581
|
+
url.pathname += range;
|
|
6582
|
+
const searchParams = url.searchParams;
|
|
6583
|
+
searchParams.set('alt', 'json');
|
|
6584
|
+
if (!options.onlyColumnNames) {
|
|
6585
|
+
searchParams.set('dateTimeRenderOption', 'FORMATTED_STRING');
|
|
6586
|
+
searchParams.set('majorDimension', 'COLUMNS');
|
|
6587
|
+
searchParams.set('valueRenderOption', 'UNFORMATTED_VALUE');
|
|
6588
|
+
}
|
|
6589
|
+
searchParams.set('prettyPrint', 'false');
|
|
6590
|
+
searchParams.set('key', apiKey);
|
|
6591
|
+
return url.href;
|
|
6679
6592
|
}
|
|
6680
6593
|
GoogleSheetsConnector.buildFetchURL = buildFetchURL;
|
|
6681
6594
|
/**
|
|
@@ -7191,6 +7104,7 @@
|
|
|
7191
7104
|
*
|
|
7192
7105
|
* Authors:
|
|
7193
7106
|
* - Sophie Bremer
|
|
7107
|
+
* - Dawid Dragula
|
|
7194
7108
|
*
|
|
7195
7109
|
* */
|
|
7196
7110
|
const { merge } = U;
|
|
@@ -7292,32 +7206,30 @@
|
|
|
7292
7206
|
* @return {Promise<Highcharts.DataTable>}
|
|
7293
7207
|
* Table with `modified` property as a reference.
|
|
7294
7208
|
*/
|
|
7295
|
-
modify(table, eventDetail) {
|
|
7209
|
+
async modify(table, eventDetail) {
|
|
7296
7210
|
const modifiers = (this.options.reverse ?
|
|
7297
7211
|
this.chain.slice().reverse() :
|
|
7298
7212
|
this.chain.slice());
|
|
7299
7213
|
if (table.modified === table) {
|
|
7300
7214
|
table.modified = table.clone(false, eventDetail);
|
|
7301
7215
|
}
|
|
7302
|
-
let
|
|
7216
|
+
let modified = table;
|
|
7303
7217
|
for (let i = 0, iEnd = modifiers.length; i < iEnd; ++i) {
|
|
7304
|
-
|
|
7305
|
-
|
|
7218
|
+
try {
|
|
7219
|
+
await modifiers[i].modify(modified, eventDetail);
|
|
7220
|
+
}
|
|
7221
|
+
catch (error) {
|
|
7222
|
+
this.emit({
|
|
7223
|
+
type: 'error',
|
|
7224
|
+
detail: eventDetail,
|
|
7225
|
+
table
|
|
7226
|
+
});
|
|
7227
|
+
throw error;
|
|
7228
|
+
}
|
|
7229
|
+
modified = modified.modified;
|
|
7306
7230
|
}
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
table.modified.setColumns(chainTable.modified.getColumns());
|
|
7310
|
-
return table;
|
|
7311
|
-
});
|
|
7312
|
-
promiseChain = promiseChain['catch']((error) => {
|
|
7313
|
-
this.emit({
|
|
7314
|
-
type: 'error',
|
|
7315
|
-
detail: eventDetail,
|
|
7316
|
-
table
|
|
7317
|
-
});
|
|
7318
|
-
throw error;
|
|
7319
|
-
});
|
|
7320
|
-
return promiseChain;
|
|
7231
|
+
table.modified = modified;
|
|
7232
|
+
return table;
|
|
7321
7233
|
}
|
|
7322
7234
|
/**
|
|
7323
7235
|
* Applies partial modifications of a cell change to the property `modified`
|
|
@@ -7815,8 +7727,8 @@
|
|
|
7815
7727
|
* @param {Highcharts.DataTable} table
|
|
7816
7728
|
* Table to extract column from and use as reference.
|
|
7817
7729
|
*
|
|
7818
|
-
* @param {string}
|
|
7819
|
-
* Name
|
|
7730
|
+
* @param {string} columnName
|
|
7731
|
+
* Name of column to process.
|
|
7820
7732
|
*
|
|
7821
7733
|
* @param {number} rowIndex
|
|
7822
7734
|
* Row index to start the replacing process from.
|
|
@@ -7824,8 +7736,8 @@
|
|
|
7824
7736
|
* @return {Highcharts.DataTableColumn}
|
|
7825
7737
|
* Returns the processed table column.
|
|
7826
7738
|
*/
|
|
7827
|
-
processColumn(table,
|
|
7828
|
-
const alternativeSeparators = this.options.alternativeSeparators, column = (table.getColumn(
|
|
7739
|
+
processColumn(table, columnName, rowIndex = 0) {
|
|
7740
|
+
const alternativeSeparators = this.options.alternativeSeparators, column = (table.getColumn(columnName, true) || [])
|
|
7829
7741
|
.slice(rowIndex > 0 ? rowIndex : 0);
|
|
7830
7742
|
for (let i = 0, iEnd = column.length, cacheFormula = [], cacheString = '', cell; i < iEnd; ++i) {
|
|
7831
7743
|
cell = column[i];
|
|
@@ -7919,6 +7831,7 @@
|
|
|
7919
7831
|
*
|
|
7920
7832
|
* Authors:
|
|
7921
7833
|
* - Sophie Bremer
|
|
7834
|
+
* - Dawid Dragula
|
|
7922
7835
|
*
|
|
7923
7836
|
* */
|
|
7924
7837
|
const { merge } = U;
|
|
@@ -7967,6 +7880,7 @@
|
|
|
7967
7880
|
modifyTable(table, eventDetail) {
|
|
7968
7881
|
const modifier = this;
|
|
7969
7882
|
modifier.emit({ type: 'modify', detail: eventDetail, table });
|
|
7883
|
+
let indexes = [];
|
|
7970
7884
|
const { additive, ranges, strict } = modifier.options;
|
|
7971
7885
|
if (ranges.length) {
|
|
7972
7886
|
const modified = table.modified;
|
|
@@ -7980,11 +7894,13 @@
|
|
|
7980
7894
|
if (i > 0 && !additive) {
|
|
7981
7895
|
modified.deleteRows();
|
|
7982
7896
|
modified.setRows(rows);
|
|
7897
|
+
modified.setOriginalRowIndexes(indexes, true);
|
|
7983
7898
|
columns = modified.getColumns();
|
|
7984
7899
|
rows = [];
|
|
7900
|
+
indexes = [];
|
|
7985
7901
|
}
|
|
7986
7902
|
rangeColumn = (columns[range.column] || []);
|
|
7987
|
-
for (let j = 0, jEnd = rangeColumn.length, cell, row; j < jEnd; ++j) {
|
|
7903
|
+
for (let j = 0, jEnd = rangeColumn.length, cell, row, originalRowIndex; j < jEnd; ++j) {
|
|
7988
7904
|
cell = rangeColumn[j];
|
|
7989
7905
|
switch (typeof cell) {
|
|
7990
7906
|
default:
|
|
@@ -8000,17 +7916,24 @@
|
|
|
8000
7916
|
}
|
|
8001
7917
|
if (cell >= range.minValue &&
|
|
8002
7918
|
cell <= range.maxValue) {
|
|
8003
|
-
|
|
8004
|
-
table.getRow(j)
|
|
8005
|
-
|
|
7919
|
+
if (additive) {
|
|
7920
|
+
row = table.getRow(j);
|
|
7921
|
+
originalRowIndex = table.getOriginalRowIndex(j);
|
|
7922
|
+
}
|
|
7923
|
+
else {
|
|
7924
|
+
row = modified.getRow(j);
|
|
7925
|
+
originalRowIndex = modified.getOriginalRowIndex(j);
|
|
7926
|
+
}
|
|
8006
7927
|
if (row) {
|
|
8007
7928
|
rows.push(row);
|
|
7929
|
+
indexes.push(originalRowIndex);
|
|
8008
7930
|
}
|
|
8009
7931
|
}
|
|
8010
7932
|
}
|
|
8011
7933
|
}
|
|
8012
7934
|
modified.deleteRows();
|
|
8013
7935
|
modified.setRows(rows);
|
|
7936
|
+
modified.setOriginalRowIndexes(indexes);
|
|
8014
7937
|
}
|
|
8015
7938
|
modifier.emit({ type: 'afterModify', detail: eventDetail, table });
|
|
8016
7939
|
return table;
|
|
@@ -8048,6 +7971,7 @@
|
|
|
8048
7971
|
*
|
|
8049
7972
|
* Authors:
|
|
8050
7973
|
* - Sophie Bremer
|
|
7974
|
+
* - Dawid Dragula
|
|
8051
7975
|
*
|
|
8052
7976
|
* */
|
|
8053
7977
|
const { merge } = U;
|
|
@@ -8263,11 +8187,16 @@
|
|
|
8263
8187
|
modified.setColumns({ [orderInColumn]: column });
|
|
8264
8188
|
}
|
|
8265
8189
|
else {
|
|
8190
|
+
const originalIndexes = [];
|
|
8266
8191
|
const rows = [];
|
|
8192
|
+
let rowReference;
|
|
8267
8193
|
for (let i = 0; i < rowCount; ++i) {
|
|
8268
|
-
|
|
8194
|
+
rowReference = rowReferences[i];
|
|
8195
|
+
originalIndexes.push(modified.getOriginalRowIndex(rowReference.index));
|
|
8196
|
+
rows.push(rowReference.row);
|
|
8269
8197
|
}
|
|
8270
8198
|
modified.setRows(rows, 0);
|
|
8199
|
+
modified.setOriginalRowIndexes(originalIndexes);
|
|
8271
8200
|
}
|
|
8272
8201
|
modifier.emit({ type: 'afterModify', detail: eventDetail, table });
|
|
8273
8202
|
return table;
|