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,19 +2,29 @@
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
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
12
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
13
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
14
+ 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; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
+ 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); }
17
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
18
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
19
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
20
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
21
+ 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; } }
22
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
12
23
  // Developer note! Whenever you make a change in this file, make an analogous change in manualRowResize.js
13
24
 
14
25
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnResize';
15
26
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 130;
16
27
  const PERSISTENT_STATE_KEY = 'manualColumnWidths';
17
- const privatePool = new WeakMap();
18
28
 
19
29
  /* eslint-disable jsdoc/require-description-complete-sentence */
20
30
 
@@ -30,6 +40,16 @@ const privatePool = new WeakMap();
30
40
  * - handle - the draggable element that sets the desired width of the column.
31
41
  * - guide - the helper guide that shows the desired width as a vertical guide.
32
42
  */
43
+ var _config = /*#__PURE__*/new WeakMap();
44
+ var _onMapInit = /*#__PURE__*/new WeakSet();
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 _onModifyColWidth = /*#__PURE__*/new WeakSet();
51
+ var _onBeforeStretchingColumnWidth = /*#__PURE__*/new WeakSet();
52
+ var _onBeforeColumnResize = /*#__PURE__*/new WeakSet();
33
53
  class ManualColumnResize extends _base.BasePlugin {
34
54
  static get PLUGIN_KEY() {
35
55
  return PLUGIN_KEY;
@@ -37,39 +57,136 @@ class ManualColumnResize extends _base.BasePlugin {
37
57
  static get PLUGIN_PRIORITY() {
38
58
  return PLUGIN_PRIORITY;
39
59
  }
60
+
61
+ /**
62
+ * @type {HTMLTableHeaderCellElement}
63
+ */
64
+
40
65
  constructor(hotInstance) {
41
66
  super(hotInstance);
42
- const {
43
- rootDocument
44
- } = this.hot;
45
- this.currentTH = null;
46
- this.currentCol = null;
47
- this.selectedCols = [];
48
- this.currentWidth = null;
49
- this.newSize = null;
50
- this.startY = null;
51
- this.startWidth = null;
52
- this.startOffset = null;
53
- this.handle = rootDocument.createElement('DIV');
54
- this.guide = rootDocument.createElement('DIV');
55
- this.eventManager = new _eventManager.default(this);
56
- this.pressed = null;
57
- this.isTriggeredByRMB = false;
58
- this.dblclick = 0;
59
- this.autoresizeTimeout = null;
60
-
67
+ /**
68
+ * `beforeColumnResize` hook callback.
69
+ */
70
+ _classPrivateMethodInitSpec(this, _onBeforeColumnResize);
71
+ /**
72
+ * Modifies the provided column stretched width. This hook decides if specified column should be stretched or not.
73
+ *
74
+ * @param {number} stretchedWidth Stretched width.
75
+ * @param {number} column Visual column index.
76
+ * @returns {number}
77
+ */
78
+ _classPrivateMethodInitSpec(this, _onBeforeStretchingColumnWidth);
79
+ /**
80
+ * Modifies the provided column width, based on the plugin settings.
81
+ *
82
+ * @param {number} width Column width.
83
+ * @param {number} column Visual column index.
84
+ * @returns {number}
85
+ */
86
+ _classPrivateMethodInitSpec(this, _onModifyColWidth);
87
+ /**
88
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
89
+ */
90
+ _classPrivateMethodInitSpec(this, _onContextMenu);
91
+ /**
92
+ * 'mouseup' event callback - apply the column resizing.
93
+ *
94
+ * @fires Hooks#beforeColumnResize
95
+ * @fires Hooks#afterColumnResize
96
+ */
97
+ _classPrivateMethodInitSpec(this, _onMouseUp);
98
+ /**
99
+ * 'mousemove' event callback - refresh the handle and guide positions, cache the new column width.
100
+ *
101
+ * @param {MouseEvent} event The mouse event.
102
+ */
103
+ _classPrivateMethodInitSpec(this, _onMouseMove);
104
+ /**
105
+ * 'mousedown' event callback.
106
+ *
107
+ * @param {MouseEvent} event The mouse event.
108
+ */
109
+ _classPrivateMethodInitSpec(this, _onMouseDown);
110
+ /**
111
+ * 'mouseover' event callback - set the handle position.
112
+ *
113
+ * @param {MouseEvent} event The mouse event.
114
+ */
115
+ _classPrivateMethodInitSpec(this, _onMouseOver);
116
+ /**
117
+ * Callback to call on map's `init` local hook.
118
+ *
119
+ * @private
120
+ */
121
+ _classPrivateMethodInitSpec(this, _onMapInit);
122
+ _defineProperty(this, "currentTH", null);
123
+ /**
124
+ * @type {number}
125
+ */
126
+ _defineProperty(this, "currentCol", null);
127
+ /**
128
+ * @type {number[]}
129
+ */
130
+ _defineProperty(this, "selectedCols", []);
131
+ /**
132
+ * @type {number}
133
+ */
134
+ _defineProperty(this, "currentWidth", null);
135
+ /**
136
+ * @type {number}
137
+ */
138
+ _defineProperty(this, "newSize", null);
139
+ /**
140
+ * @type {number}
141
+ */
142
+ _defineProperty(this, "startY", null);
143
+ /**
144
+ * @type {number}
145
+ */
146
+ _defineProperty(this, "startWidth", null);
147
+ /**
148
+ * @type {number}
149
+ */
150
+ _defineProperty(this, "startOffset", null);
151
+ /**
152
+ * @type {HTMLElement}
153
+ */
154
+ _defineProperty(this, "handle", this.hot.rootDocument.createElement('DIV'));
155
+ /**
156
+ * @type {HTMLElement}
157
+ */
158
+ _defineProperty(this, "guide", this.hot.rootDocument.createElement('DIV'));
159
+ /**
160
+ * @type {boolean}
161
+ */
162
+ _defineProperty(this, "pressed", null);
163
+ /**
164
+ * @type {boolean}
165
+ */
166
+ _defineProperty(this, "isTriggeredByRMB", false);
167
+ /**
168
+ * @type {number}
169
+ */
170
+ _defineProperty(this, "dblclick", 0);
171
+ /**
172
+ * @type {number}
173
+ */
174
+ _defineProperty(this, "autoresizeTimeout", null);
61
175
  /**
62
176
  * PhysicalIndexToValueMap to keep and track widths for physical column indexes.
63
177
  *
64
178
  * @private
65
179
  * @type {PhysicalIndexToValueMap}
66
180
  */
67
- this.columnWidthsMap = void 0;
181
+ _defineProperty(this, "columnWidthsMap", void 0);
68
182
  /**
69
183
  * Private pool to save configuration from updateSettings.
184
+ *
185
+ * @type {object}
70
186
  */
71
- privatePool.set(this, {
72
- config: void 0
187
+ _classPrivateFieldInitSpec(this, _config, {
188
+ writable: true,
189
+ value: void 0
73
190
  });
74
191
  (0, _element.addClass)(this.handle, 'manualColumnResizer');
75
192
  (0, _element.addClass)(this.guide, 'manualColumnResizerGuide');
@@ -101,11 +218,11 @@ class ManualColumnResize extends _base.BasePlugin {
101
218
  return;
102
219
  }
103
220
  this.columnWidthsMap = new _translations.PhysicalIndexToValueMap();
104
- this.columnWidthsMap.addLocalHook('init', () => this.onMapInit());
221
+ this.columnWidthsMap.addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
105
222
  this.hot.columnIndexMapper.registerMap(this.pluginName, this.columnWidthsMap);
106
- this.addHook('modifyColWidth', (width, col) => this.onModifyColWidth(width, col));
107
- this.addHook('beforeStretchingColumnWidth', (stretchedWidth, column) => this.onBeforeStretchingColumnWidth(stretchedWidth, column));
108
- this.addHook('beforeColumnResize', (newSize, column, isDoubleClick) => this.onBeforeColumnResize(newSize, column, isDoubleClick));
223
+ this.addHook('modifyColWidth', (width, col) => _classPrivateMethodGet(this, _onModifyColWidth, _onModifyColWidth2).call(this, width, col));
224
+ this.addHook('beforeStretchingColumnWidth', (stretchedWidth, column) => _classPrivateMethodGet(this, _onBeforeStretchingColumnWidth, _onBeforeStretchingColumnWidth2).call(this, stretchedWidth, column));
225
+ this.addHook('beforeColumnResize', (newSize, column, isDoubleClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, newSize, column, isDoubleClick));
109
226
  this.bindEvents();
110
227
  super.enablePlugin();
111
228
  }
@@ -126,8 +243,7 @@ class ManualColumnResize extends _base.BasePlugin {
126
243
  * Disables the plugin functionality for this Handsontable instance.
127
244
  */
128
245
  disablePlugin() {
129
- const priv = privatePool.get(this);
130
- priv.config = this.columnWidthsMap.getValues();
246
+ _classPrivateFieldSet(this, _config, this.columnWidthsMap.getValues());
131
247
  this.hot.columnIndexMapper.unregisterMap(this.pluginName);
132
248
  super.disablePlugin();
133
249
  }
@@ -176,38 +292,6 @@ class ManualColumnResize extends _base.BasePlugin {
176
292
  const physicalColumn = this.hot.toPhysicalColumn(column);
177
293
  this.columnWidthsMap.setValueAtIndex(physicalColumn, null);
178
294
  }
179
-
180
- /**
181
- * Callback to call on map's `init` local hook.
182
- *
183
- * @private
184
- */
185
- onMapInit() {
186
- const priv = privatePool.get(this);
187
- const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
188
- const loadedManualColumnWidths = this.loadManualColumnWidths();
189
- if (typeof loadedManualColumnWidths !== 'undefined') {
190
- this.hot.batchExecution(() => {
191
- loadedManualColumnWidths.forEach((width, physicalIndex) => {
192
- this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
193
- });
194
- }, true);
195
- } else if (Array.isArray(initialSetting)) {
196
- this.hot.batchExecution(() => {
197
- initialSetting.forEach((width, physicalIndex) => {
198
- this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
199
- });
200
- }, true);
201
- priv.config = initialSetting;
202
- } else if (initialSetting === true && Array.isArray(priv.config)) {
203
- this.hot.batchExecution(() => {
204
- priv.config.forEach((width, physicalIndex) => {
205
- this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
206
- });
207
- }, true);
208
- }
209
- }
210
-
211
295
  /**
212
296
  * Set the resize handle position.
213
297
  *
@@ -346,38 +430,6 @@ class ManualColumnResize extends _base.BasePlugin {
346
430
  }
347
431
  return null;
348
432
  }
349
-
350
- /**
351
- * 'mouseover' event callback - set the handle position.
352
- *
353
- * @private
354
- * @param {MouseEvent} event The mouse event.
355
- */
356
- onMouseOver(event) {
357
- // Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
358
- // the next `onmouseover`.
359
- if ((0, _element.isDetached)(event.target)) {
360
- return;
361
- }
362
-
363
- // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
364
- if (this.isTriggeredByRMB === true) {
365
- return;
366
- }
367
- if (this.checkIfColumnHeader(event.target)) {
368
- const th = this.getClosestTHParent(event.target);
369
- if (!th) {
370
- return;
371
- }
372
- const colspan = th.getAttribute('colspan');
373
- if (th && (colspan === null || colspan === '1')) {
374
- if (!this.pressed) {
375
- this.setupHandlePosition(th);
376
- }
377
- }
378
- }
379
- }
380
-
381
433
  /**
382
434
  * Auto-size row after doubleclick - callback.
383
435
  *
@@ -393,7 +445,7 @@ class ManualColumnResize extends _base.BasePlugin {
393
445
  };
394
446
  const resize = (column, forceRender) => {
395
447
  const hookNewSize = this.hot.runHooks('beforeColumnResize', this.newSize, column, true);
396
- if (hookNewSize !== void 0) {
448
+ if (hookNewSize !== undefined) {
397
449
  this.newSize = hookNewSize;
398
450
  }
399
451
  if (this.hot.getSettings().stretchH === 'all') {
@@ -424,175 +476,168 @@ class ManualColumnResize extends _base.BasePlugin {
424
476
  this.dblclick = 0;
425
477
  this.autoresizeTimeout = null;
426
478
  }
427
-
428
479
  /**
429
- * 'mousedown' event callback.
480
+ * Binds the mouse events.
430
481
  *
431
482
  * @private
432
- * @param {MouseEvent} event The mouse event.
433
483
  */
434
- onMouseDown(event) {
435
- if ((0, _element.hasClass)(event.target, 'manualColumnResizer')) {
436
- this.setupHandlePosition(this.currentTH);
437
- this.setupGuidePosition();
438
- this.pressed = true;
439
- if (this.autoresizeTimeout === null) {
440
- this.autoresizeTimeout = setTimeout(() => this.afterMouseDownTimeout(), 500);
441
- this.hot._registerTimeout(this.autoresizeTimeout);
442
- }
443
- this.dblclick += 1;
444
- this.startX = event.pageX;
445
- this.newSize = this.startWidth;
446
- }
484
+ bindEvents() {
485
+ const {
486
+ rootWindow,
487
+ rootElement
488
+ } = this.hot;
489
+ this.eventManager.addEventListener(rootElement, 'mouseover', e => _classPrivateMethodGet(this, _onMouseOver, _onMouseOver2).call(this, e));
490
+ this.eventManager.addEventListener(rootElement, 'mousedown', e => _classPrivateMethodGet(this, _onMouseDown, _onMouseDown2).call(this, e));
491
+ this.eventManager.addEventListener(rootWindow, 'mousemove', e => _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).call(this, e));
492
+ this.eventManager.addEventListener(rootWindow, 'mouseup', () => _classPrivateMethodGet(this, _onMouseUp, _onMouseUp2).call(this));
493
+ this.eventManager.addEventListener(this.handle, 'contextmenu', () => _classPrivateMethodGet(this, _onContextMenu, _onContextMenu2).call(this));
447
494
  }
448
-
449
495
  /**
450
- * 'mousemove' event callback - refresh the handle and guide positions, cache the new column width.
451
- *
452
- * @private
453
- * @param {MouseEvent} event The mouse event.
496
+ * Destroys the plugin instance.
454
497
  */
455
- onMouseMove(event) {
456
- if (this.pressed) {
457
- const change = (event.pageX - this.startX) * this.hot.getDirectionFactor();
458
- this.currentWidth = this.startWidth + change;
459
- (0, _array.arrayEach)(this.selectedCols, selectedCol => {
460
- this.newSize = this.setManualSize(selectedCol, this.currentWidth);
498
+ destroy() {
499
+ super.destroy();
500
+ }
501
+ }
502
+ exports.ManualColumnResize = ManualColumnResize;
503
+ function _onMapInit2() {
504
+ const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
505
+ const loadedManualColumnWidths = this.loadManualColumnWidths();
506
+ if (typeof loadedManualColumnWidths !== 'undefined') {
507
+ this.hot.batchExecution(() => {
508
+ loadedManualColumnWidths.forEach((width, physicalIndex) => {
509
+ this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
461
510
  });
462
- this.refreshHandlePosition();
463
- this.refreshGuidePosition();
464
- }
511
+ }, true);
512
+ } else if (Array.isArray(initialSetting)) {
513
+ this.hot.batchExecution(() => {
514
+ initialSetting.forEach((width, physicalIndex) => {
515
+ this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
516
+ });
517
+ }, true);
518
+ _classPrivateFieldSet(this, _config, initialSetting);
519
+ } else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(this, _config))) {
520
+ this.hot.batchExecution(() => {
521
+ _classPrivateFieldGet(this, _config).forEach((width, physicalIndex) => {
522
+ this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
523
+ });
524
+ }, true);
525
+ }
526
+ }
527
+ function _onMouseOver2(event) {
528
+ // Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
529
+ // the next `onmouseover`.
530
+ if ((0, _element.isDetached)(event.target)) {
531
+ return;
465
532
  }
466
533
 
467
- /**
468
- * 'mouseup' event callback - apply the column resizing.
469
- *
470
- * @private
471
- *
472
- * @fires Hooks#beforeColumnResize
473
- * @fires Hooks#afterColumnResize
474
- */
475
- onMouseUp() {
476
- const render = () => {
477
- this.hot.forceFullRender = true;
478
- this.hot.view.render(); // updates all
479
- this.hot.view.adjustElementsSize(true);
480
- };
481
- const resize = (column, forceRender) => {
482
- this.hot.runHooks('beforeColumnResize', this.newSize, column, false);
483
- if (forceRender) {
484
- render();
485
- }
486
- this.saveManualColumnWidths();
487
- this.hot.runHooks('afterColumnResize', this.newSize, column, false);
488
- };
489
- if (this.pressed) {
490
- this.hideHandleAndGuide();
491
- this.pressed = false;
492
- if (this.newSize !== this.startWidth) {
493
- const selectedColsLength = this.selectedCols.length;
494
- if (selectedColsLength > 1) {
495
- (0, _array.arrayEach)(this.selectedCols, selectedCol => {
496
- resize(selectedCol);
497
- });
498
- render();
499
- } else {
500
- (0, _array.arrayEach)(this.selectedCols, selectedCol => {
501
- resize(selectedCol, true);
502
- });
503
- }
534
+ // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
535
+ if (this.isTriggeredByRMB === true) {
536
+ return;
537
+ }
538
+ if (this.checkIfColumnHeader(event.target)) {
539
+ const th = this.getClosestTHParent(event.target);
540
+ if (!th) {
541
+ return;
542
+ }
543
+ const colspan = th.getAttribute('colspan');
544
+ if (th && (colspan === null || colspan === '1')) {
545
+ if (!this.pressed) {
546
+ this.setupHandlePosition(th);
504
547
  }
505
- this.setupHandlePosition(this.currentTH);
506
548
  }
507
549
  }
508
-
509
- /**
510
- * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
511
- *
512
- * @private
513
- */
514
- onContextMenu() {
515
- this.hideHandleAndGuide();
516
- this.hot.rootElement.removeChild(this.handle);
517
- this.hot.rootElement.removeChild(this.guide);
518
- this.pressed = false;
519
- this.isTriggeredByRMB = true;
520
-
521
- // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
522
- // shouldn't be drawn just after removing it.
523
- this.hot._registerImmediate(() => {
524
- this.isTriggeredByRMB = false;
525
- });
550
+ }
551
+ function _onMouseDown2(event) {
552
+ if ((0, _element.hasClass)(event.target, 'manualColumnResizer')) {
553
+ this.setupHandlePosition(this.currentTH);
554
+ this.setupGuidePosition();
555
+ this.pressed = true;
556
+ if (this.autoresizeTimeout === null) {
557
+ this.autoresizeTimeout = setTimeout(() => this.afterMouseDownTimeout(), 500);
558
+ this.hot._registerTimeout(this.autoresizeTimeout);
559
+ }
560
+ this.dblclick += 1;
561
+ this.startX = event.pageX;
562
+ this.newSize = this.startWidth;
526
563
  }
527
-
528
- /**
529
- * Binds the mouse events.
530
- *
531
- * @private
532
- */
533
- bindEvents() {
534
- const {
535
- rootWindow,
536
- rootElement
537
- } = this.hot;
538
- this.eventManager.addEventListener(rootElement, 'mouseover', e => this.onMouseOver(e));
539
- this.eventManager.addEventListener(rootElement, 'mousedown', e => this.onMouseDown(e));
540
- this.eventManager.addEventListener(rootWindow, 'mousemove', e => this.onMouseMove(e));
541
- this.eventManager.addEventListener(rootWindow, 'mouseup', () => this.onMouseUp());
542
- this.eventManager.addEventListener(this.handle, 'contextmenu', () => this.onContextMenu());
564
+ }
565
+ function _onMouseMove2(event) {
566
+ if (this.pressed) {
567
+ const change = (event.pageX - this.startX) * this.hot.getDirectionFactor();
568
+ this.currentWidth = this.startWidth + change;
569
+ (0, _array.arrayEach)(this.selectedCols, selectedCol => {
570
+ this.newSize = this.setManualSize(selectedCol, this.currentWidth);
571
+ });
572
+ this.refreshHandlePosition();
573
+ this.refreshGuidePosition();
543
574
  }
544
-
545
- /**
546
- * Modifies the provided column width, based on the plugin settings.
547
- *
548
- * @private
549
- * @param {number} width Column width.
550
- * @param {number} column Visual column index.
551
- * @returns {number}
552
- */
553
- onModifyColWidth(width, column) {
554
- let newWidth = width;
555
- if (this.enabled) {
556
- const physicalColumn = this.hot.toPhysicalColumn(column);
557
- const columnWidth = this.columnWidthsMap.getValueAtIndex(physicalColumn);
558
- if (this.hot.getSettings()[PLUGIN_KEY] && columnWidth) {
559
- newWidth = columnWidth;
575
+ }
576
+ function _onMouseUp2() {
577
+ const render = () => {
578
+ this.hot.forceFullRender = true;
579
+ this.hot.view.render(); // updates all
580
+ this.hot.view.adjustElementsSize(true);
581
+ };
582
+ const resize = (column, forceRender) => {
583
+ this.hot.runHooks('beforeColumnResize', this.newSize, column, false);
584
+ if (forceRender) {
585
+ render();
586
+ }
587
+ this.saveManualColumnWidths();
588
+ this.hot.runHooks('afterColumnResize', this.newSize, column, false);
589
+ };
590
+ if (this.pressed) {
591
+ this.hideHandleAndGuide();
592
+ this.pressed = false;
593
+ if (this.newSize !== this.startWidth) {
594
+ const selectedColsLength = this.selectedCols.length;
595
+ if (selectedColsLength > 1) {
596
+ (0, _array.arrayEach)(this.selectedCols, selectedCol => {
597
+ resize(selectedCol);
598
+ });
599
+ render();
600
+ } else {
601
+ (0, _array.arrayEach)(this.selectedCols, selectedCol => {
602
+ resize(selectedCol, true);
603
+ });
560
604
  }
561
605
  }
562
- return newWidth;
606
+ this.setupHandlePosition(this.currentTH);
563
607
  }
564
-
565
- /**
566
- * Modifies the provided column stretched width. This hook decides if specified column should be stretched or not.
567
- *
568
- * @private
569
- * @param {number} stretchedWidth Stretched width.
570
- * @param {number} column Visual column index.
571
- * @returns {number}
572
- */
573
- onBeforeStretchingColumnWidth(stretchedWidth, column) {
574
- let width = this.columnWidthsMap.getValueAtIndex(column);
575
- if (width === null) {
576
- width = stretchedWidth;
608
+ }
609
+ function _onContextMenu2() {
610
+ this.hideHandleAndGuide();
611
+ this.hot.rootElement.removeChild(this.handle);
612
+ this.hot.rootElement.removeChild(this.guide);
613
+ this.pressed = false;
614
+ this.isTriggeredByRMB = true;
615
+
616
+ // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
617
+ // shouldn't be drawn just after removing it.
618
+ this.hot._registerImmediate(() => {
619
+ this.isTriggeredByRMB = false;
620
+ });
621
+ }
622
+ function _onModifyColWidth2(width, column) {
623
+ let newWidth = width;
624
+ if (this.enabled) {
625
+ const physicalColumn = this.hot.toPhysicalColumn(column);
626
+ const columnWidth = this.columnWidthsMap.getValueAtIndex(physicalColumn);
627
+ if (this.hot.getSettings()[PLUGIN_KEY] && columnWidth) {
628
+ newWidth = columnWidth;
577
629
  }
578
- return width;
579
630
  }
580
-
581
- /**
582
- * `beforeColumnResize` hook callback.
583
- *
584
- * @private
585
- */
586
- onBeforeColumnResize() {
587
- // clear the header height cache information
588
- this.hot.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked();
589
- }
590
-
591
- /**
592
- * Destroys the plugin instance.
593
- */
594
- destroy() {
595
- super.destroy();
631
+ return newWidth;
632
+ }
633
+ function _onBeforeStretchingColumnWidth2(stretchedWidth, column) {
634
+ let width = this.columnWidthsMap.getValueAtIndex(column);
635
+ if (width === null) {
636
+ width = stretchedWidth;
596
637
  }
638
+ return width;
597
639
  }
598
- exports.ManualColumnResize = ManualColumnResize;
640
+ function _onBeforeColumnResize2() {
641
+ // clear the header height cache information
642
+ this.hot.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked();
643
+ }