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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (317) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +2 -2
  2. package/3rdparty/SheetClip/SheetClip.mjs +2 -2
  3. package/3rdparty/autoResize/autoResize.js +2 -2
  4. package/3rdparty/autoResize/autoResize.mjs +2 -2
  5. package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
  6. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
  7. package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
  8. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
  9. package/3rdparty/walkontable/src/core/clone.js +6 -0
  10. package/3rdparty/walkontable/src/core/clone.mjs +6 -0
  11. package/3rdparty/walkontable/src/event.js +125 -74
  12. package/3rdparty/walkontable/src/event.mjs +125 -74
  13. package/3rdparty/walkontable/src/filter/column.js +16 -0
  14. package/3rdparty/walkontable/src/filter/column.mjs +16 -0
  15. package/3rdparty/walkontable/src/filter/row.js +16 -0
  16. package/3rdparty/walkontable/src/filter/row.mjs +16 -0
  17. package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
  18. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  19. package/3rdparty/walkontable/src/overlay/top.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  21. package/3rdparty/walkontable/src/renderer/_base.js +12 -5
  22. package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
  23. package/3rdparty/walkontable/src/renderer/cells.js +6 -2
  24. package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
  25. package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
  26. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/rows.js +5 -0
  28. package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
  29. package/3rdparty/walkontable/src/renderer/table.js +24 -17
  30. package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
  31. package/3rdparty/walkontable/src/scroll.js +2 -2
  32. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  33. package/3rdparty/walkontable/src/selection/border/border.js +1 -1
  34. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
  35. package/3rdparty/walkontable/src/settings.js +10 -10
  36. package/3rdparty/walkontable/src/settings.mjs +10 -10
  37. package/3rdparty/walkontable/src/table.js +3 -3
  38. package/3rdparty/walkontable/src/table.mjs +3 -3
  39. package/3rdparty/walkontable/src/utils/column.js +19 -4
  40. package/3rdparty/walkontable/src/utils/column.mjs +19 -4
  41. package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
  42. package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
  43. package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
  44. package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
  45. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
  46. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
  47. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
  48. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
  49. package/3rdparty/walkontable/src/utils/row.js +14 -2
  50. package/3rdparty/walkontable/src/utils/row.mjs +14 -2
  51. package/3rdparty/walkontable/src/viewport.js +9 -9
  52. package/3rdparty/walkontable/src/viewport.mjs +9 -9
  53. package/base.js +2 -2
  54. package/base.mjs +2 -2
  55. package/core.js +31 -26
  56. package/core.mjs +31 -26
  57. package/dataMap/dataMap.js +99 -90
  58. package/dataMap/dataMap.mjs +99 -90
  59. package/dataMap/dataSource.js +14 -8
  60. package/dataMap/dataSource.mjs +14 -8
  61. package/dataMap/metaManager/lazyFactoryMap.js +19 -7
  62. package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
  63. package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
  64. package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
  65. package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
  66. package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
  67. package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
  68. package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
  69. package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
  70. package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
  71. package/dataMap/metaManager/metaSchema.js +55 -55
  72. package/dataMap/metaManager/metaSchema.mjs +55 -55
  73. package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
  74. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
  75. package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
  76. package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
  77. package/dataMap/metaManager/utils.js +2 -2
  78. package/dataMap/metaManager/utils.mjs +2 -2
  79. package/dist/handsontable.css +2 -2
  80. package/dist/handsontable.full.css +2 -2
  81. package/dist/handsontable.full.js +7251 -6352
  82. package/dist/handsontable.full.min.css +2 -2
  83. package/dist/handsontable.full.min.js +120 -120
  84. package/dist/handsontable.js +7250 -6351
  85. package/dist/handsontable.min.css +2 -2
  86. package/dist/handsontable.min.js +28 -28
  87. package/editorManager.js +105 -95
  88. package/editorManager.mjs +105 -95
  89. package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
  90. package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
  91. package/editors/baseEditor/baseEditor.js +23 -26
  92. package/editors/baseEditor/baseEditor.mjs +23 -26
  93. package/editors/dateEditor/dateEditor.js +24 -15
  94. package/editors/dateEditor/dateEditor.mjs +24 -15
  95. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  96. package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
  97. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  98. package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
  99. package/editors/textEditor/textEditor.js +23 -17
  100. package/editors/textEditor/textEditor.mjs +24 -18
  101. package/eventManager.js +8 -0
  102. package/eventManager.mjs +8 -0
  103. package/helpers/array.js +2 -2
  104. package/helpers/array.mjs +2 -2
  105. package/helpers/dom/element.js +7 -7
  106. package/helpers/dom/element.mjs +7 -7
  107. package/helpers/function.js +1 -1
  108. package/helpers/function.mjs +1 -1
  109. package/helpers/mixed.js +1 -1
  110. package/helpers/mixed.mjs +1 -1
  111. package/helpers/object.js +4 -4
  112. package/helpers/object.mjs +4 -4
  113. package/helpers/string.js +1 -1
  114. package/helpers/string.mjs +1 -1
  115. package/package.json +1 -1
  116. package/pluginHooks.js +12 -3
  117. package/pluginHooks.mjs +12 -3
  118. package/plugins/autoColumnSize/autoColumnSize.js +141 -130
  119. package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
  120. package/plugins/autoRowSize/autoRowSize.js +112 -125
  121. package/plugins/autoRowSize/autoRowSize.mjs +110 -123
  122. package/plugins/autofill/autofill.js +97 -102
  123. package/plugins/autofill/autofill.mjs +96 -101
  124. package/plugins/base/base.js +57 -22
  125. package/plugins/base/base.mjs +56 -22
  126. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
  127. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
  128. package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
  129. package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
  130. package/plugins/columnSorting/columnSorting.js +105 -98
  131. package/plugins/columnSorting/columnSorting.mjs +104 -97
  132. package/plugins/columnSorting/columnStatesManager.js +12 -6
  133. package/plugins/columnSorting/columnStatesManager.mjs +12 -6
  134. package/plugins/columnSummary/columnSummary.js +71 -58
  135. package/plugins/columnSummary/columnSummary.mjs +70 -57
  136. package/plugins/columnSummary/endpoints.js +20 -14
  137. package/plugins/columnSummary/endpoints.mjs +20 -14
  138. package/plugins/comments/commentEditor.js +30 -2
  139. package/plugins/comments/commentEditor.mjs +30 -2
  140. package/plugins/comments/comments.js +158 -169
  141. package/plugins/comments/comments.mjs +157 -168
  142. package/plugins/comments/displaySwitch.js +7 -3
  143. package/plugins/comments/displaySwitch.mjs +7 -3
  144. package/plugins/contextMenu/commandExecutor.js +15 -2
  145. package/plugins/contextMenu/commandExecutor.mjs +15 -2
  146. package/plugins/contextMenu/contextMenu.js +91 -101
  147. package/plugins/contextMenu/contextMenu.mjs +90 -100
  148. package/plugins/contextMenu/itemsFactory.js +19 -4
  149. package/plugins/contextMenu/itemsFactory.mjs +19 -4
  150. package/plugins/contextMenu/menu/cursor.js +36 -0
  151. package/plugins/contextMenu/menu/cursor.mjs +36 -0
  152. package/plugins/contextMenu/menu/menu.js +57 -5
  153. package/plugins/contextMenu/menu/menu.mjs +57 -5
  154. package/plugins/copyPaste/copyPaste.js +74 -75
  155. package/plugins/copyPaste/copyPaste.mjs +74 -75
  156. package/plugins/customBorders/customBorders.js +49 -48
  157. package/plugins/customBorders/customBorders.mjs +48 -47
  158. package/plugins/dragToScroll/dragToScroll.js +50 -54
  159. package/plugins/dragToScroll/dragToScroll.mjs +49 -52
  160. package/plugins/dropdownMenu/dropdownMenu.js +132 -129
  161. package/plugins/dropdownMenu/dropdownMenu.mjs +132 -129
  162. package/plugins/exportFile/dataProvider.js +7 -2
  163. package/plugins/exportFile/dataProvider.mjs +7 -2
  164. package/plugins/exportFile/exportFile.js +1 -1
  165. package/plugins/exportFile/exportFile.mjs +1 -1
  166. package/plugins/exportFile/types/_base.js +14 -6
  167. package/plugins/exportFile/types/_base.mjs +14 -6
  168. package/plugins/filters/component/actionBar.js +9 -0
  169. package/plugins/filters/component/actionBar.mjs +9 -0
  170. package/plugins/filters/component/condition.js +13 -0
  171. package/plugins/filters/component/condition.mjs +13 -0
  172. package/plugins/filters/component/operators.js +9 -0
  173. package/plugins/filters/component/operators.mjs +9 -0
  174. package/plugins/filters/component/value.js +9 -0
  175. package/plugins/filters/component/value.mjs +9 -0
  176. package/plugins/filters/conditionCollection.js +9 -4
  177. package/plugins/filters/conditionCollection.mjs +9 -4
  178. package/plugins/filters/conditionUpdateObserver.js +53 -42
  179. package/plugins/filters/conditionUpdateObserver.mjs +53 -42
  180. package/plugins/filters/dataFilter.js +9 -3
  181. package/plugins/filters/dataFilter.mjs +9 -3
  182. package/plugins/filters/filters.js +184 -189
  183. package/plugins/filters/filters.mjs +182 -187
  184. package/plugins/filters/ui/_base.js +1 -1
  185. package/plugins/filters/ui/_base.mjs +1 -1
  186. package/plugins/filters/utils.js +1 -1
  187. package/plugins/filters/utils.mjs +1 -1
  188. package/plugins/formulas/engine/settings.js +1 -1
  189. package/plugins/formulas/engine/settings.mjs +1 -1
  190. package/plugins/formulas/formulas.js +684 -602
  191. package/plugins/formulas/formulas.mjs +682 -600
  192. package/plugins/hiddenColumns/hiddenColumns.js +174 -169
  193. package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
  194. package/plugins/hiddenRows/hiddenRows.js +170 -165
  195. package/plugins/hiddenRows/hiddenRows.mjs +169 -164
  196. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  197. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  198. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  199. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  200. package/plugins/manualColumnFreeze/manualColumnFreeze.js +67 -54
  201. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
  202. package/plugins/manualColumnMove/manualColumnMove.js +287 -232
  203. package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
  204. package/plugins/manualColumnMove/ui/_base.js +9 -3
  205. package/plugins/manualColumnMove/ui/_base.mjs +9 -3
  206. package/plugins/manualColumnResize/manualColumnResize.js +291 -246
  207. package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
  208. package/plugins/manualRowMove/manualRowMove.js +223 -208
  209. package/plugins/manualRowMove/manualRowMove.mjs +222 -207
  210. package/plugins/manualRowMove/ui/_base.js +10 -5
  211. package/plugins/manualRowMove/ui/_base.mjs +10 -5
  212. package/plugins/manualRowResize/manualRowResize.js +254 -209
  213. package/plugins/manualRowResize/manualRowResize.mjs +253 -207
  214. package/plugins/mergeCells/calculations/autofill.js +9 -3
  215. package/plugins/mergeCells/calculations/autofill.mjs +9 -3
  216. package/plugins/mergeCells/calculations/selection.js +10 -4
  217. package/plugins/mergeCells/calculations/selection.mjs +10 -4
  218. package/plugins/mergeCells/cellCoords.js +16 -6
  219. package/plugins/mergeCells/cellCoords.mjs +16 -6
  220. package/plugins/mergeCells/cellsCollection.js +10 -4
  221. package/plugins/mergeCells/cellsCollection.mjs +10 -4
  222. package/plugins/mergeCells/mergeCells.js +582 -502
  223. package/plugins/mergeCells/mergeCells.mjs +580 -500
  224. package/plugins/multiColumnSorting/multiColumnSorting.js +13 -10
  225. package/plugins/multiColumnSorting/multiColumnSorting.mjs +13 -10
  226. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
  227. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
  228. package/plugins/nestedHeaders/nestedHeaders.js +542 -499
  229. package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
  230. package/plugins/nestedHeaders/stateManager/index.js +1 -1
  231. package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
  232. package/plugins/nestedRows/data/dataManager.js +21 -15
  233. package/plugins/nestedRows/data/dataManager.mjs +21 -15
  234. package/plugins/nestedRows/nestedRows.js +326 -278
  235. package/plugins/nestedRows/nestedRows.mjs +325 -277
  236. package/plugins/nestedRows/ui/_base.js +7 -1
  237. package/plugins/nestedRows/ui/_base.mjs +7 -1
  238. package/plugins/nestedRows/ui/collapsing.js +2 -2
  239. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  240. package/plugins/nestedRows/ui/contextMenu.js +28 -18
  241. package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
  242. package/plugins/nestedRows/utils/rowMoveController.js +12 -4
  243. package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
  244. package/plugins/persistentState/persistentState.js +14 -11
  245. package/plugins/persistentState/persistentState.mjs +14 -11
  246. package/plugins/persistentState/storage.js +11 -6
  247. package/plugins/persistentState/storage.mjs +11 -6
  248. package/plugins/registry.js +2 -2
  249. package/plugins/registry.mjs +2 -2
  250. package/plugins/search/search.js +57 -46
  251. package/plugins/search/search.mjs +56 -45
  252. package/plugins/touchScroll/touchScroll.js +102 -100
  253. package/plugins/touchScroll/touchScroll.mjs +100 -98
  254. package/plugins/trimRows/trimRows.js +33 -28
  255. package/plugins/trimRows/trimRows.mjs +32 -27
  256. package/plugins/undoRedo/undoRedo.js +2 -2
  257. package/plugins/undoRedo/undoRedo.mjs +2 -2
  258. package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
  259. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
  260. package/renderers/baseRenderer/baseRenderer.js +2 -2
  261. package/renderers/baseRenderer/baseRenderer.mjs +2 -2
  262. package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
  263. package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
  264. package/renderers/dateRenderer/dateRenderer.js +4 -4
  265. package/renderers/dateRenderer/dateRenderer.mjs +4 -4
  266. package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
  267. package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
  268. package/renderers/htmlRenderer/htmlRenderer.js +4 -4
  269. package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
  270. package/renderers/numericRenderer/numericRenderer.js +3 -3
  271. package/renderers/numericRenderer/numericRenderer.mjs +3 -3
  272. package/renderers/passwordRenderer/passwordRenderer.js +3 -3
  273. package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
  274. package/renderers/selectRenderer/selectRenderer.js +4 -4
  275. package/renderers/selectRenderer/selectRenderer.mjs +4 -4
  276. package/renderers/textRenderer/textRenderer.js +5 -5
  277. package/renderers/textRenderer/textRenderer.mjs +5 -5
  278. package/renderers/timeRenderer/timeRenderer.js +3 -3
  279. package/renderers/timeRenderer/timeRenderer.mjs +3 -3
  280. package/selection/highlight/highlight.js +1 -4
  281. package/selection/highlight/highlight.mjs +1 -4
  282. package/selection/range.js +12 -2
  283. package/selection/range.mjs +12 -2
  284. package/selection/selection.js +3 -3
  285. package/selection/selection.mjs +3 -3
  286. package/tableView.js +208 -200
  287. package/tableView.mjs +208 -200
  288. package/translations/changesObservable/utils.js +2 -2
  289. package/translations/changesObservable/utils.mjs +2 -2
  290. package/translations/indexMapper.js +25 -22
  291. package/translations/indexMapper.mjs +25 -22
  292. package/translations/mapCollections/aggregatedCollection.js +8 -2
  293. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  294. package/translations/mapCollections/mapCollection.js +5 -2
  295. package/translations/mapCollections/mapCollection.mjs +5 -2
  296. package/translations/maps/indexMap.js +6 -1
  297. package/translations/maps/indexMap.mjs +6 -1
  298. package/translations/maps/utils/physicallyIndexed.js +2 -2
  299. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  300. package/utils/dataStructures/linkedList.js +10 -6
  301. package/utils/dataStructures/linkedList.mjs +10 -6
  302. package/utils/dataStructures/queue.js +1 -1
  303. package/utils/dataStructures/queue.mjs +1 -1
  304. package/utils/dataStructures/stack.js +1 -1
  305. package/utils/dataStructures/stack.mjs +1 -1
  306. package/utils/ghostTable.js +2 -2
  307. package/utils/ghostTable.mjs +2 -2
  308. package/utils/interval.js +73 -36
  309. package/utils/interval.mjs +73 -36
  310. package/utils/parseTable.js +1 -1
  311. package/utils/parseTable.mjs +1 -1
  312. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  313. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  314. package/validators/dateValidator/dateValidator.js +1 -1
  315. package/validators/dateValidator/dateValidator.mjs +1 -1
  316. package/validators/numericValidator/numericValidator.js +1 -1
  317. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -1,4 +1,14 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/es.error.cause.js";
