handsontable 14.0.0-next-c080457-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 (326) 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 +7330 -6389
  84. package/dist/handsontable.full.min.css +2 -2
  85. package/dist/handsontable.full.min.js +154 -154
  86. package/dist/handsontable.js +7329 -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.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/range.js +12 -2
  288. package/selection/range.mjs +12 -2
  289. package/selection/selection.js +28 -10
  290. package/selection/selection.mjs +28 -10
  291. package/selection/utils.js +24 -14
  292. package/selection/utils.mjs +25 -15
  293. package/shortcuts/manager.js +1 -1
  294. package/shortcuts/manager.mjs +1 -1
  295. package/tableView.js +208 -200
  296. package/tableView.mjs +208 -200
  297. package/translations/changesObservable/utils.js +2 -2
  298. package/translations/changesObservable/utils.mjs +2 -2
  299. package/translations/indexMapper.js +25 -22
  300. package/translations/indexMapper.mjs +25 -22
  301. package/translations/mapCollections/aggregatedCollection.js +8 -2
  302. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  303. package/translations/mapCollections/mapCollection.js +5 -2
  304. package/translations/mapCollections/mapCollection.mjs +5 -2
  305. package/translations/maps/indexMap.js +6 -1
  306. package/translations/maps/indexMap.mjs +6 -1
  307. package/translations/maps/utils/physicallyIndexed.js +2 -2
  308. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  309. package/utils/dataStructures/linkedList.js +10 -6
  310. package/utils/dataStructures/linkedList.mjs +10 -6
  311. package/utils/dataStructures/queue.js +1 -1
  312. package/utils/dataStructures/queue.mjs +1 -1
  313. package/utils/dataStructures/stack.js +1 -1
  314. package/utils/dataStructures/stack.mjs +1 -1
  315. package/utils/ghostTable.js +2 -2
  316. package/utils/ghostTable.mjs +2 -2
  317. package/utils/interval.js +73 -36
  318. package/utils/interval.mjs +73 -36
  319. package/utils/parseTable.js +1 -1
  320. package/utils/parseTable.mjs +1 -1
  321. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  322. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  323. package/validators/dateValidator/dateValidator.js +1 -1
  324. package/validators/dateValidator/dateValidator.mjs +1 -1
  325. package/validators/numericValidator/numericValidator.js +1 -1
  326. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -2,20 +2,30 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.array.push.js");
5
+ require("core-js/modules/es.error.cause.js");
5
6
  var _base = require("../base");
6
7
  var _element = require("../../helpers/dom/element");
7
- var _eventManager = _interopRequireDefault(require("../../eventManager"));
8
8
  var _array = require("../../helpers/array");
9
9
  var _number = require("../../helpers/number");
10
10
  var _translations = require("../../translations");
11
11
  var _src = require("../../3rdparty/walkontable/src");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
13
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
14
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
15
+ 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; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
+ 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); }
18
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
19
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
20
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
21
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
22
+ 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; } }
23
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
13
24
  // Developer note! Whenever you make a change in this file, make an analogous change in manualColumnResize.js
14
25
 
15
26
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualRowResize';
16
27
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 30;
17
28
  const PERSISTENT_STATE_KEY = 'manualRowHeights';
18
- const privatePool = new WeakMap();
19
29
 
20
30
  /* eslint-disable jsdoc/require-description-complete-sentence */
21
31
 
@@ -31,6 +41,14 @@ const privatePool = new WeakMap();
31
41
  * - handle - the draggable element that sets the desired height of the row.
32
42
  * - guide - the helper guide that shows the desired height as a horizontal guide.
33
43
  */
