handsontable 0.0.0-next-7026906-20231107 → 0.0.0-next-7b93b7d-20231107

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (316) 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 +25 -25
  56. package/core.mjs +25 -25
  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 +7244 -6347
  82. package/dist/handsontable.full.min.css +2 -2
  83. package/dist/handsontable.full.min.js +120 -120
  84. package/dist/handsontable.js +7243 -6346
  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.d.ts +0 -2
  117. package/pluginHooks.js +12 -3
  118. package/pluginHooks.mjs +12 -3
  119. package/plugins/autoColumnSize/autoColumnSize.js +141 -130
  120. package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
  121. package/plugins/autoRowSize/autoRowSize.js +112 -125
  122. package/plugins/autoRowSize/autoRowSize.mjs +110 -123
  123. package/plugins/autofill/autofill.js +97 -102
  124. package/plugins/autofill/autofill.mjs +96 -101
  125. package/plugins/base/base.js +57 -22
  126. package/plugins/base/base.mjs +56 -22
  127. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
  128. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
  129. package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
  130. package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
  131. package/plugins/columnSorting/columnSorting.js +105 -98
  132. package/plugins/columnSorting/columnSorting.mjs +104 -97
  133. package/plugins/columnSorting/columnStatesManager.js +12 -6
  134. package/plugins/columnSorting/columnStatesManager.mjs +12 -6
  135. package/plugins/columnSummary/columnSummary.js +71 -58
  136. package/plugins/columnSummary/columnSummary.mjs +70 -57
  137. package/plugins/columnSummary/endpoints.js +20 -14
  138. package/plugins/columnSummary/endpoints.mjs +20 -14
  139. package/plugins/comments/commentEditor.js +30 -2
  140. package/plugins/comments/commentEditor.mjs +30 -2
  141. package/plugins/comments/comments.js +158 -169
  142. package/plugins/comments/comments.mjs +157 -168
  143. package/plugins/comments/displaySwitch.js +7 -3
  144. package/plugins/comments/displaySwitch.mjs +7 -3
  145. package/plugins/contextMenu/commandExecutor.js +15 -2
  146. package/plugins/contextMenu/commandExecutor.mjs +15 -2
  147. package/plugins/contextMenu/contextMenu.js +91 -101
  148. package/plugins/contextMenu/contextMenu.mjs +90 -100
  149. package/plugins/contextMenu/itemsFactory.js +19 -4
  150. package/plugins/contextMenu/itemsFactory.mjs +19 -4
  151. package/plugins/contextMenu/menu/cursor.js +36 -0
  152. package/plugins/contextMenu/menu/cursor.mjs +36 -0
  153. package/plugins/contextMenu/menu/menu.js +57 -5
  154. package/plugins/contextMenu/menu/menu.mjs +57 -5
  155. package/plugins/copyPaste/copyPaste.js +74 -75
  156. package/plugins/copyPaste/copyPaste.mjs +74 -75
  157. package/plugins/customBorders/customBorders.js +49 -48
  158. package/plugins/customBorders/customBorders.mjs +48 -47
  159. package/plugins/dragToScroll/dragToScroll.js +50 -54
  160. package/plugins/dragToScroll/dragToScroll.mjs +49 -52
  161. package/plugins/dropdownMenu/dropdownMenu.js +132 -129
  162. package/plugins/dropdownMenu/dropdownMenu.mjs +132 -129
  163. package/plugins/exportFile/dataProvider.js +7 -2
  164. package/plugins/exportFile/dataProvider.mjs +7 -2
  165. package/plugins/exportFile/exportFile.js +1 -1
  166. package/plugins/exportFile/exportFile.mjs +1 -1
  167. package/plugins/exportFile/types/_base.js +14 -6
  168. package/plugins/exportFile/types/_base.mjs +14 -6
  169. package/plugins/filters/component/actionBar.js +9 -0
  170. package/plugins/filters/component/actionBar.mjs +9 -0
  171. package/plugins/filters/component/condition.js +13 -0
  172. package/plugins/filters/component/condition.mjs +13 -0
  173. package/plugins/filters/component/operators.js +9 -0
  174. package/plugins/filters/component/operators.mjs +9 -0
  175. package/plugins/filters/component/value.js +9 -0
  176. package/plugins/filters/component/value.mjs +9 -0
  177. package/plugins/filters/conditionCollection.js +9 -4
  178. package/plugins/filters/conditionCollection.mjs +9 -4
  179. package/plugins/filters/conditionUpdateObserver.js +53 -42
  180. package/plugins/filters/conditionUpdateObserver.mjs +53 -42
  181. package/plugins/filters/dataFilter.js +9 -3
  182. package/plugins/filters/dataFilter.mjs +9 -3
  183. package/plugins/filters/filters.js +184 -189
  184. package/plugins/filters/filters.mjs +182 -187
  185. package/plugins/filters/ui/_base.js +1 -1
  186. package/plugins/filters/ui/_base.mjs +1 -1
  187. package/plugins/filters/utils.js +1 -1
  188. package/plugins/filters/utils.mjs +1 -1
  189. package/plugins/formulas/engine/settings.js +1 -1
  190. package/plugins/formulas/engine/settings.mjs +1 -1
  191. package/plugins/formulas/formulas.js +684 -602
  192. package/plugins/formulas/formulas.mjs +682 -600
  193. package/plugins/hiddenColumns/hiddenColumns.js +174 -169
  194. package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
  195. package/plugins/hiddenRows/hiddenRows.js +170 -165
  196. package/plugins/hiddenRows/hiddenRows.mjs +169 -164
  197. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  198. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  199. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  200. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  201. package/plugins/manualColumnFreeze/manualColumnFreeze.js +67 -54
  202. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
  203. package/plugins/manualColumnMove/manualColumnMove.js +287 -232
  204. package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
  205. package/plugins/manualColumnMove/ui/_base.js +9 -3
  206. package/plugins/manualColumnMove/ui/_base.mjs +9 -3
  207. package/plugins/manualColumnResize/manualColumnResize.js +291 -246
  208. package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
  209. package/plugins/manualRowMove/manualRowMove.js +223 -208
  210. package/plugins/manualRowMove/manualRowMove.mjs +222 -207
  211. package/plugins/manualRowMove/ui/_base.js +10 -5
  212. package/plugins/manualRowMove/ui/_base.mjs +10 -5
  213. package/plugins/manualRowResize/manualRowResize.js +254 -209
  214. package/plugins/manualRowResize/manualRowResize.mjs +253 -207
  215. package/plugins/mergeCells/calculations/autofill.js +9 -3
  216. package/plugins/mergeCells/calculations/autofill.mjs +9 -3
  217. package/plugins/mergeCells/calculations/selection.js +10 -4
  218. package/plugins/mergeCells/calculations/selection.mjs +10 -4
  219. package/plugins/mergeCells/cellCoords.js +16 -6
  220. package/plugins/mergeCells/cellCoords.mjs +16 -6
  221. package/plugins/mergeCells/cellsCollection.js +10 -4
  222. package/plugins/mergeCells/cellsCollection.mjs +10 -4
  223. package/plugins/mergeCells/mergeCells.js +582 -502
  224. package/plugins/mergeCells/mergeCells.mjs +580 -500
  225. package/plugins/multiColumnSorting/multiColumnSorting.js +13 -10
  226. package/plugins/multiColumnSorting/multiColumnSorting.mjs +13 -10
  227. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
  228. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
  229. package/plugins/nestedHeaders/nestedHeaders.js +542 -499
  230. package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
  231. package/plugins/nestedHeaders/stateManager/index.js +1 -1
  232. package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
  233. package/plugins/nestedRows/data/dataManager.js +21 -15
  234. package/plugins/nestedRows/data/dataManager.mjs +21 -15
  235. package/plugins/nestedRows/nestedRows.js +326 -278
  236. package/plugins/nestedRows/nestedRows.mjs +325 -277
  237. package/plugins/nestedRows/ui/_base.js +7 -1
  238. package/plugins/nestedRows/ui/_base.mjs +7 -1
  239. package/plugins/nestedRows/ui/collapsing.js +2 -2
  240. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  241. package/plugins/nestedRows/ui/contextMenu.js +28 -18
  242. package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
  243. package/plugins/nestedRows/utils/rowMoveController.js +12 -4
  244. package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
  245. package/plugins/persistentState/persistentState.js +14 -11
  246. package/plugins/persistentState/persistentState.mjs +14 -11
  247. package/plugins/persistentState/storage.js +11 -6
  248. package/plugins/persistentState/storage.mjs +11 -6
  249. package/plugins/registry.js +2 -2
  250. package/plugins/registry.mjs +2 -2
  251. package/plugins/search/search.js +57 -46
  252. package/plugins/search/search.mjs +56 -45
  253. package/plugins/touchScroll/touchScroll.js +102 -100
  254. package/plugins/touchScroll/touchScroll.mjs +100 -98
  255. package/plugins/trimRows/trimRows.js +33 -28
  256. package/plugins/trimRows/trimRows.mjs +32 -27
  257. package/plugins/undoRedo/undoRedo.js +2 -2
  258. package/plugins/undoRedo/undoRedo.mjs +2 -2
  259. package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
  260. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
  261. package/renderers/baseRenderer/baseRenderer.js +2 -2
  262. package/renderers/baseRenderer/baseRenderer.mjs +2 -2
  263. package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
  264. package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
  265. package/renderers/dateRenderer/dateRenderer.js +4 -4
  266. package/renderers/dateRenderer/dateRenderer.mjs +4 -4
  267. package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
  268. package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
  269. package/renderers/htmlRenderer/htmlRenderer.js +4 -4
  270. package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
  271. package/renderers/numericRenderer/numericRenderer.js +3 -3
  272. package/renderers/numericRenderer/numericRenderer.mjs +3 -3
  273. package/renderers/passwordRenderer/passwordRenderer.js +3 -3
  274. package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
  275. package/renderers/selectRenderer/selectRenderer.js +4 -4
  276. package/renderers/selectRenderer/selectRenderer.mjs +4 -4
  277. package/renderers/textRenderer/textRenderer.js +5 -5
  278. package/renderers/textRenderer/textRenderer.mjs +5 -5
  279. package/renderers/timeRenderer/timeRenderer.js +3 -3
  280. package/renderers/timeRenderer/timeRenderer.mjs +3 -3
  281. package/selection/range.js +12 -2
  282. package/selection/range.mjs +12 -2
  283. package/selection/selection.js +3 -3
  284. package/selection/selection.mjs +3 -3
  285. package/tableView.js +208 -200
  286. package/tableView.mjs +208 -200
  287. package/translations/changesObservable/utils.js +2 -2
  288. package/translations/changesObservable/utils.mjs +2 -2
  289. package/translations/indexMapper.js +25 -22
  290. package/translations/indexMapper.mjs +25 -22
  291. package/translations/mapCollections/aggregatedCollection.js +8 -2
  292. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  293. package/translations/mapCollections/mapCollection.js +5 -2
  294. package/translations/mapCollections/mapCollection.mjs +5 -2
  295. package/translations/maps/indexMap.js +6 -1
  296. package/translations/maps/indexMap.mjs +6 -1
  297. package/translations/maps/utils/physicallyIndexed.js +2 -2
  298. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  299. package/utils/dataStructures/linkedList.js +10 -6
  300. package/utils/dataStructures/linkedList.mjs +10 -6
  301. package/utils/dataStructures/queue.js +1 -1
  302. package/utils/dataStructures/queue.mjs +1 -1
  303. package/utils/dataStructures/stack.js +1 -1
  304. package/utils/dataStructures/stack.mjs +1 -1
  305. package/utils/ghostTable.js +2 -2
  306. package/utils/ghostTable.mjs +2 -2
  307. package/utils/interval.js +73 -36
  308. package/utils/interval.mjs +73 -36
  309. package/utils/parseTable.js +1 -1
  310. package/utils/parseTable.mjs +1 -1
  311. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  312. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  313. package/validators/dateValidator/dateValidator.js +1 -1
  314. package/validators/dateValidator/dateValidator.mjs +1 -1
  315. package/validators/numericValidator/numericValidator.js +1 -1
  316. 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
+ }