handsontable 14.2.0-next-75c8bcd-20240306 → 14.3.0-next-13fe676-20240409

Sign up to get free protection for your applications and to get access to all the features.
Files changed (469) hide show
  1. package/3rdparty/walkontable/src/calculator/renderAllColumns.js +1 -1
  2. package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
  3. package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
  4. package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
  5. package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
  6. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
  7. package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
  8. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
  9. package/3rdparty/walkontable/src/cell/coords.js +13 -18
  10. package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
  11. package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
  12. package/3rdparty/walkontable/src/cell/range.js +42 -30
  13. package/3rdparty/walkontable/src/cell/range.mjs +42 -30
  14. package/3rdparty/walkontable/src/core/_base.js +2 -2
  15. package/3rdparty/walkontable/src/core/_base.mjs +2 -2
  16. package/3rdparty/walkontable/src/core/clone.js +1 -1
  17. package/3rdparty/walkontable/src/core/clone.mjs +1 -1
  18. package/3rdparty/walkontable/src/event.js +72 -104
  19. package/3rdparty/walkontable/src/event.mjs +72 -104
  20. package/3rdparty/walkontable/src/filter/column.js +1 -1
  21. package/3rdparty/walkontable/src/filter/column.mjs +1 -1
  22. package/3rdparty/walkontable/src/filter/row.js +1 -1
  23. package/3rdparty/walkontable/src/filter/row.mjs +1 -1
  24. package/3rdparty/walkontable/src/index.js +1 -1
  25. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  26. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  27. package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
  28. package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
  29. package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
  30. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
  31. package/3rdparty/walkontable/src/overlay/top.js +12 -1
  32. package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
  33. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
  34. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
  35. package/3rdparty/walkontable/src/overlays.js +47 -5
  36. package/3rdparty/walkontable/src/overlays.mjs +47 -5
  37. package/3rdparty/walkontable/src/renderer/_base.js +1 -1
  38. package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
  39. package/3rdparty/walkontable/src/renderer/cells.js +1 -1
  40. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
  41. package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
  42. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
  43. package/3rdparty/walkontable/src/renderer/rows.js +1 -1
  44. package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
  45. package/3rdparty/walkontable/src/renderer/table.js +1 -1
  46. package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
  47. package/3rdparty/walkontable/src/scroll.js +16 -18
  48. package/3rdparty/walkontable/src/scroll.mjs +16 -18
  49. package/3rdparty/walkontable/src/selection/manager.js +48 -69
  50. package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
  51. package/3rdparty/walkontable/src/selection/scanner.js +33 -42
  52. package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
  53. package/3rdparty/walkontable/src/settings.js +1 -1
  54. package/3rdparty/walkontable/src/settings.mjs +1 -1
  55. package/3rdparty/walkontable/src/table.js +1 -1
  56. package/3rdparty/walkontable/src/table.mjs +1 -1
  57. package/3rdparty/walkontable/src/utils/column.js +1 -1
  58. package/3rdparty/walkontable/src/utils/column.mjs +1 -1
  59. package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
  60. package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
  61. package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
  62. package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
  63. package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
  64. package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
  65. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
  66. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
  67. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
  68. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
  69. package/3rdparty/walkontable/src/utils/row.js +1 -1
  70. package/3rdparty/walkontable/src/utils/row.mjs +1 -1
  71. package/CHANGELOG.md +20 -0
  72. package/base.js +2 -2
  73. package/base.mjs +2 -2
  74. package/core/viewportScroll/index.js +4 -1
  75. package/core/viewportScroll/index.mjs +4 -1
  76. package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
  77. package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
  78. package/core.d.ts +4 -3
  79. package/core.js +98 -43
  80. package/core.mjs +98 -43
  81. package/dataMap/dataMap.js +1 -1
  82. package/dataMap/dataMap.mjs +1 -1
  83. package/dataMap/dataSource.js +2 -2
  84. package/dataMap/dataSource.mjs +2 -2
  85. package/dataMap/metaManager/lazyFactoryMap.js +3 -5
  86. package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
  87. package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
  88. package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
  89. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
  90. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
  91. package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
  92. package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
  93. package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
  94. package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
  95. package/dataMap/metaManager/metaSchema.js +272 -272
  96. package/dataMap/metaManager/metaSchema.mjs +272 -272
  97. package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
  98. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  99. package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
  100. package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
  101. package/dataMap/replaceData.js +1 -1
  102. package/dataMap/replaceData.mjs +1 -1
  103. package/dist/handsontable.css +4 -4
  104. package/dist/handsontable.full.css +4 -4
  105. package/dist/handsontable.full.js +9800 -10020
  106. package/dist/handsontable.full.min.css +3 -3
  107. package/dist/handsontable.full.min.js +292 -292
  108. package/dist/handsontable.js +7470 -7056
  109. package/dist/handsontable.min.css +3 -3
  110. package/dist/handsontable.min.js +25 -25
  111. package/dist/languages/all.min.js +1 -1
  112. package/dist/languages/ar-AR.min.js +1 -1
  113. package/dist/languages/cs-CZ.min.js +1 -1
  114. package/dist/languages/de-CH.min.js +1 -1
  115. package/dist/languages/de-DE.min.js +1 -1
  116. package/dist/languages/en-US.min.js +1 -1
  117. package/dist/languages/es-MX.min.js +1 -1
  118. package/dist/languages/fr-FR.min.js +1 -1
  119. package/dist/languages/hr-HR.min.js +1 -1
  120. package/dist/languages/it-IT.min.js +1 -1
  121. package/dist/languages/ja-JP.min.js +1 -1
  122. package/dist/languages/ko-KR.min.js +1 -1
  123. package/dist/languages/lv-LV.min.js +1 -1
  124. package/dist/languages/nb-NO.min.js +1 -1
  125. package/dist/languages/nl-NL.min.js +1 -1
  126. package/dist/languages/pl-PL.min.js +1 -1
  127. package/dist/languages/pt-BR.min.js +1 -1
  128. package/dist/languages/ru-RU.min.js +1 -1
  129. package/dist/languages/sr-SP.min.js +1 -1
  130. package/dist/languages/zh-CN.min.js +1 -1
  131. package/dist/languages/zh-TW.min.js +1 -1
  132. package/editorManager.js +26 -24
  133. package/editorManager.mjs +26 -24
  134. package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
  135. package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
  136. package/editors/baseEditor/baseEditor.js +1 -1
  137. package/editors/baseEditor/baseEditor.mjs +1 -1
  138. package/editors/dateEditor/dateEditor.js +35 -11
  139. package/editors/dateEditor/dateEditor.mjs +35 -11
  140. package/editors/selectEditor/selectEditor.js +20 -19
  141. package/editors/selectEditor/selectEditor.mjs +20 -19
  142. package/editors/textEditor/textEditor.js +1 -1
  143. package/editors/textEditor/textEditor.mjs +1 -1
  144. package/eventManager.js +2 -2
  145. package/eventManager.mjs +2 -2
  146. package/focusManager.js +64 -82
  147. package/focusManager.mjs +64 -82
  148. package/helpers/dom/element.js +23 -1
  149. package/helpers/dom/element.mjs +21 -1
  150. package/helpers/mixed.js +2 -2
  151. package/helpers/mixed.mjs +2 -2
  152. package/helpers/object.js +2 -2
  153. package/helpers/object.mjs +2 -2
  154. package/i18n/languages/ar-AR.d.ts +5 -0
  155. package/i18n/languages/ar-AR.js +1 -1
  156. package/i18n/languages/cs-CZ.d.ts +5 -0
  157. package/i18n/languages/cs-CZ.js +1 -1
  158. package/i18n/languages/de-CH.js +1 -1
  159. package/i18n/languages/de-DE.js +1 -1
  160. package/i18n/languages/en-US.js +1 -1
  161. package/i18n/languages/es-MX.js +1 -1
  162. package/i18n/languages/fr-FR.js +1 -1
  163. package/i18n/languages/hr-HR.d.ts +5 -0
  164. package/i18n/languages/hr-HR.js +1 -1
  165. package/i18n/languages/it-IT.js +1 -1
  166. package/i18n/languages/ja-JP.js +1 -1
  167. package/i18n/languages/ko-KR.js +1 -1
  168. package/i18n/languages/lv-LV.js +1 -1
  169. package/i18n/languages/nb-NO.js +1 -1
  170. package/i18n/languages/nl-NL.js +1 -1
  171. package/i18n/languages/pl-PL.js +1 -1
  172. package/i18n/languages/pt-BR.js +1 -1
  173. package/i18n/languages/ru-RU.js +1 -1
  174. package/i18n/languages/sr-SP.d.ts +5 -0
  175. package/i18n/languages/sr-SP.js +1 -1
  176. package/i18n/languages/zh-CN.js +1 -1
  177. package/i18n/languages/zh-TW.js +1 -1
  178. package/i18n/registry.js +1 -1
  179. package/index.d.ts +10 -0
  180. package/index.js +1 -1
  181. package/package.json +14 -10
  182. package/pluginHooks.d.ts +4 -3
  183. package/pluginHooks.js +143 -82
  184. package/pluginHooks.mjs +143 -82
  185. package/plugins/autoColumnSize/autoColumnSize.js +50 -66
  186. package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
  187. package/plugins/autoRowSize/autoRowSize.js +29 -35
  188. package/plugins/autoRowSize/autoRowSize.mjs +29 -35
  189. package/plugins/autofill/autofill.js +31 -39
  190. package/plugins/autofill/autofill.mjs +31 -39
  191. package/plugins/base/base.js +13 -18
  192. package/plugins/base/base.mjs +13 -18
  193. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
  194. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
  195. package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
  196. package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
  197. package/plugins/columnSorting/columnSorting.js +50 -46
  198. package/plugins/columnSorting/columnSorting.mjs +50 -46
  199. package/plugins/columnSorting/columnStatesManager.js +1 -1
  200. package/plugins/columnSorting/columnStatesManager.mjs +1 -1
  201. package/plugins/columnSummary/columnSummary.js +36 -40
  202. package/plugins/columnSummary/columnSummary.mjs +36 -40
  203. package/plugins/columnSummary/endpoints.js +1 -1
  204. package/plugins/columnSummary/endpoints.mjs +1 -1
  205. package/plugins/comments/commentEditor.js +1 -1
  206. package/plugins/comments/commentEditor.mjs +1 -1
  207. package/plugins/comments/comments.js +117 -159
  208. package/plugins/comments/comments.mjs +117 -159
  209. package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
  210. package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
  211. package/plugins/comments/contextMenuItem/removeComment.js +1 -1
  212. package/plugins/comments/displaySwitch.js +1 -1
  213. package/plugins/comments/displaySwitch.mjs +1 -1
  214. package/plugins/contextMenu/commandExecutor.js +1 -1
  215. package/plugins/contextMenu/commandExecutor.mjs +1 -1
  216. package/plugins/contextMenu/contextMenu.js +24 -30
  217. package/plugins/contextMenu/contextMenu.mjs +24 -30
  218. package/plugins/contextMenu/itemsFactory.js +2 -2
  219. package/plugins/contextMenu/itemsFactory.mjs +2 -2
  220. package/plugins/contextMenu/menu/cursor.js +1 -1
  221. package/plugins/contextMenu/menu/cursor.mjs +1 -1
  222. package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
  223. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
  224. package/plugins/contextMenu/menu/menu.js +14 -22
  225. package/plugins/contextMenu/menu/menu.mjs +14 -22
  226. package/plugins/contextMenu/menu/positioner.js +41 -58
  227. package/plugins/contextMenu/menu/positioner.mjs +41 -58
  228. package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
  229. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  230. package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
  231. package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
  232. package/plugins/contextMenu/predefinedItems/index.js +1 -1
  233. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
  234. package/plugins/contextMenu/predefinedItems/redo.js +1 -1
  235. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  236. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  237. package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
  238. package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
  239. package/plugins/contextMenu/predefinedItems/undo.js +1 -1
  240. package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
  241. package/plugins/copyPaste/copyPaste.js +120 -161
  242. package/plugins/copyPaste/copyPaste.mjs +120 -161
  243. package/plugins/copyPaste/copyableRanges.js +43 -66
  244. package/plugins/copyPaste/copyableRanges.mjs +43 -66
  245. package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
  246. package/plugins/customBorders/contextMenuItem/left.js +1 -1
  247. package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
  248. package/plugins/customBorders/contextMenuItem/right.js +1 -1
  249. package/plugins/customBorders/contextMenuItem/top.js +1 -1
  250. package/plugins/customBorders/customBorders.js +14 -16
  251. package/plugins/customBorders/customBorders.mjs +13 -15
  252. package/plugins/dragToScroll/dragToScroll.js +7 -7
  253. package/plugins/dragToScroll/dragToScroll.mjs +7 -7
  254. package/plugins/dropdownMenu/dropdownMenu.js +84 -110
  255. package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
  256. package/plugins/exportFile/dataProvider.js +2 -2
  257. package/plugins/exportFile/dataProvider.mjs +2 -2
  258. package/plugins/exportFile/exportFile.js +2 -2
  259. package/plugins/exportFile/exportFile.mjs +1 -1
  260. package/plugins/exportFile/types/_base.js +1 -1
  261. package/plugins/exportFile/types/_base.mjs +1 -1
  262. package/plugins/filters/component/_base.js +1 -1
  263. package/plugins/filters/component/_base.mjs +1 -1
  264. package/plugins/filters/component/actionBar.js +11 -11
  265. package/plugins/filters/component/actionBar.mjs +9 -9
  266. package/plugins/filters/component/condition.js +15 -17
  267. package/plugins/filters/component/condition.mjs +14 -16
  268. package/plugins/filters/component/operators.js +7 -7
  269. package/plugins/filters/component/operators.mjs +7 -7
  270. package/plugins/filters/component/value.js +26 -30
  271. package/plugins/filters/component/value.mjs +25 -29
  272. package/plugins/filters/condition/beginsWith.js +1 -1
  273. package/plugins/filters/condition/between.js +1 -1
  274. package/plugins/filters/condition/contains.js +1 -1
  275. package/plugins/filters/condition/date/after.js +1 -1
  276. package/plugins/filters/condition/date/before.js +1 -1
  277. package/plugins/filters/condition/date/today.js +1 -1
  278. package/plugins/filters/condition/date/tomorrow.js +1 -1
  279. package/plugins/filters/condition/date/yesterday.js +1 -1
  280. package/plugins/filters/condition/empty.js +1 -1
  281. package/plugins/filters/condition/endsWith.js +1 -1
  282. package/plugins/filters/condition/equal.js +1 -1
  283. package/plugins/filters/condition/greaterThan.js +1 -1
  284. package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
  285. package/plugins/filters/condition/lessThan.js +1 -1
  286. package/plugins/filters/condition/lessThanOrEqual.js +1 -1
  287. package/plugins/filters/condition/none.js +1 -1
  288. package/plugins/filters/condition/notBetween.js +1 -1
  289. package/plugins/filters/condition/notContains.js +1 -1
  290. package/plugins/filters/condition/notEmpty.js +1 -1
  291. package/plugins/filters/condition/notEqual.js +1 -1
  292. package/plugins/filters/conditionCollection.js +1 -1
  293. package/plugins/filters/conditionCollection.mjs +1 -1
  294. package/plugins/filters/conditionUpdateObserver.js +23 -25
  295. package/plugins/filters/conditionUpdateObserver.mjs +23 -25
  296. package/plugins/filters/dataFilter.js +2 -2
  297. package/plugins/filters/dataFilter.mjs +2 -2
  298. package/plugins/filters/filters.js +84 -98
  299. package/plugins/filters/filters.mjs +83 -97
  300. package/plugins/filters/logicalOperations/conjunction.js +1 -1
  301. package/plugins/filters/logicalOperations/disjunction.js +1 -1
  302. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
  303. package/plugins/filters/ui/_base.js +2 -2
  304. package/plugins/filters/ui/_base.mjs +1 -1
  305. package/plugins/filters/ui/input.js +13 -19
  306. package/plugins/filters/ui/input.mjs +13 -19
  307. package/plugins/filters/ui/link.js +8 -13
  308. package/plugins/filters/ui/link.mjs +8 -13
  309. package/plugins/filters/ui/multipleSelect.js +86 -113
  310. package/plugins/filters/ui/multipleSelect.mjs +85 -112
  311. package/plugins/filters/ui/radioInput.js +12 -20
  312. package/plugins/filters/ui/radioInput.mjs +12 -20
  313. package/plugins/filters/ui/select.js +51 -73
  314. package/plugins/filters/ui/select.mjs +49 -71
  315. package/plugins/formulas/formulas.js +270 -328
  316. package/plugins/formulas/formulas.mjs +271 -329
  317. package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
  318. package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
  319. package/plugins/formulas/indexSyncer/index.js +25 -48
  320. package/plugins/formulas/indexSyncer/index.mjs +25 -48
  321. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
  322. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
  323. package/plugins/hiddenColumns/hiddenColumns.js +68 -87
  324. package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
  325. package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
  326. package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
  327. package/plugins/hiddenRows/hiddenRows.js +67 -86
  328. package/plugins/hiddenRows/hiddenRows.mjs +67 -86
  329. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  330. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  331. package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
  332. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
  333. package/plugins/manualColumnMove/manualColumnMove.js +133 -177
  334. package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
  335. package/plugins/manualColumnMove/ui/_base.js +1 -1
  336. package/plugins/manualColumnMove/ui/_base.mjs +1 -1
  337. package/plugins/manualColumnResize/manualColumnResize.js +169 -230
  338. package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
  339. package/plugins/manualRowMove/manualRowMove.js +106 -135
  340. package/plugins/manualRowMove/manualRowMove.mjs +106 -135
  341. package/plugins/manualRowMove/ui/_base.js +1 -1
  342. package/plugins/manualRowMove/ui/_base.mjs +1 -1
  343. package/plugins/manualRowResize/manualRowResize.js +150 -209
  344. package/plugins/manualRowResize/manualRowResize.mjs +150 -209
  345. package/plugins/mergeCells/calculations/autofill.js +1 -1
  346. package/plugins/mergeCells/calculations/autofill.mjs +1 -1
  347. package/plugins/mergeCells/calculations/selection.js +3 -72
  348. package/plugins/mergeCells/calculations/selection.mjs +3 -72
  349. package/plugins/mergeCells/cellCoords.js +1 -1
  350. package/plugins/mergeCells/cellCoords.mjs +1 -1
  351. package/plugins/mergeCells/cellsCollection.js +118 -2
  352. package/plugins/mergeCells/cellsCollection.mjs +118 -2
  353. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
  354. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
  355. package/plugins/mergeCells/focusOrder.js +305 -0
  356. package/plugins/mergeCells/focusOrder.mjs +300 -0
  357. package/plugins/mergeCells/mergeCells.js +500 -398
  358. package/plugins/mergeCells/mergeCells.mjs +500 -398
  359. package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
  360. package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
  361. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
  362. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
  363. package/plugins/nestedHeaders/nestedHeaders.js +206 -254
  364. package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
  365. package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
  366. package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
  367. package/plugins/nestedHeaders/stateManager/index.js +30 -41
  368. package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
  369. package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
  370. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
  371. package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
  372. package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
  373. package/plugins/nestedRows/data/dataManager.js +2 -2
  374. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  375. package/plugins/nestedRows/nestedRows.js +154 -185
  376. package/plugins/nestedRows/nestedRows.mjs +155 -186
  377. package/plugins/nestedRows/ui/_base.js +1 -1
  378. package/plugins/nestedRows/ui/_base.mjs +1 -1
  379. package/plugins/nestedRows/ui/contextMenu.js +13 -17
  380. package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
  381. package/plugins/nestedRows/utils/rowMoveController.js +6 -6
  382. package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
  383. package/plugins/persistentState/persistentState.js +1 -1
  384. package/plugins/persistentState/persistentState.mjs +1 -1
  385. package/plugins/persistentState/storage.js +3 -3
  386. package/plugins/persistentState/storage.mjs +3 -3
  387. package/plugins/search/search.js +8 -8
  388. package/plugins/search/search.mjs +8 -8
  389. package/plugins/touchScroll/touchScroll.js +16 -20
  390. package/plugins/touchScroll/touchScroll.mjs +17 -21
  391. package/plugins/trimRows/trimRows.js +7 -7
  392. package/plugins/trimRows/trimRows.mjs +7 -7
  393. package/plugins/undoRedo/index.js +1 -1
  394. package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
  395. package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
  396. package/selection/highlight/highlight.js +16 -18
  397. package/selection/highlight/highlight.mjs +15 -17
  398. package/selection/highlight/visualSelection.js +3 -1
  399. package/selection/highlight/visualSelection.mjs +3 -1
  400. package/selection/range.js +3 -5
  401. package/selection/range.mjs +2 -4
  402. package/selection/selection.js +227 -69
  403. package/selection/selection.mjs +225 -67
  404. package/selection/transformation.js +149 -118
  405. package/selection/transformation.mjs +149 -118
  406. package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
  407. package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
  408. package/shortcutContexts/commands/editor/open.js +18 -3
  409. package/shortcutContexts/commands/editor/open.mjs +18 -3
  410. package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
  411. package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
  412. package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
  413. package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
  414. package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
  415. package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
  416. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
  417. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
  418. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
  419. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
  420. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
  421. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
  422. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
  423. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
  424. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
  425. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
  426. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
  427. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
  428. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
  429. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
  430. package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
  431. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
  432. package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
  433. package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
  434. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
  435. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
  436. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
  437. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
  438. package/shortcutContexts/grid.js +9 -3
  439. package/shortcutContexts/grid.mjs +9 -3
  440. package/shortcuts/context.js +3 -2
  441. package/shortcuts/context.mjs +3 -2
  442. package/shortcuts/manager.js +2 -2
  443. package/shortcuts/manager.mjs +2 -2
  444. package/tableView.js +53 -79
  445. package/tableView.mjs +53 -79
  446. package/translations/changesObservable/observable.js +21 -38
  447. package/translations/changesObservable/observable.mjs +21 -38
  448. package/translations/changesObservable/observer.js +7 -12
  449. package/translations/changesObservable/observer.mjs +6 -11
  450. package/translations/indexMapper.js +1 -1
  451. package/translations/indexMapper.mjs +1 -1
  452. package/translations/mapCollections/aggregatedCollection.js +2 -2
  453. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  454. package/translations/mapCollections/mapCollection.js +1 -1
  455. package/translations/mapCollections/mapCollection.mjs +1 -1
  456. package/translations/maps/indexMap.js +2 -2
  457. package/translations/maps/indexMap.mjs +2 -2
  458. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
  459. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
  460. package/utils/dataStructures/linkedList.js +7 -2
  461. package/utils/dataStructures/linkedList.mjs +7 -2
  462. package/utils/dataStructures/tree.js +2 -2
  463. package/utils/dataStructures/tree.mjs +2 -2
  464. package/utils/ghostTable.js +1 -1
  465. package/utils/ghostTable.mjs +1 -1
  466. package/utils/interval.js +27 -45
  467. package/utils/interval.mjs +27 -45
  468. package/utils/samplesGenerator.js +1 -1
  469. package/utils/samplesGenerator.mjs +1 -1
