handsontable 14.0.0-next-07c0a60-20231107 → 14.0.0-next-7ee54cb-20231108

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 (328) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +2 -2
  2. package/3rdparty/SheetClip/SheetClip.mjs +2 -2
  3. package/3rdparty/autoResize/autoResize.js +2 -2
  4. package/3rdparty/autoResize/autoResize.mjs +2 -2
  5. package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
  6. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
  7. package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
  8. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
  9. package/3rdparty/walkontable/src/cell/coords.js +7 -5
  10. package/3rdparty/walkontable/src/cell/coords.mjs +7 -5
  11. package/3rdparty/walkontable/src/core/clone.js +6 -0
  12. package/3rdparty/walkontable/src/core/clone.mjs +6 -0
  13. package/3rdparty/walkontable/src/event.js +125 -74
  14. package/3rdparty/walkontable/src/event.mjs +125 -74
  15. package/3rdparty/walkontable/src/filter/column.js +16 -0
  16. package/3rdparty/walkontable/src/filter/column.mjs +16 -0
  17. package/3rdparty/walkontable/src/filter/row.js +16 -0
  18. package/3rdparty/walkontable/src/filter/row.mjs +16 -0
  19. package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/top.js +1 -1
  22. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  23. package/3rdparty/walkontable/src/renderer/_base.js +12 -5
  24. package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
  25. package/3rdparty/walkontable/src/renderer/cells.js +6 -2
  26. package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
  28. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
  29. package/3rdparty/walkontable/src/renderer/rows.js +5 -0
  30. package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
  31. package/3rdparty/walkontable/src/renderer/table.js +24 -17
  32. package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
  33. package/3rdparty/walkontable/src/scroll.js +2 -2
  34. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  35. package/3rdparty/walkontable/src/selection/border/border.js +1 -1
  36. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
  37. package/3rdparty/walkontable/src/settings.js +10 -10
  38. package/3rdparty/walkontable/src/settings.mjs +10 -10
  39. package/3rdparty/walkontable/src/table.js +3 -3
  40. package/3rdparty/walkontable/src/table.mjs +3 -3
  41. package/3rdparty/walkontable/src/utils/column.js +19 -4
  42. package/3rdparty/walkontable/src/utils/column.mjs +19 -4
  43. package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
  44. package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
  45. package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
  46. package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
  47. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
  48. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
  49. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
  50. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
  51. package/3rdparty/walkontable/src/utils/row.js +14 -2
  52. package/3rdparty/walkontable/src/utils/row.mjs +14 -2
  53. package/3rdparty/walkontable/src/viewport.js +9 -9
  54. package/3rdparty/walkontable/src/viewport.mjs +9 -9
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/core.js +31 -26
  58. package/core.mjs +31 -26
  59. package/dataMap/dataMap.js +99 -90
  60. package/dataMap/dataMap.mjs +99 -90
  61. package/dataMap/dataSource.js +14 -8
  62. package/dataMap/dataSource.mjs +14 -8
  63. package/dataMap/metaManager/lazyFactoryMap.js +19 -7
  64. package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
  65. package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
  66. package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
  67. package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
  68. package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
  69. package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
  70. package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
  71. package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
  72. package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
  73. package/dataMap/metaManager/metaSchema.js +55 -55
  74. package/dataMap/metaManager/metaSchema.mjs +55 -55
  75. package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
  76. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
  77. package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
  78. package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
  79. package/dataMap/metaManager/utils.js +2 -2
  80. package/dataMap/metaManager/utils.mjs +2 -2
  81. package/dist/handsontable.css +2 -2
  82. package/dist/handsontable.full.css +2 -2
  83. package/dist/handsontable.full.js +7337 -6394
  84. package/dist/handsontable.full.min.css +2 -2
  85. package/dist/handsontable.full.min.js +154 -154
  86. package/dist/handsontable.js +7336 -6393
  87. package/dist/handsontable.min.css +2 -2
  88. package/dist/handsontable.min.js +28 -28
  89. package/editorManager.js +105 -95
  90. package/editorManager.mjs +105 -95
  91. package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
  93. package/editors/baseEditor/baseEditor.js +23 -26
  94. package/editors/baseEditor/baseEditor.mjs +23 -26
  95. package/editors/dateEditor/dateEditor.js +24 -15
  96. package/editors/dateEditor/dateEditor.mjs +24 -15
  97. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  98. package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
  99. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  100. package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
  101. package/editors/textEditor/textEditor.js +23 -17
  102. package/editors/textEditor/textEditor.mjs +24 -18
  103. package/eventManager.js +8 -0
  104. package/eventManager.mjs +8 -0
  105. package/helpers/array.js +2 -2
  106. package/helpers/array.mjs +2 -2
  107. package/helpers/dom/element.js +7 -7
  108. package/helpers/dom/element.mjs +7 -7
  109. package/helpers/function.js +1 -1
  110. package/helpers/function.mjs +1 -1
  111. package/helpers/mixed.js +1 -1
  112. package/helpers/mixed.mjs +1 -1
  113. package/helpers/object.js +4 -4
  114. package/helpers/object.mjs +4 -4
  115. package/helpers/string.js +1 -1
  116. package/helpers/string.mjs +1 -1
  117. package/package.json +1 -1
  118. package/pluginHooks.d.ts +0 -2
  119. package/pluginHooks.js +12 -3
  120. package/pluginHooks.mjs +12 -3
  121. package/plugins/autoColumnSize/autoColumnSize.js +141 -130
  122. package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
  123. package/plugins/autoRowSize/autoRowSize.js +112 -125
  124. package/plugins/autoRowSize/autoRowSize.mjs +110 -123
  125. package/plugins/autofill/autofill.js +98 -102
  126. package/plugins/autofill/autofill.mjs +97 -101
  127. package/plugins/base/base.js +61 -28
  128. package/plugins/base/base.mjs +60 -28
  129. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
  130. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
  131. package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
  132. package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
  133. package/plugins/columnSorting/columnSorting.js +107 -99
  134. package/plugins/columnSorting/columnSorting.mjs +106 -98
  135. package/plugins/columnSorting/columnStatesManager.js +12 -6
  136. package/plugins/columnSorting/columnStatesManager.mjs +12 -6
  137. package/plugins/columnSummary/columnSummary.js +71 -58
  138. package/plugins/columnSummary/columnSummary.mjs +70 -57
  139. package/plugins/columnSummary/endpoints.js +20 -14
  140. package/plugins/columnSummary/endpoints.mjs +20 -14
  141. package/plugins/comments/commentEditor.js +30 -2
  142. package/plugins/comments/commentEditor.mjs +30 -2
  143. package/plugins/comments/comments.js +158 -169
  144. package/plugins/comments/comments.mjs +157 -168
  145. package/plugins/comments/displaySwitch.js +7 -3
  146. package/plugins/comments/displaySwitch.mjs +7 -3
  147. package/plugins/contextMenu/commandExecutor.js +15 -2
  148. package/plugins/contextMenu/commandExecutor.mjs +15 -2
  149. package/plugins/contextMenu/contextMenu.js +96 -102
  150. package/plugins/contextMenu/contextMenu.mjs +95 -101
  151. package/plugins/contextMenu/itemsFactory.js +19 -4
  152. package/plugins/contextMenu/itemsFactory.mjs +19 -4
  153. package/plugins/contextMenu/menu/cursor.js +36 -0
  154. package/plugins/contextMenu/menu/cursor.mjs +36 -0
  155. package/plugins/contextMenu/menu/menu.js +57 -5
  156. package/plugins/contextMenu/menu/menu.mjs +57 -5
  157. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  158. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
  159. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  160. package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
  161. package/plugins/copyPaste/copyPaste.js +74 -75
  162. package/plugins/copyPaste/copyPaste.mjs +74 -75
  163. package/plugins/customBorders/customBorders.js +57 -50
  164. package/plugins/customBorders/customBorders.mjs +56 -49
  165. package/plugins/dragToScroll/dragToScroll.js +50 -54
  166. package/plugins/dragToScroll/dragToScroll.mjs +49 -52
  167. package/plugins/dropdownMenu/dropdownMenu.js +136 -131
  168. package/plugins/dropdownMenu/dropdownMenu.mjs +136 -131
  169. package/plugins/exportFile/dataProvider.js +7 -2
  170. package/plugins/exportFile/dataProvider.mjs +7 -2
  171. package/plugins/exportFile/exportFile.js +1 -1
  172. package/plugins/exportFile/exportFile.mjs +1 -1
  173. package/plugins/exportFile/types/_base.js +14 -6
  174. package/plugins/exportFile/types/_base.mjs +14 -6
  175. package/plugins/filters/component/actionBar.js +9 -0
  176. package/plugins/filters/component/actionBar.mjs +9 -0
  177. package/plugins/filters/component/condition.js +13 -0
  178. package/plugins/filters/component/condition.mjs +13 -0
  179. package/plugins/filters/component/operators.js +9 -0
  180. package/plugins/filters/component/operators.mjs +9 -0
  181. package/plugins/filters/component/value.js +9 -0
  182. package/plugins/filters/component/value.mjs +9 -0
  183. package/plugins/filters/conditionCollection.js +9 -4
  184. package/plugins/filters/conditionCollection.mjs +9 -4
  185. package/plugins/filters/conditionUpdateObserver.js +53 -42
  186. package/plugins/filters/conditionUpdateObserver.mjs +53 -42
  187. package/plugins/filters/dataFilter.js +9 -3
  188. package/plugins/filters/dataFilter.mjs +9 -3
  189. package/plugins/filters/filters.js +184 -189
  190. package/plugins/filters/filters.mjs +182 -187
  191. package/plugins/filters/ui/_base.js +1 -1
  192. package/plugins/filters/ui/_base.mjs +1 -1
  193. package/plugins/filters/utils.js +1 -1
  194. package/plugins/filters/utils.mjs +1 -1
  195. package/plugins/formulas/engine/settings.js +1 -1
  196. package/plugins/formulas/engine/settings.mjs +1 -1
  197. package/plugins/formulas/formulas.js +684 -602
  198. package/plugins/formulas/formulas.mjs +682 -600
  199. package/plugins/hiddenColumns/hiddenColumns.js +174 -169
  200. package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
  201. package/plugins/hiddenRows/hiddenRows.js +170 -165
  202. package/plugins/hiddenRows/hiddenRows.mjs +169 -164
  203. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  204. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  205. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  206. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  207. package/plugins/manualColumnFreeze/manualColumnFreeze.js +66 -53
  208. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
  209. package/plugins/manualColumnMove/manualColumnMove.js +287 -232
  210. package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
  211. package/plugins/manualColumnMove/ui/_base.js +9 -3
  212. package/plugins/manualColumnMove/ui/_base.mjs +9 -3
  213. package/plugins/manualColumnResize/manualColumnResize.js +291 -246
  214. package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
  215. package/plugins/manualRowMove/manualRowMove.js +223 -208
  216. package/plugins/manualRowMove/manualRowMove.mjs +222 -207
  217. package/plugins/manualRowMove/ui/_base.js +10 -5
  218. package/plugins/manualRowMove/ui/_base.mjs +10 -5
  219. package/plugins/manualRowResize/manualRowResize.js +254 -209
  220. package/plugins/manualRowResize/manualRowResize.mjs +253 -207
  221. package/plugins/mergeCells/calculations/autofill.js +9 -3
  222. package/plugins/mergeCells/calculations/autofill.mjs +9 -3
  223. package/plugins/mergeCells/calculations/selection.js +10 -4
  224. package/plugins/mergeCells/calculations/selection.mjs +10 -4
  225. package/plugins/mergeCells/cellCoords.js +16 -6
  226. package/plugins/mergeCells/cellCoords.mjs +16 -6
  227. package/plugins/mergeCells/cellsCollection.js +10 -4
  228. package/plugins/mergeCells/cellsCollection.mjs +10 -4
  229. package/plugins/mergeCells/mergeCells.js +582 -502
  230. package/plugins/mergeCells/mergeCells.mjs +580 -500
  231. package/plugins/multiColumnSorting/multiColumnSorting.js +15 -11
  232. package/plugins/multiColumnSorting/multiColumnSorting.mjs +15 -11
  233. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
  234. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
  235. package/plugins/nestedHeaders/nestedHeaders.js +542 -499
  236. package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
  237. package/plugins/nestedHeaders/stateManager/index.js +1 -1
  238. package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
  239. package/plugins/nestedRows/data/dataManager.js +21 -15
  240. package/plugins/nestedRows/data/dataManager.mjs +21 -15
  241. package/plugins/nestedRows/nestedRows.js +328 -279
  242. package/plugins/nestedRows/nestedRows.mjs +327 -278
  243. package/plugins/nestedRows/ui/_base.js +7 -1
  244. package/plugins/nestedRows/ui/_base.mjs +7 -1
  245. package/plugins/nestedRows/ui/collapsing.js +2 -2
  246. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  247. package/plugins/nestedRows/ui/contextMenu.js +28 -18
  248. package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
  249. package/plugins/nestedRows/utils/rowMoveController.js +12 -4
  250. package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
  251. package/plugins/persistentState/persistentState.js +14 -11
  252. package/plugins/persistentState/persistentState.mjs +14 -11
  253. package/plugins/persistentState/storage.js +11 -6
  254. package/plugins/persistentState/storage.mjs +11 -6
  255. package/plugins/registry.js +2 -2
  256. package/plugins/registry.mjs +2 -2
  257. package/plugins/search/search.js +57 -46
  258. package/plugins/search/search.mjs +56 -45
  259. package/plugins/touchScroll/touchScroll.js +102 -100
  260. package/plugins/touchScroll/touchScroll.mjs +100 -98
  261. package/plugins/trimRows/trimRows.js +33 -28
  262. package/plugins/trimRows/trimRows.mjs +32 -27
  263. package/plugins/undoRedo/undoRedo.js +2 -2
  264. package/plugins/undoRedo/undoRedo.mjs +2 -2
  265. package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
  266. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
  267. package/renderers/baseRenderer/baseRenderer.js +2 -2
  268. package/renderers/baseRenderer/baseRenderer.mjs +2 -2
  269. package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
  270. package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
  271. package/renderers/dateRenderer/dateRenderer.js +4 -4
  272. package/renderers/dateRenderer/dateRenderer.mjs +4 -4
  273. package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
  274. package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
  275. package/renderers/htmlRenderer/htmlRenderer.js +4 -4
  276. package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
  277. package/renderers/numericRenderer/numericRenderer.js +3 -3
  278. package/renderers/numericRenderer/numericRenderer.mjs +3 -3
  279. package/renderers/passwordRenderer/passwordRenderer.js +3 -3
  280. package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
  281. package/renderers/selectRenderer/selectRenderer.js +4 -4
  282. package/renderers/selectRenderer/selectRenderer.mjs +4 -4
  283. package/renderers/textRenderer/textRenderer.js +5 -5
  284. package/renderers/textRenderer/textRenderer.mjs +5 -5
  285. package/renderers/timeRenderer/timeRenderer.js +3 -3
  286. package/renderers/timeRenderer/timeRenderer.mjs +3 -3
  287. package/selection/highlight/highlight.js +1 -4
  288. package/selection/highlight/highlight.mjs +1 -4
  289. package/selection/range.js +12 -2
  290. package/selection/range.mjs +12 -2
  291. package/selection/selection.js +28 -10
  292. package/selection/selection.mjs +28 -10
  293. package/selection/utils.js +24 -14
  294. package/selection/utils.mjs +25 -15
  295. package/shortcuts/manager.js +1 -1
  296. package/shortcuts/manager.mjs +1 -1
  297. package/tableView.js +208 -200
  298. package/tableView.mjs +208 -200
  299. package/translations/changesObservable/utils.js +2 -2
  300. package/translations/changesObservable/utils.mjs +2 -2
  301. package/translations/indexMapper.js +25 -22
  302. package/translations/indexMapper.mjs +25 -22
  303. package/translations/mapCollections/aggregatedCollection.js +8 -2
  304. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  305. package/translations/mapCollections/mapCollection.js +5 -2
  306. package/translations/mapCollections/mapCollection.mjs +5 -2
  307. package/translations/maps/indexMap.js +6 -1
  308. package/translations/maps/indexMap.mjs +6 -1
  309. package/translations/maps/utils/physicallyIndexed.js +2 -2
  310. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  311. package/utils/dataStructures/linkedList.js +10 -6
  312. package/utils/dataStructures/linkedList.mjs +10 -6
  313. package/utils/dataStructures/queue.js +1 -1
  314. package/utils/dataStructures/queue.mjs +1 -1
  315. package/utils/dataStructures/stack.js +1 -1
  316. package/utils/dataStructures/stack.mjs +1 -1
  317. package/utils/ghostTable.js +2 -2
  318. package/utils/ghostTable.mjs +2 -2
  319. package/utils/interval.js +73 -36
  320. package/utils/interval.mjs +73 -36
  321. package/utils/parseTable.js +1 -1
  322. package/utils/parseTable.mjs +1 -1
  323. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  324. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  325. package/validators/dateValidator/dateValidator.js +1 -1
  326. package/validators/dateValidator/dateValidator.mjs +1 -1
  327. package/validators/numericValidator/numericValidator.js +1 -1
  328. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
