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.
Files changed (520) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +15 -3
  3. package/es-modules/Accessibility/AccessibilityComponent.js +38 -30
  4. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +12 -1
  5. package/es-modules/Core/Axis/Axis.js +15 -12
  6. package/es-modules/Core/Axis/AxisDefaults.js +4 -2
  7. package/es-modules/Core/Axis/DateTimeAxis.js +3 -3
  8. package/es-modules/Core/Axis/GridAxis.js +2 -2
  9. package/es-modules/Core/Axis/LogarithmicAxis.js +5 -10
  10. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +54 -13
  11. package/es-modules/Core/Axis/ScrollbarAxis.js +12 -2
  12. package/es-modules/Core/Axis/Tick.js +1 -1
  13. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +6 -9
  14. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +2 -2
  15. package/es-modules/Core/Chart/Chart.js +31 -13
  16. package/es-modules/Core/Chart/StockChart.js +3 -5
  17. package/es-modules/Core/Color/Color.js +1 -0
  18. package/es-modules/Core/Defaults.js +10 -8
  19. package/es-modules/Core/Legend/LegendSymbol.js +1 -1
  20. package/es-modules/Core/Pointer.js +3 -2
  21. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -0
  22. package/es-modules/Core/Renderer/SVG/Symbols.js +2 -2
  23. package/es-modules/Core/Series/DataLabel.js +9 -0
  24. package/es-modules/Core/Series/Series.js +1 -1
  25. package/es-modules/Core/Tooltip.js +14 -4
  26. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +18 -13
  27. package/es-modules/Data/Connectors/JSONConnector.js +0 -1
  28. package/es-modules/Data/Converters/DataConverter.js +0 -2
  29. package/es-modules/Data/DataTable.js +163 -252
  30. package/es-modules/Data/Modifiers/ChainModifier.js +17 -18
  31. package/es-modules/Data/Modifiers/MathModifier.js +4 -4
  32. package/es-modules/Data/Modifiers/RangeModifier.js +15 -4
  33. package/es-modules/Data/Modifiers/SortModifier.js +7 -1
  34. package/es-modules/Extensions/Annotations/Annotation.js +6 -2
  35. package/es-modules/Extensions/Boost/BoostSeries.js +5 -1
  36. package/es-modules/Extensions/Boost/WGLRenderer.js +0 -6
  37. package/es-modules/Extensions/Data.js +125 -98
  38. package/es-modules/Extensions/Exporting/Exporting.js +5 -1
  39. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +4 -1
  40. package/es-modules/Maps/GeoJSONComposition.js +0 -5
  41. package/es-modules/Series/Bubble/BubblePoint.js +9 -1
  42. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -0
  43. package/es-modules/Series/Heatmap/HeatmapSeries.js +6 -1
  44. package/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -3
  45. package/es-modules/Series/Pictorial/PictorialSeries.js +2 -1
  46. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -0
  47. package/es-modules/Series/Treegraph/TreegraphSeries.js +1 -1
  48. package/es-modules/Stock/Navigator/Navigator.js +8 -2
  49. package/es-modules/masters/highcharts.src.js +1 -1
  50. package/es-modules/tsconfig.tsbuildinfo +1 -1
  51. package/highcharts-3d.js +1 -1
  52. package/highcharts-3d.src.js +1 -1
  53. package/highcharts-gantt.js +3 -3
  54. package/highcharts-gantt.src.js +190 -94
  55. package/highcharts-more.js +2 -2
  56. package/highcharts-more.src.js +10 -2
  57. package/highcharts.d.ts +2092 -528
  58. package/highcharts.js +3 -3
  59. package/highcharts.src.d.ts +2092 -528
  60. package/highcharts.src.js +160 -77
  61. package/highmaps.js +3 -3
  62. package/highmaps.src.js +178 -87
  63. package/highstock.js +3 -3
  64. package/highstock.src.js +183 -86
  65. package/indicators/acceleration-bands.js +1 -1
  66. package/indicators/acceleration-bands.src.js +1 -1
  67. package/indicators/accumulation-distribution.js +1 -1
  68. package/indicators/accumulation-distribution.src.js +1 -1
  69. package/indicators/ao.js +1 -1
  70. package/indicators/ao.src.js +1 -1
  71. package/indicators/apo.js +1 -1
  72. package/indicators/apo.src.js +1 -1
  73. package/indicators/aroon-oscillator.js +1 -1
  74. package/indicators/aroon-oscillator.src.js +1 -1
  75. package/indicators/aroon.js +1 -1
  76. package/indicators/aroon.src.js +1 -1
  77. package/indicators/atr.js +1 -1
  78. package/indicators/atr.src.js +1 -1
  79. package/indicators/bollinger-bands.js +1 -1
  80. package/indicators/bollinger-bands.src.js +1 -1
  81. package/indicators/cci.js +1 -1
  82. package/indicators/cci.src.js +1 -1
  83. package/indicators/chaikin.js +1 -1
  84. package/indicators/chaikin.src.js +1 -1
  85. package/indicators/cmf.js +1 -1
  86. package/indicators/cmf.src.js +1 -1
  87. package/indicators/cmo.js +1 -1
  88. package/indicators/cmo.src.js +1 -1
  89. package/indicators/dema.js +1 -1
  90. package/indicators/dema.src.js +1 -1
  91. package/indicators/disparity-index.js +1 -1
  92. package/indicators/disparity-index.src.js +1 -1
  93. package/indicators/dmi.js +1 -1
  94. package/indicators/dmi.src.js +1 -1
  95. package/indicators/dpo.js +1 -1
  96. package/indicators/dpo.src.js +1 -1
  97. package/indicators/ichimoku-kinko-hyo.js +1 -1
  98. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  99. package/indicators/indicators-all.js +1 -1
  100. package/indicators/indicators-all.src.js +1 -1
  101. package/indicators/indicators.js +1 -1
  102. package/indicators/indicators.src.js +1 -1
  103. package/indicators/keltner-channels.js +1 -1
  104. package/indicators/keltner-channels.src.js +1 -1
  105. package/indicators/klinger.js +1 -1
  106. package/indicators/klinger.src.js +1 -1
  107. package/indicators/macd.js +1 -1
  108. package/indicators/macd.src.js +1 -1
  109. package/indicators/mfi.js +1 -1
  110. package/indicators/mfi.src.js +1 -1
  111. package/indicators/momentum.js +1 -1
  112. package/indicators/momentum.src.js +1 -1
  113. package/indicators/natr.js +1 -1
  114. package/indicators/natr.src.js +1 -1
  115. package/indicators/obv.js +1 -1
  116. package/indicators/obv.src.js +1 -1
  117. package/indicators/pivot-points.js +1 -1
  118. package/indicators/pivot-points.src.js +1 -1
  119. package/indicators/ppo.js +1 -1
  120. package/indicators/ppo.src.js +1 -1
  121. package/indicators/price-channel.js +1 -1
  122. package/indicators/price-channel.src.js +1 -1
  123. package/indicators/price-envelopes.js +1 -1
  124. package/indicators/price-envelopes.src.js +1 -1
  125. package/indicators/psar.js +1 -1
  126. package/indicators/psar.src.js +1 -1
  127. package/indicators/regressions.js +1 -1
  128. package/indicators/regressions.src.js +1 -1
  129. package/indicators/roc.js +1 -1
  130. package/indicators/roc.src.js +1 -1
  131. package/indicators/rsi.js +1 -1
  132. package/indicators/rsi.src.js +1 -1
  133. package/indicators/slow-stochastic.js +1 -1
  134. package/indicators/slow-stochastic.src.js +1 -1
  135. package/indicators/stochastic.js +1 -1
  136. package/indicators/stochastic.src.js +1 -1
  137. package/indicators/supertrend.js +1 -1
  138. package/indicators/supertrend.src.js +1 -1
  139. package/indicators/tema.js +1 -1
  140. package/indicators/tema.src.js +1 -1
  141. package/indicators/trendline.js +1 -1
  142. package/indicators/trendline.src.js +1 -1
  143. package/indicators/trix.js +1 -1
  144. package/indicators/trix.src.js +1 -1
  145. package/indicators/volume-by-price.js +1 -1
  146. package/indicators/volume-by-price.src.js +1 -1
  147. package/indicators/vwap.js +1 -1
  148. package/indicators/vwap.src.js +1 -1
  149. package/indicators/williams-r.js +1 -1
  150. package/indicators/williams-r.src.js +1 -1
  151. package/indicators/wma.js +1 -1
  152. package/indicators/wma.src.js +1 -1
  153. package/indicators/zigzag.js +1 -1
  154. package/indicators/zigzag.src.js +1 -1
  155. package/modules/accessibility.d.ts +11 -5
  156. package/modules/accessibility.js +2 -2
  157. package/modules/accessibility.src.d.ts +11 -5
  158. package/modules/accessibility.src.js +87 -39
  159. package/modules/annotations-advanced.js +2 -2
  160. package/modules/annotations-advanced.src.js +9 -5
  161. package/modules/annotations.js +2 -2
  162. package/modules/annotations.src.js +9 -5
  163. package/modules/arc-diagram.js +2 -2
  164. package/modules/arc-diagram.src.js +7 -6
  165. package/modules/arrow-symbols.js +1 -1
  166. package/modules/arrow-symbols.src.js +1 -1
  167. package/modules/boost-canvas.js +2 -2
  168. package/modules/boost-canvas.src.js +6 -8
  169. package/modules/boost.js +2 -2
  170. package/modules/boost.src.js +6 -8
  171. package/modules/broken-axis.js +1 -1
  172. package/modules/broken-axis.src.js +1 -1
  173. package/modules/bullet.js +1 -1
  174. package/modules/bullet.src.js +1 -1
  175. package/modules/coloraxis.js +1 -1
  176. package/modules/coloraxis.src.js +1 -1
  177. package/modules/current-date-indicator.js +1 -1
  178. package/modules/current-date-indicator.src.js +1 -1
  179. package/modules/cylinder.js +1 -1
  180. package/modules/cylinder.src.js +1 -1
  181. package/modules/data-tools.js +2 -2
  182. package/modules/data-tools.src.js +225 -296
  183. package/modules/data.d.ts +10 -1
  184. package/modules/data.js +2 -2
  185. package/modules/data.src.d.ts +10 -1
  186. package/modules/data.src.js +126 -100
  187. package/modules/datagrouping.js +1 -1
  188. package/modules/datagrouping.src.js +1 -1
  189. package/modules/debugger.js +1 -1
  190. package/modules/debugger.src.js +1 -1
  191. package/modules/dependency-wheel.js +1 -1
  192. package/modules/dependency-wheel.src.js +1 -1
  193. package/modules/dotplot.js +1 -1
  194. package/modules/dotplot.src.js +1 -1
  195. package/modules/drag-panes.js +1 -1
  196. package/modules/drag-panes.src.js +1 -1
  197. package/modules/draggable-points.js +1 -1
  198. package/modules/draggable-points.src.js +1 -1
  199. package/modules/drilldown.js +1 -1
  200. package/modules/drilldown.src.js +1 -1
  201. package/modules/dumbbell.js +1 -1
  202. package/modules/dumbbell.src.js +1 -1
  203. package/modules/export-data.js +1 -1
  204. package/modules/export-data.src.js +1 -1
  205. package/modules/exporting.js +2 -2
  206. package/modules/exporting.src.js +6 -2
  207. package/modules/flowmap.js +1 -1
  208. package/modules/flowmap.src.js +1 -1
  209. package/modules/full-screen.js +1 -1
  210. package/modules/full-screen.src.js +1 -1
  211. package/modules/funnel.js +1 -1
  212. package/modules/funnel.src.js +1 -1
  213. package/modules/funnel3d.js +1 -1
  214. package/modules/funnel3d.src.js +2 -1
  215. package/modules/gantt.js +2 -2
  216. package/modules/gantt.src.js +31 -18
  217. package/modules/geoheatmap.js +1 -1
  218. package/modules/geoheatmap.src.js +1 -1
  219. package/modules/grid-axis.js +2 -2
  220. package/modules/grid-axis.src.js +3 -3
  221. package/modules/heatmap.js +2 -2
  222. package/modules/heatmap.src.js +7 -2
  223. package/modules/heikinashi.js +1 -1
  224. package/modules/heikinashi.src.js +1 -1
  225. package/modules/histogram-bellcurve.js +1 -1
  226. package/modules/histogram-bellcurve.src.js +1 -1
  227. package/modules/hollowcandlestick.js +1 -1
  228. package/modules/hollowcandlestick.src.js +1 -1
  229. package/modules/item-series.js +1 -1
  230. package/modules/item-series.src.js +1 -1
  231. package/modules/lollipop.js +1 -1
  232. package/modules/lollipop.src.js +1 -1
  233. package/modules/map.js +2 -2
  234. package/modules/map.src.js +19 -11
  235. package/modules/marker-clusters.js +1 -1
  236. package/modules/marker-clusters.src.js +1 -1
  237. package/modules/mouse-wheel-zoom.js +1 -1
  238. package/modules/mouse-wheel-zoom.src.js +1 -1
  239. package/modules/navigator.js +2 -2
  240. package/modules/navigator.src.js +21 -5
  241. package/modules/networkgraph.js +1 -1
  242. package/modules/networkgraph.src.js +1 -1
  243. package/modules/no-data-to-display.js +1 -1
  244. package/modules/no-data-to-display.src.js +1 -1
  245. package/modules/offline-exporting.js +2 -2
  246. package/modules/offline-exporting.src.js +6 -3
  247. package/modules/organization.js +1 -1
  248. package/modules/organization.src.js +1 -1
  249. package/modules/overlapping-datalabels.js +1 -1
  250. package/modules/overlapping-datalabels.src.js +1 -1
  251. package/modules/parallel-coordinates.js +1 -1
  252. package/modules/parallel-coordinates.src.js +1 -1
  253. package/modules/pareto.js +1 -1
  254. package/modules/pareto.src.js +1 -1
  255. package/modules/pathfinder.js +1 -1
  256. package/modules/pathfinder.src.js +1 -1
  257. package/modules/pattern-fill.js +1 -1
  258. package/modules/pattern-fill.src.js +1 -1
  259. package/modules/pictorial.js +1 -1
  260. package/modules/pictorial.src.js +3 -2
  261. package/modules/price-indicator.js +1 -1
  262. package/modules/price-indicator.src.js +1 -1
  263. package/modules/pyramid3d.js +1 -1
  264. package/modules/pyramid3d.src.js +2 -1
  265. package/modules/sankey.js +1 -1
  266. package/modules/sankey.src.js +1 -1
  267. package/modules/series-label.js +1 -1
  268. package/modules/series-label.src.js +1 -1
  269. package/modules/series-on-point.js +1 -1
  270. package/modules/series-on-point.src.js +1 -1
  271. package/modules/solid-gauge.js +1 -1
  272. package/modules/solid-gauge.src.js +1 -1
  273. package/modules/sonification.js +1 -1
  274. package/modules/sonification.src.js +1 -1
  275. package/modules/static-scale.js +1 -1
  276. package/modules/static-scale.src.js +1 -1
  277. package/modules/stock-tools.js +2 -2
  278. package/modules/stock-tools.src.js +3 -3
  279. package/modules/stock.js +2 -2
  280. package/modules/stock.src.js +24 -10
  281. package/modules/streamgraph.js +1 -1
  282. package/modules/streamgraph.src.js +1 -1
  283. package/modules/sunburst.js +1 -1
  284. package/modules/sunburst.src.js +1 -1
  285. package/modules/textpath.js +1 -1
  286. package/modules/textpath.src.js +1 -1
  287. package/modules/tiledwebmap.js +1 -1
  288. package/modules/tiledwebmap.src.js +1 -1
  289. package/modules/tilemap.js +1 -1
  290. package/modules/tilemap.src.js +1 -1
  291. package/modules/timeline.js +1 -1
  292. package/modules/timeline.src.js +1 -1
  293. package/modules/treegraph.js +2 -2
  294. package/modules/treegraph.src.js +2 -2
  295. package/modules/treegrid.js +2 -2
  296. package/modules/treegrid.src.js +11 -14
  297. package/modules/treemap.js +1 -1
  298. package/modules/treemap.src.js +1 -1
  299. package/modules/variable-pie.js +1 -1
  300. package/modules/variable-pie.src.js +1 -1
  301. package/modules/variwide.js +1 -1
  302. package/modules/variwide.src.js +1 -1
  303. package/modules/vector.js +1 -1
  304. package/modules/vector.src.js +1 -1
  305. package/modules/venn.js +1 -1
  306. package/modules/venn.src.js +1 -1
  307. package/modules/windbarb.js +1 -1
  308. package/modules/windbarb.src.js +1 -1
  309. package/modules/wordcloud.js +1 -1
  310. package/modules/wordcloud.src.js +1 -1
  311. package/modules/xrange.js +1 -1
  312. package/modules/xrange.src.js +1 -1
  313. package/options/abands.d.ts +9 -2
  314. package/options/abands.src.d.ts +9 -2
  315. package/options/ad.d.ts +18 -4
  316. package/options/ad.src.d.ts +18 -4
  317. package/options/apo.d.ts +18 -4
  318. package/options/apo.src.d.ts +18 -4
  319. package/options/arearange.d.ts +18 -4
  320. package/options/arearange.src.d.ts +18 -4
  321. package/options/areaspline.d.ts +18 -4
  322. package/options/areaspline.src.d.ts +18 -4
  323. package/options/areasplinerange.d.ts +9 -2
  324. package/options/areasplinerange.src.d.ts +9 -2
  325. package/options/aroonoscillator.d.ts +9 -2
  326. package/options/aroonoscillator.src.d.ts +9 -2
  327. package/options/bar.d.ts +9 -2
  328. package/options/bar.src.d.ts +9 -2
  329. package/options/bb.d.ts +18 -4
  330. package/options/bb.src.d.ts +18 -4
  331. package/options/bubble.d.ts +9 -2
  332. package/options/bubble.src.d.ts +9 -2
  333. package/options/bullet.d.ts +9 -2
  334. package/options/bullet.src.d.ts +9 -2
  335. package/options/candlestick.d.ts +18 -4
  336. package/options/candlestick.src.d.ts +18 -4
  337. package/options/cci.d.ts +9 -2
  338. package/options/cci.src.d.ts +9 -2
  339. package/options/chaikin.d.ts +9 -2
  340. package/options/chaikin.src.d.ts +9 -2
  341. package/options/cmf.d.ts +9 -2
  342. package/options/cmf.src.d.ts +9 -2
  343. package/options/cmo.d.ts +9 -2
  344. package/options/cmo.src.d.ts +9 -2
  345. package/options/column.d.ts +18 -4
  346. package/options/column.src.d.ts +18 -4
  347. package/options/columnpyramid.d.ts +18 -4
  348. package/options/columnpyramid.src.d.ts +18 -4
  349. package/options/columnrange.d.ts +18 -4
  350. package/options/columnrange.src.d.ts +18 -4
  351. package/options/cylinder.d.ts +9 -2
  352. package/options/cylinder.src.d.ts +9 -2
  353. package/options/dema.d.ts +18 -4
  354. package/options/dema.src.d.ts +18 -4
  355. package/options/dependencywheel.d.ts +18 -4
  356. package/options/dependencywheel.src.d.ts +18 -4
  357. package/options/disparityindex.d.ts +9 -2
  358. package/options/disparityindex.src.d.ts +9 -2
  359. package/options/dmi.d.ts +9 -2
  360. package/options/dmi.src.d.ts +9 -2
  361. package/options/dpo.d.ts +9 -2
  362. package/options/dpo.src.d.ts +9 -2
  363. package/options/dumbbell.d.ts +9 -2
  364. package/options/dumbbell.src.d.ts +9 -2
  365. package/options/ema.d.ts +18 -4
  366. package/options/ema.src.d.ts +18 -4
  367. package/options/flags.d.ts +9 -2
  368. package/options/flags.src.d.ts +9 -2
  369. package/options/funnel.d.ts +18 -4
  370. package/options/funnel.src.d.ts +18 -4
  371. package/options/gantt.d.ts +18 -4
  372. package/options/gantt.src.d.ts +18 -4
  373. package/options/gauge.d.ts +9 -2
  374. package/options/gauge.src.d.ts +9 -2
  375. package/options/histogram.d.ts +9 -2
  376. package/options/histogram.src.d.ts +9 -2
  377. package/options/hlc.d.ts +9 -2
  378. package/options/hlc.src.d.ts +9 -2
  379. package/options/hollowcandlestick.d.ts +9 -2
  380. package/options/hollowcandlestick.src.d.ts +9 -2
  381. package/options/keltnerchannels.d.ts +9 -2
  382. package/options/keltnerchannels.src.d.ts +9 -2
  383. package/options/klinger.d.ts +9 -2
  384. package/options/klinger.src.d.ts +9 -2
  385. package/options/line.d.ts +9 -2
  386. package/options/line.src.d.ts +9 -2
  387. package/options/linearregression.d.ts +18 -4
  388. package/options/linearregression.src.d.ts +18 -4
  389. package/options/linearregressionangle.d.ts +9 -2
  390. package/options/linearregressionangle.src.d.ts +9 -2
  391. package/options/lollipop.d.ts +18 -4
  392. package/options/lollipop.src.d.ts +18 -4
  393. package/options/macd.d.ts +9 -2
  394. package/options/macd.src.d.ts +9 -2
  395. package/options/map.d.ts +18 -4
  396. package/options/map.src.d.ts +18 -4
  397. package/options/mapbubble.d.ts +9 -2
  398. package/options/mapbubble.src.d.ts +9 -2
  399. package/options/mapline.d.ts +9 -2
  400. package/options/mapline.src.d.ts +9 -2
  401. package/options/mfi.d.ts +9 -2
  402. package/options/mfi.src.d.ts +9 -2
  403. package/options/momentum.d.ts +9 -2
  404. package/options/momentum.src.d.ts +9 -2
  405. package/options/natr.d.ts +9 -2
  406. package/options/natr.src.d.ts +9 -2
  407. package/options/obv.d.ts +9 -2
  408. package/options/obv.src.d.ts +9 -2
  409. package/options/ohlc.d.ts +18 -4
  410. package/options/ohlc.src.d.ts +18 -4
  411. package/options/organization.d.ts +9 -2
  412. package/options/organization.src.d.ts +9 -2
  413. package/options/packedbubble.d.ts +9 -2
  414. package/options/packedbubble.src.d.ts +9 -2
  415. package/options/pareto.d.ts +18 -4
  416. package/options/pareto.src.d.ts +18 -4
  417. package/options/pc.d.ts +9 -2
  418. package/options/pc.src.d.ts +9 -2
  419. package/options/pie.d.ts +9 -2
  420. package/options/pie.src.d.ts +9 -2
  421. package/options/polygon.d.ts +9 -2
  422. package/options/polygon.src.d.ts +9 -2
  423. package/options/ppo.d.ts +18 -4
  424. package/options/ppo.src.d.ts +18 -4
  425. package/options/psar.d.ts +18 -4
  426. package/options/psar.src.d.ts +18 -4
  427. package/options/pyramid.d.ts +36 -8
  428. package/options/pyramid.src.d.ts +36 -8
  429. package/options/roc.d.ts +9 -2
  430. package/options/roc.src.d.ts +9 -2
  431. package/options/rsi.d.ts +9 -2
  432. package/options/rsi.src.d.ts +9 -2
  433. package/options/sankey.d.ts +18 -4
  434. package/options/sankey.src.d.ts +18 -4
  435. package/options/scatter.d.ts +9 -2
  436. package/options/scatter.src.d.ts +9 -2
  437. package/options/series.d.ts +9 -2
  438. package/options/series.src.d.ts +9 -2
  439. package/options/slowstochastic.d.ts +9 -2
  440. package/options/slowstochastic.src.d.ts +9 -2
  441. package/options/sma.d.ts +9 -2
  442. package/options/sma.src.d.ts +9 -2
  443. package/options/solidgauge.d.ts +9 -2
  444. package/options/solidgauge.src.d.ts +9 -2
  445. package/options/spline.d.ts +9 -2
  446. package/options/spline.src.d.ts +9 -2
  447. package/options/stochastic.d.ts +18 -4
  448. package/options/stochastic.src.d.ts +18 -4
  449. package/options/streamgraph.d.ts +9 -2
  450. package/options/streamgraph.src.d.ts +9 -2
  451. package/options/sunburst.d.ts +18 -4
  452. package/options/sunburst.src.d.ts +18 -4
  453. package/options/supertrend.d.ts +9 -2
  454. package/options/supertrend.src.d.ts +9 -2
  455. package/options/tema.d.ts +9 -2
  456. package/options/tema.src.d.ts +9 -2
  457. package/options/tiledwebmap.d.ts +9 -2
  458. package/options/tiledwebmap.src.d.ts +9 -2
  459. package/options/tilemap.d.ts +9 -2
  460. package/options/tilemap.src.d.ts +9 -2
  461. package/options/treegraph.d.ts +18 -4
  462. package/options/treegraph.src.d.ts +18 -4
  463. package/options/treemap.d.ts +18 -4
  464. package/options/treemap.src.d.ts +18 -4
  465. package/options/trendline.d.ts +9 -2
  466. package/options/trendline.src.d.ts +9 -2
  467. package/options/trix.d.ts +9 -2
  468. package/options/trix.src.d.ts +9 -2
  469. package/options/variablepie.d.ts +18 -4
  470. package/options/variablepie.src.d.ts +18 -4
  471. package/options/variwide.d.ts +18 -4
  472. package/options/variwide.src.d.ts +18 -4
  473. package/options/vbp.d.ts +9 -2
  474. package/options/vbp.src.d.ts +9 -2
  475. package/options/vector.d.ts +9 -2
  476. package/options/vector.src.d.ts +9 -2
  477. package/options/vwap.d.ts +9 -2
  478. package/options/vwap.src.d.ts +9 -2
  479. package/options/waterfall.d.ts +18 -4
  480. package/options/waterfall.src.d.ts +18 -4
  481. package/options/williamsr.d.ts +9 -2
  482. package/options/williamsr.src.d.ts +9 -2
  483. package/options/wma.d.ts +9 -2
  484. package/options/wma.src.d.ts +9 -2
  485. package/options/wordcloud.d.ts +9 -2
  486. package/options/wordcloud.src.d.ts +9 -2
  487. package/options/xrange.d.ts +18 -4
  488. package/options/xrange.src.d.ts +18 -4
  489. package/package.json +1 -1
  490. package/standalone-navigator.js +2 -2
  491. package/standalone-navigator.src.js +179 -80
  492. package/themes/avocado.js +1 -1
  493. package/themes/avocado.src.js +1 -1
  494. package/themes/brand-dark.js +1 -1
  495. package/themes/brand-dark.src.js +1 -1
  496. package/themes/brand-light.js +1 -1
  497. package/themes/brand-light.src.js +1 -1
  498. package/themes/dark-blue.js +1 -1
  499. package/themes/dark-blue.src.js +1 -1
  500. package/themes/dark-green.js +1 -1
  501. package/themes/dark-green.src.js +1 -1
  502. package/themes/dark-unica.js +1 -1
  503. package/themes/dark-unica.src.js +1 -1
  504. package/themes/gray.js +1 -1
  505. package/themes/gray.src.js +1 -1
  506. package/themes/grid-light.js +1 -1
  507. package/themes/grid-light.src.js +1 -1
  508. package/themes/grid.js +1 -1
  509. package/themes/grid.src.js +1 -1
  510. package/themes/high-contrast-dark.js +1 -1
  511. package/themes/high-contrast-dark.src.js +1 -1
  512. package/themes/high-contrast-light.js +1 -1
  513. package/themes/high-contrast-light.src.js +1 -1
  514. package/themes/sand-signika.js +1 -1
  515. package/themes/sand-signika.src.js +1 -1
  516. package/themes/skies.js +1 -1
  517. package/themes/skies.src.js +1 -1
  518. package/themes/sunset.js +1 -1
  519. package/themes/sunset.src.js +1 -1
  520. package/es-modules/Core/Series/KDPointSearchObjectLike.js +0 -10
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.6 (2024-07-08)
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 (no alias) of columns to delete. If no array is provided, all
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
- let nColumns = Object.keys(columns).length;
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} columnNameOrAlias
681
- * Column name or alias of the cell to retrieve.
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(columnNameOrAlias, rowIndex) {
654
+ getCell(columnName, rowIndex) {
690
655
  const table = this;
691
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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} columnNameOrAlias
704
- * Column name or alias to fetch.
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(columnNameOrAlias, rowIndex) {
675
+ getCellAsBoolean(columnName, rowIndex) {
713
676
  const table = this;
714
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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} columnNameOrAlias
725
- * Column name or alias to fetch.
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(columnNameOrAlias, rowIndex, useNaN) {
697
+ getCellAsNumber(columnName, rowIndex, useNaN) {
737
698
  const table = this;
738
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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} columnNameOrAlias
757
- * Column name or alias to fetch.
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(columnNameOrAlias, rowIndex) {
724
+ getCellAsString(columnName, rowIndex) {
766
725
  const table = this;
767
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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 or by an alias.
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} columnNameOrAlias
780
- * Name or alias of the column to get, alias takes precedence.
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(columnNameOrAlias, asReference) {
789
- return this.getColumns([columnNameOrAlias], asReference)[columnNameOrAlias];
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 or by an alias, and
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} columnNameOrAlias
801
- * Name or alias of the column to get, alias takes precedence.
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(columnNameOrAlias, useNaN) {
766
+ getColumnAsNumbers(columnName, useNaN) {
810
767
  const table = this, columns = table.columns;
811
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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(columnNameOrAlias, i, true));
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(columnNameOrAlias, i));
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>} [columnNamesOrAliases]
859
- * Column names or aliases to retrieve. Aliases taking precedence.
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(columnNamesOrAliases, asReference) {
869
- const table = this, tableAliasMap = table.aliases, tableColumns = table.columns, columns = {};
870
- columnNamesOrAliases = (columnNamesOrAliases || Object.keys(tableColumns));
871
- this.removeRowKeysColumn(columnNamesOrAliases);
872
- for (let i = 0, iEnd = columnNamesOrAliases.length, column, columnName; i < iEnd; ++i) {
873
- columnName = columnNamesOrAliases[i];
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>} [columnNamesOrAliases]
901
- * Column names or aliases in order to retrieve.
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, columnNamesOrAliases) {
907
- return this.getRows(rowIndex, 1, columnNamesOrAliases)[0];
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} columnNameOrAlias
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(columnNameOrAlias, cellValue, rowIndexOffset) {
925
+ getRowIndexBy(columnName, cellValue, rowIndexOffset) {
939
926
  const table = this;
940
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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>} [columnNamesOrAliases]
960
- * Column names or aliases and their order to retrieve.
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, columnNamesOrAliases) {
966
- return this.getRowObjects(rowIndex, 1, columnNamesOrAliases)[0];
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>} [columnNamesOrAliases]
980
- * Column names or aliases and their order to retrieve.
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), columnNamesOrAliases) {
986
- const table = this, aliases = table.aliases, columns = table.columns, rows = new Array(rowCount);
987
- columnNamesOrAliases = (columnNamesOrAliases || Object.keys(columns));
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 columnNamesOrAliases) {
992
- column = columns[(aliases[columnName] || columnName)];
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>} [columnNamesOrAliases]
1010
- * Column names or aliases and their order to retrieve.
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), columnNamesOrAliases) {
1016
- const table = this, aliases = table.aliases, columns = table.columns, rows = new Array(rowCount);
1017
- columnNamesOrAliases = (columnNamesOrAliases || Object.keys(columns));
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 columnNamesOrAliases) {
1021
- column = columns[(aliases[columnName] || columnName)];
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 or aliases.
1023
+ * Checks for given column names.
1040
1024
  *
1041
1025
  * @function Highcharts.DataTable#hasColumns
1042
1026
  *
1043
- * @param {Array<string>} columnNamesOrAliases
1044
- * Column names of aliases to check.
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(columnNamesOrAliases) {
1050
- const table = this, aliases = table.aliases, columns = table.columns;
1051
- for (let i = 0, iEnd = columnNamesOrAliases.length, columnName; i < iEnd; ++i) {
1052
- columnName = columnNamesOrAliases[i];
1053
- if (!columns[columnName] && !aliases[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} columnNameOrAlias
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(columnNameOrAlias, cellValue) {
1057
+ hasRowWith(columnName, cellValue) {
1074
1058
  const table = this;
1075
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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 name or alias. Will
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} columnNameOrAlias
1141
- * Column name or alias to set.
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(columnNameOrAlias, rowIndex, cellValue, eventDetail) {
1129
+ setCell(columnName, rowIndex, cellValue, eventDetail) {
1156
1130
  const table = this, columns = table.columns, modifier = table.modifier;
1157
- columnNameOrAlias = (table.aliases[columnNameOrAlias] ||
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: columnNameOrAlias,
1138
+ columnName: columnName,
1167
1139
  detail: eventDetail,
1168
1140
  rowIndex
1169
1141
  });
1170
1142
  if (!column) {
1171
- column = columns[columnNameOrAlias] = new Array(table.rowCount);
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, columnNameOrAlias, rowIndex, cellValue);
1150
+ modifier.modifyCell(table, columnName, rowIndex, cellValue);
1179
1151
  }
1180
1152
  table.emit({
1181
1153
  type: 'afterSetCell',
1182
1154
  cellValue,
1183
- columnName: columnNameOrAlias,
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} columnNameOrAlias
1194
- * Column name or alias to set.
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(columnNameOrAlias, column = [], rowIndex = 0, eventDetail) {
1209
- this.setColumns({ [columnNameOrAlias]: column }, rowIndex, eventDetail);
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 or aliases.
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, aliases = table.aliases, columns = table.columns, columnNames = Object.keys(columns), modifier = table.modifier, rowCount = rows.length;
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
- return (`https://sheets.googleapis.com/v4/spreadsheets/${sheetKey}/values/` +
6668
- (options.onlyColumnNames ?
6669
- 'A1:Z1' :
6670
- buildQueryRange(options)) +
6671
- '?alt=json' +
6672
- (options.onlyColumnNames ?
6673
- '' :
6674
- '&dateTimeRenderOption=FORMATTED_STRING' +
6675
- '&majorDimension=COLUMNS' +
6676
- '&valueRenderOption=UNFORMATTED_VALUE') +
6677
- '&prettyPrint=false' +
6678
- `&key=${apiKey}`);
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 promiseChain = Promise.resolve(table);
7216
+ let modified = table;
7303
7217
  for (let i = 0, iEnd = modifiers.length; i < iEnd; ++i) {
7304
- const modifier = modifiers[i];
7305
- promiseChain = promiseChain.then((chainTable) => modifier.modify(chainTable.modified, eventDetail));
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
- promiseChain = promiseChain.then((chainTable) => {
7308
- table.modified.deleteColumns();
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} columnNameOrAlias
7819
- * Name or alias of column to process.
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, columnNameOrAlias, rowIndex = 0) {
7828
- const alternativeSeparators = this.options.alternativeSeparators, column = (table.getColumn(columnNameOrAlias, true) || [])
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
- row = (additive ?
8004
- table.getRow(j) :
8005
- modified.getRow(j));
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
- rows.push(rowReferences[i].row);
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;