@@ -1,18 +1,15 @@
1
- import "core-js/modules/es.json.stringify.js";
2
- import "core-js/modules/es.array.push.js";
3
1
  import "core-js/modules/es.error.cause.js";
2
+ import "core-js/modules/es.array.push.js";
3
+ import "core-js/modules/es.json.stringify.js";
4
4
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
5
5
  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; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
7
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
9
9
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
10
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
11
- 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; } }
12
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
13
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
14
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
15
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
10
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
11
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
12
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
16
13
  import { BasePlugin } from "../base/index.mjs";
17
14
  import staticRegister from "../../utils/staticRegister.mjs";
18
15
  import { error, warn } from "../../helpers/console.mjs";
@@ -46,7 +43,7 @@ const isBlockedSource = source => source === 'UndoRedo.undo' || source === 'Undo
46
43
  * integration with our other product, [HyperFormula](https://github.com/handsontable/hyperformula/), which is a
47
44
  * powerful calculation engine with an extensive number of features.
48
45
  *
49
- * To test out HyperFormula, see [this guide](@/guides/formulas/formula-calculation.md#available-functions).
46
+ * To test out HyperFormula, see [this guide](@/guides/formulas/formula-calculation/formula-calculation.md#available-functions).
50
47
  *
51
48
  * @plugin Formulas
52
49
  * @class Formulas
@@ -54,228 +51,12 @@ const isBlockedSource = source => source === 'UndoRedo.undo' || source === 'Undo
54
51
  var _internalOperationPending = /*#__PURE__*/new WeakMap();
55
52
  var _hotWasInitializedWithEmptyData = /*#__PURE__*/new WeakMap();
56
53
  var _engineListeners = /*#__PURE__*/new WeakMap();
57
- var _onBeforeValidate = /*#__PURE__*/new WeakSet();
58
- var _onBeforeAutofill = /*#__PURE__*/new WeakSet();
59
- var _onBeforeLoadData = /*#__PURE__*/new WeakSet();
60
- var _onAfterCellMetaReset = /*#__PURE__*/new WeakSet();
61
- var _onAfterLoadData = /*#__PURE__*/new WeakSet();
62
- var _onModifyData = /*#__PURE__*/new WeakSet();
63
- var _onModifySourceData = /*#__PURE__*/new WeakSet();
64
- var _onAfterSetDataAtCell = /*#__PURE__*/new WeakSet();
65
- var _onAfterSetSourceDataAtCell = /*#__PURE__*/new WeakSet();
66
- var _onBeforeCreateRow = /*#__PURE__*/new WeakSet();
67
- var _onBeforeCreateCol = /*#__PURE__*/new WeakSet();
68
- var _onBeforeRemoveRow = /*#__PURE__*/new WeakSet();
69
- var _onBeforeRemoveCol = /*#__PURE__*/new WeakSet();
70
- var _onAfterCreateRow = /*#__PURE__*/new WeakSet();
71
- var _onAfterCreateCol = /*#__PURE__*/new WeakSet();
72
- var _onAfterRemoveRow = /*#__PURE__*/new WeakSet();
73
- var _onAfterRemoveCol = /*#__PURE__*/new WeakSet();
74
- var _onAfterDetachChild = /*#__PURE__*/new WeakSet();
75
- var _onEngineValuesUpdated = /*#__PURE__*/new WeakSet();
76
- var _onEngineNamedExpressionsAdded = /*#__PURE__*/new WeakSet();
77
- var _onEngineNamedExpressionsRemoved = /*#__PURE__*/new WeakSet();
78
- var _onEngineSheetAdded = /*#__PURE__*/new WeakSet();
79
- var _onEngineSheetRenamed = /*#__PURE__*/new WeakSet();
80
- var _onEngineSheetRemoved = /*#__PURE__*/new WeakSet();
54
+ var _Formulas_brand = /*#__PURE__*/new WeakSet();
81
55
  export class Formulas extends BasePlugin {
82
56
  constructor() {
83
57
  var _this;
84
58
  super(...arguments);
85
59
  _this = this;
86
- /**
87
- * Called when a sheet is removed from the engine instance.
88
- *
89
- * @fires Hooks#afterSheetRemoved
90
- * @param {string} removedSheetDisplayName The removed sheet name.
91
- * @param {Array} changes The values and location of applied changes.
92
- */
93
- _classPrivateMethodInitSpec(this, _onEngineSheetRemoved);
94
- /**
95
- * Called when a sheet in the engine instance is renamed.
96
- *
97
- * @fires Hooks#afterSheetRenamed
98
- * @param {string} oldDisplayName The old name of the sheet.
99
- * @param {string} newDisplayName The new name of the sheet.
100
- */
101
- _classPrivateMethodInitSpec(this, _onEngineSheetRenamed);
102
- /**
103
- * Called when a new sheet is added to the engine instance.
104
- *
105
- * @fires Hooks#afterSheetAdded
106
- * @param {string} addedSheetDisplayName The name of the added sheet.
107
- */
108
- _classPrivateMethodInitSpec(this, _onEngineSheetAdded);
109
- /**
110
- * Called when a named expression is removed from the engine instance.
111
- *
112
- * @fires Hooks#afterNamedExpressionRemoved
113
- * @param {string} namedExpressionName The name of the removed expression.
114
- * @param {Array} changes The values and location of applied changes.
115
- */
116
- _classPrivateMethodInitSpec(this, _onEngineNamedExpressionsRemoved);
117
- /**
118
- * Called when a named expression is added to the engine instance.
119
- *
120
- * @fires Hooks#afterNamedExpressionAdded
121
- * @param {string} namedExpressionName The name of the added expression.
122
- * @param {Array} changes The values and location of applied changes.
123
- */
124
- _classPrivateMethodInitSpec(this, _onEngineNamedExpressionsAdded);
125
- /**
126
- * Called when a value is updated in the engine.
127
- *
128
- * @fires Hooks#afterFormulasValuesUpdate
129
- * @param {Array} changes The values and location of applied changes.
130
- */
131
- _classPrivateMethodInitSpec(this, _onEngineValuesUpdated);
132
- /**
133
- * `afterDetachChild` hook callback.
134
- * Used to sync the data of the rows detached in the Nested Rows plugin with the engine's dataset.
135
- *
136
- * @param {object} parent An object representing the parent from which the element was detached.
137
- * @param {object} element The detached element.
138
- * @param {number} finalElementRowIndex The final row index of the detached element.
139
- */
140
- _classPrivateMethodInitSpec(this, _onAfterDetachChild);
141
- /**
142
- * `afterRemoveCol` hook callback.
143
- *
144
- * @param {number} col Visual index of starter column.
145
- * @param {number} amount An amount of removed columns.
146
- * @param {number[]} physicalColumns An array of physical columns removed from the data source.
147
- * @param {string} [source] String that identifies source of hook call
148
- * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
149
- */
150
- _classPrivateMethodInitSpec(this, _onAfterRemoveCol);
151
- /**
152
- * `afterRemoveRow` hook callback.
153
- *
154
- * @param {number} row Visual index of starter row.
155
- * @param {number} amount An amount of removed rows.
156
- * @param {number[]} physicalRows An array of physical rows removed from the data source.
157
- * @param {string} [source] String that identifies source of hook call
158
- * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
159
- */
160
- _classPrivateMethodInitSpec(this, _onAfterRemoveRow);
161
- /**
162
- * `afterCreateCol` hook callback.
163
- *
164
- * @param {number} visualColumn Represents the visual index of first newly created column in the data source.
165
- * @param {number} amount Number of newly created columns in the data source.
166
- * @param {string} [source] String that identifies source of hook call
167
- * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
168
- */
169
- _classPrivateMethodInitSpec(this, _onAfterCreateCol);
170
- /**
171
- * `afterCreateRow` hook callback.
172
- *
173
- * @param {number} visualRow Represents the visual index of first newly created row in the data source array.
174
- * @param {number} amount Number of newly created rows in the data source array.
175
- * @param {string} [source] String that identifies source of hook call
176
- * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
177
- */
178
- _classPrivateMethodInitSpec(this, _onAfterCreateRow);
179
- /**
180
- * `beforeRemoveCol` hook callback.
181
- *
182
- * @param {number} col Visual index of starter column.
183
- * @param {number} amount Amount of columns to be removed.
184
- * @param {number[]} physicalColumns An array of physical columns removed from the data source.
185
- * @returns {*|boolean} If false is returned the action is canceled.
186
- */
187
- _classPrivateMethodInitSpec(this, _onBeforeRemoveCol);
188
- /**
189
- * `beforeRemoveRow` hook callback.
190
- *
191
- * @param {number} row Visual index of starter row.
192
- * @param {number} amount Amount of rows to be removed.
193
- * @param {number[]} physicalRows An array of physical rows removed from the data source.
194
- * @returns {*|boolean} If false is returned the action is canceled.
195
- */
196
- _classPrivateMethodInitSpec(this, _onBeforeRemoveRow);
197
- /**
198
- * `beforeCreateCol` hook callback.
199
- *
200
- * @param {number} visualColumn Represents the visual index of first newly created column in the data source.
201
- * @param {number} amount Number of newly created columns in the data source.
202
- * @returns {*|boolean} If false is returned the action is canceled.
203
- */
204
- _classPrivateMethodInitSpec(this, _onBeforeCreateCol);
205
- /**
206
- * `beforeCreateRow` hook callback.
207
- *
208
- * @param {number} visualRow Represents the visual index of first newly created row in the data source array.
209
- * @param {number} amount Number of newly created rows in the data source array.
210
- * @returns {*|boolean} If false is returned the action is canceled.
211
- */
212
- _classPrivateMethodInitSpec(this, _onBeforeCreateRow);
213
- /**
214
- * `onAfterSetSourceDataAtCell` hook callback.
215
- *
216
- * @param {Array[]} changes An array of changes in format [[row, column, oldValue, value], ...].
217
- * @param {string} [source] String that identifies source of hook call
218
- * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
219
- */
220
- _classPrivateMethodInitSpec(this, _onAfterSetSourceDataAtCell);
221
- /**
222
- * `onAfterSetDataAtCell` hook callback.
223
- *
224
- * @param {Array[]} changes An array of changes in format [[row, prop, oldValue, value], ...].
225
- * @param {string} [source] String that identifies source of hook call
226
- * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
227
- */
228
- _classPrivateMethodInitSpec(this, _onAfterSetDataAtCell);
229
- /**
230
- * `modifySourceData` hook callback.
231
- *
232
- * @param {number} row Physical row index.
233
- * @param {number|string} columnOrProp Physical column index or prop.
234
- * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
235
- * property.
236
- * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
237
- */
238
- _classPrivateMethodInitSpec(this, _onModifySourceData);
239
- /**
240
- * `modifyData` hook callback.
241
- *
242
- * @param {number} physicalRow Physical row index.
243
- * @param {number} visualColumn Visual column index.
244
- * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
245
- * property.
246
- * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
247
- */
248
- _classPrivateMethodInitSpec(this, _onModifyData);
249
- /**
250
- * `afterLoadData` hook callback.
251
- *
252
- * @param {Array} sourceData Array of arrays or array of objects containing data.
253
- * @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
254
- * @param {string} [source] Source of the call.
255
- */
256
- _classPrivateMethodInitSpec(this, _onAfterLoadData);
257
- /**
258
- * Callback to `afterCellMetaReset` hook which is triggered after setting cell meta.
259
- */
260
- _classPrivateMethodInitSpec(this, _onAfterCellMetaReset);
261
- /**
262
- * `beforeLoadData` hook callback.
263
- *
264
- * @param {Array} sourceData Array of arrays or array of objects containing data.
265
- * @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
266
- * @param {string} [source] Source of the call.
267
- */
268
- _classPrivateMethodInitSpec(this, _onBeforeLoadData);
269
- /**
270
- * `onBeforeAutofill` hook callback.
271
- *
272
- * @param {Array[]} fillData The data that was used to fill the `targetRange`. If `beforeAutofill` was used
273
- * and returned `[[]]`, this will be the same object that was returned from `beforeAutofill`.
274
- * @param {CellRange} sourceRange The range values will be filled from.
275
- * @param {CellRange} targetRange The range new values will be filled into.
276
- * @returns {boolean|*}
277
- */
278
- _classPrivateMethodInitSpec(this, _onBeforeAutofill);
279
60
  /**
280
61
  * The hook allows to translate the formula value to calculated value before it goes to the
281
62
  * validator function.
@@ -285,66 +66,57 @@ export class Formulas extends BasePlugin {
285
66
  * @param {number|string} prop The visual column index or property name of the column.
286
67
  * @returns {*} Returns value to validate.
287
68
  */
288
- _classPrivateMethodInitSpec(this, _onBeforeValidate);
69
+ _classPrivateMethodInitSpec(this, _Formulas_brand);
289
70
  /**
290
71
  * Flag used to bypass hooks in internal operations.
291
72
  *
292
73
  * @private
293
74
  * @type {boolean}
294
75
  */
295
- _classPrivateFieldInitSpec(this, _internalOperationPending, {
296
- writable: true,
297
- value: false
298
- });
76
+ _classPrivateFieldInitSpec(this, _internalOperationPending, false);
299
77
  /**
300
78
  * Flag needed to mark if Handsontable was initialized with no data.
301
79
  * (Required to work around the fact, that Handsontable auto-generates sample data, when no data is provided).
302
80
  *
303
81
  * @type {boolean}
304
82
  */
305
- _classPrivateFieldInitSpec(this, _hotWasInitializedWithEmptyData, {
306
- writable: true,
307
- value: false
308
- });
83
+ _classPrivateFieldInitSpec(this, _hotWasInitializedWithEmptyData, false);
309
84
  /**
310
85
  * The list of the HyperFormula listeners.
311
86
  *
312
87
  * @type {Array}
313
88
  */
314
- _classPrivateFieldInitSpec(this, _engineListeners, {
315
- writable: true,
316
- value: [['valuesUpdated', function () {
317
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
318
- args[_key] = arguments[_key];
319
- }
320
- return _classPrivateMethodGet(_this, _onEngineValuesUpdated, _onEngineValuesUpdated2).call(_this, ...args);
321
- }], ['namedExpressionAdded', function () {
322
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
323
- args[_key2] = arguments[_key2];
324
- }
325
- return _classPrivateMethodGet(_this, _onEngineNamedExpressionsAdded, _onEngineNamedExpressionsAdded2).call(_this, ...args);
326
- }], ['namedExpressionRemoved', function () {
327
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
328
- args[_key3] = arguments[_key3];
329
- }
330
- return _classPrivateMethodGet(_this, _onEngineNamedExpressionsRemoved, _onEngineNamedExpressionsRemoved2).call(_this, ...args);
331
- }], ['sheetAdded', function () {
332
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
333
- args[_key4] = arguments[_key4];
334
- }
335
- return _classPrivateMethodGet(_this, _onEngineSheetAdded, _onEngineSheetAdded2).call(_this, ...args);
336
- }], ['sheetRenamed', function () {
337
- for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
338
- args[_key5] = arguments[_key5];
339
- }
340
- return _classPrivateMethodGet(_this, _onEngineSheetRenamed, _onEngineSheetRenamed2).call(_this, ...args);
341
- }], ['sheetRemoved', function () {
342
- for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
343
- args[_key6] = arguments[_key6];
344
- }
345
- return _classPrivateMethodGet(_this, _onEngineSheetRemoved, _onEngineSheetRemoved2).call(_this, ...args);
346
- }]]
347
- });
89
+ _classPrivateFieldInitSpec(this, _engineListeners, [['valuesUpdated', function () {
90
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
91
+ args[_key] = arguments[_key];
92
+ }
93
+ return _assertClassBrand(_Formulas_brand, _this, _onEngineValuesUpdated).call(_this, ...args);
94
+ }], ['namedExpressionAdded', function () {
95
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
96
+ args[_key2] = arguments[_key2];
97
+ }
98
+ return _assertClassBrand(_Formulas_brand, _this, _onEngineNamedExpressionsAdded).call(_this, ...args);
99
+ }], ['namedExpressionRemoved', function () {
100
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
101
+ args[_key3] = arguments[_key3];
102
+ }
103
+ return _assertClassBrand(_Formulas_brand, _this, _onEngineNamedExpressionsRemoved).call(_this, ...args);
104
+ }], ['sheetAdded', function () {
105
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
106
+ args[_key4] = arguments[_key4];
107
+ }
108
+ return _assertClassBrand(_Formulas_brand, _this, _onEngineSheetAdded).call(_this, ...args);
109
+ }], ['sheetRenamed', function () {
110
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
111
+ args[_key5] = arguments[_key5];
112
+ }
113
+ return _assertClassBrand(_Formulas_brand, _this, _onEngineSheetRenamed).call(_this, ...args);
114
+ }], ['sheetRemoved', function () {
115
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
116
+ args[_key6] = arguments[_key6];
117
+ }
118
+ return _assertClassBrand(_Formulas_brand, _this, _onEngineSheetRemoved).call(_this, ...args);
119
+ }]]);
348
120
  /**
349
121
  * Static register used to set up one global HyperFormula instance.
350
122
  * TODO: currently used in tests, might be removed later.
@@ -439,13 +211,13 @@ export class Formulas extends BasePlugin {
439
211
  for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
440
212
  args[_key7] = arguments[_key7];
441
213
  }
442
- return _classPrivateMethodGet(_this2, _onBeforeLoadData, _onBeforeLoadData2).call(_this2, ...args);
214
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeLoadData).call(_this2, ...args);
443
215
  });
444
216
  this.addHook('afterLoadData', function () {
445
217
  for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
446
218
  args[_key8] = arguments[_key8];
447
219
  }
448
- return _classPrivateMethodGet(_this2, _onAfterLoadData, _onAfterLoadData2).call(_this2, ...args);
220
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterLoadData).call(_this2, ...args);
449
221
  });
450
222
 
451
223
  // The `updateData` hooks utilize the same logic as the `loadData` hooks.
@@ -453,97 +225,97 @@ export class Formulas extends BasePlugin {
453
225
  for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
454
226
  args[_key9] = arguments[_key9];
455
227
  }
456
- return _classPrivateMethodGet(_this2, _onBeforeLoadData, _onBeforeLoadData2).call(_this2, ...args);
228
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeLoadData).call(_this2, ...args);
457
229
  });
458
230
  this.addHook('afterUpdateData', function () {
459
231
  for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
460
232
  args[_key10] = arguments[_key10];
461
233
  }
462
- return _classPrivateMethodGet(_this2, _onAfterLoadData, _onAfterLoadData2).call(_this2, ...args);
234
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterLoadData).call(_this2, ...args);
463
235
  });
464
236
  this.addHook('modifyData', function () {
465
237
  for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
466
238
  args[_key11] = arguments[_key11];
467
239
  }
468
- return _classPrivateMethodGet(_this2, _onModifyData, _onModifyData2).call(_this2, ...args);
240
+ return _assertClassBrand(_Formulas_brand, _this2, _onModifyData).call(_this2, ...args);
469
241
  });
470
242
  this.addHook('modifySourceData', function () {
471
243
  for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
472
244
  args[_key12] = arguments[_key12];
473
245
  }
474
- return _classPrivateMethodGet(_this2, _onModifySourceData, _onModifySourceData2).call(_this2, ...args);
246
+ return _assertClassBrand(_Formulas_brand, _this2, _onModifySourceData).call(_this2, ...args);
475
247
  });
476
248
  this.addHook('beforeValidate', function () {
477
249
  for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
478
250
  args[_key13] = arguments[_key13];
479
251
  }
480
- return _classPrivateMethodGet(_this2, _onBeforeValidate, _onBeforeValidate2).call(_this2, ...args);
252
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeValidate).call(_this2, ...args);
481
253
  });
482
254
  this.addHook('afterSetSourceDataAtCell', function () {
483
255
  for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {
484
256
  args[_key14] = arguments[_key14];
485
257
  }
486
- return _classPrivateMethodGet(_this2, _onAfterSetSourceDataAtCell, _onAfterSetSourceDataAtCell2).call(_this2, ...args);
258
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterSetSourceDataAtCell).call(_this2, ...args);
487
259
  });
488
260
  this.addHook('afterSetDataAtCell', function () {
489
261
  for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {
490
262
  args[_key15] = arguments[_key15];
491
263
  }
492
- return _classPrivateMethodGet(_this2, _onAfterSetDataAtCell, _onAfterSetDataAtCell2).call(_this2, ...args);
264
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterSetDataAtCell).call(_this2, ...args);
493
265
  });
494
266
  this.addHook('afterSetDataAtRowProp', function () {
495
267
  for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {
496
268
  args[_key16] = arguments[_key16];
497
269
  }
498
- return _classPrivateMethodGet(_this2, _onAfterSetDataAtCell, _onAfterSetDataAtCell2).call(_this2, ...args);
270
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterSetDataAtCell).call(_this2, ...args);
499
271
  });
500
272
  this.addHook('beforeCreateRow', function () {
501
273
  for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {
502
274
  args[_key17] = arguments[_key17];
503
275
  }
504
- return _classPrivateMethodGet(_this2, _onBeforeCreateRow, _onBeforeCreateRow2).call(_this2, ...args);
276
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeCreateRow).call(_this2, ...args);
505
277
  });
506
278
  this.addHook('beforeCreateCol', function () {
507
279
  for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {
508
280
  args[_key18] = arguments[_key18];
509
281
  }
510
- return _classPrivateMethodGet(_this2, _onBeforeCreateCol, _onBeforeCreateCol2).call(_this2, ...args);
282
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeCreateCol).call(_this2, ...args);
511
283
  });
512
284
  this.addHook('afterCreateRow', function () {
513
285
  for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {
514
286
  args[_key19] = arguments[_key19];
515
287
  }
516
- return _classPrivateMethodGet(_this2, _onAfterCreateRow, _onAfterCreateRow2).call(_this2, ...args);
288
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterCreateRow).call(_this2, ...args);
517
289
  });
518
290
  this.addHook('afterCreateCol', function () {
519
291
  for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {
520
292
  args[_key20] = arguments[_key20];
521
293
  }
522
- return _classPrivateMethodGet(_this2, _onAfterCreateCol, _onAfterCreateCol2).call(_this2, ...args);
294
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterCreateCol).call(_this2, ...args);
523
295
  });
524
296
  this.addHook('beforeRemoveRow', function () {
525
297
  for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {
526
298
  args[_key21] = arguments[_key21];
527
299
  }
528
- return _classPrivateMethodGet(_this2, _onBeforeRemoveRow, _onBeforeRemoveRow2).call(_this2, ...args);
300
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeRemoveRow).call(_this2, ...args);
529
301
  });
530
302
  this.addHook('beforeRemoveCol', function () {
531
303
  for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {
532
304
  args[_key22] = arguments[_key22];
533
305
  }
534
- return _classPrivateMethodGet(_this2, _onBeforeRemoveCol, _onBeforeRemoveCol2).call(_this2, ...args);
306
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeRemoveCol).call(_this2, ...args);
535
307
  });
536
308
  this.addHook('afterRemoveRow', function () {
537
309
  for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {
538
310
  args[_key23] = arguments[_key23];
539
311
  }
540
- return _classPrivateMethodGet(_this2, _onAfterRemoveRow, _onAfterRemoveRow2).call(_this2, ...args);
312
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterRemoveRow).call(_this2, ...args);
541
313
  });
542
314
  this.addHook('afterRemoveCol', function () {
543
315
  for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {
544
316
  args[_key24] = arguments[_key24];
545
317
  }
546
- return _classPrivateMethodGet(_this2, _onAfterRemoveCol, _onAfterRemoveCol2).call(_this2, ...args);
318
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterRemoveCol).call(_this2, ...args);
547
319
  });
548
320
  this.indexSyncer = new IndexSyncer(this.hot.rowIndexMapper, this.hot.columnIndexMapper, postponedAction => {
549
321
  this.hot.addHookOnce('init', () => {
@@ -588,7 +360,7 @@ export class Formulas extends BasePlugin {
588
360
  for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) {
589
361
  args[_key25] = arguments[_key25];
590
362
  }
591
- return _classPrivateMethodGet(_this2, _onAfterCellMetaReset, _onAfterCellMetaReset2).call(_this2, ...args);
363
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterCellMetaReset).call(_this2, ...args);
592
364
  });
593
365
 
594
366
  // Handling undo actions on data just using HyperFormula's UndoRedo mechanism
@@ -612,15 +384,15 @@ export class Formulas extends BasePlugin {
612
384
  for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) {
613
385
  args[_key26] = arguments[_key26];
614
386
  }
615
- return _classPrivateMethodGet(_this2, _onAfterDetachChild, _onAfterDetachChild2).call(_this2, ...args);
387
+ return _assertClassBrand(_Formulas_brand, _this2, _onAfterDetachChild).call(_this2, ...args);
616
388
  });
617
389
  this.addHook('beforeAutofill', function () {
618
390
  for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) {
619
391
  args[_key27] = arguments[_key27];
620
392
  }
621
- return _classPrivateMethodGet(_this2, _onBeforeAutofill, _onBeforeAutofill2).call(_this2, ...args);
393
+ return _assertClassBrand(_Formulas_brand, _this2, _onBeforeAutofill).call(_this2, ...args);
622
394
  });
623
- _classPrivateFieldGet(this, _engineListeners).forEach(_ref => {
395
+ _classPrivateFieldGet(_engineListeners, this).forEach(_ref => {
624
396
  let [eventName, listener] = _ref;
625
397
  return this.engine.on(eventName, listener);
626
398
  });
@@ -631,7 +403,7 @@ export class Formulas extends BasePlugin {
631
403
  * Disables the plugin functionality for this Handsontable instance.
632
404
  */