4
5
  require("core-js/modules/es.array.push.js");
5
6
  var _base = require("../base");
6
7
  var _dataManager = _interopRequireDefault(require("./data/dataManager"));
@@ -12,10 +13,21 @@ var _data = require("../../helpers/data");
12
13
  var _translations = require("../../translations");
13
14
  var _rowMoveController = _interopRequireDefault(require("./utils/rowMoveController"));
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
17
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
18
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
19
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
21
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
22
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
23
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
24
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
25
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
26
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
27
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
15
28
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'nestedRows';
16
29
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 300;
17
30
  const SHORTCUTS_GROUP = PLUGIN_KEY;
18
- const privatePool = new WeakMap();
19
31
 
20
32
  /* eslint-disable jsdoc/require-description-complete-sentence */
21
33
 
@@ -31,44 +43,184 @@ const WRONG_DATA_TYPE_ERROR = 'The Nested Rows plugin requires an Array of Objec
31
43
  * @description
32
44
  * Plugin responsible for displaying and operating on data sources with nested structures.
33
45
  */
46
+ var _skipRender = /*#__PURE__*/new WeakMap();
47
+ var _skipCoreAPIModifiers = /*#__PURE__*/new WeakMap();
48
+ var _onBeforeRowMove = /*#__PURE__*/new WeakSet();
49
+ var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
50
+ var _onFilterData = /*#__PURE__*/new WeakSet();
51
+ var _onAfterContextMenuDefaultOptions = /*#__PURE__*/new WeakSet();
52
+ var _onAfterGetRowHeader = /*#__PURE__*/new WeakSet();
53
+ var _onModifyRowHeaderWidth = /*#__PURE__*/new WeakSet();
54
+ var _onAfterRemoveRow = /*#__PURE__*/new WeakSet();
55
+ var _onBeforeRemoveRow = /*#__PURE__*/new WeakSet();
56
+ var _onBeforeAddChild = /*#__PURE__*/new WeakSet();
57
+ var _onAfterAddChild = /*#__PURE__*/new WeakSet();
58
+ var _onBeforeDetachChild = /*#__PURE__*/new WeakSet();
59
+ var _onAfterDetachChild = /*#__PURE__*/new WeakSet();
60
+ var _onAfterCreateRow = /*#__PURE__*/new WeakSet();
61
+ var _onAfterInit = /*#__PURE__*/new WeakSet();
62
+ var _onBeforeViewRender = /*#__PURE__*/new WeakSet();
63
+ var _onBeforeLoadData = /*#__PURE__*/new WeakSet();
34
64
  class NestedRows extends _base.BasePlugin {
35
- static get PLUGIN_KEY() {
36
- return PLUGIN_KEY;
37
- }
38
- static get PLUGIN_PRIORITY() {
39
- return PLUGIN_PRIORITY;
40
- }
41
- constructor(hotInstance) {
42
- super(hotInstance);
65
+ constructor() {
66
+ super(...arguments);
67
+ /**
68
+ * `beforeLoadData` hook callback.
69
+ *
70
+ * @param {Array} data The source data.
71
+ */
72
+ _classPrivateMethodInitSpec(this, _onBeforeLoadData);
73
+ /**
74
+ * `beforeViewRender` hook callback.
75
+ *
76
+ * @param {boolean} force Indicates if the render call was triggered by a change of settings or data.
77
+ * @param {object} skipRender An object, holder for skipRender functionality.
78
+ */
79
+ _classPrivateMethodInitSpec(this, _onBeforeViewRender);
80
+ /**
81
+ * `afterInit` hook callback.
82
+ */
83
+ _classPrivateMethodInitSpec(this, _onAfterInit);
84
+ /**
85
+ * `afterCreateRow` hook callback.
86
+ */
87
+ _classPrivateMethodInitSpec(this, _onAfterCreateRow);
88
+ /**
89
+ * `afterDetachChild` hook callback.
90
+ *
91
+ * @param {object} parent Parent element.
92
+ * @param {object} element New child element.
93
+ * @param {number} finalElementRowIndex The final row index of the detached element.
94
+ */
95
+ _classPrivateMethodInitSpec(this, _onAfterDetachChild);
96
+ /**
97
+ * `beforeDetachChild` hook callback.
98
+ */
99
+ _classPrivateMethodInitSpec(this, _onBeforeDetachChild);
100
+ /**
101
+ * `afterAddChild` hook callback.
102
+ *
103
+ * @param {object} parent Parent element.
104
+ * @param {object} element New child element.
105
+ */
106
+ _classPrivateMethodInitSpec(this, _onAfterAddChild);
107
+ /**
108
+ * `beforeAddChild` hook callback.
109
+ */
110
+ _classPrivateMethodInitSpec(this, _onBeforeAddChild);
111
+ /**
112
+ * Callback for the `beforeRemoveRow` change list of removed physical indexes by reference. Removing parent node
113
+ * has effect in removing children nodes.
114
+ *
115
+ * @param {number} index Visual index of starter row.
116
+ * @param {number} amount Amount of rows to be removed.
117
+ * @param {Array} physicalRows List of physical indexes.
118
+ */
119
+ _classPrivateMethodInitSpec(this, _onBeforeRemoveRow);
120
+ /**
121
+ * `onAfterRemoveRow` hook callback.
122
+ *
123
+ * @param {number} index Removed row.
124
+ * @param {number} amount Amount of removed rows.
125
+ * @param {Array} logicRows An array of the removed physical rows.
126
+ * @param {string} source Source of action.
127
+ */
128
+ _classPrivateMethodInitSpec(this, _onAfterRemoveRow);
129
+ /**
130
+ * `modifyRowHeaderWidth` hook callback.
131
+ *
132
+ * @param {number} rowHeaderWidth The initial row header width(s).
133
+ * @returns {number}
134
+ */
135
+ _classPrivateMethodInitSpec(this, _onModifyRowHeaderWidth);
136
+ /**
137
+ * `afterGetRowHeader` hook callback.
138
+ *
139
+ * @param {number} row Row index.
140
+ * @param {HTMLElement} TH Row header element.
141
+ */
142
+ _classPrivateMethodInitSpec(this, _onAfterGetRowHeader);
143
+ /**
144
+ * `afterContextMenuDefaultOptions` hook callback.
145
+ *
146
+ * @param {object} defaultOptions The default context menu items order.
147
+ * @returns {boolean}
148
+ */
149
+ _classPrivateMethodInitSpec(this, _onAfterContextMenuDefaultOptions);
150
+ /**
151
+ * Provide custom source data filtering. It's handled by core method and replaces the native filtering.
152
+ *
153
+ * @param {number} index The index where the data filtering starts.
154
+ * @param {number} amount An amount of rows which filtering applies to.
155
+ * @param {number} physicalRows Physical row indexes.
156
+ * @returns {Array}
157
+ */
158
+ _classPrivateMethodInitSpec(this, _onFilterData);
159
+ /**
160
+ * `beforeOnCellMousedown` hook callback.
161
+ *
162
+ * @param {MouseEvent} event Mousedown event.
163
+ * @param {object} coords Cell coords.
164
+ * @param {HTMLElement} TD Clicked cell.
165
+ */
166
+ _classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
167
+ /**
168
+ * `beforeRowMove` hook callback.
169
+ *
170
+ * @param {Array} rows Array of visual row indexes to be moved.
171
+ * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements
172
+ * will be placed after the moving action. To check the visualization of the final index, please take a look at
173
+ * [documentation](@/guides/rows/row-summary.md).
174
+ * @param {undefined|number} dropIndex Visual row index, being a drop index for the moved rows. Points to where we
175
+ * are going to drop the moved elements. To check visualization of drop index please take a look at
176
+ * [documentation](@/guides/rows/row-summary.md).
177
+ * @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
178
+ * @fires Hooks#afterRowMove
179
+ * @returns {boolean}
180
+ */
181
+ _classPrivateMethodInitSpec(this, _onBeforeRowMove);
43
182
  /**
44
183
  * Reference to the DataManager instance.
45
184
  *
46
185
  * @private
47
186
  * @type {object}
48
187
  */
49
- this.dataManager = null;
50
-
188
+ _defineProperty(this, "dataManager", null);
51
189
  /**
52
190
  * Reference to the HeadersUI instance.
53
191
  *
54
192
  * @private
55
193
  * @type {object}
56
194
  */
57
- this.headersUI = null;
195
+ _defineProperty(this, "headersUI", null);
58
196
  /**
59
197
  * Map of skipped rows by plugin.
60
198
  *
61
199
  * @private
62
200
  * @type {null|TrimmingMap}
63
201
  */
64
- this.collapsedRowsMap = null;
65
- privatePool.set(this, {
66
- movedToCollapsed: false,
67
- skipRender: null,
68
- skipCoreAPIModifiers: false
202
+ _defineProperty(this, "collapsedRowsMap", null);
203
+ /**
204
+ * @type {boolean}
205
+ */
206
+ _classPrivateFieldInitSpec(this, _skipRender, {
207
+ writable: true,
208
+ value: false
209
+ });
210
+ /**
211
+ * @type {boolean}
212
+ */
213
+ _classPrivateFieldInitSpec(this, _skipCoreAPIModifiers, {
214
+ writable: true,
215
+ value: false
69
216
  });
70
217
  }
71
-
218
+ static get PLUGIN_KEY() {
219
+ return PLUGIN_KEY;
220
+ }
221
+ static get PLUGIN_PRIORITY() {
222
+ return PLUGIN_PRIORITY;
223
+ }
72
224
  /**
73
225
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
74
226
  * hook and if it returns `true` then the {@link NestedRows#enablePlugin} method is called.
@@ -94,10 +246,16 @@ class NestedRows extends _base.BasePlugin {
94
246
  this.contextMenuUI = new _contextMenu.default(this, this.hot);
95
247
  this.rowMoveController = new _rowMoveController.default(this);
96
248
  this.addHook('afterInit', function () {
97
- return _this.onAfterInit(...arguments);
249
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
250
+ args[_key] = arguments[_key];
251
+ }
252
+ return _classPrivateMethodGet(_this, _onAfterInit, _onAfterInit2).call(_this, ...args);
98
253
  });
99
254
  this.addHook('beforeViewRender', function () {
100
- return _this.onBeforeViewRender(...arguments);
255
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
256
+ args[_key2] = arguments[_key2];
257
+ }
258
+ return _classPrivateMethodGet(_this, _onBeforeViewRender, _onBeforeViewRender2).call(_this, ...args);
101
259
  });
102
260
  this.addHook('modifyRowData', function () {
103
261
  return _this.onModifyRowData(...arguments);
@@ -109,46 +267,85 @@ class NestedRows extends _base.BasePlugin {
109
267
  return _this.onBeforeDataSplice(...arguments);
110
268
  });
111
269
  this.addHook('filterData', function () {
112
- return _this.onFilterData(...arguments);
270
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
271
+ args[_key3] = arguments[_key3];
272
+ }
273
+ return _classPrivateMethodGet(_this, _onFilterData, _onFilterData2).call(_this, ...args);
113
274
  });
114
275
  this.addHook('afterContextMenuDefaultOptions', function () {
115
- return _this.onAfterContextMenuDefaultOptions(...arguments);
276
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
277
+ args[_key4] = arguments[_key4];
278
+ }
279
+ return _classPrivateMethodGet(_this, _onAfterContextMenuDefaultOptions, _onAfterContextMenuDefaultOptions2).call(_this, ...args);
116
280
  });
117
281
  this.addHook('afterGetRowHeader', function () {
118
- return _this.onAfterGetRowHeader(...arguments);
282
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
283
+ args[_key5] = arguments[_key5];
284
+ }
285
+ return _classPrivateMethodGet(_this, _onAfterGetRowHeader, _onAfterGetRowHeader2).call(_this, ...args);
119
286
  });
120
287
  this.addHook('beforeOnCellMouseDown', function () {
121
- return _this.onBeforeOnCellMouseDown(...arguments);
288
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
289
+ args[_key6] = arguments[_key6];
290
+ }
291
+ return _classPrivateMethodGet(_this, _onBeforeOnCellMouseDown, _onBeforeOnCellMouseDown2).call(_this, ...args);
122
292
  });
123
293
  this.addHook('beforeRemoveRow', function () {
124
- return _this.onBeforeRemoveRow(...arguments);
294
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
295
+ args[_key7] = arguments[_key7];
296
+ }
297
+ return _classPrivateMethodGet(_this, _onBeforeRemoveRow, _onBeforeRemoveRow2).call(_this, ...args);
125
298
  });
126
299
  this.addHook('afterRemoveRow', function () {
127
- return _this.onAfterRemoveRow(...arguments);
300
+ for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
301
+ args[_key8] = arguments[_key8];
302
+ }
303
+ return _classPrivateMethodGet(_this, _onAfterRemoveRow, _onAfterRemoveRow2).call(_this, ...args);
128
304
  });
129
305
  this.addHook('beforeAddChild', function () {
130
- return _this.onBeforeAddChild(...arguments);
306
+ for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
307
+ args[_key9] = arguments[_key9];
308
+ }
309
+ return _classPrivateMethodGet(_this, _onBeforeAddChild, _onBeforeAddChild2).call(_this, ...args);
131
310
  });
132
311
  this.addHook('afterAddChild', function () {
133
- return _this.onAfterAddChild(...arguments);
312
+ for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
313
+ args[_key10] = arguments[_key10];
314
+ }
315
+ return _classPrivateMethodGet(_this, _onAfterAddChild, _onAfterAddChild2).call(_this, ...args);
134
316
  });
135
317
  this.addHook('beforeDetachChild', function () {
136
- return _this.onBeforeDetachChild(...arguments);
318
+ for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
319
+ args[_key11] = arguments[_key11];
320
+ }
321
+ return _classPrivateMethodGet(_this, _onBeforeDetachChild, _onBeforeDetachChild2).call(_this, ...args);
137
322
  });
138
323
  this.addHook('afterDetachChild', function () {
139
- return _this.onAfterDetachChild(...arguments);
324
+ for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
325
+ args[_key12] = arguments[_key12];
326
+ }
327
+ return _classPrivateMethodGet(_this, _onAfterDetachChild, _onAfterDetachChild2).call(_this, ...args);
140
328
  });
141
329
  this.addHook('modifyRowHeaderWidth', function () {
142
- return _this.onModifyRowHeaderWidth(...arguments);
330
+ for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
331
+ args[_key13] = arguments[_key13];
332
+ }
333
+ return _classPrivateMethodGet(_this, _onModifyRowHeaderWidth, _onModifyRowHeaderWidth2).call(_this, ...args);
143
334
  });
144
335
  this.addHook('afterCreateRow', function () {
145
- return _this.onAfterCreateRow(...arguments);
336
+ for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {
337
+ args[_key14] = arguments[_key14];
338
+ }
339
+ return _classPrivateMethodGet(_this, _onAfterCreateRow, _onAfterCreateRow2).call(_this, ...args);
146
340
  });
147
341
  this.addHook('beforeRowMove', function () {
148
- return _this.onBeforeRowMove(...arguments);
342
+ for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {
343
+ args[_key15] = arguments[_key15];
344
+ }
345
+ return _classPrivateMethodGet(_this, _onBeforeRowMove, _onBeforeRowMove2).call(_this, ...args);
149
346
  });
150
- this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
151
- this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
347
+ this.addHook('beforeLoadData', data => _classPrivateMethodGet(this, _onBeforeLoadData, _onBeforeLoadData2).call(this, data));
348
+ this.addHook('beforeUpdateData', data => _classPrivateMethodGet(this, _onBeforeLoadData, _onBeforeLoadData2).call(this, data));
152
349
  this.registerShortcuts();
153
350
  super.enablePlugin();
154
351
  }
@@ -204,7 +401,8 @@ class NestedRows extends _base.BasePlugin {
204
401
  },
205
402
  runOnlyIf: () => {
206
403
  var _this$hot$getSelected;
207
- return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
404
+ const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
405
+ return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isHeader();
208
406
  },
209
407
  group: SHORTCUTS_GROUP
210
408
  });
@@ -218,65 +416,28 @@ class NestedRows extends _base.BasePlugin {
218
416
  unregisterShortcuts() {
219
417
  this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
220
418
  }
221
-
222
- /**
223
- * `beforeRowMove` hook callback.
224
- *
225
- * @private
226
- * @param {Array} rows Array of visual row indexes to be moved.
227
- * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements
228
- * will be placed after the moving action. To check the visualization of the final index, please take a look at
229
- * [documentation](@/guides/rows/row-summary.md).
230
- * @param {undefined|number} dropIndex Visual row index, being a drop index for the moved rows. Points to where we
231
- * are going to drop the moved elements. To check visualization of drop index please take a look at
232
- * [documentation](@/guides/rows/row-summary.md).
233
- * @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
234
- * @fires Hooks#afterRowMove
235
- * @returns {boolean}
236
- */
237
- onBeforeRowMove(rows, finalIndex, dropIndex, movePossible) {
238
- return this.rowMoveController.onBeforeRowMove(rows, finalIndex, dropIndex, movePossible);
239
- }
240
-
241
419
  /**
242
420
  * Enable the modify hook skipping flag - allows retrieving the data from Handsontable without this plugin's
243
421
  * modifications.
244
422
  */
245
423
  disableCoreAPIModifiers() {
246
- const priv = privatePool.get(this);
247
- priv.skipCoreAPIModifiers = true;
424
+ _classPrivateFieldSet(this, _skipCoreAPIModifiers, true);
248
425
  }
249
426
 
250
427
  /**
251
428
  * Disable the modify hook skipping flag.
252
429
  */
253
430
  enableCoreAPIModifiers() {
254
- const priv = privatePool.get(this);
255
- priv.skipCoreAPIModifiers = false;
256
- }
257
-
258
- /**
259
- * `beforeOnCellMousedown` hook callback.
260
- *
261
- * @private
262
- * @param {MouseEvent} event Mousedown event.
263
- * @param {object} coords Cell coords.
264
- * @param {HTMLElement} TD Clicked cell.
265
- */
266
- onBeforeOnCellMouseDown(event, coords, TD) {
267
- this.collapsingUI.toggleState(event, coords, TD);
431
+ _classPrivateFieldSet(this, _skipCoreAPIModifiers, false);
268
432
  }
269
-
270
433
  /**
271
434
  * The modifyRowData hook callback.
272
435
  *
273
- * @private
274
436
  * @param {number} row Visual row index.
275
437
  * @returns {boolean}
276
438
  */
277
439
  onModifyRowData(row) {
278
- const priv = privatePool.get(this);
279
- if (priv.skipCoreAPIModifiers) {
440
+ if (_classPrivateFieldGet(this, _skipCoreAPIModifiers)) {
280
441
  return;
281
442
  }
282
443
  return this.dataManager.getDataObject(row);
@@ -285,237 +446,125 @@ class NestedRows extends _base.BasePlugin {
285
446
  /**
286
447
  * Modify the source data length to match the length of the nested structure.
287
448
  *
288
- * @private
289
449
  * @returns {number}
290
450
  */
291
451
  onModifySourceLength() {
292
- const priv = privatePool.get(this);
293
- if (priv.skipCoreAPIModifiers) {
452
+ if (_classPrivateFieldGet(this, _skipCoreAPIModifiers)) {
294
453
  return;
295
454
  }
296
455
  return this.dataManager.countAllRows();
297
456
  }
298
457
 
299
458
  /**
300
- * @private
301
459
  * @param {number} index The index where the data was spliced.
302
460
  * @param {number} amount An amount of items to remove.
303
461
  * @param {object} element An element to add.
304
462
  * @returns {boolean}
305
463
  */
306
464
  onBeforeDataSplice(index, amount, element) {
307
- const priv = privatePool.get(this);
308
- if (priv.skipCoreAPIModifiers || this.dataManager.isRowHighestLevel(index)) {
465
+ if (_classPrivateFieldGet(this, _skipCoreAPIModifiers) || this.dataManager.isRowHighestLevel(index)) {
309
466
  return true;
310
467
  }
311
468
  this.dataManager.spliceData(index, amount, element);
312
469
  return false;
313
470
  }
314
-
315
471
  /**
316
- * Provide custom source data filtering. It's handled by core method and replaces the native filtering.
317
- *
318
- * @private
319
- * @param {number} index The index where the data filtering starts.
320
- * @param {number} amount An amount of rows which filtering applies to.
321
- * @param {number} physicalRows Physical row indexes.
322
- * @returns {Array}
323
- */
324
- onFilterData(index, amount, physicalRows) {
325
- const priv = privatePool.get(this);
326
- this.collapsingUI.collapsedRowsStash.stash();
327
- this.collapsingUI.collapsedRowsStash.trimStash(physicalRows[0], amount);
328
- this.collapsingUI.collapsedRowsStash.shiftStash(physicalRows[0], null, -1 * amount);
329
- this.dataManager.filterData(index, amount, physicalRows);
330
- priv.skipRender = true;
331
- return this.dataManager.getData().slice(); // Data contains reference sometimes.
332
- }
333
-
334
- /**
335
- * `afterContextMenuDefaultOptions` hook callback.
336
- *
337
- * @private
338
- * @param {object} defaultOptions The default context menu items order.
339
- * @returns {boolean}
340
- */
341
- onAfterContextMenuDefaultOptions(defaultOptions) {
342
- return this.contextMenuUI.appendOptions(defaultOptions);
343
- }
344
-
345
- /**
346
- * `afterGetRowHeader` hook callback.
347
- *
348
- * @private
349
- * @param {number} row Row index.
350
- * @param {HTMLElement} TH Row header element.
351
- */
352
- onAfterGetRowHeader(row, TH) {
353
- this.headersUI.appendLevelIndicators(row, TH);
354
- }
355
-
356
- /**
357
- * `modifyRowHeaderWidth` hook callback.
358
- *
359
- * @private
360
- * @param {number} rowHeaderWidth The initial row header width(s).
361
- * @returns {number}
362
- */
363
- onModifyRowHeaderWidth(rowHeaderWidth) {
364
- return this.headersUI.rowHeaderWidthCache || rowHeaderWidth;
365
- }
366
-
367
- /**
368
- * `onAfterRemoveRow` hook callback.
369
- *
370
- * @private
371
- * @param {number} index Removed row.
372
- * @param {number} amount Amount of removed rows.
373
- * @param {Array} logicRows An array of the removed physical rows.
374
- * @param {string} source Source of action.
375
- */
376
- onAfterRemoveRow(index, amount, logicRows, source) {
377
- if (source === this.pluginName) {
378
- return;
379
- }
380
- const priv = privatePool.get(this);
381
- setTimeout(() => {
382
- priv.skipRender = null;
383
- this.headersUI.updateRowHeaderWidth();
384
- this.collapsingUI.collapsedRowsStash.applyStash();
385
- }, 0);
386
- }
387
-
388
- /**
389
- * Callback for the `beforeRemoveRow` change list of removed physical indexes by reference. Removing parent node
390
- * has effect in removing children nodes.
391
- *
392
- * @private
393
- * @param {number} index Visual index of starter row.
394
- * @param {number} amount Amount of rows to be removed.
395
- * @param {Array} physicalRows List of physical indexes.
472
+ * Destroys the plugin instance.
396
473
  */
397
- onBeforeRemoveRow(index, amount, physicalRows) {
398
- const modifiedPhysicalRows = Array.from(physicalRows.reduce((removedRows, physicalIndex) => {
399
- if (this.dataManager.isParent(physicalIndex)) {
400
- const children = this.dataManager.getDataObject(physicalIndex).__children;
401
-
402
- // Preserve a parent in the list of removed rows.
403
- removedRows.add(physicalIndex);
404
- if (Array.isArray(children)) {
405
- // Add a children to the list of removed rows.
406
- children.forEach(child => removedRows.add(this.dataManager.getRowIndex(child)));
407
- }
408
- return removedRows;
409
- }
410
-
411
- // Don't modify list of removed rows when already checked element isn't a parent.
412
- return removedRows.add(physicalIndex);
413
- }, new Set()));
414
-
415
- // Modifying hook's argument by the reference.
416
- physicalRows.length = 0;
417
- physicalRows.push(...modifiedPhysicalRows);
474
+ destroy() {
475
+ super.destroy();
418
476
  }
419
-
420
- /**
421
- * `beforeAddChild` hook callback.
422
- *
423
- * @private
424
- */
425
- onBeforeAddChild() {
426
- this.collapsingUI.collapsedRowsStash.stash();
477
+ }
478
+ exports.NestedRows = NestedRows;
479
+ function _onBeforeRowMove2(rows, finalIndex, dropIndex, movePossible) {
480
+ return this.rowMoveController.onBeforeRowMove(rows, finalIndex, dropIndex, movePossible);
481
+ }
482
+ function _onBeforeOnCellMouseDown2(event, coords, TD) {
483
+ this.collapsingUI.toggleState(event, coords, TD);
484
+ }
485
+ function _onFilterData2(index, amount, physicalRows) {
486
+ this.collapsingUI.collapsedRowsStash.stash();
487
+ this.collapsingUI.collapsedRowsStash.trimStash(physicalRows[0], amount);
488
+ this.collapsingUI.collapsedRowsStash.shiftStash(physicalRows[0], null, -1 * amount);
489
+ this.dataManager.filterData(index, amount, physicalRows);
490
+ _classPrivateFieldSet(this, _skipRender, true);
491
+ return this.dataManager.getData().slice(); // Data contains reference sometimes.
492
+ }
493
+ function _onAfterContextMenuDefaultOptions2(defaultOptions) {
494
+ return this.contextMenuUI.appendOptions(defaultOptions);
495
+ }
496
+ function _onAfterGetRowHeader2(row, TH) {
497
+ this.headersUI.appendLevelIndicators(row, TH);
498
+ }
499
+ function _onModifyRowHeaderWidth2(rowHeaderWidth) {
500
+ return this.headersUI.rowHeaderWidthCache || rowHeaderWidth;
501
+ }
502
+ function _onAfterRemoveRow2(index, amount, logicRows, source) {
503
+ if (source === this.pluginName) {
504
+ return;
427
505
  }
428
-
429
- /**
430
- * `afterAddChild` hook callback.
431
- *
432
- * @private
433
- * @param {object} parent Parent element.
434
- * @param {object} element New child element.
435
- */
436
- onAfterAddChild(parent, element) {
437
- this.collapsingUI.collapsedRowsStash.shiftStash(this.dataManager.getRowIndex(element));
438
- this.collapsingUI.collapsedRowsStash.applyStash();
506
+ this.hot._registerTimeout(() => {
507
+ _classPrivateFieldSet(this, _skipRender, false);
439
508
  this.headersUI.updateRowHeaderWidth();
440
- }
441
-
442
- /**
443
- * `beforeDetachChild` hook callback.
444
- *
445
- * @private
446
- */
447
- onBeforeDetachChild() {
448
- this.collapsingUI.collapsedRowsStash.stash();
449
- }
450
-
451
- /**
452
- * `afterDetachChild` hook callback.
453
- *
454
- * @private
455
- * @param {object} parent Parent element.
456
- * @param {object} element New child element.
457
- * @param {number} finalElementRowIndex The final row index of the detached element.
458
- */
459
- onAfterDetachChild(parent, element, finalElementRowIndex) {
460
- this.collapsingUI.collapsedRowsStash.shiftStash(finalElementRowIndex, null, -1);
461
509
  this.collapsingUI.collapsedRowsStash.applyStash();
462
- this.headersUI.updateRowHeaderWidth();
463
- }
464
-
465
- /**
466
- * `afterCreateRow` hook callback.
467
- *
468
- * @private
469
- */
470
- onAfterCreateRow() {
471
- this.dataManager.rewriteCache();
472
- }
473
-
474
- /**
475
- * `afterInit` hook callback.
476
- *
477
- * @private
478
- */
479
- onAfterInit() {
480
- this.headersUI.updateRowHeaderWidth();
481
- }
482
-
483
- /**
484
- * `beforeViewRender` hook callback.
485
- *
486
- * @param {boolean} force Indicates if the render call was triggered by a change of settings or data.
487
- * @param {object} skipRender An object, holder for skipRender functionality.
488
- * @private
489
- */
490
- onBeforeViewRender(force, skipRender) {
491
- const priv = privatePool.get(this);
492
- if (priv.skipRender) {
493
- skipRender.skipRender = true;
510
+ }, 0);
511
+ }
512
+ function _onBeforeRemoveRow2(index, amount, physicalRows) {
513
+ const modifiedPhysicalRows = Array.from(physicalRows.reduce((removedRows, physicalIndex) => {
514
+ if (this.dataManager.isParent(physicalIndex)) {
515
+ const children = this.dataManager.getDataObject(physicalIndex).__children;
516
+
517
+ // Preserve a parent in the list of removed rows.
518
+ removedRows.add(physicalIndex);
519
+ if (Array.isArray(children)) {
520
+ // Add a children to the list of removed rows.
521
+ children.forEach(child => removedRows.add(this.dataManager.getRowIndex(child)));
522
+ }
523
+ return removedRows;
494
524
  }
495
- }
496
525
 
497
- /**
498
- * Destroys the plugin instance.
499
- */
500
- destroy() {
501
- super.destroy();
502
- }
526
+ // Don't modify list of removed rows when already checked element isn't a parent.
527
+ return removedRows.add(physicalIndex);
528
+ }, new Set()));
503
529
 
504
- /**
505
- * `beforeLoadData` hook callback.
506
- *
507
- * @param {Array} data The source data.
508
- * @private
509
- */
510
- onBeforeLoadData(data) {
511
- if (!(0, _data.isArrayOfObjects)(data)) {
512
- (0, _console.error)(WRONG_DATA_TYPE_ERROR);
513
- this.hot.getSettings()[PLUGIN_KEY] = false;
514
- this.disablePlugin();
515
- return;
516
- }
517
- this.dataManager.setData(data);
518
- this.dataManager.rewriteCache();
530
+ // Modifying hook's argument by the reference.
531
+ physicalRows.length = 0;
532
+ physicalRows.push(...modifiedPhysicalRows);
533
+ }
534
+ function _onBeforeAddChild2() {
535
+ this.collapsingUI.collapsedRowsStash.stash();
536
+ }
537
+ function _onAfterAddChild2(parent, element) {
538
+ this.collapsingUI.collapsedRowsStash.shiftStash(this.dataManager.getRowIndex(element));
539
+ this.collapsingUI.collapsedRowsStash.applyStash();
540
+ this.headersUI.updateRowHeaderWidth();
541
+ }
542
+ function _onBeforeDetachChild2() {
543
+ this.collapsingUI.collapsedRowsStash.stash();
544
+ }
545
+ function _onAfterDetachChild2(parent, element, finalElementRowIndex) {
546
+ this.collapsingUI.collapsedRowsStash.shiftStash(finalElementRowIndex, null, -1);
547
+ this.collapsingUI.collapsedRowsStash.applyStash();
548
+ this.headersUI.updateRowHeaderWidth();
549
+ }
550
+ function _onAfterCreateRow2() {
551
+ this.dataManager.rewriteCache();
552
+ }
553
+ function _onAfterInit2() {
554
+ this.headersUI.updateRowHeaderWidth();
555
+ }
556
+ function _onBeforeViewRender2(force, skipRender) {
557
+ if (_classPrivateFieldGet(this, _skipRender)) {
558
+ skipRender.skipRender = true;
519
559
  }
520
560
  }
521
- exports.NestedRows = NestedRows;
561
+ function _onBeforeLoadData2(data) {
562
+ if (!(0, _data.isArrayOfObjects)(data)) {
563
+ (0, _console.error)(WRONG_DATA_TYPE_ERROR);
564
+ this.hot.getSettings()[PLUGIN_KEY] = false;
565
+ this.disablePlugin();
566
+ return;
567
+ }
568
+ this.dataManager.setData(data);
569
+ this.dataManager.rewriteCache();
570
+ }