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

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

Potentially problematic release.


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

Files changed (316) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +2 -2
  2. package/3rdparty/SheetClip/SheetClip.mjs +2 -2
  3. package/3rdparty/autoResize/autoResize.js +2 -2
  4. package/3rdparty/autoResize/autoResize.mjs +2 -2
  5. package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
  6. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
  7. package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
  8. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
  9. package/3rdparty/walkontable/src/core/clone.js +6 -0
  10. package/3rdparty/walkontable/src/core/clone.mjs +6 -0
  11. package/3rdparty/walkontable/src/event.js +125 -74
  12. package/3rdparty/walkontable/src/event.mjs +125 -74
  13. package/3rdparty/walkontable/src/filter/column.js +16 -0
  14. package/3rdparty/walkontable/src/filter/column.mjs +16 -0
  15. package/3rdparty/walkontable/src/filter/row.js +16 -0
  16. package/3rdparty/walkontable/src/filter/row.mjs +16 -0
  17. package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
  18. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  19. package/3rdparty/walkontable/src/overlay/top.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
  21. package/3rdparty/walkontable/src/renderer/_base.js +12 -5
  22. package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
  23. package/3rdparty/walkontable/src/renderer/cells.js +6 -2
  24. package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
  25. package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
  26. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/rows.js +5 -0
  28. package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
  29. package/3rdparty/walkontable/src/renderer/table.js +24 -17
  30. package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
  31. package/3rdparty/walkontable/src/scroll.js +2 -2
  32. package/3rdparty/walkontable/src/scroll.mjs +2 -2
  33. package/3rdparty/walkontable/src/selection/border/border.js +1 -1
  34. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
  35. package/3rdparty/walkontable/src/settings.js +10 -10
  36. package/3rdparty/walkontable/src/settings.mjs +10 -10
  37. package/3rdparty/walkontable/src/table.js +3 -3
  38. package/3rdparty/walkontable/src/table.mjs +3 -3
  39. package/3rdparty/walkontable/src/utils/column.js +19 -4
  40. package/3rdparty/walkontable/src/utils/column.mjs +19 -4
  41. package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
  42. package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
  43. package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
  44. package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
  45. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
  46. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
  47. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
  48. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
  49. package/3rdparty/walkontable/src/utils/row.js +14 -2
  50. package/3rdparty/walkontable/src/utils/row.mjs +14 -2
  51. package/3rdparty/walkontable/src/viewport.js +9 -9
  52. package/3rdparty/walkontable/src/viewport.mjs +9 -9
  53. package/base.js +2 -2
  54. package/base.mjs +2 -2
  55. package/core.js +25 -25
  56. package/core.mjs +25 -25
  57. package/dataMap/dataMap.js +99 -90
  58. package/dataMap/dataMap.mjs +99 -90
  59. package/dataMap/dataSource.js +14 -8
  60. package/dataMap/dataSource.mjs +14 -8
  61. package/dataMap/metaManager/lazyFactoryMap.js +19 -7
  62. package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
  63. package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
  64. package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
  65. package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
  66. package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
  67. package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
  68. package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
  69. package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
  70. package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
  71. package/dataMap/metaManager/metaSchema.js +55 -55
  72. package/dataMap/metaManager/metaSchema.mjs +55 -55
  73. package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
  74. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
  75. package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
  76. package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
  77. package/dataMap/metaManager/utils.js +2 -2
  78. package/dataMap/metaManager/utils.mjs +2 -2
  79. package/dist/handsontable.css +2 -2
  80. package/dist/handsontable.full.css +2 -2
  81. package/dist/handsontable.full.js +7244 -6347
  82. package/dist/handsontable.full.min.css +2 -2
  83. package/dist/handsontable.full.min.js +120 -120
  84. package/dist/handsontable.js +7243 -6346
  85. package/dist/handsontable.min.css +2 -2
  86. package/dist/handsontable.min.js +28 -28
  87. package/editorManager.js +105 -95
  88. package/editorManager.mjs +105 -95
  89. package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
  90. package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
  91. package/editors/baseEditor/baseEditor.js +23 -26
  92. package/editors/baseEditor/baseEditor.mjs +23 -26
  93. package/editors/dateEditor/dateEditor.js +24 -15
  94. package/editors/dateEditor/dateEditor.mjs +24 -15
  95. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  96. package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
  97. package/editors/handsontableEditor/handsontableEditor.js +4 -4
  98. package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
  99. package/editors/textEditor/textEditor.js +23 -17
  100. package/editors/textEditor/textEditor.mjs +24 -18
  101. package/eventManager.js +8 -0
  102. package/eventManager.mjs +8 -0
  103. package/helpers/array.js +2 -2
  104. package/helpers/array.mjs +2 -2
  105. package/helpers/dom/element.js +7 -7
  106. package/helpers/dom/element.mjs +7 -7
  107. package/helpers/function.js +1 -1
  108. package/helpers/function.mjs +1 -1
  109. package/helpers/mixed.js +1 -1
  110. package/helpers/mixed.mjs +1 -1
  111. package/helpers/object.js +4 -4
  112. package/helpers/object.mjs +4 -4
  113. package/helpers/string.js +1 -1
  114. package/helpers/string.mjs +1 -1
  115. package/package.json +1 -1
  116. package/pluginHooks.d.ts +0 -2
  117. package/pluginHooks.js +12 -3
  118. package/pluginHooks.mjs +12 -3
  119. package/plugins/autoColumnSize/autoColumnSize.js +141 -130
  120. package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
  121. package/plugins/autoRowSize/autoRowSize.js +112 -125
  122. package/plugins/autoRowSize/autoRowSize.mjs +110 -123
  123. package/plugins/autofill/autofill.js +97 -102
  124. package/plugins/autofill/autofill.mjs +96 -101
  125. package/plugins/base/base.js +57 -22
  126. package/plugins/base/base.mjs +56 -22
  127. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
  128. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
  129. package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
  130. package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
  131. package/plugins/columnSorting/columnSorting.js +105 -98
  132. package/plugins/columnSorting/columnSorting.mjs +104 -97
  133. package/plugins/columnSorting/columnStatesManager.js +12 -6
  134. package/plugins/columnSorting/columnStatesManager.mjs +12 -6
  135. package/plugins/columnSummary/columnSummary.js +71 -58
  136. package/plugins/columnSummary/columnSummary.mjs +70 -57
  137. package/plugins/columnSummary/endpoints.js +20 -14
  138. package/plugins/columnSummary/endpoints.mjs +20 -14
  139. package/plugins/comments/commentEditor.js +30 -2
  140. package/plugins/comments/commentEditor.mjs +30 -2
  141. package/plugins/comments/comments.js +158 -169
  142. package/plugins/comments/comments.mjs +157 -168
  143. package/plugins/comments/displaySwitch.js +7 -3
  144. package/plugins/comments/displaySwitch.mjs +7 -3
  145. package/plugins/contextMenu/commandExecutor.js +15 -2
  146. package/plugins/contextMenu/commandExecutor.mjs +15 -2
  147. package/plugins/contextMenu/contextMenu.js +91 -101
  148. package/plugins/contextMenu/contextMenu.mjs +90 -100
  149. package/plugins/contextMenu/itemsFactory.js +19 -4
  150. package/plugins/contextMenu/itemsFactory.mjs +19 -4
  151. package/plugins/contextMenu/menu/cursor.js +36 -0
  152. package/plugins/contextMenu/menu/cursor.mjs +36 -0
  153. package/plugins/contextMenu/menu/menu.js +57 -5
  154. package/plugins/contextMenu/menu/menu.mjs +57 -5
  155. package/plugins/copyPaste/copyPaste.js +74 -75
  156. package/plugins/copyPaste/copyPaste.mjs +74 -75
  157. package/plugins/customBorders/customBorders.js +49 -48
  158. package/plugins/customBorders/customBorders.mjs +48 -47
  159. package/plugins/dragToScroll/dragToScroll.js +50 -54
  160. package/plugins/dragToScroll/dragToScroll.mjs +49 -52
  161. package/plugins/dropdownMenu/dropdownMenu.js +132 -129
  162. package/plugins/dropdownMenu/dropdownMenu.mjs +132 -129
  163. package/plugins/exportFile/dataProvider.js +7 -2
  164. package/plugins/exportFile/dataProvider.mjs +7 -2
  165. package/plugins/exportFile/exportFile.js +1 -1
  166. package/plugins/exportFile/exportFile.mjs +1 -1
  167. package/plugins/exportFile/types/_base.js +14 -6
  168. package/plugins/exportFile/types/_base.mjs +14 -6
  169. package/plugins/filters/component/actionBar.js +9 -0
  170. package/plugins/filters/component/actionBar.mjs +9 -0
  171. package/plugins/filters/component/condition.js +13 -0
  172. package/plugins/filters/component/condition.mjs +13 -0
  173. package/plugins/filters/component/operators.js +9 -0
  174. package/plugins/filters/component/operators.mjs +9 -0
  175. package/plugins/filters/component/value.js +9 -0
  176. package/plugins/filters/component/value.mjs +9 -0
  177. package/plugins/filters/conditionCollection.js +9 -4
  178. package/plugins/filters/conditionCollection.mjs +9 -4
  179. package/plugins/filters/conditionUpdateObserver.js +53 -42
  180. package/plugins/filters/conditionUpdateObserver.mjs +53 -42
  181. package/plugins/filters/dataFilter.js +9 -3
  182. package/plugins/filters/dataFilter.mjs +9 -3
  183. package/plugins/filters/filters.js +184 -189
  184. package/plugins/filters/filters.mjs +182 -187
  185. package/plugins/filters/ui/_base.js +1 -1
  186. package/plugins/filters/ui/_base.mjs +1 -1
  187. package/plugins/filters/utils.js +1 -1
  188. package/plugins/filters/utils.mjs +1 -1
  189. package/plugins/formulas/engine/settings.js +1 -1
  190. package/plugins/formulas/engine/settings.mjs +1 -1
  191. package/plugins/formulas/formulas.js +684 -602
  192. package/plugins/formulas/formulas.mjs +682 -600
  193. package/plugins/hiddenColumns/hiddenColumns.js +174 -169
  194. package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
  195. package/plugins/hiddenRows/hiddenRows.js +170 -165
  196. package/plugins/hiddenRows/hiddenRows.mjs +169 -164
  197. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  198. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  199. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  200. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  201. package/plugins/manualColumnFreeze/manualColumnFreeze.js +67 -54
  202. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
  203. package/plugins/manualColumnMove/manualColumnMove.js +287 -232
  204. package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
  205. package/plugins/manualColumnMove/ui/_base.js +9 -3
  206. package/plugins/manualColumnMove/ui/_base.mjs +9 -3
  207. package/plugins/manualColumnResize/manualColumnResize.js +291 -246
  208. package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
  209. package/plugins/manualRowMove/manualRowMove.js +223 -208
  210. package/plugins/manualRowMove/manualRowMove.mjs +222 -207
  211. package/plugins/manualRowMove/ui/_base.js +10 -5
  212. package/plugins/manualRowMove/ui/_base.mjs +10 -5
  213. package/plugins/manualRowResize/manualRowResize.js +254 -209
  214. package/plugins/manualRowResize/manualRowResize.mjs +253 -207
  215. package/plugins/mergeCells/calculations/autofill.js +9 -3
  216. package/plugins/mergeCells/calculations/autofill.mjs +9 -3
  217. package/plugins/mergeCells/calculations/selection.js +10 -4
  218. package/plugins/mergeCells/calculations/selection.mjs +10 -4
  219. package/plugins/mergeCells/cellCoords.js +16 -6
  220. package/plugins/mergeCells/cellCoords.mjs +16 -6
  221. package/plugins/mergeCells/cellsCollection.js +10 -4
  222. package/plugins/mergeCells/cellsCollection.mjs +10 -4
  223. package/plugins/mergeCells/mergeCells.js +582 -502
  224. package/plugins/mergeCells/mergeCells.mjs +580 -500
  225. package/plugins/multiColumnSorting/multiColumnSorting.js +13 -10
  226. package/plugins/multiColumnSorting/multiColumnSorting.mjs +13 -10
  227. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
  228. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
  229. package/plugins/nestedHeaders/nestedHeaders.js +542 -499
  230. package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
  231. package/plugins/nestedHeaders/stateManager/index.js +1 -1
  232. package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
  233. package/plugins/nestedRows/data/dataManager.js +21 -15
  234. package/plugins/nestedRows/data/dataManager.mjs +21 -15
  235. package/plugins/nestedRows/nestedRows.js +326 -278
  236. package/plugins/nestedRows/nestedRows.mjs +325 -277
  237. package/plugins/nestedRows/ui/_base.js +7 -1
  238. package/plugins/nestedRows/ui/_base.mjs +7 -1
  239. package/plugins/nestedRows/ui/collapsing.js +2 -2
  240. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  241. package/plugins/nestedRows/ui/contextMenu.js +28 -18
  242. package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
  243. package/plugins/nestedRows/utils/rowMoveController.js +12 -4
  244. package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
  245. package/plugins/persistentState/persistentState.js +14 -11
  246. package/plugins/persistentState/persistentState.mjs +14 -11
  247. package/plugins/persistentState/storage.js +11 -6
  248. package/plugins/persistentState/storage.mjs +11 -6
  249. package/plugins/registry.js +2 -2
  250. package/plugins/registry.mjs +2 -2
  251. package/plugins/search/search.js +57 -46
  252. package/plugins/search/search.mjs +56 -45
  253. package/plugins/touchScroll/touchScroll.js +102 -100
  254. package/plugins/touchScroll/touchScroll.mjs +100 -98
  255. package/plugins/trimRows/trimRows.js +33 -28
  256. package/plugins/trimRows/trimRows.mjs +32 -27
  257. package/plugins/undoRedo/undoRedo.js +2 -2
  258. package/plugins/undoRedo/undoRedo.mjs +2 -2
  259. package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
  260. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
  261. package/renderers/baseRenderer/baseRenderer.js +2 -2
  262. package/renderers/baseRenderer/baseRenderer.mjs +2 -2
  263. package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
  264. package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
  265. package/renderers/dateRenderer/dateRenderer.js +4 -4
  266. package/renderers/dateRenderer/dateRenderer.mjs +4 -4
  267. package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
  268. package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
  269. package/renderers/htmlRenderer/htmlRenderer.js +4 -4
  270. package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
  271. package/renderers/numericRenderer/numericRenderer.js +3 -3
  272. package/renderers/numericRenderer/numericRenderer.mjs +3 -3
  273. package/renderers/passwordRenderer/passwordRenderer.js +3 -3
  274. package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
  275. package/renderers/selectRenderer/selectRenderer.js +4 -4
  276. package/renderers/selectRenderer/selectRenderer.mjs +4 -4
  277. package/renderers/textRenderer/textRenderer.js +5 -5
  278. package/renderers/textRenderer/textRenderer.mjs +5 -5
  279. package/renderers/timeRenderer/timeRenderer.js +3 -3
  280. package/renderers/timeRenderer/timeRenderer.mjs +3 -3
  281. package/selection/range.js +12 -2
  282. package/selection/range.mjs +12 -2
  283. package/selection/selection.js +3 -3
  284. package/selection/selection.mjs +3 -3
  285. package/tableView.js +208 -200
  286. package/tableView.mjs +208 -200
  287. package/translations/changesObservable/utils.js +2 -2
  288. package/translations/changesObservable/utils.mjs +2 -2
  289. package/translations/indexMapper.js +25 -22
  290. package/translations/indexMapper.mjs +25 -22
  291. package/translations/mapCollections/aggregatedCollection.js +8 -2
  292. package/translations/mapCollections/aggregatedCollection.mjs +8 -2
  293. package/translations/mapCollections/mapCollection.js +5 -2
  294. package/translations/mapCollections/mapCollection.mjs +5 -2
  295. package/translations/maps/indexMap.js +6 -1
  296. package/translations/maps/indexMap.mjs +6 -1
  297. package/translations/maps/utils/physicallyIndexed.js +2 -2
  298. package/translations/maps/utils/physicallyIndexed.mjs +2 -2
  299. package/utils/dataStructures/linkedList.js +10 -6
  300. package/utils/dataStructures/linkedList.mjs +10 -6
  301. package/utils/dataStructures/queue.js +1 -1
  302. package/utils/dataStructures/queue.mjs +1 -1
  303. package/utils/dataStructures/stack.js +1 -1
  304. package/utils/dataStructures/stack.mjs +1 -1
  305. package/utils/ghostTable.js +2 -2
  306. package/utils/ghostTable.mjs +2 -2
  307. package/utils/interval.js +73 -36
  308. package/utils/interval.mjs +73 -36
  309. package/utils/parseTable.js +1 -1
  310. package/utils/parseTable.mjs +1 -1
  311. package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
  312. package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
  313. package/validators/dateValidator/dateValidator.js +1 -1
  314. package/validators/dateValidator/dateValidator.mjs +1 -1
  315. package/validators/numericValidator/numericValidator.js +1 -1
  316. package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -1,4 +1,17 @@
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 _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; }
7
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
+ 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); }
9
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
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 _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
12
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
13
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
14
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
2
15
  import { BasePlugin } from "../base/index.mjs";
