handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410

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 +9814 -10020
  106. package/dist/handsontable.full.min.css +3 -3
  107. package/dist/handsontable.full.min.js +292 -292
  108. package/dist/handsontable.js +7484 -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 +49 -11
  139. package/editors/dateEditor/dateEditor.mjs +49 -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,14 +1,11 @@
1
- import "core-js/modules/es.array.push.js";
2
1
  import "core-js/modules/es.error.cause.js";
2
+ import "core-js/modules/es.array.push.js";
3
3
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
4
  function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
5
  function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
7
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
8
- 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; } }
9
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
10
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
11
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
6
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
7
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
8
+ 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"); }
12
9
  import { BasePlugin } from "../base/index.mjs";
13
10
  import { addClass, closest, hasClass, removeClass, outerWidth, isDetached } from "../../helpers/dom/element.mjs";
14
11
  import { arrayEach } from "../../helpers/array.mjs";
@@ -49,13 +46,7 @@ var _dblclick = /*#__PURE__*/new WeakMap();
49
46
  var _autoresizeTimeout = /*#__PURE__*/new WeakMap();
50
47
  var _rowHeightsMap = /*#__PURE__*/new WeakMap();
51
48
  var _config = /*#__PURE__*/new WeakMap();
52
- var _onMouseOver = /*#__PURE__*/new WeakSet();
53
- var _onMouseDown = /*#__PURE__*/new WeakSet();
54
- var _onMouseMove = /*#__PURE__*/new WeakSet();
55
- var _onMouseUp = /*#__PURE__*/new WeakSet();
56
- var _onContextMenu = /*#__PURE__*/new WeakSet();
57
- var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
58
- var _onMapInit = /*#__PURE__*/new WeakSet();
49
+ var _ManualRowResize_brand = /*#__PURE__*/new WeakSet();
59
50
  export class ManualRowResize extends BasePlugin {
60
51
  static get PLUGIN_KEY() {
61
52
  return PLUGIN_KEY;
@@ -70,162 +61,79 @@ export class ManualRowResize extends BasePlugin {
70
61
 
71
62
  constructor(hotInstance) {
72
63
  super(hotInstance);
73
- /**
74
- * Callback to call on map's `init` local hook.
75
- */
76
- _classPrivateMethodInitSpec(this, _onMapInit);
77
- /**
78
- * Modifies the provided row height, based on the plugin settings.
79
- *
80
- * @param {number} height Row height.
81
- * @param {number} row Visual row index.
82
- * @returns {number}
83
- */
84
- _classPrivateMethodInitSpec(this, _onModifyRowHeight);
85
- /**
86
- * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
87
- */
88
- _classPrivateMethodInitSpec(this, _onContextMenu);
89
- /**
90
- * 'mouseup' event callback - apply the row resizing.
91
- *
92
- * @fires Hooks#beforeRowResize
93
- * @fires Hooks#afterRowResize
94
- */
95
- _classPrivateMethodInitSpec(this, _onMouseUp);
96
- /**
97
- * 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
98
- *
99
- * @param {MouseEvent} event The mouse event.
100
- */
101
- _classPrivateMethodInitSpec(this, _onMouseMove);
102
- /**
103
- * 'mousedown' event callback.
104
- *
105
- * @param {MouseEvent} event The mouse event.
106
- */
107
- _classPrivateMethodInitSpec(this, _onMouseDown);
108
64
  /**
109
65
  * 'mouseover' event callback - set the handle position.
110
66
  *
111
67
  * @param {MouseEvent} event The mouse event.
112
68
  */
113
- _classPrivateMethodInitSpec(this, _onMouseOver);
114
- _classPrivateFieldInitSpec(this, _currentTH, {
115
- writable: true,
116
- value: null
117
- });
69
+ _classPrivateMethodInitSpec(this, _ManualRowResize_brand);
70
+ _classPrivateFieldInitSpec(this, _currentTH, null);
118
71
  /**
119
72
  * @type {number}
120
73
  */
121
- _classPrivateFieldInitSpec(this, _currentRow, {
122
- writable: true,
123
- value: null
124
- });
74
+ _classPrivateFieldInitSpec(this, _currentRow, null);
125
75
  /**
126
76
  * @type {number[]}
127
77
  */
128
- _classPrivateFieldInitSpec(this, _selectedRows, {
129
- writable: true,
130
- value: []
131
- });
78
+ _classPrivateFieldInitSpec(this, _selectedRows, []);
132
79
  /**
133
80
  * @type {number}
134
81
  */
135
- _classPrivateFieldInitSpec(this, _currentHeight, {
136
- writable: true,
137
- value: null
138
- });
82
+ _classPrivateFieldInitSpec(this, _currentHeight, null);
139
83
  /**
140
84
  * @type {number}
141
85
  */
142
- _classPrivateFieldInitSpec(this, _newSize, {
143
- writable: true,
144
- value: null
145
- });
86
+ _classPrivateFieldInitSpec(this, _newSize, null);
146
87
  /**
147
88
  * @type {number}
148
89
  */
149
- _classPrivateFieldInitSpec(this, _startY, {
150
- writable: true,
151
- value: null
152
- });
90
+ _classPrivateFieldInitSpec(this, _startY, null);
153
91
  /**
154
92
  * @type {number}
155
93
  */
156
- _classPrivateFieldInitSpec(this, _startHeight, {
157
- writable: true,
158
- value: null
159
- });
94
+ _classPrivateFieldInitSpec(this, _startHeight, null);
160
95
  /**
161
96
  * @type {number}
162
97
  */
163
- _classPrivateFieldInitSpec(this, _startOffset, {
164
- writable: true,
165
- value: null
166
- });
98
+ _classPrivateFieldInitSpec(this, _startOffset, null);
167
99
  /**
168
100
  * @type {HTMLElement}
169
101
  */
170
- _classPrivateFieldInitSpec(this, _handle, {
171
- writable: true,
172
- value: this.hot.rootDocument.createElement('DIV')
173
- });
102
+ _classPrivateFieldInitSpec(this, _handle, this.hot.rootDocument.createElement('DIV'));
174
103
  /**
175
104
  * @type {HTMLElement}
176
105
  */
177
- _classPrivateFieldInitSpec(this, _guide, {
178
- writable: true,
179
- value: this.hot.rootDocument.createElement('DIV')
180
- });
106
+ _classPrivateFieldInitSpec(this, _guide, this.hot.rootDocument.createElement('DIV'));
181
107
  /**
182
108
  * @type {boolean}
183
109
  */
184
- _classPrivateFieldInitSpec(this, _pressed, {
185
- writable: true,
186
- value: false
187
- });
110
+ _classPrivateFieldInitSpec(this, _pressed, false);
188
111
  /**
189
112
  * @type {boolean}
190
113
  */
191
- _classPrivateFieldInitSpec(this, _isTriggeredByRMB, {
192
- writable: true,
193
- value: false
194
- });
114
+ _classPrivateFieldInitSpec(this, _isTriggeredByRMB, false);
195
115
  /**
196
116
  * @type {number}
197
117
  */
198
- _classPrivateFieldInitSpec(this, _dblclick, {
199
- writable: true,
200
- value: 0
201
- });
118
+ _classPrivateFieldInitSpec(this, _dblclick, 0);
202
119
  /**
203
120
  * @type {number}
204
121
  */
205
- _classPrivateFieldInitSpec(this, _autoresizeTimeout, {
206
- writable: true,
207
- value: null
208
- });
122
+ _classPrivateFieldInitSpec(this, _autoresizeTimeout, null);
209
123
  /**
210
124
  * PhysicalIndexToValueMap to keep and track widths for physical row indexes.
211
125
  *
212
126
  * @type {PhysicalIndexToValueMap}
213
127
  */
214
- _classPrivateFieldInitSpec(this, _rowHeightsMap, {
215
- writable: true,
216
- value: void 0
217
- });
128
+ _classPrivateFieldInitSpec(this, _rowHeightsMap, void 0);
218
129
  /**
219
130
  * Private pool to save configuration from updateSettings.
220
131
  *
221
132
  * @type {object}
222
133
  */
223
- _classPrivateFieldInitSpec(this, _config, {
224
- writable: true,
225
- value: void 0
226
- });
227
- addClass(_classPrivateFieldGet(this, _handle), 'manualRowResizer');
228
- addClass(_classPrivateFieldGet(this, _guide), 'manualRowResizerGuide');
134
+ _classPrivateFieldInitSpec(this, _config, void 0);
135
+ addClass(_classPrivateFieldGet(_handle, this), 'manualRowResizer');
136
+ addClass(_classPrivateFieldGet(_guide, this), 'manualRowResizerGuide');
229
137
  }
230
138
 
231
139
  /**
@@ -253,10 +161,10 @@ export class ManualRowResize extends BasePlugin {
253
161
  if (this.enabled) {
254
162
  return;
255
163
  }
256
- _classPrivateFieldSet(this, _rowHeightsMap, new IndexToValueMap());
257
- _classPrivateFieldGet(this, _rowHeightsMap).addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
258
- this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(this, _rowHeightsMap));
259
- this.addHook('modifyRowHeight', (height, row) => _classPrivateMethodGet(this, _onModifyRowHeight, _onModifyRowHeight2).call(this, height, row));
164
+ _classPrivateFieldSet(_rowHeightsMap, this, new IndexToValueMap());
165
+ _classPrivateFieldGet(_rowHeightsMap, this).addLocalHook('init', () => _assertClassBrand(_ManualRowResize_brand, this, _onMapInit).call(this));
166
+ this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_rowHeightsMap, this));
167
+ this.addHook('modifyRowHeight', (height, row) => _assertClassBrand(_ManualRowResize_brand, this, _onModifyRowHeight).call(this, height, row));
260
168
  this.bindEvents();
261
169
  super.enablePlugin();
262
170
  }
@@ -277,7 +185,7 @@ export class ManualRowResize extends BasePlugin {
277
185
  * Disables the plugin functionality for this Handsontable instance.
278
186
  */
279
187
  disablePlugin() {
280
- _classPrivateFieldSet(this, _config, _classPrivateFieldGet(this, _rowHeightsMap).getValues());
188
+ _classPrivateFieldSet(_config, this, _classPrivateFieldGet(_rowHeightsMap, this).getValues());
281
189
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
282
190
  super.disablePlugin();
283
191
  }
@@ -289,7 +197,7 @@ export class ManualRowResize extends BasePlugin {
289
197
  * @fires Hooks#persistentStateSave
290
198
  */
291
199
  saveManualRowHeights() {
292
- this.hot.runHooks('persistentStateSave', PERSISTENT_STATE_KEY, _classPrivateFieldGet(this, _rowHeightsMap).getValues());
200
+ this.hot.runHooks('persistentStateSave', PERSISTENT_STATE_KEY, _classPrivateFieldGet(_rowHeightsMap, this).getValues());
293
201
  }
294
202
 
295
203
  /**
@@ -315,7 +223,7 @@ export class ManualRowResize extends BasePlugin {
315
223
  setManualSize(row, height) {
316
224
  const physicalRow = this.hot.toPhysicalRow(row);
317
225
  const newHeight = Math.max(height, ViewportRowsCalculator.DEFAULT_HEIGHT);
318
- _classPrivateFieldGet(this, _rowHeightsMap).setValueAtIndex(physicalRow, newHeight);
226
+ _classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(physicalRow, newHeight);
319
227
  return newHeight;
320
228
  }
321
229
 
@@ -326,40 +234,40 @@ export class ManualRowResize extends BasePlugin {
326
234
  * @param {HTMLCellElement} TH TH HTML element.
327
235
  */
328
236
  setupHandlePosition(TH) {
329
- _classPrivateFieldSet(this, _currentTH, TH);
237
+ _classPrivateFieldSet(_currentTH, this, TH);
330
238
  const {
331
239
  view
332
240
  } = this.hot;
333
241
  const {
334
242
  _wt: wt
335
243
  } = view;
336
- const cellCoords = wt.wtTable.getCoords(_classPrivateFieldGet(this, _currentTH));
244
+ const cellCoords = wt.wtTable.getCoords(_classPrivateFieldGet(_currentTH, this));
337
245
  const row = cellCoords.row;
338
246
 
339
247
  // Ignore row headers.
340
248
  if (row < 0) {
341
249
  return;
342
250
  }
343
- const headerWidth = outerWidth(_classPrivateFieldGet(this, _currentTH));
344
- const box = _classPrivateFieldGet(this, _currentTH).getBoundingClientRect();
251
+ const headerWidth = outerWidth(_classPrivateFieldGet(_currentTH, this));
252
+ const box = _classPrivateFieldGet(_currentTH, this).getBoundingClientRect();
345
253
  // Read "fixedRowsTop" and "fixedRowsBottom" through the Walkontable as in that context, the fixed
346
254
  // rows are modified (reduced by the number of hidden rows) by TableView module.
347
255
  const fixedRowTop = row < wt.getSetting('fixedRowsTop');
348
256
  const fixedRowBottom = row >= view.countNotHiddenRowIndexes(0, 1) - wt.getSetting('fixedRowsBottom');
349
257
  let relativeHeaderPosition;
350
258
  if (fixedRowTop) {
351
- relativeHeaderPosition = wt.wtOverlays.topInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(this, _currentTH), cellCoords.row, cellCoords.col);
259
+ relativeHeaderPosition = wt.wtOverlays.topInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(_currentTH, this), cellCoords.row, cellCoords.col);
352
260
  } else if (fixedRowBottom) {
353
- relativeHeaderPosition = wt.wtOverlays.bottomInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(this, _currentTH), cellCoords.row, cellCoords.col);
261
+ relativeHeaderPosition = wt.wtOverlays.bottomInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(_currentTH, this), cellCoords.row, cellCoords.col);
354
262
  }
355
263
 
356
264
  // If the TH is not a child of the top-left/bottom-left overlay, recalculate using
357
265
  // the left overlay - as this overlay contains the rest of the headers.
358
266
  if (!relativeHeaderPosition) {
359
- relativeHeaderPosition = wt.wtOverlays.inlineStartOverlay.getRelativeCellPosition(_classPrivateFieldGet(this, _currentTH), cellCoords.row, cellCoords.col);
267
+ relativeHeaderPosition = wt.wtOverlays.inlineStartOverlay.getRelativeCellPosition(_classPrivateFieldGet(_currentTH, this), cellCoords.row, cellCoords.col);
360
268
  }
361
- _classPrivateFieldSet(this, _currentRow, this.hot.rowIndexMapper.getVisualFromRenderableIndex(row));
362
- _classPrivateFieldSet(this, _selectedRows, []);
269
+ _classPrivateFieldSet(_currentRow, this, this.hot.rowIndexMapper.getVisualFromRenderableIndex(row));
270
+ _classPrivateFieldSet(_selectedRows, this, []);
363
271
  const isFullRowSelected = this.hot.selection.isSelectedByCorner() || this.hot.selection.isSelectedByRowHeader();
364
272
  if (this.hot.selection.isSelected() && isFullRowSelected) {
365
273
  const selectionRanges = this.hot.getSelectedRange();
@@ -369,23 +277,23 @@ export class ManualRowResize extends BasePlugin {
369
277
 
370
278
  // Add every selected row for resize action.
371
279
  rangeEach(fromRow, toRow, rowIndex => {
372
- if (!_classPrivateFieldGet(this, _selectedRows).includes(rowIndex)) {
373
- _classPrivateFieldGet(this, _selectedRows).push(rowIndex);
280
+ if (!_classPrivateFieldGet(_selectedRows, this).includes(rowIndex)) {
281
+ _classPrivateFieldGet(_selectedRows, this).push(rowIndex);
374
282
  }
375
283
  });
376
284
  });
377
285
  }
378
286
 
379
287
  // Resizing element beyond the current selection (also when there is no selection).
380
- if (!_classPrivateFieldGet(this, _selectedRows).includes(_classPrivateFieldGet(this, _currentRow))) {
381
- _classPrivateFieldSet(this, _selectedRows, [_classPrivateFieldGet(this, _currentRow)]);
288
+ if (!_classPrivateFieldGet(_selectedRows, this).includes(_classPrivateFieldGet(_currentRow, this))) {
289
+ _classPrivateFieldSet(_selectedRows, this, [_classPrivateFieldGet(_currentRow, this)]);
382
290
  }
383
- _classPrivateFieldSet(this, _startOffset, relativeHeaderPosition.top - 6);
384
- _classPrivateFieldSet(this, _startHeight, parseInt(box.height, 10));
385
- _classPrivateFieldGet(this, _handle).style.top = `${_classPrivateFieldGet(this, _startOffset) + _classPrivateFieldGet(this, _startHeight)}px`;
386
- _classPrivateFieldGet(this, _handle).style[this.inlineDir] = `${relativeHeaderPosition.start}px`;
387
- _classPrivateFieldGet(this, _handle).style.width = `${headerWidth}px`;
388
- this.hot.rootElement.appendChild(_classPrivateFieldGet(this, _handle));
291
+ _classPrivateFieldSet(_startOffset, this, relativeHeaderPosition.top - 6);
292
+ _classPrivateFieldSet(_startHeight, this, parseInt(box.height, 10));
293
+ _classPrivateFieldGet(_handle, this).style.top = `${_classPrivateFieldGet(_startOffset, this) + _classPrivateFieldGet(_startHeight, this)}px`;
294
+ _classPrivateFieldGet(_handle, this).style[this.inlineDir] = `${relativeHeaderPosition.start}px`;
295
+ _classPrivateFieldGet(_handle, this).style.width = `${headerWidth}px`;
296
+ this.hot.rootElement.appendChild(_classPrivateFieldGet(_handle, this));
389
297
  }
390
298
 
391
299
  /**
@@ -394,7 +302,7 @@ export class ManualRowResize extends BasePlugin {
394
302
  * @private
395
303
  */
396
304
  refreshHandlePosition() {
397
- _classPrivateFieldGet(this, _handle).style.top = `${_classPrivateFieldGet(this, _startOffset) + _classPrivateFieldGet(this, _currentHeight)}px`;
305
+ _classPrivateFieldGet(_handle, this).style.top = `${_classPrivateFieldGet(_startOffset, this) + _classPrivateFieldGet(_currentHeight, this)}px`;
398
306
  }
399
307
 
400
308
  /**
@@ -403,15 +311,15 @@ export class ManualRowResize extends BasePlugin {
403
311
  * @private
404
312
  */
405
313
  setupGuidePosition() {
406
- const handleWidth = parseInt(outerWidth(_classPrivateFieldGet(this, _handle)), 10);
407
- const handleEndPosition = parseInt(_classPrivateFieldGet(this, _handle).style[this.inlineDir], 10) + handleWidth;
314
+ const handleWidth = parseInt(outerWidth(_classPrivateFieldGet(_handle, this)), 10);
315
+ const handleEndPosition = parseInt(_classPrivateFieldGet(_handle, this).style[this.inlineDir], 10) + handleWidth;
408
316
  const maximumVisibleElementWidth = parseInt(this.hot.view.maximumVisibleElementWidth(0), 10);
409
- addClass(_classPrivateFieldGet(this, _handle), 'active');
410
- addClass(_classPrivateFieldGet(this, _guide), 'active');
411
- _classPrivateFieldGet(this, _guide).style.top = _classPrivateFieldGet(this, _handle).style.top;
412
- _classPrivateFieldGet(this, _guide).style[this.inlineDir] = `${handleEndPosition}px`;
413
- _classPrivateFieldGet(this, _guide).style.width = `${maximumVisibleElementWidth - handleWidth}px`;
414
- this.hot.rootElement.appendChild(_classPrivateFieldGet(this, _guide));
317
+ addClass(_classPrivateFieldGet(_handle, this), 'active');
318
+ addClass(_classPrivateFieldGet(_guide, this), 'active');
319
+ _classPrivateFieldGet(_guide, this).style.top = _classPrivateFieldGet(_handle, this).style.top;
320
+ _classPrivateFieldGet(_guide, this).style[this.inlineDir] = `${handleEndPosition}px`;
321
+ _classPrivateFieldGet(_guide, this).style.width = `${maximumVisibleElementWidth - handleWidth}px`;
322
+ this.hot.rootElement.appendChild(_classPrivateFieldGet(_guide, this));
415
323
  }
416
324
 
417
325
  /**
@@ -420,7 +328,7 @@ export class ManualRowResize extends BasePlugin {
420
328
  * @private
421
329
  */
422
330
  refreshGuidePosition() {
423
- _classPrivateFieldGet(this, _guide).style.top = _classPrivateFieldGet(this, _handle).style.top;
331
+ _classPrivateFieldGet(_guide, this).style.top = _classPrivateFieldGet(_handle, this).style.top;
424
332
  }
425
333
 
426
334
  /**
@@ -429,8 +337,8 @@ export class ManualRowResize extends BasePlugin {
429
337
  * @private
430
338
  */
431
339
  hideHandleAndGuide() {
432
- removeClass(_classPrivateFieldGet(this, _handle), 'active');
433
- removeClass(_classPrivateFieldGet(this, _guide), 'active');
340
+ removeClass(_classPrivateFieldGet(_handle, this), 'active');
341
+ removeClass(_classPrivateFieldGet(_guide, this), 'active');
434
342
  }
435
343
 
436
344
  /**
@@ -477,10 +385,10 @@ export class ManualRowResize extends BasePlugin {
477
385
  getActualRowHeight(row) {
478
386
  // TODO: this should utilize `this.hot.getRowHeight` after it's fixed and working properly.
479
387
  const walkontableHeight = this.hot.view._wt.wtTable.getRowHeight(row);
480
- if (walkontableHeight !== undefined && _classPrivateFieldGet(this, _newSize) < walkontableHeight) {
388
+ if (walkontableHeight !== undefined && _classPrivateFieldGet(_newSize, this) < walkontableHeight) {
481
389
  return walkontableHeight;
482
390
  }
483
- return _classPrivateFieldGet(this, _newSize);
391
+ return _classPrivateFieldGet(_newSize, this);
484
392
  }
485
393
  /**
486
394
  * Auto-size row after doubleclick - callback.
@@ -498,31 +406,38 @@ export class ManualRowResize extends BasePlugin {
498
406
  const resize = (row, forceRender) => {
499
407
  const hookNewSize = this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, true);
500
408
  if (hookNewSize !== undefined) {
501
- _classPrivateFieldSet(this, _newSize, hookNewSize);
409
+ _classPrivateFieldSet(_newSize, this, hookNewSize);
502
410
  }
503
- this.setManualSize(row, _classPrivateFieldGet(this, _newSize)); // double click sets auto row size
411
+ this.setManualSize(row, _classPrivateFieldGet(_newSize, this)); // double click sets auto row size
504
412
 
505
413
  this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, true);
506
414
  if (forceRender) {
507
415
  render();
508
416
  }
509
417
  };
510
- if (_classPrivateFieldGet(this, _dblclick) >= 2) {
511
- const selectedRowsLength = _classPrivateFieldGet(this, _selectedRows).length;
418
+ if (_classPrivateFieldGet(_dblclick, this) >= 2) {
419
+ const selectedRowsLength = _classPrivateFieldGet(_selectedRows, this).length;
512
420
  if (selectedRowsLength > 1) {
513
- arrayEach(_classPrivateFieldGet(this, _selectedRows), selectedRow => {
421
+ arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
514
422
  resize(selectedRow);
515
423
  });
516
424
  render();
517
425
  } else {
518
- arrayEach(_classPrivateFieldGet(this, _selectedRows), selectedRow => {
426
+ arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
519
427
  resize(selectedRow, true);
520
428
  });
521
429
  }
522
430
  }
523
- _classPrivateFieldSet(this, _dblclick, 0);
524
- _classPrivateFieldSet(this, _autoresizeTimeout, null);
431
+ _classPrivateFieldSet(_dblclick, this, 0);
432
+ _classPrivateFieldSet(_autoresizeTimeout, this, null);
525
433
  }
434
+
435
+ /**
436
+ * 'mousedown' event callback.
437
+ *
438
+ * @param {MouseEvent} event The mouse event.
439
+ */
440
+
526
441
  /**
527
442
  * Binds the mouse events.
528
443
  *
@@ -533,12 +448,21 @@ export class ManualRowResize extends BasePlugin {
533
448
  rootElement,
534
449
  rootWindow
535
450
  } = this.hot;
536
- this.eventManager.addEventListener(rootElement, 'mouseover', e => _classPrivateMethodGet(this, _onMouseOver, _onMouseOver2).call(this, e));
537
- this.eventManager.addEventListener(rootElement, 'mousedown', e => _classPrivateMethodGet(this, _onMouseDown, _onMouseDown2).call(this, e));
538
- this.eventManager.addEventListener(rootWindow, 'mousemove', e => _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).call(this, e));
539
- this.eventManager.addEventListener(rootWindow, 'mouseup', () => _classPrivateMethodGet(this, _onMouseUp, _onMouseUp2).call(this));
540
- this.eventManager.addEventListener(_classPrivateFieldGet(this, _handle), 'contextmenu', () => _classPrivateMethodGet(this, _onContextMenu, _onContextMenu2).call(this));
451
+ this.eventManager.addEventListener(rootElement, 'mouseover', e => _assertClassBrand(_ManualRowResize_brand, this, _onMouseOver).call(this, e));
452
+ this.eventManager.addEventListener(rootElement, 'mousedown', e => _assertClassBrand(_ManualRowResize_brand, this, _onMouseDown).call(this, e));
453
+ this.eventManager.addEventListener(rootWindow, 'mousemove', e => _assertClassBrand(_ManualRowResize_brand, this, _onMouseMove).call(this, e));
454
+ this.eventManager.addEventListener(rootWindow, 'mouseup', () => _assertClassBrand(_ManualRowResize_brand, this, _onMouseUp).call(this));
455
+ this.eventManager.addEventListener(_classPrivateFieldGet(_handle, this), 'contextmenu', () => _assertClassBrand(_ManualRowResize_brand, this, _onContextMenu).call(this));
541
456
  }
457
+
458
+ /**
459
+ * Modifies the provided row height, based on the plugin settings.
460
+ *
461
+ * @param {number} height Row height.
462
+ * @param {number} row Visual row index.
463
+ * @returns {number}
464
+ */
465
+
542
466
  /**
543
467
  * Destroys the plugin instance.
544
468
  */
@@ -546,7 +470,7 @@ export class ManualRowResize extends BasePlugin {
546
470
  super.destroy();
547
471
  }
548
472
  }
