handsontable 14.0.0-next-c080457-20231107 → 14.0.0-next-bfad250-20231108

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