3
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
7
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
8
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
9
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
10
+ 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; } }
11
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
2
12
  import { BasePlugin } from "../base/index.mjs";
3
13
  import Hooks from "../../pluginHooks.mjs";
4
14
  import freezeColumnItem from "./contextMenuItem/freezeColumn.mjs";
@@ -9,7 +19,6 @@ Hooks.getSingleton().register('beforeColumnUnfreeze');
9
19
  Hooks.getSingleton().register('afterColumnUnfreeze');
10
20
  export const PLUGIN_KEY = 'manualColumnFreeze';
11
21
  export const PLUGIN_PRIORITY = 110;
12
- const privatePool = new WeakMap();
13
22
 
14
23
  /* eslint-disable jsdoc/require-description-complete-sentence */
15
24
 
@@ -27,20 +36,44 @@ const privatePool = new WeakMap();
27
36
  * manualColumnFreeze: true,
28
37
  * ```
29
38
  */
39
+ var _afterFirstUse = /*#__PURE__*/new WeakMap();
40
+ var _addContextMenuEntry = /*#__PURE__*/new WeakSet();
41
+ var _onBeforeColumnMove = /*#__PURE__*/new WeakSet();
30
42
  export class ManualColumnFreeze extends BasePlugin {
43
+ constructor() {
44
+ super(...arguments);
45
+ /**
46
+ * Prevents moving the columns from/to fixed area.
47
+ *
48
+ * @private
49
+ * @param {Array} columns Array of visual column indexes to be moved.
50
+ * @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
51
+ * @returns {boolean|undefined}
52
+ */
53
+ _classPrivateMethodInitSpec(this, _onBeforeColumnMove);
54
+ /**
55
+ * Adds the manualColumnFreeze context menu entries.
56
+ *
57
+ * @private
58
+ * @param {object} options Context menu options.
59
+ */
60
+ _classPrivateMethodInitSpec(this, _addContextMenuEntry);
61
+ /**
62
+ * Determines when the moving operation is allowed.
63
+ *
64
+ * @type {boolean}
65
+ */
66
+ _classPrivateFieldInitSpec(this, _afterFirstUse, {
67
+ writable: true,
68
+ value: false
69
+ });
70
+ }
31
71
  static get PLUGIN_KEY() {
32
72
  return PLUGIN_KEY;
33
73
  }
34
74
  static get PLUGIN_PRIORITY() {
35
75
  return PLUGIN_PRIORITY;
36
76
  }
37
- constructor(hotInstance) {
38
- super(hotInstance);
39
- privatePool.set(this, {
40
- afterFirstUse: false
41
- });
42
- }
43
-
44
77
  /**
45
78
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
46
79
  * hook and if it returns `true` then the {@link ManualColumnFreeze#enablePlugin} method is called.
@@ -58,8 +91,8 @@ export class ManualColumnFreeze extends BasePlugin {
58
91
  if (this.enabled) {
59
92
  return;
60
93
  }
61
- this.addHook('afterContextMenuDefaultOptions', options => this.addContextMenuEntry(options));
62
- this.addHook('beforeColumnMove', (columns, finalIndex) => this.onBeforeColumnMove(columns, finalIndex));
94
+ this.addHook('afterContextMenuDefaultOptions', options => _classPrivateMethodGet(this, _addContextMenuEntry, _addContextMenuEntry2).call(this, options));
95
+ this.addHook('beforeColumnMove', (columns, finalIndex) => _classPrivateMethodGet(this, _onBeforeColumnMove, _onBeforeColumnMove2).call(this, columns, finalIndex));
63
96
  super.enablePlugin();
64
97
  }
65
98
 
@@ -67,8 +100,7 @@ export class ManualColumnFreeze extends BasePlugin {
67
100
  * Disables the plugin functionality for this Handsontable instance.
68
101
  */
69
102
  disablePlugin() {
70
- const priv = privatePool.get(this);
71
- priv.afterFirstUse = false;
103
+ _classPrivateFieldSet(this, _afterFirstUse, false);
72
104
  super.disablePlugin();
73
105
  }
74
106
 
@@ -93,12 +125,11 @@ export class ManualColumnFreeze extends BasePlugin {
93
125
  * @param {number} column Visual column index.
94
126
  */
95
127
  freezeColumn(column) {
96
- const priv = privatePool.get(this);
97
128
  const settings = this.hot.getSettings();
98
129
  // columns are already fixed (frozen)
99
130
  const freezePerformed = settings.fixedColumnsStart < this.hot.countCols() && column > settings.fixedColumnsStart - 1;
100
- if (!priv.afterFirstUse) {
101
- priv.afterFirstUse = true;
131
+ if (!_classPrivateFieldGet(this, _afterFirstUse)) {
132
+ _classPrivateFieldSet(this, _afterFirstUse, true);
102
133
  }
103
134
  const beforeColumnFreezeHook = this.hot.runHooks('beforeColumnFreeze', column, freezePerformed);
104
135
  if (beforeColumnFreezeHook === false) {
@@ -122,12 +153,11 @@ export class ManualColumnFreeze extends BasePlugin {
122
153
  * @param {number} column Visual column index.
123
154
  */
124
155
  unfreezeColumn(column) {
125
- const priv = privatePool.get(this);
126
156
  const settings = this.hot.getSettings();
127
157
  // columns are not fixed (not frozen)
128
158
  const unfreezePerformed = settings.fixedColumnsStart > 0 && column <= settings.fixedColumnsStart - 1;
129
- if (!priv.afterFirstUse) {
130
- priv.afterFirstUse = true;
159
+ if (!_classPrivateFieldGet(this, _afterFirstUse)) {
160
+ _classPrivateFieldSet(this, _afterFirstUse, true);
131
161
  }
132
162
  const beforeColumnUnfreezeHook = this.hot.runHooks('beforeColumnUnfreeze', column, unfreezePerformed);
133
163
  if (beforeColumnUnfreezeHook === false) {
@@ -143,41 +173,24 @@ export class ManualColumnFreeze extends BasePlugin {
143
173
  }
144
174
  this.hot.runHooks('afterColumnUnfreeze', column, unfreezePerformed);
145
175
  }
176
+ }
177
+ function _addContextMenuEntry2(options) {
178
+ options.items.push({
179
+ name: '---------'
180
+ }, freezeColumnItem(this), unfreezeColumnItem(this));
181
+ }
182
+ function _onBeforeColumnMove2(columns, finalIndex) {
183
+ if (_classPrivateFieldGet(this, _afterFirstUse)) {
184
+ const freezeLine = this.hot.getSettings().fixedColumnsStart;
146
185
 
147
- /**
148
- * Adds the manualColumnFreeze context menu entries.
149
- *
150
- * @private
151
- * @param {object} options Context menu options.
152
- */
153
- addContextMenuEntry(options) {
154
- options.items.push({
155
- name: '---------'
156
- }, freezeColumnItem(this), unfreezeColumnItem(this));
157
- }
158
-
159
- /**
160
- * Prevents moving the columns from/to fixed area.
161
- *
162
- * @private
163
- * @param {Array} columns Array of visual column indexes to be moved.
164
- * @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
165
- * @returns {boolean|undefined}
166
- */
167
- onBeforeColumnMove(columns, finalIndex) {
168
- const priv = privatePool.get(this);
169
- if (priv.afterFirstUse) {
170
- const freezeLine = this.hot.getSettings().fixedColumnsStart;
171
-
172
- // Moving any column before the "freeze line" isn't possible.
173
- if (finalIndex < freezeLine) {
174
- return false;
175
- }
186
+ // Moving any column before the "freeze line" isn't possible.
187
+ if (finalIndex < freezeLine) {
188
+ return false;
189
+ }
176
190
 
177
- // Moving frozen column isn't possible.
178
- if (columns.some(column => column < freezeLine)) {
179
- return false;
180
- }
191
+ // Moving frozen column isn't possible.
192
+ if (columns.some(column => column < freezeLine)) {
193
+ return false;
181
194
  }
182
195
  }
183
196
  }