handsontable 14.0.0-next-07c0a60-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 (328) 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 +31 -26
  58. package/core.mjs +31 -26
  59. package/dataMap/dataMap.js +99 -90
  60. package/dataMap/dataMap.mjs +99 -90
  61. package/dataMap/dataSource.js +14 -8
  62. package/dataMap/dataSource.mjs +14 -8
  63. package/dataMap/metaManager/lazyFactoryMap.js +19 -7
  64. package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
  65. package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
  66. package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
  67. package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
  68. package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
  69. package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
  70. package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
  71. package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
  72. package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
  73. package/dataMap/metaManager/metaSchema.js +55 -55
  74. package/dataMap/metaManager/metaSchema.mjs +55 -55
  75. package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
  76. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
  77. package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
  78. package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
  79. package/dataMap/metaManager/utils.js +2 -2
  80. package/dataMap/metaManager/utils.mjs +2 -2
  81. package/dist/handsontable.css +2 -2
  82. package/dist/handsontable.full.css +2 -2
  83. package/dist/handsontable.full.js +7337 -6394
  84. package/dist/handsontable.full.min.css +2 -2
  85. package/dist/handsontable.full.min.js +154 -154
  86. package/dist/handsontable.js +7336 -6393
  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/highlight/highlight.js +1 -4
  288. package/selection/highlight/highlight.mjs +1 -4
  289. package/selection/range.js +12 -2
  290. package/selection/range.mjs +12 -2
  291. package/selection/selection.js +28 -10
  292. package/selection/selection.mjs +28 -10
  293. package/selection/utils.js +24 -14
  294. package/selection/utils.mjs +25 -15
  295. package/shortcuts/manager.js +1 -1
  296. package/shortcuts/manager.mjs +1 -1
  297. package/tableView.js +208 -200
  298. package/tableView.mjs +208 -200
  299. package/translations/changesObservable/utils.js +2 -2
  300. package/translations/changesObservable/utils.mjs +2 -2
  301. package/translations/indexMapper.js +25 -22
  302. package/translations/indexMapper.mjs +25 -22
  303. package/translations/mapCollections/aggregatedCollection.js +8 -2
  304. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  305. package/translations/mapCollections/mapCollection.js +5 -2
  306. package/translations/mapCollections/mapCollection.mjs +5 -2
  307. package/translations/maps/indexMap.js +6 -1
  308. package/translations/maps/indexMap.mjs +6 -1
  309. package/translations/maps/utils/physicallyIndexed.js +2 -2
  310. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  311. package/utils/dataStructures/linkedList.js +10 -6
  312. package/utils/dataStructures/linkedList.mjs +10 -6
  313. package/utils/dataStructures/queue.js +1 -1
  314. package/utils/dataStructures/queue.mjs +1 -1
  315. package/utils/dataStructures/stack.js +1 -1
  316. package/utils/dataStructures/stack.mjs +1 -1
  317. package/utils/ghostTable.js +2 -2
  318. package/utils/ghostTable.mjs +2 -2
  319. package/utils/interval.js +73 -36
  320. package/utils/interval.mjs +73 -36
  321. package/utils/parseTable.js +1 -1
  322. package/utils/parseTable.mjs +1 -1
  323. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  324. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  325. package/validators/dateValidator/dateValidator.js +1 -1
  326. package/validators/dateValidator/dateValidator.mjs +1 -1
  327. package/validators/numericValidator/numericValidator.js +1 -1
  328. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -2,21 +2,32 @@
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 _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
7
8
  var _array = require("../../helpers/array");
8
9
  var _element = require("../../helpers/dom/element");
9
10
  var _event = require("../../helpers/dom/event");
10
11
  var _number = require("../../helpers/number");
11
- var _eventManager = _interopRequireDefault(require("../../eventManager"));
12
12
  var _backlight = _interopRequireDefault(require("./ui/backlight"));
13
13
  var _guideline = _interopRequireDefault(require("./ui/guideline"));
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
16
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
17
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
18
+ 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; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
20
+ 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); }
21
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
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 _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
24
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
25
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
26
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
15
27
  _pluginHooks.default.getSingleton().register('beforeColumnMove');
16
28
  _pluginHooks.default.getSingleton().register('afterColumnMove');
17
29
  const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnMove';
18
30
  const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 120;
19
- const privatePool = new WeakMap();
20
31
  const CSS_PLUGIN = 'ht__manualColumnMove';
21
32
  const CSS_SHOW_UI = 'show-ui';
22
33
  const CSS_ON_MOVING = 'on-moving--columns';
@@ -49,56 +60,148 @@ const CSS_AFTER_SELECTION = 'after-selection--columns';
49
60
  * @class ManualColumnMove