44
+ var _config = /*#__PURE__*/new WeakMap();
45
+ var _onMouseOver = /*#__PURE__*/new WeakSet();
46
+ var _onMouseDown = /*#__PURE__*/new WeakSet();
47
+ var _onMouseMove = /*#__PURE__*/new WeakSet();
48
+ var _onMouseUp = /*#__PURE__*/new WeakSet();
49
+ var _onContextMenu = /*#__PURE__*/new WeakSet();
50
+ var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
51
+ var _onMapInit = /*#__PURE__*/new WeakSet();
34
52
  class ManualRowResize extends _base.BasePlugin {
35
53
  static get PLUGIN_KEY() {
36
54
  return PLUGIN_KEY;
@@ -38,39 +56,122 @@ class ManualRowResize extends _base.BasePlugin {
38
56
  static get PLUGIN_PRIORITY() {
39
57
  return PLUGIN_PRIORITY;
40
58
  }
59
+
60
+ /**
61
+ * @type {HTMLTableCellElement}
62
+ */
63
+
41
64
  constructor(hotInstance) {
42
65
  super(hotInstance);
43
- const {
44
- rootDocument
45
- } = this.hot;
46
- this.currentTH = null;
47
- this.currentRow = null;
48
- this.selectedRows = [];
49
- this.currentHeight = null;
50
- this.newSize = null;
51
- this.startY = null;
52
- this.startHeight = null;
53
- this.startOffset = null;
54
- this.handle = rootDocument.createElement('DIV');
55
- this.guide = rootDocument.createElement('DIV');
56
- this.eventManager = new _eventManager.default(this);
57
- this.pressed = null;
58
- this.isTriggeredByRMB = false;
59
- this.dblclick = 0;
60
- this.autoresizeTimeout = null;
61
-
66
+ /**
67
+ * Callback to call on map's `init` local hook.
68
+ */
69
+ _classPrivateMethodInitSpec(this, _onMapInit);
70
+ /**
71
+ * Modifies the provided row height, based on the plugin settings.
72
+ *
73
+ * @param {number} height Row height.
74
+ * @param {number} row Visual row index.
75
+ * @returns {number}
76
+ */
77
+ _classPrivateMethodInitSpec(this, _onModifyRowHeight);
78
+ /**
79
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
80
+ */
81
+ _classPrivateMethodInitSpec(this, _onContextMenu);
82
+ /**
83
+ * 'mouseup' event callback - apply the row resizing.
84
+ *
85
+ * @fires Hooks#beforeRowResize
86
+ * @fires Hooks#afterRowResize
87
+ */
88
+ _classPrivateMethodInitSpec(this, _onMouseUp);
89
+ /**
90
+ * 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
91
+ *
92
+ * @param {MouseEvent} event The mouse event.
93
+ */
94
+ _classPrivateMethodInitSpec(this, _onMouseMove);
95
+ /**
96
+ * 'mousedown' event callback.
97
+ *
98
+ * @param {MouseEvent} event The mouse event.
99
+ */
100
+ _classPrivateMethodInitSpec(this, _onMouseDown);
101
+ /**
102
+ * 'mouseover' event callback - set the handle position.
103
+ *
104
+ * @param {MouseEvent} event The mouse event.
105
+ */
106
+ _classPrivateMethodInitSpec(this, _onMouseOver);
107
+ _defineProperty(this, "currentTH", null);
108
+ /**
109
+ * @type {number}
110
+ */
111
+ _defineProperty(this, "currentRow", null);
112
+ /**
113
+ * @type {number[]}
114
+ */
115
+ _defineProperty(this, "selectedRows", []);
116
+ /**
117
+ * @type {number}
118
+ */
119
+ _defineProperty(this, "currentHeight", null);
120
+ /**
121
+ * @type {number}
122
+ */
123
+ _defineProperty(this, "newSize", null);
124
+ /**
125
+ * @type {number}
126
+ */
127
+ _defineProperty(this, "startY", null);
128
+ /**
129
+ * @type {number}
130
+ */
131
+ _defineProperty(this, "startHeight", null);
132
+ /**
133
+ * @type {number}
134
+ */
135
+ _defineProperty(this, "startOffset", null);
136
+ /**
137
+ * @type {HTMLElement}
138
+ */
139
+ _defineProperty(this, "handle", this.hot.rootDocument.createElement('DIV'));
140
+ /**
141
+ * @type {HTMLElement}
142
+ */
143
+ _defineProperty(this, "guide", this.hot.rootDocument.createElement('DIV'));
144
+ /**
145
+ * @type {boolean}
146
+ */
147
+ _defineProperty(this, "pressed", false);
148
+ /**
149
+ * @type {boolean}
150
+ */
151
+ _defineProperty(this, "isTriggeredByRMB", false);
152
+ /**
153
+ * @type {number}
154
+ */
155
+ _defineProperty(this, "dblclick", 0);
156
+ /**
157
+ * @type {number}
158
+ */
159
+ _defineProperty(this, "autoresizeTimeout", null);
62
160
  /**
63
161
  * PhysicalIndexToValueMap to keep and track widths for physical row indexes.
64
162
  *
65
163
  * @private
66
164
  * @type {PhysicalIndexToValueMap}
67
165
  */
68
- this.rowHeightsMap = void 0;
166
+ _defineProperty(this, "rowHeightsMap", void 0);
69
167
  /**
70
168
  * Private pool to save configuration from updateSettings.
169
+ *
170
+ * @type {object}
71
171
  */
72
- privatePool.set(this, {
73
- config: void 0
172
+ _classPrivateFieldInitSpec(this, _config, {
173
+ writable: true,
174
+ value: void 0
74
175
  });
75
176
  (0, _element.addClass)(this.handle, 'manualRowResizer');
76
177
  (0, _element.addClass)(this.guide, 'manualRowResizerGuide');
@@ -102,9 +203,9 @@ class ManualRowResize extends _base.BasePlugin {
102
203
  return;
103
204
  }
104
205
  this.rowHeightsMap = new _translations.PhysicalIndexToValueMap();
105
- this.rowHeightsMap.addLocalHook('init', () => this.onMapInit());
206
+ this.rowHeightsMap.addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
106
207
  this.hot.rowIndexMapper.registerMap(this.pluginName, this.rowHeightsMap);
107
- this.addHook('modifyRowHeight', (height, row) => this.onModifyRowHeight(height, row));
208
+ this.addHook('modifyRowHeight', (height, row) => _classPrivateMethodGet(this, _onModifyRowHeight, _onModifyRowHeight2).call(this, height, row));
108
209
  this.bindEvents();
109
210
  super.enablePlugin();
110
211
  }
@@ -125,8 +226,7 @@ class ManualRowResize extends _base.BasePlugin {
125
226
  * Disables the plugin functionality for this Handsontable instance.
126
227
  */
127
228
  disablePlugin() {
128
- const priv = privatePool.get(this);
129
- priv.config = this.rowHeightsMap.getValues();
229
+ _classPrivateFieldSet(this, _config, this.rowHeightsMap.getValues());
130
230
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
131
231
  super.disablePlugin();
132
232
  }
@@ -322,39 +422,11 @@ class ManualRowResize extends _base.BasePlugin {
322
422
  getActualRowHeight(row) {
323
423
  // TODO: this should utilize `this.hot.getRowHeight` after it's fixed and working properly.
324
424
  const walkontableHeight = this.hot.view._wt.wtTable.getRowHeight(row);
325
- if (walkontableHeight !== void 0 && this.newSize < walkontableHeight) {
425
+ if (walkontableHeight !== undefined && this.newSize < walkontableHeight) {
326
426
  return walkontableHeight;
327
427
  }
328
428
  return this.newSize;
329
429
  }
330
-
331
- /**
332
- * 'mouseover' event callback - set the handle position.
333
- *
334
- * @private
335
- * @param {MouseEvent} event The mouse event.
336
- */
337
- onMouseOver(event) {
338
- // Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
339
- // the next `onmouseover`.
340
- if ((0, _element.isDetached)(event.target)) {
341
- return;
342
- }
343
-
344
- // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
345
- if (this.isTriggeredByRMB === true) {
346
- return;
347
- }
348
- if (this.checkIfRowHeader(event.target)) {
349
- const th = this.getClosestTHParent(event.target);
350
- if (th) {
351
- if (!this.pressed) {
352
- this.setupHandlePosition(th);
353
- }
354
- }
355
- }
356
- }
357
-
358
430
  /**
359
431
  * Auto-size row after doubleclick - callback.
360
432
  *
@@ -370,7 +442,7 @@ class ManualRowResize extends _base.BasePlugin {
370
442
  };
371
443
  const resize = (row, forceRender) => {
372
444
  const hookNewSize = this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, true);
373
- if (hookNewSize !== void 0) {
445
+ if (hookNewSize !== undefined) {
374
446
  this.newSize = hookNewSize;
375
447
  }
376
448
  this.setManualSize(row, this.newSize); // double click sets auto row size
@@ -396,106 +468,6 @@ class ManualRowResize extends _base.BasePlugin {
396
468
  this.dblclick = 0;
397
469
  this.autoresizeTimeout = null;
398
470
  }
399
-
400
- /**
401
- * 'mousedown' event callback.
402
- *
403
- * @private
404
- * @param {MouseEvent} event The mouse event.
405
- */
406
- onMouseDown(event) {
407
- if ((0, _element.hasClass)(event.target, 'manualRowResizer')) {
408
- this.setupHandlePosition(this.currentTH);
409
- this.setupGuidePosition();
410
- this.pressed = true;
411
- if (this.autoresizeTimeout === null) {
412
- this.autoresizeTimeout = setTimeout(() => this.afterMouseDownTimeout(), 500);
413
- this.hot._registerTimeout(this.autoresizeTimeout);
414
- }
415
- this.dblclick += 1;
416
- this.startY = event.pageY;
417
- this.newSize = this.startHeight;
418
- }
419
- }
420
-
421
- /**
422
- * 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
423
- *
424
- * @private
425
- * @param {MouseEvent} event The mouse event.
426
- */
427
- onMouseMove(event) {
428
- if (this.pressed) {
429
- this.currentHeight = this.startHeight + (event.pageY - this.startY);
430
- (0, _array.arrayEach)(this.selectedRows, selectedRow => {
431
- this.newSize = this.setManualSize(selectedRow, this.currentHeight);
432
- });
433
- this.refreshHandlePosition();
434
- this.refreshGuidePosition();
435
- }
436
- }
437
-
438
- /**
439
- * 'mouseup' event callback - apply the row resizing.
440
- *
441
- * @private
442
- *
443
- * @fires Hooks#beforeRowResize
444
- * @fires Hooks#afterRowResize
445
- */
446
- onMouseUp() {
447
- const render = () => {
448
- this.hot.forceFullRender = true;
449
- this.hot.view.render(); // updates all
450
- this.hot.view.adjustElementsSize(true);
451
- };
452
- const runHooks = (row, forceRender) => {
453
- this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, false);
454
- if (forceRender) {
455
- render();
456
- }
457
- this.saveManualRowHeights();
458
- this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, false);
459
- };
460
- if (this.pressed) {
461
- this.hideHandleAndGuide();
462
- this.pressed = false;
463
- if (this.newSize !== this.startHeight) {
464
- const selectedRowsLength = this.selectedRows.length;
465
- if (selectedRowsLength > 1) {
466
- (0, _array.arrayEach)(this.selectedRows, selectedRow => {
467
- runHooks(selectedRow);
468
- });
469
- render();
470
- } else {
471
- (0, _array.arrayEach)(this.selectedRows, selectedRow => {
472
- runHooks(selectedRow, true);
473
- });
474
- }
475
- }
476
- this.setupHandlePosition(this.currentTH);
477
- }
478
- }
479
-
480
- /**
481
- * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
482
- *
483
- * @private
484
- */
485
- onContextMenu() {
486
- this.hideHandleAndGuide();
487
- this.hot.rootElement.removeChild(this.handle);
488
- this.hot.rootElement.removeChild(this.guide);
489
- this.pressed = false;
490
- this.isTriggeredByRMB = true;
491
-
492
- // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
493
- // shouldn't be drawn just after removing it.
494
- this.hot._registerImmediate(() => {
495
- this.isTriggeredByRMB = false;
496
- });
497
- }
498
-
499
471
  /**
500
472
  * Binds the mouse events.
501
473
  *
@@ -506,65 +478,138 @@ class ManualRowResize extends _base.BasePlugin {
506
478
  rootElement,
507
479
  rootWindow
508
480
  } = this.hot;
509
- this.eventManager.addEventListener(rootElement, 'mouseover', e => this.onMouseOver(e));
510
- this.eventManager.addEventListener(rootElement, 'mousedown', e => this.onMouseDown(e));
511
- this.eventManager.addEventListener(rootWindow, 'mousemove', e => this.onMouseMove(e));
512
- this.eventManager.addEventListener(rootWindow, 'mouseup', () => this.onMouseUp());
513
- this.eventManager.addEventListener(this.handle, 'contextmenu', () => this.onContextMenu());
481
+ this.eventManager.addEventListener(rootElement, 'mouseover', e => _classPrivateMethodGet(this, _onMouseOver, _onMouseOver2).call(this, e));
482
+ this.eventManager.addEventListener(rootElement, 'mousedown', e => _classPrivateMethodGet(this, _onMouseDown, _onMouseDown2).call(this, e));
483
+ this.eventManager.addEventListener(rootWindow, 'mousemove', e => _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).call(this, e));
484
+ this.eventManager.addEventListener(rootWindow, 'mouseup', () => _classPrivateMethodGet(this, _onMouseUp, _onMouseUp2).call(this));
485
+ this.eventManager.addEventListener(this.handle, 'contextmenu', () => _classPrivateMethodGet(this, _onContextMenu, _onContextMenu2).call(this));
514
486
  }
515
-
516
487
  /**
517
- * Modifies the provided row height, based on the plugin settings.
518
- *
519
- * @private
520
- * @param {number} height Row height.
521
- * @param {number} row Visual row index.
522
- * @returns {number}
488
+ * Destroys the plugin instance.
523
489
  */
524
- onModifyRowHeight(height, row) {
525
- let newHeight = height;
526
- if (this.enabled) {
527
- const physicalRow = this.hot.toPhysicalRow(row);
528
- const rowHeight = this.rowHeightsMap.getValueAtIndex(physicalRow);
529
- if (this.hot.getSettings()[PLUGIN_KEY] && rowHeight) {
530
- newHeight = rowHeight;
490
+ destroy() {
491
+ super.destroy();
492
+ }
493
+ }
494
+ exports.ManualRowResize = ManualRowResize;
495
+ function _onMouseOver2(event) {
496
+ // Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
497
+ // the next `onmouseover`.
498
+ if ((0, _element.isDetached)(event.target)) {
499
+ return;
500
+ }
501
+
502
+ // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
503
+ if (this.isTriggeredByRMB === true) {
504
+ return;
505
+ }
506
+ if (this.checkIfRowHeader(event.target)) {
507
+ const th = this.getClosestTHParent(event.target);
508
+ if (th) {
509
+ if (!this.pressed) {
510
+ this.setupHandlePosition(th);
531
511
  }
532
512
  }
533
- return newHeight;
534
513
  }
535
-
536
- /**
537
- * Callback to call on map's `init` local hook.
538
- *
539
- * @private
540
- */
541
- onMapInit() {
542
- const priv = privatePool.get(this);
543
- const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
544
- const loadedManualRowHeights = this.loadManualRowHeights();
545
- this.hot.batchExecution(() => {
546
- if (typeof loadedManualRowHeights !== 'undefined') {
547
- loadedManualRowHeights.forEach((height, index) => {
548
- this.rowHeightsMap.setValueAtIndex(index, height);
549
- });
550
- } else if (Array.isArray(initialSetting)) {
551
- initialSetting.forEach((height, index) => {
552
- this.rowHeightsMap.setValueAtIndex(index, height);
514
+ }
515
+ function _onMouseDown2(event) {
516
+ if ((0, _element.hasClass)(event.target, 'manualRowResizer')) {
517
+ this.setupHandlePosition(this.currentTH);
518
+ this.setupGuidePosition();
519
+ this.pressed = true;
520
+ if (this.autoresizeTimeout === null) {
521
+ this.autoresizeTimeout = setTimeout(() => this.afterMouseDownTimeout(), 500);
522
+ this.hot._registerTimeout(this.autoresizeTimeout);
523
+ }
524
+ this.dblclick += 1;
525
+ this.startY = event.pageY;
526
+ this.newSize = this.startHeight;
527
+ }
528
+ }
529
+ function _onMouseMove2(event) {
530
+ if (this.pressed) {
531
+ this.currentHeight = this.startHeight + (event.pageY - this.startY);
532
+ (0, _array.arrayEach)(this.selectedRows, selectedRow => {
533
+ this.newSize = this.setManualSize(selectedRow, this.currentHeight);
534
+ });
535
+ this.refreshHandlePosition();
536
+ this.refreshGuidePosition();
537
+ }
538
+ }
539
+ function _onMouseUp2() {
540
+ const render = () => {
541
+ this.hot.forceFullRender = true;
542
+ this.hot.view.render(); // updates all
543
+ this.hot.view.adjustElementsSize(true);
544
+ };
545
+ const runHooks = (row, forceRender) => {
546
+ this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, false);
547
+ if (forceRender) {
548
+ render();
549
+ }
550
+ this.saveManualRowHeights();
551
+ this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, false);
552
+ };
553
+ if (this.pressed) {
554
+ this.hideHandleAndGuide();
555
+ this.pressed = false;
556
+ if (this.newSize !== this.startHeight) {
557
+ const selectedRowsLength = this.selectedRows.length;
558
+ if (selectedRowsLength > 1) {
559
+ (0, _array.arrayEach)(this.selectedRows, selectedRow => {
560
+ runHooks(selectedRow);
553
561
  });
554
- priv.config = initialSetting;
555
- } else if (initialSetting === true && Array.isArray(priv.config)) {
556
- priv.config.forEach((height, index) => {
557
- this.rowHeightsMap.setValueAtIndex(index, height);
562
+ render();
563
+ } else {
564
+ (0, _array.arrayEach)(this.selectedRows, selectedRow => {
565
+ runHooks(selectedRow, true);
558
566
  });
559
567
  }
560
- }, true);
568
+ }
569
+ this.setupHandlePosition(this.currentTH);
561
570
  }
562
-
563
- /**
564
- * Destroys the plugin instance.
565
- */
566
- destroy() {
567
- super.destroy();
571
+ }
572
+ function _onContextMenu2() {
573
+ this.hideHandleAndGuide();
574
+ this.hot.rootElement.removeChild(this.handle);
575
+ this.hot.rootElement.removeChild(this.guide);
576
+ this.pressed = false;
577
+ this.isTriggeredByRMB = true;
578
+
579
+ // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
580
+ // shouldn't be drawn just after removing it.
581
+ this.hot._registerImmediate(() => {
582
+ this.isTriggeredByRMB = false;
583
+ });
584
+ }
585
+ function _onModifyRowHeight2(height, row) {
586
+ let newHeight = height;
587
+ if (this.enabled) {
588
+ const physicalRow = this.hot.toPhysicalRow(row);
589
+ const rowHeight = this.rowHeightsMap.getValueAtIndex(physicalRow);
590
+ if (this.hot.getSettings()[PLUGIN_KEY] && rowHeight) {
591
+ newHeight = rowHeight;
592
+ }
568
593
  }
594
+ return newHeight;
569
595
  }
570
- exports.ManualRowResize = ManualRowResize;
596
+ function _onMapInit2() {
597
+ const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
598
+ const loadedManualRowHeights = this.loadManualRowHeights();
599
+ this.hot.batchExecution(() => {
600
+ if (typeof loadedManualRowHeights !== 'undefined') {
601
+ loadedManualRowHeights.forEach((height, index) => {
602
+ this.rowHeightsMap.setValueAtIndex(index, height);
603
+ });
604
+ } else if (Array.isArray(initialSetting)) {
605
+ initialSetting.forEach((height, index) => {
606
+ this.rowHeightsMap.setValueAtIndex(index, height);
607
+ });
608
+ _classPrivateFieldSet(this, _config, initialSetting);
609
+ } else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(this, _config))) {
610
+ _classPrivateFieldGet(this, _config).forEach((height, index) => {
611
+ this.rowHeightsMap.setValueAtIndex(index, height);
612
+ });
613
+ }
614
+ }, true);
615
+ }