549
- function _onMouseOver2(event) {
473
+ function _onMouseOver(event) {
550
474
  // Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
551
475
  // the next `onmouseover`.
552
476
  if (isDetached(event.target)) {
@@ -554,43 +478,54 @@ function _onMouseOver2(event) {
554
478
  }
555
479
 
556
480
  // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
557
- if (_classPrivateFieldGet(this, _isTriggeredByRMB) === true) {
481
+ if (_classPrivateFieldGet(_isTriggeredByRMB, this) === true) {
558
482
  return;
559
483
  }
560
484
  if (this.checkIfRowHeader(event.target)) {
561
485
  const th = this.getClosestTHParent(event.target);
562
486
  if (th) {
563
- if (!_classPrivateFieldGet(this, _pressed)) {
487
+ if (!_classPrivateFieldGet(_pressed, this)) {
564
488
  this.setupHandlePosition(th);
565
489
  }
566
490
  }
567
491
  }
568
492
  }
569
- function _onMouseDown2(event) {
493
+ function _onMouseDown(event) {
570
494
  if (hasClass(event.target, 'manualRowResizer')) {
571
- this.setupHandlePosition(_classPrivateFieldGet(this, _currentTH));
495
+ this.setupHandlePosition(_classPrivateFieldGet(_currentTH, this));
572
496
  this.setupGuidePosition();
573
- _classPrivateFieldSet(this, _pressed, true);
574
- if (_classPrivateFieldGet(this, _autoresizeTimeout) === null) {
575
- _classPrivateFieldSet(this, _autoresizeTimeout, setTimeout(() => this.afterMouseDownTimeout(), 500));
576
- this.hot._registerTimeout(_classPrivateFieldGet(this, _autoresizeTimeout));
497
+ _classPrivateFieldSet(_pressed, this, true);
498
+ if (_classPrivateFieldGet(_autoresizeTimeout, this) === null) {
499
+ _classPrivateFieldSet(_autoresizeTimeout, this, setTimeout(() => this.afterMouseDownTimeout(), 500));
500
+ this.hot._registerTimeout(_classPrivateFieldGet(_autoresizeTimeout, this));
577
501
  }
578
- _classPrivateFieldSet(this, _dblclick, _classPrivateFieldGet(this, _dblclick) + 1);
579
- _classPrivateFieldSet(this, _startY, event.pageY);
580
- _classPrivateFieldSet(this, _newSize, _classPrivateFieldGet(this, _startHeight));
502
+ _classPrivateFieldSet(_dblclick, this, _classPrivateFieldGet(_dblclick, this) + 1);
503
+ _classPrivateFieldSet(_startY, this, event.pageY);
504
+ _classPrivateFieldSet(_newSize, this, _classPrivateFieldGet(_startHeight, this));
581
505
  }
582
506
  }
583
- function _onMouseMove2(event) {
584
- if (_classPrivateFieldGet(this, _pressed)) {
585
- _classPrivateFieldSet(this, _currentHeight, _classPrivateFieldGet(this, _startHeight) + (event.pageY - _classPrivateFieldGet(this, _startY)));
586
- arrayEach(_classPrivateFieldGet(this, _selectedRows), selectedRow => {
587
- _classPrivateFieldSet(this, _newSize, this.setManualSize(selectedRow, _classPrivateFieldGet(this, _currentHeight)));
507
+ /**
508
+ * 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
509
+ *
510
+ * @param {MouseEvent} event The mouse event.
511
+ */
512
+ function _onMouseMove(event) {
513
+ if (_classPrivateFieldGet(_pressed, this)) {
514
+ _classPrivateFieldSet(_currentHeight, this, _classPrivateFieldGet(_startHeight, this) + (event.pageY - _classPrivateFieldGet(_startY, this)));
515
+ arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
516
+ _classPrivateFieldSet(_newSize, this, this.setManualSize(selectedRow, _classPrivateFieldGet(_currentHeight, this)));
588
517
  });
589
518
  this.refreshHandlePosition();
590
519
  this.refreshGuidePosition();
591
520
  }
592
521
  }
593
- function _onMouseUp2() {
522
+ /**
523
+ * 'mouseup' event callback - apply the row resizing.
524
+ *
525
+ * @fires Hooks#beforeRowResize
526
+ * @fires Hooks#afterRowResize
527
+ */
528
+ function _onMouseUp() {
594
529
  const render = () => {
595
530
  this.hot.forceFullRender = true;
596
531
  this.hot.view.render(); // updates all
@@ -604,65 +539,71 @@ function _onMouseUp2() {
604
539
  this.saveManualRowHeights();
605
540
  this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, false);
606
541
  };
607
- if (_classPrivateFieldGet(this, _pressed)) {
542
+ if (_classPrivateFieldGet(_pressed, this)) {
608
543
  this.hideHandleAndGuide();
609
- _classPrivateFieldSet(this, _pressed, false);
610
- if (_classPrivateFieldGet(this, _newSize) !== _classPrivateFieldGet(this, _startHeight)) {
611
- const selectedRowsLength = _classPrivateFieldGet(this, _selectedRows).length;
544
+ _classPrivateFieldSet(_pressed, this, false);
545
+ if (_classPrivateFieldGet(_newSize, this) !== _classPrivateFieldGet(_startHeight, this)) {
546
+ const selectedRowsLength = _classPrivateFieldGet(_selectedRows, this).length;
612
547
  if (selectedRowsLength > 1) {
613
- arrayEach(_classPrivateFieldGet(this, _selectedRows), selectedRow => {
548
+ arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
614
549
  runHooks(selectedRow);
615
550
  });
616
551
  render();
617
552
  } else {
618
- arrayEach(_classPrivateFieldGet(this, _selectedRows), selectedRow => {
553
+ arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
619
554
  runHooks(selectedRow, true);
620
555
  });
621
556
  }
622
557
  }
623
- this.setupHandlePosition(_classPrivateFieldGet(this, _currentTH));
558
+ this.setupHandlePosition(_classPrivateFieldGet(_currentTH, this));
624
559
  }
625
560
  }
626
- function _onContextMenu2() {
561
+ /**
562
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
563
+ */
564
+ function _onContextMenu() {
627
565
  this.hideHandleAndGuide();
628
- this.hot.rootElement.removeChild(_classPrivateFieldGet(this, _handle));
629
- this.hot.rootElement.removeChild(_classPrivateFieldGet(this, _guide));
630
- _classPrivateFieldSet(this, _pressed, false);
631
- _classPrivateFieldSet(this, _isTriggeredByRMB, true);
566
+ this.hot.rootElement.removeChild(_classPrivateFieldGet(_handle, this));
567
+ this.hot.rootElement.removeChild(_classPrivateFieldGet(_guide, this));
568
+ _classPrivateFieldSet(_pressed, this, false);
569
+ _classPrivateFieldSet(_isTriggeredByRMB, this, true);
632
570
 
633
571
  // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
634
572
  // shouldn't be drawn just after removing it.
635
573
  this.hot._registerImmediate(() => {
636
- _classPrivateFieldSet(this, _isTriggeredByRMB, false);
574
+ _classPrivateFieldSet(_isTriggeredByRMB, this, false);
637
575
  });
638
576
  }
639
- function _onModifyRowHeight2(height, row) {
577
+ function _onModifyRowHeight(height, row) {
640
578
  let newHeight = height;
641
579
  if (this.enabled) {
642
580
  const physicalRow = this.hot.toPhysicalRow(row);
643
- const rowHeight = _classPrivateFieldGet(this, _rowHeightsMap).getValueAtIndex(physicalRow);
581
+ const rowHeight = _classPrivateFieldGet(_rowHeightsMap, this).getValueAtIndex(physicalRow);
644
582
  if (this.hot.getSettings()[PLUGIN_KEY] && rowHeight) {
645
583
  newHeight = rowHeight;
646
584
  }
647
585
  }
648
586
  return newHeight;
649
587
  }
650
- function _onMapInit2() {
588
+ /**
589
+ * Callback to call on map's `init` local hook.
590
+ */
591
+ function _onMapInit() {
651
592
  const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
652
593
  const loadedManualRowHeights = this.loadManualRowHeights();
653
594
  this.hot.batchExecution(() => {
654
595
  if (typeof loadedManualRowHeights !== 'undefined') {
655
596
  loadedManualRowHeights.forEach((height, index) => {
656
- _classPrivateFieldGet(this, _rowHeightsMap).setValueAtIndex(index, height);
597
+ _classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(index, height);
657
598
  });
658
599
  } else if (Array.isArray(initialSetting)) {
659
600
  initialSetting.forEach((height, index) => {
660
- _classPrivateFieldGet(this, _rowHeightsMap).setValueAtIndex(index, height);
601
+ _classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(index, height);
661
602
  });
662
- _classPrivateFieldSet(this, _config, initialSetting);
663
- } else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(this, _config))) {
664
- _classPrivateFieldGet(this, _config).forEach((height, index) => {
665
- _classPrivateFieldGet(this, _rowHeightsMap).setValueAtIndex(index, height);
603
+ _classPrivateFieldSet(_config, this, initialSetting);
604
+ } else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(_config, this))) {
605
+ _classPrivateFieldGet(_config, this).forEach((height, index) => {
606
+ _classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(index, height);
666
607
  });
667
608
  }
668
609
  }, true);