3
16
  import { arrayEach, arrayFilter, arrayReduce, arrayMap } from "../../helpers/array.mjs";
4
17
  import { cancelAnimationFrame, requestAnimationFrame } from "../../helpers/feature.mjs";
@@ -14,7 +27,6 @@ import { isDefined } from "../../helpers/mixed.mjs";
14
27
  Hooks.getSingleton().register('modifyAutoColumnSizeSeed');
15
28
  export const PLUGIN_KEY = 'autoColumnSize';
16
29
  export const PLUGIN_PRIORITY = 10;
17
- const privatePool = new WeakMap();
18
30
  const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
19
31
 
20
32
  /* eslint-disable jsdoc/require-description-complete-sentence */
@@ -114,6 +126,13 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
114
126
  * :::
115
127
  */
116
128
  /* eslint-enable jsdoc/require-description-complete-sentence */
129
+ var _cachedColumnHeaders = /*#__PURE__*/new WeakMap();
130
+ var _onBeforeViewRender = /*#__PURE__*/new WeakSet();
131
+ var _onAfterLoadData = /*#__PURE__*/new WeakSet();
132
+ var _onBeforeChange = /*#__PURE__*/new WeakSet();
133
+ var _onBeforeColumnResize = /*#__PURE__*/new WeakSet();
134
+ var _onAfterInit = /*#__PURE__*/new WeakSet();
135
+ var _onAfterFormulasValuesUpdate = /*#__PURE__*/new WeakSet();
117
136
  export class AutoColumnSize extends BasePlugin {
118
137
  static get PLUGIN_KEY() {
119
138
  return PLUGIN_KEY;
@@ -130,25 +149,50 @@ export class AutoColumnSize extends BasePlugin {
130
149
  static get SYNC_CALCULATION_LIMIT() {
131
150
  return 50;
132
151
  }
152
+
153
+ /**
154
+ * Instance of {@link GhostTable} for rows and columns size calculations.
155
+ *
156
+ * @private
157
+ * @type {GhostTable}
158
+ */
159
+
133
160
  constructor(hotInstance) {
134
161
  super(hotInstance);
135
- privatePool.set(this, {
136
- /**
137
- * Cached column header names. It is used to diff current column headers with previous state and detect which
138
- * columns width should be updated.
139
- *
140
- * @private
141
- * @type {Array}
142
- */
143
- cachedColumnHeaders: []
144
- });
145
162
  /**
146
- * Instance of {@link GhostTable} for rows and columns size calculations.
163
+ * After formulas values updated listener.
147
164
  *
148
- * @private
149
- * @type {GhostTable}
165
+ * @param {Array} changes An array of modified data.
166
+ */
167
+ _classPrivateMethodInitSpec(this, _onAfterFormulasValuesUpdate);
168
+ /**
169
+ * On after Handsontable init fill plugin with all necessary values.
170
+ */
171
+ _classPrivateMethodInitSpec(this, _onAfterInit);
172
+ /**
173
+ * On before column resize listener.
174
+ *
175
+ * @param {number} size Calculated new column width.
176
+ * @param {number} column Visual index of the resized column.
177
+ * @param {boolean} isDblClick Flag that determines whether there was a double-click.
178
+ * @returns {number}
179
+ */
180
+ _classPrivateMethodInitSpec(this, _onBeforeColumnResize);
181
+ /**
182
+ * On before change listener.
183
+ *
184
+ * @param {Array} changes An array of modified data.
185
+ */
186
+ _classPrivateMethodInitSpec(this, _onBeforeChange);
187
+ /**
188
+ * On after load data listener.
189
+ */
190
+ _classPrivateMethodInitSpec(this, _onAfterLoadData);
191
+ /**
192
+ * On before view render listener.
150
193
  */
151
- this.ghostTable = new GhostTable(this.hot);
194
+ _classPrivateMethodInitSpec(this, _onBeforeViewRender);
195
+ _defineProperty(this, "ghostTable", new GhostTable(this.hot));
152
196
  /**
153
197
  * Instance of {@link SamplesGenerator} for generating samples necessary for columns width calculations.
154
198
  *
@@ -156,7 +200,7 @@ export class AutoColumnSize extends BasePlugin {
156
200
  * @type {SamplesGenerator}
157
201
  * @fires Hooks#modifyAutoColumnSizeSeed
158
202
  */
159
- this.samplesGenerator = new SamplesGenerator((row, column) => {
203
+ _defineProperty(this, "samplesGenerator", new SamplesGenerator((row, column) => {
160
204
  const cellMeta = this.hot.getCellMeta(row, column);
161
205
  let cellValue = '';
162
206
  if (!cellMeta.spanned) {
@@ -170,38 +214,48 @@ export class AutoColumnSize extends BasePlugin {
170
214
  value: cellValue,
171
215
  bundleSeed
172
216
  };
173
- });
217
+ }));
174
218
  /**
175
219
  * `true` only if the first calculation was performed.
176
220
  *
177
221
  * @private
178
222
  * @type {boolean}
179
223
  */
180
- this.firstCalculation = true;
224
+ _defineProperty(this, "firstCalculation", true);
181
225
  /**
182
226
  * `true` if the size calculation is in progress.
183
227
  *
184
228
  * @type {boolean}
185
229
  */
186
- this.inProgress = false;
230
+ _defineProperty(this, "inProgress", false);
187
231
  /**
188
232
  * Number of already measured columns (we already know their sizes).
189
233
  *
190
234
  * @type {number}
191
235
  */
192
- this.measuredColumns = 0;
236
+ _defineProperty(this, "measuredColumns", 0);
193
237
  /**
194
238
  * PhysicalIndexToValueMap to keep and track widths for physical column indexes.
195
239
  *
196
240
  * @private
197
241
  * @type {PhysicalIndexToValueMap}
198
242
  */
199
- this.columnWidthsMap = new IndexToValueMap();
243
+ _defineProperty(this, "columnWidthsMap", new IndexToValueMap());
244
+ /**
245
+ * Cached column header names. It is used to diff current column headers with previous state and detect which
246
+ * columns width should be updated.
247
+ *
248
+ * @type {Array}
249
+ */
250
+ _classPrivateFieldInitSpec(this, _cachedColumnHeaders, {
251
+ writable: true,
252
+ value: []
253
+ });
200
254
  this.hot.columnIndexMapper.registerMap(COLUMN_SIZE_MAP_NAME, this.columnWidthsMap);
201
255
 
202
256
  // Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
203
257
  // This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
204
- this.addHook('beforeColumnResize', (size, column, isDblClick) => this.onBeforeColumnResize(size, column, isDblClick));
258
+ this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
205
259
  }
206
260
 
207
261
  /**
@@ -223,18 +277,21 @@ export class AutoColumnSize extends BasePlugin {
223
277
  return;
224
278
  }
225
279
  const setting = this.hot.getSettings()[PLUGIN_KEY];
226
- if (setting && setting.useHeaders !== null && setting.useHeaders !== void 0) {
280
+ if (setting && setting.useHeaders !== null && setting.useHeaders !== undefined) {
227
281
  this.ghostTable.setSetting('useHeaders', setting.useHeaders);
228
282
  }
229
283
  this.setSamplingOptions();
230
284
  this.addHook('afterLoadData', function () {
231
- return _this.onAfterLoadData(...arguments);
285
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
286
+ args[_key] = arguments[_key];
287
+ }
288
+ return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
232
289
  });
233
- this.addHook('beforeChangeRender', changes => this.onBeforeChange(changes));
234
- this.addHook('afterFormulasValuesUpdate', changes => this.onAfterFormulasValuesUpdate(changes));
235
- this.addHook('beforeViewRender', force => this.onBeforeViewRender(force));
290
+ this.addHook('beforeChangeRender', changes => _classPrivateMethodGet(this, _onBeforeChange, _onBeforeChange2).call(this, changes));
291
+ this.addHook('afterFormulasValuesUpdate', changes => _classPrivateMethodGet(this, _onAfterFormulasValuesUpdate, _onAfterFormulasValuesUpdate2).call(this, changes));
292
+ this.addHook('beforeViewRender', force => _classPrivateMethodGet(this, _onBeforeViewRender, _onBeforeViewRender2).call(this, force));
236
293
  this.addHook('modifyColWidth', (width, col) => this.getColumnWidth(col, width));
237
- this.addHook('afterInit', () => this.onAfterInit());
294
+ this.addHook('afterInit', () => _classPrivateMethodGet(this, _onAfterInit, _onAfterInit2).call(this));
238
295
  super.enablePlugin();
239
296
  }
240
297
 
@@ -258,7 +315,7 @@ export class AutoColumnSize extends BasePlugin {
258
315
 
259
316
  // Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
260
317
  // This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
261
- this.addHook('beforeColumnResize', (size, column, isDblClick) => this.onBeforeColumnResize(size, column, isDblClick));
318
+ this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
262
319
  }
263
320
 
264
321
  /**
@@ -280,7 +337,7 @@ export class AutoColumnSize extends BasePlugin {
280
337
  this.calculateColumnsWidth({
281
338
  from: firstVisibleColumn,
282
339
  to: lastVisibleColumn
283
- }, void 0, force);
340
+ }, undefined, force);
284
341
  }
285
342
 
286
343
  /**
@@ -336,7 +393,7 @@ export class AutoColumnSize extends BasePlugin {
336
393
 
337
394
  /**
338
395
  * Calculates all columns width. The calculated column will be cached in the {@link AutoColumnSize#widths} property.
339
- * To retrieve width for specified column use {@link AutoColumnSize#getColumnWidth} method.
396
+ * To retrieve width for specified column use {@link AutoColumnSize##getColumnWidth} method.
340
397
  *
341
398
  * @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
342
399
  */
@@ -397,8 +454,8 @@ export class AutoColumnSize extends BasePlugin {
397
454
  */
398
455
  setSamplingOptions() {
399
456
  const setting = this.hot.getSettings()[PLUGIN_KEY];
400
- const samplingRatio = setting && hasOwnProperty(setting, 'samplingRatio') ? setting.samplingRatio : void 0;
401
- const allowSampleDuplicates = setting && hasOwnProperty(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates : void 0;
457
+ const samplingRatio = setting && hasOwnProperty(setting, 'samplingRatio') ? setting.samplingRatio : undefined;
458
+ const allowSampleDuplicates = setting && hasOwnProperty(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates : undefined;
402
459
  if (samplingRatio && !isNaN(samplingRatio)) {
403
460
  this.samplesGenerator.setSampleCount(parseInt(samplingRatio, 10));
404
461
  }
@@ -449,10 +506,10 @@ export class AutoColumnSize extends BasePlugin {
449
506
  * @returns {number}
450
507
  */
451
508
  getColumnWidth(column) {
452
- let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : void 0;
509
+ let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
453
510
  let keepMinimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
454
511
  let width = defaultWidth;
455
- if (width === void 0) {
512
+ if (width === undefined) {
456
513
  width = this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(column));
457
514
  if (keepMinimum && typeof width === 'number') {
458
515
  width = Math.max(width, ViewportColumnsCalculator.DEFAULT_WIDTH);
@@ -520,18 +577,15 @@ export class AutoColumnSize extends BasePlugin {
520
577
  */
521
578
  findColumnsWhereHeaderWasChanged() {
522
579
  const columnHeaders = this.hot.getColHeader();
523
- const {
524
- cachedColumnHeaders
525
- } = privatePool.get(this);
526
580
  const changedColumns = arrayReduce(columnHeaders, (acc, columnTitle, physicalColumn) => {
527
- const cachedColumnsLength = cachedColumnHeaders.length;
528
- if (cachedColumnsLength - 1 < physicalColumn || cachedColumnHeaders[physicalColumn] !== columnTitle) {
581
+ const cachedColumnsLength = _classPrivateFieldGet(this, _cachedColumnHeaders).length;
582
+ if (cachedColumnsLength - 1 < physicalColumn || _classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] !== columnTitle) {
529
583
  acc.push(physicalColumn);
530
584
  }
531
585
  if (cachedColumnsLength - 1 < physicalColumn) {
532
- cachedColumnHeaders.push(columnTitle);
586
+ _classPrivateFieldGet(this, _cachedColumnHeaders).push(columnTitle);
533
587
  } else {
534
- cachedColumnHeaders[physicalColumn] = columnTitle;
588
+ _classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] = columnTitle;
535
589
  }
536
590
  return acc;
537
591
  }, []);
@@ -565,93 +619,6 @@ export class AutoColumnSize extends BasePlugin {
565
619
  isNeedRecalculate() {
566
620
  return !!arrayFilter(this.columnWidthsMap.getValues().slice(0, this.measuredColumns), item => item === null).length;
567
621
  }
568
-
569
- /**
570
- * On before view render listener.
571
- *
572
- * @private
573
- */
574
- onBeforeViewRender() {
575
- this.calculateVisibleColumnsWidth();
576
- if (this.isNeedRecalculate() && !this.inProgress) {
577
- this.calculateAllColumnsWidth();
578
- }
579
- }
580
-
581
- /**
582
- * On after load data listener.
583
- *
584
- * @private
585
- */
586
- onAfterLoadData() {
587
- if (this.hot.view) {
588
- this.recalculateAllColumnsWidth();
589
- } else {
590
- // first load - initialization
591
- setTimeout(() => {
592
- if (this.hot) {
593
- this.recalculateAllColumnsWidth();
594
- }
595
- }, 0);
596
- }
597
- }
598
-
599
- /**
600
- * On before change listener.
601
- *
602
- * @private
603
- * @param {Array} changes An array of modified data.
604
- */
605
- onBeforeChange(changes) {
606
- const changedColumns = arrayMap(changes, _ref2 => {
607
- let [, columnProperty] = _ref2;
608
- return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
609
- });
610
- this.clearCache(Array.from(new Set(changedColumns)));
611
- }
612
-
613
- /**
614
- * On before column resize listener.
615
- *
616
- * @private
617
- * @param {number} size Calculated new column width.
618
- * @param {number} column Visual index of the resized column.
619
- * @param {boolean} isDblClick Flag that determines whether there was a double-click.
620
- * @returns {number}
621
- */
622
- onBeforeColumnResize(size, column, isDblClick) {
623
- let newSize = size;
624
- if (isDblClick) {
625
- this.calculateColumnsWidth(column, void 0, true);
626
- newSize = this.getColumnWidth(column, void 0, false);
627
- }
628
- return newSize;
629
- }
630
-
631
- /**
632
- * On after Handsontable init fill plugin with all necessary values.
633
- *
634
- * @private
635
- */
636
- onAfterInit() {
637
- privatePool.get(this).cachedColumnHeaders = this.hot.getColHeader();
638
- }
639
-
640
- /**
641
- * After formulas values updated listener.
642
- *
643
- * @private
644
- * @param {Array} changes An array of modified data.
645
- */
646
- onAfterFormulasValuesUpdate(changes) {
647
- const filteredChanges = arrayFilter(changes, change => {
648
- var _change$address;
649
- return isDefined((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
650
- });
651
- const changedColumns = arrayMap(filteredChanges, change => change.address.col);
652
- this.clearCache(Array.from(new Set(changedColumns)));
653
- }
654
-
655
622
  /**
656
623
  * Destroys the plugin instance.
657
624
  */
@@ -659,4 +626,48 @@ export class AutoColumnSize extends BasePlugin {
659
626
  this.ghostTable.clean();
660
627
  super.destroy();
661
628
  }
629
+ }
630
+ function _onBeforeViewRender2() {
631
+ this.calculateVisibleColumnsWidth();
632
+ if (this.isNeedRecalculate() && !this.inProgress) {
633
+ this.calculateAllColumnsWidth();
634
+ }
635
+ }
636
+ function _onAfterLoadData2() {
637
+ if (this.hot.view) {
638
+ this.recalculateAllColumnsWidth();
639
+ } else {
640
+ // first load - initialization
641
+ setTimeout(() => {
642
+ if (this.hot) {
643
+ this.recalculateAllColumnsWidth();
644
+ }
645
+ }, 0);
646
+ }
647
+ }
648
+ function _onBeforeChange2(changes) {
649
+ const changedColumns = arrayMap(changes, _ref2 => {
650
+ let [, columnProperty] = _ref2;
651
+ return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
652
+ });
653
+ this.clearCache(Array.from(new Set(changedColumns)));
654
+ }
655
+ function _onBeforeColumnResize2(size, column, isDblClick) {
656
+ let newSize = size;
657
+ if (isDblClick) {
658
+ this.calculateColumnsWidth(column, undefined, true);
659
+ newSize = this.getColumnWidth(column, undefined, false);
660
+ }
661
+ return newSize;
662
+ }
663
+ function _onAfterInit2() {
664
+ _classPrivateFieldSet(this, _cachedColumnHeaders, this.hot.getColHeader());
665
+ }
666
+ function _onAfterFormulasValuesUpdate2(changes) {
667
+ const filteredChanges = arrayFilter(changes, change => {
668
+ var _change$address;
669
+ return isDefined((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
670
+ });
671
+ const changedColumns = arrayMap(filteredChanges, change => change.address.col);
672
+ this.clearCache(Array.from(new Set(changedColumns)));
662
673
  }