633
405
  disablePlugin() {
634
- _classPrivateFieldGet(this, _engineListeners).forEach(_ref2 => {
406
+ _classPrivateFieldGet(_engineListeners, this).forEach(_ref2 => {
635
407
  let [eventName, listener] = _ref2;
636
408
  return this.engine.off(eventName, listener);
637
409
  });
@@ -673,12 +445,12 @@ export class Formulas extends BasePlugin {
673
445
  * Destroys the plugin instance.
674
446
  */
675
447
  destroy() {
676
- _classPrivateFieldGet(this, _engineListeners).forEach(_ref3 => {
448
+ _classPrivateFieldGet(_engineListeners, this).forEach(_ref3 => {
677
449
  var _this$engine;
678
450
  let [eventName, listener] = _ref3;
679
451
  return (_this$engine = this.engine) === null || _this$engine === void 0 ? void 0 : _this$engine.off(eventName, listener);
680
452
  });
681
- _classPrivateFieldSet(this, _engineListeners, null);
453
+ _classPrivateFieldSet(_engineListeners, this, null);
682
454
  unregisterEngine(this.engine, this.hot);
683
455
  this.engine = null;
684
456
  super.destroy();
@@ -887,7 +659,7 @@ export class Formulas extends BasePlugin {
887
659
  return this.engine.setCellContents(address, newValue);
888
660
  }
889
661
  }
890
- function _onBeforeValidate2(value, visualRow, prop) {
662
+ function _onBeforeValidate(value, visualRow, prop) {
891
663
  const visualColumn = this.hot.propToCol(prop);
892
664
  if (this.isFormulaCellType(visualRow, visualColumn)) {
893
665
  const address = {
@@ -907,7 +679,16 @@ function _onBeforeValidate2(value, visualRow, prop) {
907
679
  }
908
680
  return value;
909
681
  }
910
- function _onBeforeAutofill2(fillData, sourceRange, targetRange) {
682
+ /**
683
+ * `onBeforeAutofill` hook callback.
684
+ *
685
+ * @param {Array[]} fillData The data that was used to fill the `targetRange`. If `beforeAutofill` was used
686
+ * and returned `[[]]`, this will be the same object that was returned from `beforeAutofill`.
687
+ * @param {CellRange} sourceRange The range values will be filled from.
688
+ * @param {CellRange} targetRange The range new values will be filled into.
689
+ * @returns {boolean|*}
690
+ */
691
+ function _onBeforeAutofill(fillData, sourceRange, targetRange) {
911
692
  const {
912
693
  row: sourceTopStartRow,
913
694
  col: sourceTopStartColumn
@@ -984,7 +765,14 @@ function _onBeforeAutofill2(fillData, sourceRange, targetRange) {
984
765
  }
985
766
  return fillRangeData;
986
767
  }
987
- function _onBeforeLoadData2(sourceData, initialLoad) {
768
+ /**
769
+ * `beforeLoadData` hook callback.
770
+ *
771
+ * @param {Array} sourceData Array of arrays or array of objects containing data.
772
+ * @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
773
+ * @param {string} [source] Source of the call.
774
+ */
775
+ function _onBeforeLoadData(sourceData, initialLoad) {
988
776
  let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
989
777
  if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
990
778
  return;
@@ -992,9 +780,12 @@ function _onBeforeLoadData2(sourceData, initialLoad) {
992
780
 
993
781
  // This flag needs to be defined, because not passing data to HOT results in HOT auto-generating a `null`-filled
994
782
  // initial dataset.
995
- _classPrivateFieldSet(this, _hotWasInitializedWithEmptyData, isUndefined(this.hot.getSettings().data));
783
+ _classPrivateFieldSet(_hotWasInitializedWithEmptyData, this, isUndefined(this.hot.getSettings().data));
996
784
  }
997
- function _onAfterCellMetaReset2() {
785
+ /**
786
+ * Callback to `afterCellMetaReset` hook which is triggered after setting cell meta.
787
+ */
788
+ function _onAfterCellMetaReset() {
998
789
  const sourceDataArray = this.hot.getSourceDataArray();
999
790
  let valueChanged = false;
1000
791
  sourceDataArray.forEach((rowData, rowIndex) => {
@@ -1014,32 +805,48 @@ function _onAfterCellMetaReset2() {
1014
805
  });
1015
806
  });
1016
807
  if (valueChanged === true) {
1017
- _classPrivateFieldSet(this, _internalOperationPending, true);
808
+ _classPrivateFieldSet(_internalOperationPending, this, true);
1018
809
  this.engine.setSheetContent(this.sheetId, sourceDataArray);
1019
- _classPrivateFieldSet(this, _internalOperationPending, false);
810
+ _classPrivateFieldSet(_internalOperationPending, this, false);
1020
811
  }
1021
812
  }
1022
- function _onAfterLoadData2(sourceData, initialLoad) {
813
+ /**
814
+ * `afterLoadData` hook callback.
815
+ *
816
+ * @param {Array} sourceData Array of arrays or array of objects containing data.
817
+ * @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
818
+ * @param {string} [source] Source of the call.
819
+ */
820
+ function _onAfterLoadData(sourceData, initialLoad) {
1023
821
  let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
1024
822
  if (source.includes(toUpperCaseFirst(PLUGIN_KEY))) {
1025
823
  return;
1026
824
  }
1027
825
  this.sheetName = setupSheet(this.engine, this.hot.getSettings()[PLUGIN_KEY].sheetName);
1028
- if (!_classPrivateFieldGet(this, _hotWasInitializedWithEmptyData)) {
826
+ if (!_classPrivateFieldGet(_hotWasInitializedWithEmptyData, this)) {
1029
827
  const sourceDataArray = this.hot.getSourceDataArray();
1030
828
  if (this.engine.isItPossibleToReplaceSheetContent(this.sheetId, sourceDataArray)) {
1031
- _classPrivateFieldSet(this, _internalOperationPending, true);
829
+ _classPrivateFieldSet(_internalOperationPending, this, true);
1032
830
  const dependentCells = this.engine.setSheetContent(this.sheetId, sourceDataArray);
1033
831
  this.indexSyncer.setupSyncEndpoint(this.engine, this.sheetId);
1034
832
  this.renderDependentSheets(dependentCells);
1035
- _classPrivateFieldSet(this, _internalOperationPending, false);
833
+ _classPrivateFieldSet(_internalOperationPending, this, false);
1036
834
  }
1037
835
  } else {
1038
836
  this.switchSheet(this.sheetName);
1039
837
  }
1040
838
  }
1041
- function _onModifyData2(physicalRow, visualColumn, valueHolder, ioMode) {
1042
- if (ioMode !== 'get' || _classPrivateFieldGet(this, _internalOperationPending) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
839
+ /**
840
+ * `modifyData` hook callback.
841
+ *
842
+ * @param {number} physicalRow Physical row index.
843
+ * @param {number} visualColumn Visual column index.
844
+ * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
845
+ * property.
846
+ * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
847
+ */
848
+ function _onModifyData(physicalRow, visualColumn, valueHolder, ioMode) {
849
+ if (ioMode !== 'get' || _classPrivateFieldGet(_internalOperationPending, this) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
1043
850
  return;
1044
851
  }
1045
852
  const visualRow = this.hot.toVisualRow(physicalRow);
@@ -1081,8 +888,17 @@ function _onModifyData2(physicalRow, visualColumn, valueHolder, ioMode) {
1081
888
  const value = typeof cellValue === 'object' && cellValue !== null ? cellValue.value : cellValue;
1082
889
  valueHolder.value = value;
1083
890
  }
1084
- function _onModifySourceData2(row, columnOrProp, valueHolder, ioMode) {
1085
- if (ioMode !== 'get' || _classPrivateFieldGet(this, _internalOperationPending) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
891
+ /**
892
+ * `modifySourceData` hook callback.
893
+ *
894
+ * @param {number} row Physical row index.
895
+ * @param {number|string} columnOrProp Physical column index or prop.
896
+ * @param {object} valueHolder Object which contains original value which can be modified by overwriting `.value`
897
+ * property.
898
+ * @param {string} ioMode String which indicates for what operation hook is fired (`get` or `set`).
899
+ */
900
+ function _onModifySourceData(row, columnOrProp, valueHolder, ioMode) {
901
+ if (ioMode !== 'get' || _classPrivateFieldGet(_internalOperationPending, this) || this.sheetName === null || !this.engine.doesSheetExist(this.sheetName)) {
1086
902
  return;
1087
903
  }
1088
904
  const visualRow = this.hot.toVisualRow(row);
@@ -1115,7 +931,14 @@ function _onModifySourceData2(row, columnOrProp, valueHolder, ioMode) {
1115
931
  };
1116
932
  valueHolder.value = this.engine.getCellSerialized(address);
1117
933
  }
1118
- function _onAfterSetDataAtCell2(changes, source) {
934
+ /**
935
+ * `onAfterSetDataAtCell` hook callback.
936
+ *
937
+ * @param {Array[]} changes An array of changes in format [[row, prop, oldValue, value], ...].
938
+ * @param {string} [source] String that identifies source of hook call
939
+ * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
940
+ */
941
+ function _onAfterSetDataAtCell(changes, source) {
1119
942
  if (isBlockedSource(source)) {
1120
943
  return;
1121
944
  }
@@ -1158,7 +981,14 @@ function _onAfterSetDataAtCell2(changes, source) {
1158
981
  this.renderDependentSheets(dependentCells);
1159
982
  this.validateDependentCells(dependentCells, changedCells);
1160
983
  }
1161
- function _onAfterSetSourceDataAtCell2(changes, source) {
984
+ /**
985
+ * `onAfterSetSourceDataAtCell` hook callback.
986
+ *
987
+ * @param {Array[]} changes An array of changes in format [[row, column, oldValue, value], ...].
988
+ * @param {string} [source] String that identifies source of hook call
989
+ * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
990
+ */
991
+ function _onAfterSetSourceDataAtCell(changes, source) {
1162
992
  if (isBlockedSource(source)) {
1163
993
  return;
1164
994
  }
@@ -1187,7 +1017,14 @@ function _onAfterSetSourceDataAtCell2(changes, source) {
1187
1017
  this.renderDependentSheets(dependentCells);
1188
1018
  this.validateDependentCells(dependentCells, changedCells);
1189
1019
  }
1190
- function _onBeforeCreateRow2(visualRow, amount) {
1020
+ /**
1021
+ * `beforeCreateRow` hook callback.
1022
+ *
1023
+ * @param {number} visualRow Represents the visual index of first newly created row in the data source array.
1024
+ * @param {number} amount Number of newly created rows in the data source array.
1025
+ * @returns {*|boolean} If false is returned the action is canceled.
1026
+ */
1027
+ function _onBeforeCreateRow(visualRow, amount) {
1191
1028
  let hfRowIndex = this.rowAxisSyncer.getHfIndexFromVisualIndex(visualRow);
1192
1029
  if (visualRow >= this.hot.countRows()) {
1193
1030
  hfRowIndex = visualRow; // Row beyond the table boundaries.
@@ -1196,7 +1033,14 @@ function _onBeforeCreateRow2(visualRow, amount) {
1196
1033
  return false;
1197
1034
  }
1198
1035
  }
1199
- function _onBeforeCreateCol2(visualColumn, amount) {
1036
+ /**
1037
+ * `beforeCreateCol` hook callback.
1038
+ *
1039
+ * @param {number} visualColumn Represents the visual index of first newly created column in the data source.
1040
+ * @param {number} amount Number of newly created columns in the data source.
1041
+ * @returns {*|boolean} If false is returned the action is canceled.
1042
+ */
1043
+ function _onBeforeCreateCol(visualColumn, amount) {
1200
1044
  let hfColumnIndex = this.columnAxisSyncer.getHfIndexFromVisualIndex(visualColumn);
1201
1045
  if (visualColumn >= this.hot.countCols()) {
1202
1046
  hfColumnIndex = visualColumn; // Column beyond the table boundaries.
@@ -1205,35 +1049,76 @@ function _onBeforeCreateCol2(visualColumn, amount) {
1205
1049
  return false;
1206
1050
  }
1207
1051
  }
1208
- function _onBeforeRemoveRow2(row, amount, physicalRows) {
1052
+ /**
1053
+ * `beforeRemoveRow` hook callback.
1054
+ *
1055
+ * @param {number} row Visual index of starter row.
1056
+ * @param {number} amount Amount of rows to be removed.
1057
+ * @param {number[]} physicalRows An array of physical rows removed from the data source.
1058
+ * @returns {*|boolean} If false is returned the action is canceled.
1059
+ */
1060
+ function _onBeforeRemoveRow(row, amount, physicalRows) {
1209
1061
  const hfRows = this.rowAxisSyncer.setRemovedHfIndexes(physicalRows);
1210
1062
  const possible = hfRows.every(hfRow => {
1211
1063
  return this.engine.isItPossibleToRemoveRows(this.sheetId, [hfRow, 1]);
1212
1064
  });
1213
1065
  return possible === false ? false : undefined;
1214
1066
  }
1215
- function _onBeforeRemoveCol2(col, amount, physicalColumns) {
1067
+ /**
1068
+ * `beforeRemoveCol` hook callback.
1069
+ *
1070
+ * @param {number} col Visual index of starter column.
1071
+ * @param {number} amount Amount of columns to be removed.
1072
+ * @param {number[]} physicalColumns An array of physical columns removed from the data source.
1073
+ * @returns {*|boolean} If false is returned the action is canceled.
1074
+ */
1075
+ function _onBeforeRemoveCol(col, amount, physicalColumns) {
1216
1076
  const hfColumns = this.columnAxisSyncer.setRemovedHfIndexes(physicalColumns);
1217
1077
  const possible = hfColumns.every(hfColumn => {
1218
1078
  return this.engine.isItPossibleToRemoveColumns(this.sheetId, [hfColumn, 1]);
1219
1079
  });
1220
1080
  return possible === false ? false : undefined;
1221
1081
  }
1222
- function _onAfterCreateRow2(visualRow, amount, source) {
1082
+ /**
1083
+ * `afterCreateRow` hook callback.
1084
+ *
1085
+ * @param {number} visualRow Represents the visual index of first newly created row in the data source array.
1086
+ * @param {number} amount Number of newly created rows in the data source array.
1087
+ * @param {string} [source] String that identifies source of hook call
1088
+ * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
1089
+ */
1090
+ function _onAfterCreateRow(visualRow, amount, source) {
1223
1091
  if (isBlockedSource(source)) {
1224
1092
  return;
1225
1093
  }
1226
1094
  const changes = this.engine.addRows(this.sheetId, [this.rowAxisSyncer.getHfIndexFromVisualIndex(visualRow), amount]);
1227
1095
  this.renderDependentSheets(changes);
1228
1096
  }
1229
- function _onAfterCreateCol2(visualColumn, amount, source) {
1097
+ /**
1098
+ * `afterCreateCol` hook callback.
1099
+ *
1100
+ * @param {number} visualColumn Represents the visual index of first newly created column in the data source.
1101
+ * @param {number} amount Number of newly created columns in the data source.
1102
+ * @param {string} [source] String that identifies source of hook call
1103
+ * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
1104
+ */
1105
+ function _onAfterCreateCol(visualColumn, amount, source) {
1230
1106
  if (isBlockedSource(source)) {
1231
1107
  return;
1232
1108
  }
1233
1109
  const changes = this.engine.addColumns(this.sheetId, [this.columnAxisSyncer.getHfIndexFromVisualIndex(visualColumn), amount]);
1234
1110
  this.renderDependentSheets(changes);
1235
1111
  }
1236
- function _onAfterRemoveRow2(row, amount, physicalRows, source) {
1112
+ /**
1113
+ * `afterRemoveRow` hook callback.
1114
+ *
1115
+ * @param {number} row Visual index of starter row.
1116
+ * @param {number} amount An amount of removed rows.
1117
+ * @param {number[]} physicalRows An array of physical rows removed from the data source.
1118
+ * @param {string} [source] String that identifies source of hook call
1119
+ * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
1120
+ */
1121
+ function _onAfterRemoveRow(row, amount, physicalRows, source) {
1237
1122
  if (isBlockedSource(source)) {
1238
1123
  return;
1239
1124
  }
@@ -1245,7 +1130,16 @@ function _onAfterRemoveRow2(row, amount, physicalRows, source) {
1245
1130
  });
1246
1131
  this.renderDependentSheets(changes);
1247
1132
  }
1248
- function _onAfterRemoveCol2(col, amount, physicalColumns, source) {
1133
+ /**
1134
+ * `afterRemoveCol` hook callback.
1135
+ *
1136
+ * @param {number} col Visual index of starter column.
1137
+ * @param {number} amount An amount of removed columns.
1138
+ * @param {number[]} physicalColumns An array of physical columns removed from the data source.
1139
+ * @param {string} [source] String that identifies source of hook call
1140
+ * ([list of all available sources]{@link https://handsontable.com/docs/javascript-data-grid/events-and-hooks/#handsontable-hooks}).
1141
+ */
1142
+ function _onAfterRemoveCol(col, amount, physicalColumns, source) {
1249
1143
  if (isBlockedSource(source)) {
1250
1144
  return;
1251
1145
  }
@@ -1257,11 +1151,19 @@ function _onAfterRemoveCol2(col, amount, physicalColumns, source) {
1257
1151
  });
1258
1152
  this.renderDependentSheets(changes);
1259
1153
  }
1260
- function _onAfterDetachChild2(parent, element, finalElementRowIndex) {
1154
+ /**
1155
+ * `afterDetachChild` hook callback.
1156
+ * Used to sync the data of the rows detached in the Nested Rows plugin with the engine's dataset.
1157
+ *
1158
+ * @param {object} parent An object representing the parent from which the element was detached.
1159
+ * @param {object} element The detached element.
1160
+ * @param {number} finalElementRowIndex The final row index of the detached element.
1161
+ */
1162
+ function _onAfterDetachChild(parent, element, finalElementRowIndex) {
1261
1163
  var _element$__children;
1262
- _classPrivateFieldSet(this, _internalOperationPending, true);
1164
+ _classPrivateFieldSet(_internalOperationPending, this, true);
1263
1165
  const rowsData = this.hot.getSourceDataArray(finalElementRowIndex, 0, finalElementRowIndex + (((_element$__children = element.__children) === null || _element$__children === void 0 ? void 0 : _element$__children.length) || 0), this.hot.countSourceCols());
1264
- _classPrivateFieldSet(this, _internalOperationPending, false);
1166
+ _classPrivateFieldSet(_internalOperationPending, this, false);
1265
1167
  rowsData.forEach((row, relativeRowIndex) => {
1266
1168
  row.forEach((value, colIndex) => {
1267
1169
  this.engine.setCellContents({
@@ -1272,22 +1174,62 @@ function _onAfterDetachChild2(parent, element, finalElementRowIndex) {
1272
1174
  });
1273
1175
  });
1274
1176
  }
1275
- function _onEngineValuesUpdated2(changes) {
1177
+ /**
1178
+ * Called when a value is updated in the engine.
1179
+ *
1180
+ * @fires Hooks#afterFormulasValuesUpdate
1181
+ * @param {Array} changes The values and location of applied changes.
1182
+ */
1183
+ function _onEngineValuesUpdated(changes) {
1276
1184
  this.hot.runHooks('afterFormulasValuesUpdate', changes);
1277
1185
  }
1278
- function _onEngineNamedExpressionsAdded2(namedExpressionName, changes) {
1186
+ /**
1187
+ * Called when a named expression is added to the engine instance.
1188
+ *
1189
+ * @fires Hooks#afterNamedExpressionAdded
1190
+ * @param {string} namedExpressionName The name of the added expression.
1191
+ * @param {Array} changes The values and location of applied changes.
1192
+ */
1193
+ function _onEngineNamedExpressionsAdded(namedExpressionName, changes) {
1279
1194
  this.hot.runHooks('afterNamedExpressionAdded', namedExpressionName, changes);
1280
1195
  }
1281
- function _onEngineNamedExpressionsRemoved2(namedExpressionName, changes) {
1196
+ /**
1197
+ * Called when a named expression is removed from the engine instance.
1198
+ *
1199
+ * @fires Hooks#afterNamedExpressionRemoved
1200
+ * @param {string} namedExpressionName The name of the removed expression.
1201
+ * @param {Array} changes The values and location of applied changes.
1202
+ */
1203
+ function _onEngineNamedExpressionsRemoved(namedExpressionName, changes) {
1282
1204
  this.hot.runHooks('afterNamedExpressionRemoved', namedExpressionName, changes);
1283
1205
  }
1284
- function _onEngineSheetAdded2(addedSheetDisplayName) {
1206
+ /**
1207
+ * Called when a new sheet is added to the engine instance.
1208
+ *
1209
+ * @fires Hooks#afterSheetAdded
1210
+ * @param {string} addedSheetDisplayName The name of the added sheet.
1211
+ */
1212
+ function _onEngineSheetAdded(addedSheetDisplayName) {
1285
1213
  this.hot.runHooks('afterSheetAdded', addedSheetDisplayName);
1286
1214
  }
1287
- function _onEngineSheetRenamed2(oldDisplayName, newDisplayName) {
1215
+ /**
1216
+ * Called when a sheet in the engine instance is renamed.
1217
+ *
1218
+ * @fires Hooks#afterSheetRenamed
1219
+ * @param {string} oldDisplayName The old name of the sheet.
1220
+ * @param {string} newDisplayName The new name of the sheet.
1221
+ */
1222
+ function _onEngineSheetRenamed(oldDisplayName, newDisplayName) {
1288
1223
  this.sheetName = newDisplayName;
1289
1224
  this.hot.runHooks('afterSheetRenamed', oldDisplayName, newDisplayName);
1290
1225
  }
1291
- function _onEngineSheetRemoved2(removedSheetDisplayName, changes) {
1226
+ /**
1227
+ * Called when a sheet is removed from the engine instance.
1228
+ *
1229
+ * @fires Hooks#afterSheetRemoved
1230
+ * @param {string} removedSheetDisplayName The removed sheet name.
1231
+ * @param {Array} changes The values and location of applied changes.
1232
+ */
1233
+ function _onEngineSheetRemoved(removedSheetDisplayName, changes) {
1292
1234
  this.hot.runHooks('afterSheetRemoved', removedSheetDisplayName, changes);
1293
1235
  }