50
61
  * @plugin ManualColumnMove
51
62
  */
63
+ var _columnsToMove = /*#__PURE__*/new WeakMap();
64
+ var _countCols = /*#__PURE__*/new WeakMap();
65
+ var _pressed = /*#__PURE__*/new WeakMap();
66
+ var _target = /*#__PURE__*/new WeakMap();
67
+ var _cachedDropIndex = /*#__PURE__*/new WeakMap();
68
+ var _hoveredColumn = /*#__PURE__*/new WeakMap();
69
+ var _rootElementOffset = /*#__PURE__*/new WeakMap();
70
+ var _hasRowHeaders = /*#__PURE__*/new WeakMap();
71
+ var _fixedColumnsStart = /*#__PURE__*/new WeakMap();
72
+ var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
73
+ var _onMouseMove = /*#__PURE__*/new WeakSet();
74
+ var _onBeforeOnCellMouseOver = /*#__PURE__*/new WeakSet();
75
+ var _onMouseUp = /*#__PURE__*/new WeakSet();
76
+ var _onAfterScrollVertically = /*#__PURE__*/new WeakSet();
77
+ var _onAfterLoadData = /*#__PURE__*/new WeakSet();
52
78
  class ManualColumnMove extends _base.BasePlugin {
53
- static get PLUGIN_KEY() {
54
- return PLUGIN_KEY;
55
- }
56
- static get PLUGIN_PRIORITY() {
57
- return PLUGIN_PRIORITY;
58
- }
59
- constructor(hotInstance) {
60
- super(hotInstance);
61
-
79
+ constructor() {
80
+ super(...arguments);
62
81
  /**
63
- * Set up WeakMap of plugin to sharing private parameters;.
82
+ * Callback for the `afterLoadData` hook.
83
+ *
84
+ * @private
64
85
  */
65
- privatePool.set(this, {
66
- columnsToMove: [],
67
- countCols: 0,
68
- fixedColumns: 0,
69
- pressed: void 0,
70
- target: {
71
- eventPageX: void 0,
72
- coords: void 0,
73
- TD: void 0,
74
- col: void 0
75
- },
76
- cachedDropIndex: void 0
77
- });
78
-
86
+ _classPrivateMethodInitSpec(this, _onAfterLoadData);
87
+ /**
88
+ * `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
89
+ */
90
+ _classPrivateMethodInitSpec(this, _onAfterScrollVertically);
79
91
  /**
80
- * Event Manager object.
92
+ * `onMouseUp` hook callback.
93
+ */
94
+ _classPrivateMethodInitSpec(this, _onMouseUp);
95
+ /**
96
+ * 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
81
97
  *
82
- * @private
83
- * @type {object}
98
+ * @param {MouseEvent} event `mouseover` event properties.
99
+ * @param {CellCoords} coords Visual cell coordinates where was fired event.
100
+ * @param {HTMLElement} TD Cell represented as HTMLElement.
101
+ * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
102
+ * a boolean value that allows or disallows changing the selection for that particular area.
84
103
  */
85
- this.eventManager = new _eventManager.default(this);
104
+ _classPrivateMethodInitSpec(this, _onBeforeOnCellMouseOver);
105
+ /**
106
+ * 'mouseMove' event callback. Fired when pointer move on document.documentElement.
107
+ *
108
+ * @param {MouseEvent} event `mousemove` event properties.
109
+ */
110
+ _classPrivateMethodInitSpec(this, _onMouseMove);
111
+ /**
112
+ * Change the behavior of selection / dragging.
113
+ *
114
+ * @param {MouseEvent} event `mousedown` event properties.
115
+ * @param {CellCoords} coords Visual cell coordinates where was fired event.
116
+ * @param {HTMLElement} TD Cell represented as HTMLElement.
117
+ * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
118
+ * a boolean value that allows or disallows changing the selection for that particular area.
119
+ */
120
+ _classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
86
121
  /**
87
122
  * Backlight UI object.
88
123
  *
89
124
  * @private
90
125
  * @type {object}
91
126
  */
92
- this.backlight = new _backlight.default(hotInstance);
127
+ _defineProperty(this, "backlight", new _backlight.default(this.hot));
93
128
  /**
94
129
  * Guideline UI object.
95
130
  *
96
131
  * @private
97
132
  * @type {object}
98
133
  */
99
- this.guideline = new _guideline.default(hotInstance);
134
+ _defineProperty(this, "guideline", new _guideline.default(this.hot));
135
+ /**
136
+ * @type {number[]}
137
+ */
138
+ _classPrivateFieldInitSpec(this, _columnsToMove, {
139
+ writable: true,
140
+ value: []
141
+ });
142
+ /**
143
+ * @type {number}
144
+ */
145
+ _classPrivateFieldInitSpec(this, _countCols, {
146
+ writable: true,
147
+ value: 0
148
+ });
149
+ /**
150
+ * @type {boolean}
151
+ */
152
+ _classPrivateFieldInitSpec(this, _pressed, {
153
+ writable: true,
154
+ value: false
155
+ });
156
+ /**
157
+ * @type {object}
158
+ */
159
+ _classPrivateFieldInitSpec(this, _target, {
160
+ writable: true,
161
+ value: {}
162
+ });
163
+ /**
164
+ * @type {number}
165
+ */
166
+ _classPrivateFieldInitSpec(this, _cachedDropIndex, {
167
+ writable: true,
168
+ value: void 0
169
+ });
170
+ /**
171
+ * @type {number}
172
+ */
173
+ _classPrivateFieldInitSpec(this, _hoveredColumn, {
174
+ writable: true,
175
+ value: void 0
176
+ });
177
+ /**
178
+ * @type {number}
179
+ */
180
+ _classPrivateFieldInitSpec(this, _rootElementOffset, {
181
+ writable: true,
182
+ value: void 0
183
+ });
184
+ /**
185
+ * @type {boolean}
186
+ */
187
+ _classPrivateFieldInitSpec(this, _hasRowHeaders, {
188
+ writable: true,
189
+ value: void 0
190
+ });
191
+ /**
192
+ * @type {number}
193
+ */
194
+ _classPrivateFieldInitSpec(this, _fixedColumnsStart, {
195
+ writable: true,
196
+ value: void 0
197
+ });
198
+ }
199
+ static get PLUGIN_KEY() {
200
+ return PLUGIN_KEY;
201
+ }
202
+ static get PLUGIN_PRIORITY() {
203
+ return PLUGIN_PRIORITY;
100
204
  }
101
-
102
205
  /**
103
206
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
104
207
  * hook and if it returns `true` then the {@link ManualColumnMove#enablePlugin} method is called.
@@ -118,14 +221,23 @@ class ManualColumnMove extends _base.BasePlugin {
118
221
  return;
119
222
  }
120
223
  this.addHook('beforeOnCellMouseDown', function () {
121
- return _this.onBeforeOnCellMouseDown(...arguments);
224
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
225
+ args[_key] = arguments[_key];
226
+ }
227
+ return _classPrivateMethodGet(_this, _onBeforeOnCellMouseDown, _onBeforeOnCellMouseDown2).call(_this, ...args);
122
228
  });
123
229
  this.addHook('beforeOnCellMouseOver', function () {
124
- return _this.onBeforeOnCellMouseOver(...arguments);
230
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
231
+ args[_key2] = arguments[_key2];
232
+ }
233
+ return _classPrivateMethodGet(_this, _onBeforeOnCellMouseOver, _onBeforeOnCellMouseOver2).call(_this, ...args);
125
234
  });
126
- this.addHook('afterScrollVertically', () => this.onAfterScrollVertically());
235
+ this.addHook('afterScrollVertically', () => _classPrivateMethodGet(this, _onAfterScrollVertically, _onAfterScrollVertically2).call(this));
127
236
  this.addHook('afterLoadData', function () {
128
- return _this.onAfterLoadData(...arguments);
237
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
238
+ args[_key3] = arguments[_key3];
239
+ }
240
+ return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
129
241
  });
130
242
  this.buildPluginUI();
131
243
  this.registerEvents();
@@ -184,11 +296,10 @@ class ManualColumnMove extends _base.BasePlugin {
184
296
  * @returns {boolean}
185
297
  */
186
298
  moveColumns(columns, finalIndex) {
187
- const priv = privatePool.get(this);
188
- const dropIndex = priv.cachedDropIndex;
299
+ const dropIndex = _classPrivateFieldGet(this, _cachedDropIndex);
189
300
  const movePossible = this.isMovePossible(columns, finalIndex);
190
301
  const beforeMoveHook = this.hot.runHooks('beforeColumnMove', columns, finalIndex, dropIndex, movePossible);
191
- priv.cachedDropIndex = void 0;
302
+ _classPrivateFieldSet(this, _cachedDropIndex, undefined);
192
303
  if (beforeMoveHook === false) {
193
304
  return;
194
305
  }
@@ -226,8 +337,7 @@ class ManualColumnMove extends _base.BasePlugin {
226
337
  */
227
338
  dragColumns(columns, dropIndex) {
228
339
  const finalIndex = this.countFinalIndex(columns, dropIndex);
229
- const priv = privatePool.get(this);
230
- priv.cachedDropIndex = dropIndex;
340
+ _classPrivateFieldSet(this, _cachedDropIndex, dropIndex);
231
341
  return this.moveColumns(columns, finalIndex);
232
342
  }
233
343
 
@@ -318,7 +428,7 @@ class ManualColumnMove extends _base.BasePlugin {
318
428
  const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
319
429
  if (Array.isArray(pluginSettings)) {
320
430
  this.moveColumns(pluginSettings, 0);
321
- } else if (pluginSettings !== void 0) {
431
+ } else if (pluginSettings !== undefined) {
322
432
  const persistentState = this.persistentStateLoad();
323
433
  if (persistentState.length) {
324
434
  this.moveColumns(persistentState, 0);
@@ -382,9 +492,8 @@ class ManualColumnMove extends _base.BasePlugin {
382
492
  * @private
383
493
  */
384
494
  refreshPositions() {
385
- const priv = privatePool.get(this);
386
495
  const firstVisible = this.hot.view.getFirstFullyVisibleColumn();
387
- if (this.isFixedColumnsStart(priv.hoveredColumn) && firstVisible > 0) {
496
+ if (this.isFixedColumnsStart(_classPrivateFieldGet(this, _hoveredColumn)) && firstVisible > 0) {
388
497
  this.hot.scrollViewportTo({
389
498
  col: this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1)
390
499
  });
@@ -392,7 +501,7 @@ class ManualColumnMove extends _base.BasePlugin {
392
501
  const wtTable = this.hot.view._wt.wtTable;
393
502
  const scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
394
503
  const scrollStart = typeof scrollableElement.scrollX === 'number' ? scrollableElement.scrollX : scrollableElement.scrollLeft;
395
- let tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, priv.hoveredColumn - 1);
504
+ let tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, _classPrivateFieldGet(this, _hoveredColumn) - 1);
396
505
  const hiderWidth = wtTable.hider.offsetWidth;
397
506
  const tbodyOffsetLeft = wtTable.TBODY.offsetLeft;
398
507
  const backlightElemMarginStart = this.backlight.getOffset().start;
@@ -402,35 +511,35 @@ class ManualColumnMove extends _base.BasePlugin {
402
511
  if (this.hot.isRtl()) {
403
512
  const rootWindow = this.hot.rootWindow;
404
513
  const containerWidth = (0, _element.outerWidth)(this.hot.rootElement);
405
- const gridMostRightPos = rootWindow.innerWidth - priv.rootElementOffset - containerWidth;
406
- mouseOffsetStart = rootWindow.innerWidth - priv.target.eventPageX - gridMostRightPos - (scrollableElement.scrollX === void 0 ? scrollStart : 0);
514
+ const gridMostRightPos = rootWindow.innerWidth - _classPrivateFieldGet(this, _rootElementOffset) - containerWidth;
515
+ mouseOffsetStart = rootWindow.innerWidth - _classPrivateFieldGet(this, _target).eventPageX - gridMostRightPos - (scrollableElement.scrollX === undefined ? scrollStart : 0);
407
516
  } else {
408
- mouseOffsetStart = priv.target.eventPageX - (priv.rootElementOffset - (scrollableElement.scrollX === void 0 ? scrollStart : 0));
517
+ mouseOffsetStart = _classPrivateFieldGet(this, _target).eventPageX - (_classPrivateFieldGet(this, _rootElementOffset) - (scrollableElement.scrollX === undefined ? scrollStart : 0));
409
518
  }
410
- if (priv.hasRowHeaders) {
519
+ if (_classPrivateFieldGet(this, _hasRowHeaders)) {
411
520
  rowHeaderWidth = this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.wtTable.getColumnHeader(-1).offsetWidth;
412
521
  }
413
- if (this.isFixedColumnsStart(priv.hoveredColumn)) {
522
+ if (this.isFixedColumnsStart(_classPrivateFieldGet(this, _hoveredColumn))) {
414
523
  tdOffsetStart += scrollStart;
415
524
  }
416
525
  tdOffsetStart += rowHeaderWidth;
417
- if (priv.hoveredColumn < 0) {
526
+ if (_classPrivateFieldGet(this, _hoveredColumn) < 0) {
418
527
  // if hover on rowHeader
419
- if (priv.fixedColumnsStart > 0) {
420
- priv.target.col = 0;
528
+ if (_classPrivateFieldGet(this, _fixedColumnsStart) > 0) {
529
+ _classPrivateFieldGet(this, _target).col = 0;
421
530
  } else {
422
- priv.target.col = firstVisible > 0 ? firstVisible - 1 : firstVisible;
531
+ _classPrivateFieldGet(this, _target).col = firstVisible > 0 ? firstVisible - 1 : firstVisible;
423
532
  }
424
- } else if (priv.target.TD.offsetWidth / 2 + tdOffsetStart <= mouseOffsetStart) {
425
- const newCoordsCol = priv.hoveredColumn >= priv.countCols ? priv.countCols - 1 : priv.hoveredColumn;
533
+ } else if (_classPrivateFieldGet(this, _target).TD.offsetWidth / 2 + tdOffsetStart <= mouseOffsetStart) {
534
+ const newCoordsCol = _classPrivateFieldGet(this, _hoveredColumn) >= _classPrivateFieldGet(this, _countCols) ? _classPrivateFieldGet(this, _countCols) - 1 : _classPrivateFieldGet(this, _hoveredColumn);
426
535
 
427
536
  // if hover on right part of TD
428
- priv.target.col = newCoordsCol + 1;
537
+ _classPrivateFieldGet(this, _target).col = newCoordsCol + 1;
429
538
  // unfortunately first column is bigger than rest
430
- tdOffsetStart += priv.target.TD.offsetWidth;
539
+ tdOffsetStart += _classPrivateFieldGet(this, _target).TD.offsetWidth;
431
540
  } else {
432
541
  // elsewhere on table
433
- priv.target.col = priv.hoveredColumn;
542
+ _classPrivateFieldGet(this, _target).col = _classPrivateFieldGet(this, _hoveredColumn);
434
543
  }
435
544
  let backlightStart = mouseOffsetStart;
436
545
  let guidelineStart = tdOffsetStart;
@@ -447,8 +556,8 @@ class ManualColumnMove extends _base.BasePlugin {
447
556
  } else if (guidelineStart === 0) {
448
557
  // guideline has got `margin-left: -1px` as default
449
558
  guidelineStart = 1;
450
- } else if (scrollableElement.scrollX !== void 0 && priv.hoveredColumn < priv.fixedColumnsStart) {
451
- guidelineStart -= priv.rootElementOffset <= scrollableElement.scrollX ? priv.rootElementOffset : 0;
559
+ } else if (scrollableElement.scrollX !== undefined && _classPrivateFieldGet(this, _hoveredColumn) < _classPrivateFieldGet(this, _fixedColumnsStart)) {
560
+ guidelineStart -= _classPrivateFieldGet(this, _rootElementOffset) <= scrollableElement.scrollX ? _classPrivateFieldGet(this, _rootElementOffset) : 0;
452
561
  }
453
562
  this.backlight.setPosition(null, backlightStart);
454
563
  this.guideline.setPosition(null, guidelineStart);
@@ -463,8 +572,8 @@ class ManualColumnMove extends _base.BasePlugin {
463
572
  const {
464
573
  documentElement
465
574
  } = this.hot.rootDocument;
466
- this.eventManager.addEventListener(documentElement, 'mousemove', event => this.onMouseMove(event));
467
- this.eventManager.addEventListener(documentElement, 'mouseup', () => this.onMouseUp());
575
+ this.eventManager.addEventListener(documentElement, 'mousemove', event => _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).call(this, event));
576
+ this.eventManager.addEventListener(documentElement, 'mouseup', () => _classPrivateMethodGet(this, _onMouseUp, _onMouseUp2).call(this));
468
577
  }
469
578
 
470
579
  /**
@@ -475,163 +584,6 @@ class ManualColumnMove extends _base.BasePlugin {
475
584
  unregisterEvents() {
476
585
  this.eventManager.clear();
477
586
  }
478
-
479
- /**
480
- * Change the behavior of selection / dragging.
481
- *
482
- * @private
483
- * @param {MouseEvent} event `mousedown` event properties.
484
- * @param {CellCoords} coords Visual cell coordinates where was fired event.
485
- * @param {HTMLElement} TD Cell represented as HTMLElement.
486
- * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
487
- * a boolean value that allows or disallows changing the selection for that particular area.
488
- */
489
- onBeforeOnCellMouseDown(event, coords, TD, controller) {
490
- const wtTable = this.hot.view._wt.wtTable;
491
- const isHeaderSelection = this.hot.selection.isSelectedByColumnHeader();
492
- const selection = this.hot.getSelectedRangeLast();
493
- const priv = privatePool.get(this);
494
- // This block action shouldn't be handled below.
495
- const isSortingElement = (0, _element.hasClass)(event.target, 'sortAction');
496
- if (!selection || !isHeaderSelection || priv.pressed || event.button !== 0 || isSortingElement) {
497
- priv.pressed = false;
498
- priv.columnsToMove.length = 0;
499
- (0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI]);
500
- return;
501
- }
502
- const guidelineIsNotReady = this.guideline.isBuilt() && !this.guideline.isAppended();
503
- const backlightIsNotReady = this.backlight.isBuilt() && !this.backlight.isAppended();
504
- if (guidelineIsNotReady && backlightIsNotReady) {
505
- this.guideline.appendTo(wtTable.hider);
506
- this.backlight.appendTo(wtTable.hider);
507
- }
508
- const {
509
- from,
510
- to
511
- } = selection;
512
- const start = Math.min(from.col, to.col);
513
- const end = Math.max(from.col, to.col);
514
- if (coords.row < 0 && coords.col >= start && coords.col <= end) {
515
- controller.column = true;
516
- priv.pressed = true;
517
- const eventOffsetX = TD.firstChild ? (0, _event.offsetRelativeTo)(event, TD.firstChild).x : event.offsetX;
518
- priv.target.eventPageX = event.pageX;
519
- priv.hoveredColumn = coords.col;
520
- priv.target.TD = TD;
521
- priv.target.col = coords.col;
522
- priv.columnsToMove = this.prepareColumnsToMoving(start, end);
523
- priv.hasRowHeaders = !!this.hot.getSettings().rowHeaders;
524
- priv.countCols = this.hot.countCols();
525
- priv.fixedColumnsStart = this.hot.getSettings().fixedColumnsStart;
526
- priv.rootElementOffset = (0, _element.offset)(this.hot.rootElement).left;
527
- const countColumnsFrom = priv.hasRowHeaders ? -1 : 0;
528
- const topPos = wtTable.holder.scrollTop + wtTable.getColumnHeaderHeight(0) + 1;
529
- const fixedColumnsStart = coords.col < priv.fixedColumnsStart;
530
- const horizontalScrollPosition = this.hot.view._wt.wtOverlays.inlineStartOverlay.getOverlayOffset();
531
- const offsetX = Math.abs(eventOffsetX - (this.hot.isRtl() ? TD.offsetWidth : 0));
532
- const inlineOffset = this.getColumnsWidth(start, coords.col - 1) + offsetX;
533
- const inlinePos = this.getColumnsWidth(countColumnsFrom, start - 1) + (fixedColumnsStart ? horizontalScrollPosition : 0) + inlineOffset;
534
- this.backlight.setPosition(topPos, inlinePos);
535
- this.backlight.setSize(this.getColumnsWidth(start, end), wtTable.hider.offsetHeight - topPos);
536
- this.backlight.setOffset(null, -inlineOffset);
537
- (0, _element.addClass)(this.hot.rootElement, CSS_ON_MOVING);
538
- } else {
539
- (0, _element.removeClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
540
- priv.pressed = false;
541
- priv.columnsToMove.length = 0;
542
- }
543
- }
544
-
545
- /**
546
- * 'mouseMove' event callback. Fired when pointer move on document.documentElement.
547
- *
548
- * @private
549
- * @param {MouseEvent} event `mousemove` event properties.
550
- */
551
- onMouseMove(event) {
552
- const priv = privatePool.get(this);
553
- if (!priv.pressed) {
554
- return;
555
- }
556
- priv.target.eventPageX = event.pageX;
557
- this.refreshPositions();
558
- }
559
-
560
- /**
561
- * 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
562
- *
563
- * @private
564
- * @param {MouseEvent} event `mouseover` event properties.
565
- * @param {CellCoords} coords Visual cell coordinates where was fired event.
566
- * @param {HTMLElement} TD Cell represented as HTMLElement.
567
- * @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
568
- * a boolean value that allows or disallows changing the selection for that particular area.
569
- */
570
- onBeforeOnCellMouseOver(event, coords, TD, controller) {
571
- const selectedRange = this.hot.getSelectedRangeLast();
572
- const priv = privatePool.get(this);
573
- if (!selectedRange || !priv.pressed) {
574
- return;
575
- }
576
- if (priv.columnsToMove.indexOf(coords.col) > -1) {
577
- (0, _element.removeClass)(this.hot.rootElement, CSS_SHOW_UI);
578
- } else {
579
- (0, _element.addClass)(this.hot.rootElement, CSS_SHOW_UI);
580
- }
581
- controller.row = true;
582
- controller.column = true;
583
- controller.cell = true;
584
- priv.hoveredColumn = coords.col;
585
- priv.target.TD = TD;
586
- }
587
-
588
- /**
589
- * `onMouseUp` hook callback.
590
- *
591
- * @private
592
- */
593
- onMouseUp() {
594
- const priv = privatePool.get(this);
595
- const target = priv.target.col;
596
- const columnsLen = priv.columnsToMove.length;
597
- priv.hoveredColumn = void 0;
598
- priv.pressed = false;
599
- priv.backlightWidth = 0;
600
- (0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
601
- if (this.hot.selection.isSelectedByColumnHeader()) {
602
- (0, _element.addClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
603
- }
604
- if (columnsLen < 1 || target === void 0) {
605
- return;
606
- }
607
- const firstMovedVisualColumn = priv.columnsToMove[0];
608
- const firstMovedPhysicalColumn = this.hot.toPhysicalColumn(firstMovedVisualColumn);
609
- const movePerformed = this.dragColumns(priv.columnsToMove, target);
610
- priv.columnsToMove.length = 0;
611
- if (movePerformed === true) {
612
- this.persistentStateSave();
613
- this.hot.render();
614
- this.hot.view.adjustElementsSize(true);
615
- const selectionStart = this.hot.toVisualColumn(firstMovedPhysicalColumn);
616
- const selectionEnd = selectionStart + columnsLen - 1;
617
- this.hot.selectColumns(selectionStart, selectionEnd);
618
- }
619
- }
620
-
621
- /**
622
- * `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
623
- *
624
- * @private
625
- */
626
- onAfterScrollVertically() {
627
- const wtTable = this.hot.view._wt.wtTable;
628
- const headerHeight = wtTable.getColumnHeaderHeight(0) + 1;
629
- const scrollTop = wtTable.holder.scrollTop;
630
- const posTop = headerHeight + scrollTop;
631
- this.backlight.setPosition(posTop);
632
- this.backlight.setSize(null, wtTable.hider.offsetHeight - posTop);
633
- }
634
-
635
587
  /**
636
588
  * Builds the plugin's UI.
637
589
  *
@@ -641,16 +593,6 @@ class ManualColumnMove extends _base.BasePlugin {
641
593
  this.backlight.build();
642
594
  this.guideline.build();
643
595
  }
644
-
645
- /**
646
- * Callback for the `afterLoadData` hook.
647
- *
648
- * @private
649
- */
650
- onAfterLoadData() {
651
- this.moveBySettingsOrLoad();
652
- }
653
-
654
596
  /**
655
597
  * Destroys the plugin instance.
656
598
  */
@@ -660,4 +602,117 @@ class ManualColumnMove extends _base.BasePlugin {
660
602
  super.destroy();
661
603
  }
662
604
  }
663
- exports.ManualColumnMove = ManualColumnMove;
605
+ exports.ManualColumnMove = ManualColumnMove;
606
+ function _onBeforeOnCellMouseDown2(event, coords, TD, controller) {
607
+ const wtTable = this.hot.view._wt.wtTable;
608
+ const isHeaderSelection = this.hot.selection.isSelectedByColumnHeader();
609
+ const selection = this.hot.getSelectedRangeLast();
610
+ // This block action shouldn't be handled below.
611
+ const isSortingElement = (0, _element.hasClass)(event.target, 'sortAction');
612
+ if (!selection || !isHeaderSelection || _classPrivateFieldGet(this, _pressed) || event.button !== 0 || isSortingElement) {
613
+ _classPrivateFieldSet(this, _pressed, false);
614
+ _classPrivateFieldGet(this, _columnsToMove).length = 0;
615
+ (0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI]);
616
+ return;
617
+ }
618
+ const guidelineIsNotReady = this.guideline.isBuilt() && !this.guideline.isAppended();
619
+ const backlightIsNotReady = this.backlight.isBuilt() && !this.backlight.isAppended();
620
+ if (guidelineIsNotReady && backlightIsNotReady) {
621
+ this.guideline.appendTo(wtTable.hider);
622
+ this.backlight.appendTo(wtTable.hider);
623
+ }
624
+ const {
625
+ from,
626
+ to
627
+ } = selection;
628
+ const start = Math.min(from.col, to.col);
629
+ const end = Math.max(from.col, to.col);
630
+ if (coords.row < 0 && coords.col >= start && coords.col <= end) {
631
+ controller.column = true;
632
+ _classPrivateFieldSet(this, _pressed, true);
633
+ const eventOffsetX = TD.firstChild ? (0, _event.offsetRelativeTo)(event, TD.firstChild).x : event.offsetX;
634
+ _classPrivateFieldGet(this, _target).eventPageX = event.pageX;
635
+ _classPrivateFieldSet(this, _hoveredColumn, coords.col);
636
+ _classPrivateFieldGet(this, _target).TD = TD;
637
+ _classPrivateFieldGet(this, _target).col = coords.col;
638
+ _classPrivateFieldSet(this, _columnsToMove, this.prepareColumnsToMoving(start, end));
639
+ _classPrivateFieldSet(this, _hasRowHeaders, !!this.hot.getSettings().rowHeaders);
640
+ _classPrivateFieldSet(this, _countCols, this.hot.countCols());
641
+ _classPrivateFieldSet(this, _fixedColumnsStart, this.hot.getSettings().fixedColumnsStart);
642
+ _classPrivateFieldSet(this, _rootElementOffset, (0, _element.offset)(this.hot.rootElement).left);
643
+ const countColumnsFrom = _classPrivateFieldGet(this, _hasRowHeaders) ? -1 : 0;
644
+ const topPos = wtTable.holder.scrollTop + wtTable.getColumnHeaderHeight(0) + 1;
645
+ const fixedColumnsStart = coords.col < _classPrivateFieldGet(this, _fixedColumnsStart);
646
+ const horizontalScrollPosition = this.hot.view._wt.wtOverlays.inlineStartOverlay.getOverlayOffset();
647
+ const offsetX = Math.abs(eventOffsetX - (this.hot.isRtl() ? TD.offsetWidth : 0));
648
+ const inlineOffset = this.getColumnsWidth(start, coords.col - 1) + offsetX;
649
+ const inlinePos = this.getColumnsWidth(countColumnsFrom, start - 1) + (fixedColumnsStart ? horizontalScrollPosition : 0) + inlineOffset;
650
+ this.backlight.setPosition(topPos, inlinePos);
651
+ this.backlight.setSize(this.getColumnsWidth(start, end), wtTable.hider.offsetHeight - topPos);
652
+ this.backlight.setOffset(null, -inlineOffset);
653
+ (0, _element.addClass)(this.hot.rootElement, CSS_ON_MOVING);
654
+ } else {
655
+ (0, _element.removeClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
656
+ _classPrivateFieldSet(this, _pressed, false);
657
+ _classPrivateFieldGet(this, _columnsToMove).length = 0;
658
+ }
659
+ }
660
+ function _onMouseMove2(event) {
661
+ if (!_classPrivateFieldGet(this, _pressed)) {
662
+ return;
663
+ }
664
+ _classPrivateFieldGet(this, _target).eventPageX = event.pageX;
665
+ this.refreshPositions();
666
+ }
667
+ function _onBeforeOnCellMouseOver2(event, coords, TD, controller) {
668
+ const selectedRange = this.hot.getSelectedRangeLast();
669
+ if (!selectedRange || !_classPrivateFieldGet(this, _pressed)) {
670
+ return;
671
+ }
672
+ if (_classPrivateFieldGet(this, _columnsToMove).indexOf(coords.col) > -1) {
673
+ (0, _element.removeClass)(this.hot.rootElement, CSS_SHOW_UI);
674
+ } else {
675
+ (0, _element.addClass)(this.hot.rootElement, CSS_SHOW_UI);
676
+ }
677
+ controller.row = true;
678
+ controller.column = true;
679
+ controller.cell = true;
680
+ _classPrivateFieldSet(this, _hoveredColumn, coords.col);
681
+ _classPrivateFieldGet(this, _target).TD = TD;
682
+ }
683
+ function _onMouseUp2() {
684
+ const target = _classPrivateFieldGet(this, _target).col;
685
+ const columnsLen = _classPrivateFieldGet(this, _columnsToMove).length;
686
+ _classPrivateFieldSet(this, _hoveredColumn, undefined);
687
+ _classPrivateFieldSet(this, _pressed, false);
688
+ (0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
689
+ if (this.hot.selection.isSelectedByColumnHeader()) {
690
+ (0, _element.addClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
691
+ }
692
+ if (columnsLen < 1 || target === undefined) {
693
+ return;
694
+ }
695
+ const firstMovedVisualColumn = _classPrivateFieldGet(this, _columnsToMove)[0];
696
+ const firstMovedPhysicalColumn = this.hot.toPhysicalColumn(firstMovedVisualColumn);
697
+ const movePerformed = this.dragColumns(_classPrivateFieldGet(this, _columnsToMove), target);
698
+ _classPrivateFieldGet(this, _columnsToMove).length = 0;
699
+ if (movePerformed === true) {
700
+ this.persistentStateSave();
701
+ this.hot.render();
702
+ this.hot.view.adjustElementsSize(true);
703
+ const selectionStart = this.hot.toVisualColumn(firstMovedPhysicalColumn);
704
+ const selectionEnd = selectionStart + columnsLen - 1;
705
+ this.hot.selectColumns(selectionStart, selectionEnd);
706
+ }
707
+ }
708
+ function _onAfterScrollVertically2() {
709
+ const wtTable = this.hot.view._wt.wtTable;
710
+ const headerHeight = wtTable.getColumnHeaderHeight(0) + 1;
711
+ const scrollTop = wtTable.holder.scrollTop;
712
+ const posTop = headerHeight + scrollTop;
713
+ this.backlight.setPosition(posTop);
714
+ this.backlight.setSize(null, wtTable.hider.offsetHeight - posTop);
715
+ }
716
+ function _onAfterLoadData2() {
717
+ this.moveBySettingsOrLoad();
718
+ }