handsontable 0.0.0-next-440bcae-20231107 → 0.0.0-next-dc2c114-20231107

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.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (317) 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/core/clone.js +6 -0
  10. package/3rdparty/walkontable/src/core/clone.mjs +6 -0
  11. package/3rdparty/walkontable/src/event.js +125 -74
  12. package/3rdparty/walkontable/src/event.mjs +125 -74
  13. package/3rdparty/walkontable/src/filter/column.js +16 -0
  14. package/3rdparty/walkontable/src/filter/column.mjs +16 -0
  15. package/3rdparty/walkontable/src/filter/row.js +16 -0
  16. package/3rdparty/walkontable/src/filter/row.mjs +16 -0
  17. package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
  18. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  19. package/3rdparty/walkontable/src/overlay/top.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  21. package/3rdparty/walkontable/src/renderer/_base.js +12 -5
  22. package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
  23. package/3rdparty/walkontable/src/renderer/cells.js +6 -2
  24. package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
  25. package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
  26. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/rows.js +5 -0
  28. package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
  29. package/3rdparty/walkontable/src/renderer/table.js +24 -17
  30. package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
  31. package/3rdparty/walkontable/src/scroll.js +2 -2
  32. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  33. package/3rdparty/walkontable/src/selection/border/border.js +1 -1
  34. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
  35. package/3rdparty/walkontable/src/settings.js +10 -10
  36. package/3rdparty/walkontable/src/settings.mjs +10 -10
  37. package/3rdparty/walkontable/src/table.js +3 -3
  38. package/3rdparty/walkontable/src/table.mjs +3 -3
  39. package/3rdparty/walkontable/src/utils/column.js +19 -4
  40. package/3rdparty/walkontable/src/utils/column.mjs +19 -4
  41. package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
  42. package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
  43. package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
  44. package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
  45. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
  46. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
  47. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
  48. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
  49. package/3rdparty/walkontable/src/utils/row.js +14 -2
  50. package/3rdparty/walkontable/src/utils/row.mjs +14 -2
  51. package/3rdparty/walkontable/src/viewport.js +9 -9
  52. package/3rdparty/walkontable/src/viewport.mjs +9 -9
  53. package/base.js +2 -2
  54. package/base.mjs +2 -2
  55. package/core.js +31 -26
  56. package/core.mjs +31 -26
  57. package/dataMap/dataMap.js +99 -90
  58. package/dataMap/dataMap.mjs +99 -90
  59. package/dataMap/dataSource.js +14 -8
  60. package/dataMap/dataSource.mjs +14 -8
  61. package/dataMap/metaManager/lazyFactoryMap.js +19 -7
  62. package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
  63. package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
  64. package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
  65. package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
  66. package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
  67. package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
  68. package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
  69. package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
  70. package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
  71. package/dataMap/metaManager/metaSchema.js +55 -55
  72. package/dataMap/metaManager/metaSchema.mjs +55 -55
  73. package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
  74. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
  75. package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
  76. package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
  77. package/dataMap/metaManager/utils.js +2 -2
  78. package/dataMap/metaManager/utils.mjs +2 -2
  79. package/dist/handsontable.css +2 -2
  80. package/dist/handsontable.full.css +2 -2
  81. package/dist/handsontable.full.js +7251 -6352
  82. package/dist/handsontable.full.min.css +2 -2
  83. package/dist/handsontable.full.min.js +120 -120
  84. package/dist/handsontable.js +7250 -6351
  85. package/dist/handsontable.min.css +2 -2
  86. package/dist/handsontable.min.js +28 -28
  87. package/editorManager.js +105 -95
  88. package/editorManager.mjs +105 -95
  89. package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
  90. package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
  91. package/editors/baseEditor/baseEditor.js +23 -26
  92. package/editors/baseEditor/baseEditor.mjs +23 -26
  93. package/editors/dateEditor/dateEditor.js +24 -15
  94. package/editors/dateEditor/dateEditor.mjs +24 -15
  95. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  96. package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
  97. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  98. package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
  99. package/editors/textEditor/textEditor.js +23 -17
  100. package/editors/textEditor/textEditor.mjs +24 -18
  101. package/eventManager.js +8 -0
  102. package/eventManager.mjs +8 -0
  103. package/helpers/array.js +2 -2
  104. package/helpers/array.mjs +2 -2
  105. package/helpers/dom/element.js +7 -7
  106. package/helpers/dom/element.mjs +7 -7
  107. package/helpers/function.js +1 -1
  108. package/helpers/function.mjs +1 -1
  109. package/helpers/mixed.js +1 -1
  110. package/helpers/mixed.mjs +1 -1
  111. package/helpers/object.js +4 -4
  112. package/helpers/object.mjs +4 -4
  113. package/helpers/string.js +1 -1
  114. package/helpers/string.mjs +1 -1
  115. package/package.json +1 -1
  116. package/pluginHooks.js +12 -3
  117. package/pluginHooks.mjs +12 -3
  118. package/plugins/autoColumnSize/autoColumnSize.js +141 -130
  119. package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
  120. package/plugins/autoRowSize/autoRowSize.js +112 -125
  121. package/plugins/autoRowSize/autoRowSize.mjs +110 -123
  122. package/plugins/autofill/autofill.js +97 -102
  123. package/plugins/autofill/autofill.mjs +96 -101
  124. package/plugins/base/base.js +57 -22
  125. package/plugins/base/base.mjs +56 -22
  126. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
  127. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
  128. package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
  129. package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
  130. package/plugins/columnSorting/columnSorting.js +105 -98
  131. package/plugins/columnSorting/columnSorting.mjs +104 -97
  132. package/plugins/columnSorting/columnStatesManager.js +12 -6
  133. package/plugins/columnSorting/columnStatesManager.mjs +12 -6
  134. package/plugins/columnSummary/columnSummary.js +71 -58
  135. package/plugins/columnSummary/columnSummary.mjs +70 -57
  136. package/plugins/columnSummary/endpoints.js +20 -14
  137. package/plugins/columnSummary/endpoints.mjs +20 -14
  138. package/plugins/comments/commentEditor.js +30 -2
  139. package/plugins/comments/commentEditor.mjs +30 -2
  140. package/plugins/comments/comments.js +158 -169
  141. package/plugins/comments/comments.mjs +157 -168
  142. package/plugins/comments/displaySwitch.js +7 -3
  143. package/plugins/comments/displaySwitch.mjs +7 -3
  144. package/plugins/contextMenu/commandExecutor.js +15 -2
  145. package/plugins/contextMenu/commandExecutor.mjs +15 -2
  146. package/plugins/contextMenu/contextMenu.js +91 -101
  147. package/plugins/contextMenu/contextMenu.mjs +90 -100
  148. package/plugins/contextMenu/itemsFactory.js +19 -4
  149. package/plugins/contextMenu/itemsFactory.mjs +19 -4
  150. package/plugins/contextMenu/menu/cursor.js +36 -0
  151. package/plugins/contextMenu/menu/cursor.mjs +36 -0
  152. package/plugins/contextMenu/menu/menu.js +57 -5
  153. package/plugins/contextMenu/menu/menu.mjs +57 -5
  154. package/plugins/copyPaste/copyPaste.js +74 -75
  155. package/plugins/copyPaste/copyPaste.mjs +74 -75
  156. package/plugins/customBorders/customBorders.js +49 -48
  157. package/plugins/customBorders/customBorders.mjs +48 -47
  158. package/plugins/dragToScroll/dragToScroll.js +50 -54
  159. package/plugins/dragToScroll/dragToScroll.mjs +49 -52
  160. package/plugins/dropdownMenu/dropdownMenu.js +132 -129
  161. package/plugins/dropdownMenu/dropdownMenu.mjs +132 -129
  162. package/plugins/exportFile/dataProvider.js +7 -2
  163. package/plugins/exportFile/dataProvider.mjs +7 -2
  164. package/plugins/exportFile/exportFile.js +1 -1
  165. package/plugins/exportFile/exportFile.mjs +1 -1
  166. package/plugins/exportFile/types/_base.js +14 -6
  167. package/plugins/exportFile/types/_base.mjs +14 -6
  168. package/plugins/filters/component/actionBar.js +9 -0
  169. package/plugins/filters/component/actionBar.mjs +9 -0
  170. package/plugins/filters/component/condition.js +13 -0
  171. package/plugins/filters/component/condition.mjs +13 -0
  172. package/plugins/filters/component/operators.js +9 -0
  173. package/plugins/filters/component/operators.mjs +9 -0
  174. package/plugins/filters/component/value.js +9 -0
  175. package/plugins/filters/component/value.mjs +9 -0
  176. package/plugins/filters/conditionCollection.js +9 -4
  177. package/plugins/filters/conditionCollection.mjs +9 -4
  178. package/plugins/filters/conditionUpdateObserver.js +53 -42
  179. package/plugins/filters/conditionUpdateObserver.mjs +53 -42
  180. package/plugins/filters/dataFilter.js +9 -3
  181. package/plugins/filters/dataFilter.mjs +9 -3
  182. package/plugins/filters/filters.js +184 -189
  183. package/plugins/filters/filters.mjs +182 -187
  184. package/plugins/filters/ui/_base.js +1 -1
  185. package/plugins/filters/ui/_base.mjs +1 -1
  186. package/plugins/filters/utils.js +1 -1
  187. package/plugins/filters/utils.mjs +1 -1
  188. package/plugins/formulas/engine/settings.js +1 -1
  189. package/plugins/formulas/engine/settings.mjs +1 -1
  190. package/plugins/formulas/formulas.js +684 -602
  191. package/plugins/formulas/formulas.mjs +682 -600
  192. package/plugins/hiddenColumns/hiddenColumns.js +174 -169
  193. package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
  194. package/plugins/hiddenRows/hiddenRows.js +170 -165
  195. package/plugins/hiddenRows/hiddenRows.mjs +169 -164
  196. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  197. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  198. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  199. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  200. package/plugins/manualColumnFreeze/manualColumnFreeze.js +67 -54
  201. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
  202. package/plugins/manualColumnMove/manualColumnMove.js +287 -232
  203. package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
  204. package/plugins/manualColumnMove/ui/_base.js +9 -3
  205. package/plugins/manualColumnMove/ui/_base.mjs +9 -3
  206. package/plugins/manualColumnResize/manualColumnResize.js +291 -246
  207. package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
  208. package/plugins/manualRowMove/manualRowMove.js +223 -208
  209. package/plugins/manualRowMove/manualRowMove.mjs +222 -207
  210. package/plugins/manualRowMove/ui/_base.js +10 -5
  211. package/plugins/manualRowMove/ui/_base.mjs +10 -5
  212. package/plugins/manualRowResize/manualRowResize.js +254 -209
  213. package/plugins/manualRowResize/manualRowResize.mjs +253 -207
  214. package/plugins/mergeCells/calculations/autofill.js +9 -3
  215. package/plugins/mergeCells/calculations/autofill.mjs +9 -3
  216. package/plugins/mergeCells/calculations/selection.js +10 -4
  217. package/plugins/mergeCells/calculations/selection.mjs +10 -4
  218. package/plugins/mergeCells/cellCoords.js +16 -6
  219. package/plugins/mergeCells/cellCoords.mjs +16 -6
  220. package/plugins/mergeCells/cellsCollection.js +10 -4
  221. package/plugins/mergeCells/cellsCollection.mjs +10 -4
  222. package/plugins/mergeCells/mergeCells.js +582 -502
  223. package/plugins/mergeCells/mergeCells.mjs +580 -500
  224. package/plugins/multiColumnSorting/multiColumnSorting.js +13 -10
  225. package/plugins/multiColumnSorting/multiColumnSorting.mjs +13 -10
  226. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
  227. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
  228. package/plugins/nestedHeaders/nestedHeaders.js +542 -499
  229. package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
  230. package/plugins/nestedHeaders/stateManager/index.js +1 -1
  231. package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
  232. package/plugins/nestedRows/data/dataManager.js +21 -15
  233. package/plugins/nestedRows/data/dataManager.mjs +21 -15
  234. package/plugins/nestedRows/nestedRows.js +326 -278
  235. package/plugins/nestedRows/nestedRows.mjs +325 -277
  236. package/plugins/nestedRows/ui/_base.js +7 -1
  237. package/plugins/nestedRows/ui/_base.mjs +7 -1
  238. package/plugins/nestedRows/ui/collapsing.js +2 -2
  239. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  240. package/plugins/nestedRows/ui/contextMenu.js +28 -18
  241. package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
  242. package/plugins/nestedRows/utils/rowMoveController.js +12 -4
  243. package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
  244. package/plugins/persistentState/persistentState.js +14 -11
  245. package/plugins/persistentState/persistentState.mjs +14 -11
  246. package/plugins/persistentState/storage.js +11 -6
  247. package/plugins/persistentState/storage.mjs +11 -6
  248. package/plugins/registry.js +2 -2
  249. package/plugins/registry.mjs +2 -2
  250. package/plugins/search/search.js +57 -46
  251. package/plugins/search/search.mjs +56 -45
  252. package/plugins/touchScroll/touchScroll.js +102 -100
  253. package/plugins/touchScroll/touchScroll.mjs +100 -98
  254. package/plugins/trimRows/trimRows.js +33 -28
  255. package/plugins/trimRows/trimRows.mjs +32 -27
  256. package/plugins/undoRedo/undoRedo.js +2 -2
  257. package/plugins/undoRedo/undoRedo.mjs +2 -2
  258. package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
  259. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
  260. package/renderers/baseRenderer/baseRenderer.js +2 -2
  261. package/renderers/baseRenderer/baseRenderer.mjs +2 -2
  262. package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
  263. package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
  264. package/renderers/dateRenderer/dateRenderer.js +4 -4
  265. package/renderers/dateRenderer/dateRenderer.mjs +4 -4
  266. package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
  267. package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
  268. package/renderers/htmlRenderer/htmlRenderer.js +4 -4
  269. package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
  270. package/renderers/numericRenderer/numericRenderer.js +3 -3
  271. package/renderers/numericRenderer/numericRenderer.mjs +3 -3
  272. package/renderers/passwordRenderer/passwordRenderer.js +3 -3
  273. package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
  274. package/renderers/selectRenderer/selectRenderer.js +4 -4
  275. package/renderers/selectRenderer/selectRenderer.mjs +4 -4
  276. package/renderers/textRenderer/textRenderer.js +5 -5
  277. package/renderers/textRenderer/textRenderer.mjs +5 -5
  278. package/renderers/timeRenderer/timeRenderer.js +3 -3
  279. package/renderers/timeRenderer/timeRenderer.mjs +3 -3
  280. package/selection/highlight/highlight.js +1 -4
  281. package/selection/highlight/highlight.mjs +1 -4
  282. package/selection/range.js +12 -2
  283. package/selection/range.mjs +12 -2
  284. package/selection/selection.js +3 -3
  285. package/selection/selection.mjs +3 -3
  286. package/tableView.js +208 -200
  287. package/tableView.mjs +208 -200
  288. package/translations/changesObservable/utils.js +2 -2
  289. package/translations/changesObservable/utils.mjs +2 -2
  290. package/translations/indexMapper.js +25 -22
  291. package/translations/indexMapper.mjs +25 -22
  292. package/translations/mapCollections/aggregatedCollection.js +8 -2
  293. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  294. package/translations/mapCollections/mapCollection.js +5 -2
  295. package/translations/mapCollections/mapCollection.mjs +5 -2
  296. package/translations/maps/indexMap.js +6 -1
  297. package/translations/maps/indexMap.mjs +6 -1
  298. package/translations/maps/utils/physicallyIndexed.js +2 -2
  299. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  300. package/utils/dataStructures/linkedList.js +10 -6
  301. package/utils/dataStructures/linkedList.mjs +10 -6
  302. package/utils/dataStructures/queue.js +1 -1
  303. package/utils/dataStructures/queue.mjs +1 -1
  304. package/utils/dataStructures/stack.js +1 -1
  305. package/utils/dataStructures/stack.mjs +1 -1
  306. package/utils/ghostTable.js +2 -2
  307. package/utils/ghostTable.mjs +2 -2
  308. package/utils/interval.js +73 -36
  309. package/utils/interval.mjs +73 -36
  310. package/utils/parseTable.js +1 -1
  311. package/utils/parseTable.mjs +1 -1
  312. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  313. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  314. package/validators/dateValidator/dateValidator.js +1 -1
  315. package/validators/dateValidator/dateValidator.mjs +1 -1
  316. package/validators/numericValidator/numericValidator.js +1 -1
  317. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -2,14 +2,25 @@
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 = 'manualRowResize';
@@ -17,7 +28,6 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
17
28
  const PLUGIN_PRIORITY = 30;
18
29
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
19
30
  const PERSISTENT_STATE_KEY = 'manualRowHeights';
20
- const privatePool = new WeakMap();
21
31
 
22
32
  /* eslint-disable jsdoc/require-description-complete-sentence */
23
33
 
@@ -33,6 +43,14 @@ const privatePool = new WeakMap();
33
43
  * - handle - the draggable element that sets the desired height of the row.
34
44
  * - guide - the helper guide that shows the desired height as a horizontal guide.
35
45
  */
46
+ var _config = /*#__PURE__*/new WeakMap();
47
+ var _onMouseOver = /*#__PURE__*/new WeakSet();
48
+ var _onMouseDown = /*#__PURE__*/new WeakSet();
49
+ var _onMouseMove = /*#__PURE__*/new WeakSet();
50
+ var _onMouseUp = /*#__PURE__*/new WeakSet();
51
+ var _onContextMenu = /*#__PURE__*/new WeakSet();
52
+ var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
53
+ var _onMapInit = /*#__PURE__*/new WeakSet();
36
54
  class ManualRowResize extends _base.BasePlugin {
37
55
  static get PLUGIN_KEY() {
38
56
  return PLUGIN_KEY;
@@ -40,39 +58,122 @@ class ManualRowResize extends _base.BasePlugin {
40
58
  static get PLUGIN_PRIORITY() {
41
59
  return PLUGIN_PRIORITY;
42
60
  }
61
+
62
+ /**
63
+ * @type {HTMLTableCellElement}
64
+ */
65
+
43
66
  constructor(hotInstance) {
44
67
  super(hotInstance);
45
- const {
46
- rootDocument
47
- } = this.hot;
48
- this.currentTH = null;
49
- this.currentRow = null;
50
- this.selectedRows = [];
51
- this.currentHeight = null;
52
- this.newSize = null;
53
- this.startY = null;
54
- this.startHeight = null;
55
- this.startOffset = null;
56
- this.handle = rootDocument.createElement('DIV');
57
- this.guide = rootDocument.createElement('DIV');
58
- this.eventManager = new _eventManager.default(this);
59
- this.pressed = null;
60
- this.isTriggeredByRMB = false;
61
- this.dblclick = 0;
62
- this.autoresizeTimeout = null;
63
-
68
+ /**
69
+ * Callback to call on map's `init` local hook.
70
+ */
71
+ _classPrivateMethodInitSpec(this, _onMapInit);
72
+ /**
73
+ * Modifies the provided row height, based on the plugin settings.
74
+ *
75
+ * @param {number} height Row height.
76
+ * @param {number} row Visual row index.
77
+ * @returns {number}
78
+ */
79
+ _classPrivateMethodInitSpec(this, _onModifyRowHeight);
80
+ /**
81
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
82
+ */
83
+ _classPrivateMethodInitSpec(this, _onContextMenu);
84
+ /**
85
+ * 'mouseup' event callback - apply the row resizing.
86
+ *
87
+ * @fires Hooks#beforeRowResize
88
+ * @fires Hooks#afterRowResize
89
+ */
90
+ _classPrivateMethodInitSpec(this, _onMouseUp);
91
+ /**
92
+ * 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
93
+ *
94
+ * @param {MouseEvent} event The mouse event.
95
+ */
96
+ _classPrivateMethodInitSpec(this, _onMouseMove);
97
+ /**
98
+ * 'mousedown' event callback.
99
+ *
100
+ * @param {MouseEvent} event The mouse event.
101
+ */
102
+ _classPrivateMethodInitSpec(this, _onMouseDown);
103
+ /**
104
+ * 'mouseover' event callback - set the handle position.
105
+ *
106
+ * @param {MouseEvent} event The mouse event.
107
+ */
108
+ _classPrivateMethodInitSpec(this, _onMouseOver);
109
+ _defineProperty(this, "currentTH", null);
110
+ /**
111
+ * @type {number}
112
+ */
113
+ _defineProperty(this, "currentRow", null);
114
+ /**
115
+ * @type {number[]}
116
+ */
117
+ _defineProperty(this, "selectedRows", []);
118
+ /**
119
+ * @type {number}
120
+ */
121
+ _defineProperty(this, "currentHeight", null);
122
+ /**
123
+ * @type {number}
124
+ */
125
+ _defineProperty(this, "newSize", null);
126
+ /**
127
+ * @type {number}
128
+ */
129
+ _defineProperty(this, "startY", null);
130
+ /**
131
+ * @type {number}
132
+ */
133
+ _defineProperty(this, "startHeight", null);
134
+ /**
135
+ * @type {number}
136
+ */
137
+ _defineProperty(this, "startOffset", null);
138
+ /**
139
+ * @type {HTMLElement}
140
+ */
141
+ _defineProperty(this, "handle", this.hot.rootDocument.createElement('DIV'));
142
+ /**
143
+ * @type {HTMLElement}
144
+ */
145
+ _defineProperty(this, "guide", this.hot.rootDocument.createElement('DIV'));
146
+ /**
147
+ * @type {boolean}
148
+ */
149
+ _defineProperty(this, "pressed", false);
150
+ /**
151
+ * @type {boolean}
152
+ */
153
+ _defineProperty(this, "isTriggeredByRMB", false);
154
+ /**
155
+ * @type {number}
156
+ */
157
+ _defineProperty(this, "dblclick", 0);
158
+ /**
159
+ * @type {number}
160
+ */
161
+ _defineProperty(this, "autoresizeTimeout", null);
64
162
  /**
65
163
  * PhysicalIndexToValueMap to keep and track widths for physical row indexes.
66
164
  *
67
165
  * @private
68
166
  * @type {PhysicalIndexToValueMap}
69
167
  */
70
- this.rowHeightsMap = void 0;
168
+ _defineProperty(this, "rowHeightsMap", void 0);
71
169
  /**
72
170
  * Private pool to save configuration from updateSettings.
171
+ *
172
+ * @type {object}
73
173
  */
74
- privatePool.set(this, {
75
- config: void 0
174
+ _classPrivateFieldInitSpec(this, _config, {
175
+ writable: true,
176
+ value: void 0
76
177
  });
77
178
  (0, _element.addClass)(this.handle, 'manualRowResizer');
78
179
  (0, _element.addClass)(this.guide, 'manualRowResizerGuide');
@@ -104,9 +205,9 @@ class ManualRowResize extends _base.BasePlugin {
104
205
  return;
105
206
  }
106
207
  this.rowHeightsMap = new _translations.PhysicalIndexToValueMap();
107
- this.rowHeightsMap.addLocalHook('init', () => this.onMapInit());
208
+ this.rowHeightsMap.addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
108
209
  this.hot.rowIndexMapper.registerMap(this.pluginName, this.rowHeightsMap);
109
- this.addHook('modifyRowHeight', (height, row) => this.onModifyRowHeight(height, row));
210
+ this.addHook('modifyRowHeight', (height, row) => _classPrivateMethodGet(this, _onModifyRowHeight, _onModifyRowHeight2).call(this, height, row));
110
211
  this.bindEvents();
111
212
  super.enablePlugin();
112
213
  }
@@ -127,8 +228,7 @@ class ManualRowResize extends _base.BasePlugin {
127
228
  * Disables the plugin functionality for this Handsontable instance.
128
229
  */
129
230
  disablePlugin() {
130
- const priv = privatePool.get(this);
131
- priv.config = this.rowHeightsMap.getValues();
231
+ _classPrivateFieldSet(this, _config, this.rowHeightsMap.getValues());
132
232
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
133
233
  super.disablePlugin();
134
234
  }
@@ -324,39 +424,11 @@ class ManualRowResize extends _base.BasePlugin {
324
424
  getActualRowHeight(row) {
325
425
  // TODO: this should utilize `this.hot.getRowHeight` after it's fixed and working properly.
326
426
  const walkontableHeight = this.hot.view._wt.wtTable.getRowHeight(row);
327
- if (walkontableHeight !== void 0 && this.newSize < walkontableHeight) {
427
+ if (walkontableHeight !== undefined && this.newSize < walkontableHeight) {
328
428
  return walkontableHeight;
329
429
  }
330
430
  return this.newSize;
331
431
  }
332
-
333
- /**
334
- * 'mouseover' event callback - set the handle position.
335
- *
336
- * @private
337
- * @param {MouseEvent} event The mouse event.
338
- */
339
- onMouseOver(event) {
340
- // Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
341
- // the next `onmouseover`.
342
- if ((0, _element.isDetached)(event.target)) {
343
- return;
344
- }
345
-
346
- // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
347
- if (this.isTriggeredByRMB === true) {
348
- return;
349
- }
350
- if (this.checkIfRowHeader(event.target)) {
351
- const th = this.getClosestTHParent(event.target);
352
- if (th) {
353
- if (!this.pressed) {
354
- this.setupHandlePosition(th);
355
- }
356
- }
357
- }
358
- }
359
-
360
432
  /**
361
433
  * Auto-size row after doubleclick - callback.
362
434
  *
@@ -372,7 +444,7 @@ class ManualRowResize extends _base.BasePlugin {
372
444
  };
373
445
  const resize = (row, forceRender) => {
374
446
  const hookNewSize = this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, true);
375
- if (hookNewSize !== void 0) {
447
+ if (hookNewSize !== undefined) {
376
448
  this.newSize = hookNewSize;
377
449
  }
378
450
  this.setManualSize(row, this.newSize); // double click sets auto row size
@@ -398,106 +470,6 @@ class ManualRowResize extends _base.BasePlugin {
398
470
  this.dblclick = 0;
399
471
  this.autoresizeTimeout = null;
400
472
  }
401
-
402
- /**
403
- * 'mousedown' event callback.
404
- *
405
- * @private
406
- * @param {MouseEvent} event The mouse event.
407
- */
408
- onMouseDown(event) {
409
- if ((0, _element.hasClass)(event.target, 'manualRowResizer')) {
410
- this.setupHandlePosition(this.currentTH);
411
- this.setupGuidePosition();
412
- this.pressed = true;
413
- if (this.autoresizeTimeout === null) {
414
- this.autoresizeTimeout = setTimeout(() => this.afterMouseDownTimeout(), 500);
415
- this.hot._registerTimeout(this.autoresizeTimeout);
416
- }
417
- this.dblclick += 1;
418
- this.startY = event.pageY;
419
- this.newSize = this.startHeight;
420
- }
421
- }
422
-
423
- /**
424
- * 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
425
- *
426
- * @private
427
- * @param {MouseEvent} event The mouse event.
428
- */
429
- onMouseMove(event) {
430
- if (this.pressed) {
431
- this.currentHeight = this.startHeight + (event.pageY - this.startY);
432
- (0, _array.arrayEach)(this.selectedRows, selectedRow => {
433
- this.newSize = this.setManualSize(selectedRow, this.currentHeight);
434
- });
435
- this.refreshHandlePosition();
436
- this.refreshGuidePosition();
437
- }
438
- }
439
-
440
- /**
441
- * 'mouseup' event callback - apply the row resizing.
442
- *
443
- * @private
444
- *
445
- * @fires Hooks#beforeRowResize
446
- * @fires Hooks#afterRowResize
447
- */
448
- onMouseUp() {
449
- const render = () => {
450
- this.hot.forceFullRender = true;
451
- this.hot.view.render(); // updates all
452
- this.hot.view.adjustElementsSize(true);
453
- };
454
- const runHooks = (row, forceRender) => {
455
- this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, false);
456
- if (forceRender) {
457
- render();
458
- }
459
- this.saveManualRowHeights();
460
- this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, false);
461
- };
462
- if (this.pressed) {
463
- this.hideHandleAndGuide();
464
- this.pressed = false;
465
- if (this.newSize !== this.startHeight) {
466
- const selectedRowsLength = this.selectedRows.length;
467
- if (selectedRowsLength > 1) {
468
- (0, _array.arrayEach)(this.selectedRows, selectedRow => {
469
- runHooks(selectedRow);
470
- });
471
- render();
472
- } else {
473
- (0, _array.arrayEach)(this.selectedRows, selectedRow => {
474
- runHooks(selectedRow, true);
475
- });
476
- }
477
- }
478
- this.setupHandlePosition(this.currentTH);
479
- }
480
- }
481
-
482
- /**
483
- * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
484
- *
485
- * @private
486
- */
487
- onContextMenu() {
488
- this.hideHandleAndGuide();
489
- this.hot.rootElement.removeChild(this.handle);
490
- this.hot.rootElement.removeChild(this.guide);
491
- this.pressed = false;
492
- this.isTriggeredByRMB = true;
493
-
494
- // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
495
- // shouldn't be drawn just after removing it.
496
- this.hot._registerImmediate(() => {
497
- this.isTriggeredByRMB = false;
498
- });
499
- }
500
-
501
473
  /**
502
474
  * Binds the mouse events.
503
475
  *
@@ -508,65 +480,138 @@ class ManualRowResize extends _base.BasePlugin {
508
480
  rootElement,
509
481
  rootWindow
510
482
  } = this.hot;
511
- this.eventManager.addEventListener(rootElement, 'mouseover', e => this.onMouseOver(e));
512
- this.eventManager.addEventListener(rootElement, 'mousedown', e => this.onMouseDown(e));
513
- this.eventManager.addEventListener(rootWindow, 'mousemove', e => this.onMouseMove(e));
514
- this.eventManager.addEventListener(rootWindow, 'mouseup', () => this.onMouseUp());
515
- this.eventManager.addEventListener(this.handle, 'contextmenu', () => this.onContextMenu());
483
+ this.eventManager.addEventListener(rootElement, 'mouseover', e => _classPrivateMethodGet(this, _onMouseOver, _onMouseOver2).call(this, e));
484
+ this.eventManager.addEventListener(rootElement, 'mousedown', e => _classPrivateMethodGet(this, _onMouseDown, _onMouseDown2).call(this, e));
485
+ this.eventManager.addEventListener(rootWindow, 'mousemove', e => _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).call(this, e));
486
+ this.eventManager.addEventListener(rootWindow, 'mouseup', () => _classPrivateMethodGet(this, _onMouseUp, _onMouseUp2).call(this));
487
+ this.eventManager.addEventListener(this.handle, 'contextmenu', () => _classPrivateMethodGet(this, _onContextMenu, _onContextMenu2).call(this));
516
488
  }
517
-
518
489
  /**
519
- * Modifies the provided row height, based on the plugin settings.
520
- *
521
- * @private
522
- * @param {number} height Row height.
523
- * @param {number} row Visual row index.
524
- * @returns {number}
490
+ * Destroys the plugin instance.
525
491
  */
526
- onModifyRowHeight(height, row) {
527
- let newHeight = height;
528
- if (this.enabled) {
529
- const physicalRow = this.hot.toPhysicalRow(row);
530
- const rowHeight = this.rowHeightsMap.getValueAtIndex(physicalRow);
531
- if (this.hot.getSettings()[PLUGIN_KEY] && rowHeight) {
532
- newHeight = rowHeight;
492
+ destroy() {
493
+ super.destroy();
494
+ }
495
+ }
496
+ exports.ManualRowResize = ManualRowResize;
497
+ function _onMouseOver2(event) {
498
+ // Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
499
+ // the next `onmouseover`.
500
+ if ((0, _element.isDetached)(event.target)) {
501
+ return;
502
+ }
503
+
504
+ // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
505
+ if (this.isTriggeredByRMB === true) {
506
+ return;
507
+ }
508
+ if (this.checkIfRowHeader(event.target)) {
509
+ const th = this.getClosestTHParent(event.target);
510
+ if (th) {
511
+ if (!this.pressed) {
512
+ this.setupHandlePosition(th);
533
513
  }
534
514
  }
535
- return newHeight;
536
515
  }
537
-
538
- /**
539
- * Callback to call on map's `init` local hook.
540
- *
541
- * @private
542
- */
543
- onMapInit() {
544
- const priv = privatePool.get(this);
545
- const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
546
- const loadedManualRowHeights = this.loadManualRowHeights();
547
- this.hot.batchExecution(() => {
548
- if (typeof loadedManualRowHeights !== 'undefined') {
549
- loadedManualRowHeights.forEach((height, index) => {
550
- this.rowHeightsMap.setValueAtIndex(index, height);
551
- });
552
- } else if (Array.isArray(initialSetting)) {
553
- initialSetting.forEach((height, index) => {
554
- this.rowHeightsMap.setValueAtIndex(index, height);
516
+ }
517
+ function _onMouseDown2(event) {
518
+ if ((0, _element.hasClass)(event.target, 'manualRowResizer')) {
519
+ this.setupHandlePosition(this.currentTH);
520
+ this.setupGuidePosition();
521
+ this.pressed = true;
522
+ if (this.autoresizeTimeout === null) {
523
+ this.autoresizeTimeout = setTimeout(() => this.afterMouseDownTimeout(), 500);
524
+ this.hot._registerTimeout(this.autoresizeTimeout);
525
+ }
526
+ this.dblclick += 1;
527
+ this.startY = event.pageY;
528
+ this.newSize = this.startHeight;
529
+ }
530
+ }
531
+ function _onMouseMove2(event) {
532
+ if (this.pressed) {
533
+ this.currentHeight = this.startHeight + (event.pageY - this.startY);
534
+ (0, _array.arrayEach)(this.selectedRows, selectedRow => {
535
+ this.newSize = this.setManualSize(selectedRow, this.currentHeight);
536
+ });
537
+ this.refreshHandlePosition();
538
+ this.refreshGuidePosition();
539
+ }
540
+ }
541
+ function _onMouseUp2() {
542
+ const render = () => {
543
+ this.hot.forceFullRender = true;
544
+ this.hot.view.render(); // updates all
545
+ this.hot.view.adjustElementsSize(true);
546
+ };
547
+ const runHooks = (row, forceRender) => {
548
+ this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, false);
549
+ if (forceRender) {
550
+ render();
551
+ }
552
+ this.saveManualRowHeights();
553
+ this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, false);
554
+ };
555
+ if (this.pressed) {
556
+ this.hideHandleAndGuide();
557
+ this.pressed = false;
558
+ if (this.newSize !== this.startHeight) {
559
+ const selectedRowsLength = this.selectedRows.length;
560
+ if (selectedRowsLength > 1) {
561
+ (0, _array.arrayEach)(this.selectedRows, selectedRow => {
562
+ runHooks(selectedRow);
555
563
  });
556
- priv.config = initialSetting;
557
- } else if (initialSetting === true && Array.isArray(priv.config)) {
558
- priv.config.forEach((height, index) => {
559
- this.rowHeightsMap.setValueAtIndex(index, height);
564
+ render();
565
+ } else {
566
+ (0, _array.arrayEach)(this.selectedRows, selectedRow => {
567
+ runHooks(selectedRow, true);
560
568
  });
561
569
  }
562
- }, true);
570
+ }
571
+ this.setupHandlePosition(this.currentTH);
563
572
  }
564
-
565
- /**
566
- * Destroys the plugin instance.
567
- */
568
- destroy() {
569
- super.destroy();
573
+ }
574
+ function _onContextMenu2() {
575
+ this.hideHandleAndGuide();
576
+ this.hot.rootElement.removeChild(this.handle);
577
+ this.hot.rootElement.removeChild(this.guide);
578
+ this.pressed = false;
579
+ this.isTriggeredByRMB = true;
580
+
581
+ // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
582
+ // shouldn't be drawn just after removing it.
583
+ this.hot._registerImmediate(() => {
584
+ this.isTriggeredByRMB = false;
585
+ });
586
+ }
587
+ function _onModifyRowHeight2(height, row) {
588
+ let newHeight = height;
589
+ if (this.enabled) {
590
+ const physicalRow = this.hot.toPhysicalRow(row);
591
+ const rowHeight = this.rowHeightsMap.getValueAtIndex(physicalRow);
592
+ if (this.hot.getSettings()[PLUGIN_KEY] && rowHeight) {
593
+ newHeight = rowHeight;
594
+ }
570
595
  }
596
+ return newHeight;
571
597
  }
572
- exports.ManualRowResize = ManualRowResize;
598
+ function _onMapInit2() {
599
+ const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
600
+ const loadedManualRowHeights = this.loadManualRowHeights();
601
+ this.hot.batchExecution(() => {
602
+ if (typeof loadedManualRowHeights !== 'undefined') {
603
+ loadedManualRowHeights.forEach((height, index) => {
604
+ this.rowHeightsMap.setValueAtIndex(index, height);
605
+ });
606
+ } else if (Array.isArray(initialSetting)) {
607
+ initialSetting.forEach((height, index) => {
608
+ this.rowHeightsMap.setValueAtIndex(index, height);
609
+ });
610
+ _classPrivateFieldSet(this, _config, initialSetting);
611
+ } else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(this, _config))) {
612
+ _classPrivateFieldGet(this, _config).forEach((height, index) => {
613
+ this.rowHeightsMap.setValueAtIndex(index, height);
614
+ });
615
+ }
616
+ }, true);
617
+ }