handsontable 0.0.0-next-b0a4ea2-20231024 → 0.0.0-next-9059914-20231025

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

Potentially problematic release.


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

Files changed (446) hide show
  1. package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
  2. package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
  3. package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
  4. package/3rdparty/walkontable/src/cell/coords.js +11 -50
  5. package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
  6. package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
  7. package/3rdparty/walkontable/src/cell/range.js +7 -38
  8. package/3rdparty/walkontable/src/cell/range.mjs +7 -38
  9. package/3rdparty/walkontable/src/core/_base.js +3 -9
  10. package/3rdparty/walkontable/src/core/_base.mjs +3 -9
  11. package/3rdparty/walkontable/src/core/clone.js +2 -2
  12. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  13. package/3rdparty/walkontable/src/core/core.js +2 -3
  14. package/3rdparty/walkontable/src/core/core.mjs +2 -3
  15. package/3rdparty/walkontable/src/event.js +10 -12
  16. package/3rdparty/walkontable/src/event.mjs +10 -12
  17. package/3rdparty/walkontable/src/facade/core.js +2 -2
  18. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  19. package/3rdparty/walkontable/src/index.js +2 -10
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +2 -13
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
  23. package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
  24. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
  25. package/3rdparty/walkontable/src/overlay/top.js +6 -2
  26. package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
  27. package/3rdparty/walkontable/src/renderer/cells.js +0 -10
  28. package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
  29. package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
  31. package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
  32. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
  33. package/3rdparty/walkontable/src/renderer/rows.js +0 -13
  34. package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
  35. package/3rdparty/walkontable/src/renderer/table.js +0 -9
  36. package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
  37. package/3rdparty/walkontable/src/scroll.js +0 -2
  38. package/3rdparty/walkontable/src/scroll.mjs +0 -2
  39. package/3rdparty/walkontable/src/selection.js +295 -0
  40. package/3rdparty/walkontable/src/selection.mjs +290 -0
  41. package/3rdparty/walkontable/src/settings.js +4 -13
  42. package/3rdparty/walkontable/src/settings.mjs +4 -13
  43. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
  44. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
  45. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
  46. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
  47. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
  48. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
  49. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
  50. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
  51. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
  52. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
  53. package/3rdparty/walkontable/src/table.js +78 -19
  54. package/3rdparty/walkontable/src/table.mjs +79 -20
  55. package/base.js +2 -2
  56. package/base.mjs +2 -2
  57. package/cellTypes/dateType/dateType.d.ts +3 -3
  58. package/cellTypes/dateType/dateType.js +2 -2
  59. package/cellTypes/dateType/dateType.mjs +2 -2
  60. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  61. package/cellTypes/handsontableType/handsontableType.js +2 -2
  62. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  63. package/cellTypes/index.d.ts +0 -3
  64. package/cellTypes/index.js +0 -4
  65. package/cellTypes/index.mjs +1 -3
  66. package/core.d.ts +4 -9
  67. package/core.js +327 -285
  68. package/core.mjs +327 -285
  69. package/dataMap/metaManager/metaSchema.js +0 -65
  70. package/dataMap/metaManager/metaSchema.mjs +0 -65
  71. package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
  72. package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
  73. package/dataMap/replaceData.js +0 -5
  74. package/dataMap/replaceData.mjs +0 -5
  75. package/dist/handsontable.css +15 -51
  76. package/dist/handsontable.full.css +15 -51
  77. package/dist/handsontable.full.js +8668 -14188
  78. package/dist/handsontable.full.min.css +7 -7
  79. package/dist/handsontable.full.min.js +136 -136
  80. package/dist/handsontable.js +22829 -28349
  81. package/dist/handsontable.min.css +6 -6
  82. package/dist/handsontable.min.js +24 -24
  83. package/dist/languages/all.js +2 -6
  84. package/dist/languages/all.min.js +1 -1
  85. package/dist/languages/en-US.js +1 -3
  86. package/dist/languages/en-US.min.js +1 -1
  87. package/dist/languages/pl-PL.js +1 -3
  88. package/dist/languages/pl-PL.min.js +1 -1
  89. package/editorManager.js +87 -15
  90. package/editorManager.mjs +87 -16
  91. package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
  92. package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
  93. package/editors/dateEditor/dateEditor.js +7 -26
  94. package/editors/dateEditor/dateEditor.mjs +8 -27
  95. package/editors/handsontableEditor/handsontableEditor.js +1 -9
  96. package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
  97. package/editors/textEditor/textEditor.js +27 -19
  98. package/editors/textEditor/textEditor.mjs +30 -22
  99. package/helpers/dom/element.js +9 -188
  100. package/helpers/dom/element.mjs +9 -182
  101. package/helpers/mixed.js +1 -1
  102. package/helpers/mixed.mjs +1 -1
  103. package/helpers/number.d.ts +0 -1
  104. package/helpers/number.js +0 -18
  105. package/helpers/number.mjs +0 -17
  106. package/i18n/constants.js +1 -7
  107. package/i18n/constants.mjs +1 -4
  108. package/i18n/languages/en-US.js +1 -3
  109. package/i18n/languages/en-US.mjs +1 -3
  110. package/i18n/languages/pl-PL.js +1 -3
  111. package/i18n/languages/pl-PL.mjs +1 -3
  112. package/languages/all.js +2 -6
  113. package/languages/en-US.js +1 -3
  114. package/languages/en-US.mjs +1 -3
  115. package/languages/index.js +2 -6
  116. package/languages/pl-PL.js +1 -3
  117. package/languages/pl-PL.mjs +1 -3
  118. package/package.json +99 -116
  119. package/pluginHooks.d.ts +1 -12
  120. package/pluginHooks.js +1 -152
  121. package/pluginHooks.mjs +1 -152
  122. package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
  123. package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
  124. package/plugins/columnSorting/columnSorting.js +0 -43
  125. package/plugins/columnSorting/columnSorting.mjs +3 -44
  126. package/plugins/columnSorting/index.js +1 -3
  127. package/plugins/columnSorting/index.mjs +1 -1
  128. package/plugins/comments/commentEditor.js +0 -1
  129. package/plugins/comments/commentEditor.mjs +0 -1
  130. package/plugins/comments/comments.js +189 -252
  131. package/plugins/comments/comments.mjs +190 -251
  132. package/plugins/contextMenu/commandExecutor.js +3 -2
  133. package/plugins/contextMenu/commandExecutor.mjs +3 -2
  134. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  135. package/plugins/contextMenu/contextMenu.js +36 -75
  136. package/plugins/contextMenu/contextMenu.mjs +35 -74
  137. package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
  138. package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
  139. package/plugins/contextMenu/itemsFactory.js +3 -2
  140. package/plugins/contextMenu/itemsFactory.mjs +4 -3
  141. package/plugins/contextMenu/{menu/menu.js → menu.js} +421 -145
  142. package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +422 -146
  143. package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
  144. package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
  145. package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
  146. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
  147. package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
  148. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
  149. package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
  150. package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
  151. package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
  152. package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
  153. package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
  154. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
  155. package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
  156. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
  157. package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
  158. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
  159. package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
  160. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
  161. package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
  162. package/plugins/contextMenu/predefinedItems.mjs +68 -0
  163. package/plugins/contextMenu/utils.js +151 -35
  164. package/plugins/contextMenu/utils.mjs +144 -35
  165. package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
  166. package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
  167. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
  168. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
  169. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
  170. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
  171. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
  172. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
  173. package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
  174. package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
  175. package/plugins/copyPaste/copyPaste.js +78 -127
  176. package/plugins/copyPaste/copyPaste.mjs +79 -128
  177. package/plugins/copyPaste/focusableElement.js +186 -0
  178. package/plugins/copyPaste/focusableElement.mjs +180 -0
  179. package/plugins/customBorders/customBorders.js +20 -23
  180. package/plugins/customBorders/customBorders.mjs +21 -24
  181. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  182. package/plugins/dropdownMenu/dropdownMenu.js +40 -127
  183. package/plugins/dropdownMenu/dropdownMenu.mjs +39 -126
  184. package/plugins/filters/component/_base.js +8 -23
  185. package/plugins/filters/component/_base.mjs +8 -23
  186. package/plugins/filters/component/actionBar.js +27 -29
  187. package/plugins/filters/component/actionBar.mjs +23 -26
  188. package/plugins/filters/component/condition.js +59 -46
  189. package/plugins/filters/component/condition.mjs +52 -40
  190. package/plugins/filters/component/operators.js +22 -21
  191. package/plugins/filters/component/operators.mjs +18 -18
  192. package/plugins/filters/component/value.js +26 -35
  193. package/plugins/filters/component/value.mjs +22 -32
  194. package/plugins/filters/constants.mjs +1 -1
  195. package/plugins/filters/filters.js +62 -106
  196. package/plugins/filters/filters.mjs +55 -99
  197. package/plugins/filters/ui/_base.js +13 -35
  198. package/plugins/filters/ui/_base.mjs +13 -35
  199. package/plugins/filters/ui/input.js +32 -43
  200. package/plugins/filters/ui/input.mjs +30 -42
  201. package/plugins/filters/ui/link.js +12 -44
  202. package/plugins/filters/ui/link.mjs +11 -44
  203. package/plugins/filters/ui/multipleSelect.js +129 -234
  204. package/plugins/filters/ui/multipleSelect.mjs +127 -232
  205. package/plugins/filters/ui/radioInput.js +18 -42
  206. package/plugins/filters/ui/radioInput.mjs +17 -42
  207. package/plugins/filters/ui/select.js +75 -144
  208. package/plugins/filters/ui/select.mjs +72 -142
  209. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  210. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  211. package/plugins/manualColumnMove/manualColumnMove.js +1 -3
  212. package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
  213. package/plugins/mergeCells/mergeCells.js +16 -5
  214. package/plugins/mergeCells/mergeCells.mjs +16 -5
  215. package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
  216. package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
  217. package/plugins/nestedHeaders/nestedHeaders.js +10 -240
  218. package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
  219. package/plugins/nestedHeaders/stateManager/index.js +3 -102
  220. package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
  221. package/plugins/nestedRows/nestedRows.js +0 -41
  222. package/plugins/nestedRows/nestedRows.mjs +0 -41
  223. package/plugins/nestedRows/ui/headers.js +0 -11
  224. package/plugins/nestedRows/ui/headers.mjs +1 -12
  225. package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
  226. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
  227. package/renderers/baseRenderer/baseRenderer.js +0 -17
  228. package/renderers/baseRenderer/baseRenderer.mjs +1 -18
  229. package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
  230. package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
  231. package/renderers/index.d.ts +0 -9
  232. package/selection/highlight/constants.js +15 -0
  233. package/selection/highlight/constants.mjs +6 -0
  234. package/selection/highlight/highlight.js +71 -256
  235. package/selection/highlight/highlight.mjs +71 -250
  236. package/selection/highlight/types/activeHeader.js +8 -10
  237. package/selection/highlight/types/activeHeader.mjs +8 -10
  238. package/selection/highlight/types/area.js +18 -6
  239. package/selection/highlight/types/area.mjs +18 -6
  240. package/selection/highlight/types/{focus.js → cell.js} +7 -5
  241. package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
  242. package/selection/highlight/types/customSelection.js +9 -7
  243. package/selection/highlight/types/customSelection.mjs +9 -7
  244. package/selection/highlight/types/fill.js +7 -5
  245. package/selection/highlight/types/fill.mjs +7 -5
  246. package/selection/highlight/types/header.js +18 -9
  247. package/selection/highlight/types/header.mjs +18 -9
  248. package/selection/highlight/types/index.js +35 -0
  249. package/selection/highlight/types/index.mjs +31 -0
  250. package/selection/highlight/visualSelection.js +27 -31
  251. package/selection/highlight/visualSelection.mjs +27 -31
  252. package/selection/index.js +7 -4
  253. package/selection/index.mjs +3 -2
  254. package/selection/mouseEventHandler.js +1 -7
  255. package/selection/mouseEventHandler.mjs +1 -7
  256. package/selection/range.js +8 -8
  257. package/selection/range.mjs +8 -8
  258. package/selection/selection.js +152 -321
  259. package/selection/selection.mjs +151 -318
  260. package/selection/transformation.js +90 -232
  261. package/selection/transformation.mjs +90 -232
  262. package/selection/utils.js +21 -15
  263. package/selection/utils.mjs +21 -16
  264. package/settings.d.ts +0 -4
  265. package/shortcuts/context.js +4 -23
  266. package/shortcuts/context.mjs +5 -23
  267. package/shortcuts/manager.js +7 -25
  268. package/shortcuts/manager.mjs +7 -26
  269. package/shortcuts/recorder.js +3 -3
  270. package/shortcuts/recorder.mjs +3 -3
  271. package/shortcuts/utils.js +5 -19
  272. package/shortcuts/utils.mjs +4 -18
  273. package/tableView.js +13 -111
  274. package/tableView.mjs +14 -112
  275. package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
  276. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  277. package/3rdparty/walkontable/src/selection/constants.js +0 -62
  278. package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
  279. package/3rdparty/walkontable/src/selection/index.js +0 -26
  280. package/3rdparty/walkontable/src/selection/index.mjs +0 -5
  281. package/3rdparty/walkontable/src/selection/manager.js +0 -274
  282. package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
  283. package/3rdparty/walkontable/src/selection/scanner.js +0 -270
  284. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
  285. package/3rdparty/walkontable/src/selection/selection.js +0 -101
  286. package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
  287. package/cellTypes/selectType/index.d.ts +0 -1
  288. package/cellTypes/selectType/index.js +0 -6
  289. package/cellTypes/selectType/index.mjs +0 -1
  290. package/cellTypes/selectType/selectType.d.ts +0 -14
  291. package/cellTypes/selectType/selectType.js +0 -13
  292. package/cellTypes/selectType/selectType.mjs +0 -8
  293. package/core/focusCatcher/focusDetector.js +0 -63
  294. package/core/focusCatcher/focusDetector.mjs +0 -59
  295. package/core/focusCatcher/index.js +0 -142
  296. package/core/focusCatcher/index.mjs +0 -138
  297. package/core/index.js +0 -9
  298. package/core/index.mjs +0 -1
  299. package/focusManager.d.ts +0 -12
  300. package/focusManager.js +0 -265
  301. package/focusManager.mjs +0 -261
  302. package/helpers/a11y.js +0 -79
  303. package/helpers/a11y.mjs +0 -38
  304. package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
  305. package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
  306. package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
  307. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
  308. package/plugins/comments/contextMenuItem/removeComment.js +0 -38
  309. package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
  310. package/plugins/contextMenu/menu/defaultShortcutsList.js +0 -88
  311. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +0 -84
  312. package/plugins/contextMenu/menu/index.js +0 -9
  313. package/plugins/contextMenu/menu/index.mjs +0 -1
  314. package/plugins/contextMenu/menu/menuItemRenderer.js +0 -58
  315. package/plugins/contextMenu/menu/menuItemRenderer.mjs +0 -54
  316. package/plugins/contextMenu/menu/navigator.js +0 -27
  317. package/plugins/contextMenu/menu/navigator.mjs +0 -23
  318. package/plugins/contextMenu/menu/positioner.js +0 -213
  319. package/plugins/contextMenu/menu/positioner.mjs +0 -209
  320. package/plugins/contextMenu/menu/shortcuts.js +0 -114
  321. package/plugins/contextMenu/menu/shortcuts.mjs +0 -110
  322. package/plugins/contextMenu/menu/utils.js +0 -177
  323. package/plugins/contextMenu/menu/utils.mjs +0 -163
  324. package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
  325. package/plugins/filters/menu/focusController.js +0 -123
  326. package/plugins/filters/menu/focusController.mjs +0 -119
  327. package/plugins/filters/menu/focusNavigator.js +0 -30
  328. package/plugins/filters/menu/focusNavigator.mjs +0 -26
  329. package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
  330. package/renderers/dateRenderer/dateRenderer.js +0 -29
  331. package/renderers/dateRenderer/dateRenderer.mjs +0 -24
  332. package/renderers/dateRenderer/index.d.ts +0 -1
  333. package/renderers/dateRenderer/index.js +0 -6
  334. package/renderers/dateRenderer/index.mjs +0 -1
  335. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
  336. package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
  337. package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
  338. package/renderers/handsontableRenderer/index.d.ts +0 -1
  339. package/renderers/handsontableRenderer/index.js +0 -6
  340. package/renderers/handsontableRenderer/index.mjs +0 -1
  341. package/renderers/selectRenderer/index.d.ts +0 -1
  342. package/renderers/selectRenderer/index.js +0 -6
  343. package/renderers/selectRenderer/index.mjs +0 -1
  344. package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
  345. package/renderers/selectRenderer/selectRenderer.js +0 -27
  346. package/renderers/selectRenderer/selectRenderer.mjs +0 -22
  347. package/selection/highlight/types/areaLayered.js +0 -31
  348. package/selection/highlight/types/areaLayered.mjs +0 -26
  349. package/selection/highlight/types/column.js +0 -27
  350. package/selection/highlight/types/column.mjs +0 -22
  351. package/selection/highlight/types/row.js +0 -27
  352. package/selection/highlight/types/row.mjs +0 -22
  353. package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
  354. package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
  355. package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
  356. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
  357. package/shortcutContexts/commands/editor/fastOpen.js +0 -16
  358. package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
  359. package/shortcutContexts/commands/editor/index.js +0 -16
  360. package/shortcutContexts/commands/editor/index.mjs +0 -12
  361. package/shortcutContexts/commands/editor/open.js +0 -27
  362. package/shortcutContexts/commands/editor/open.mjs +0 -23
  363. package/shortcutContexts/commands/emptySelectedCells.js +0 -11
  364. package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
  365. package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
  366. package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
  367. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
  368. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
  369. package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
  370. package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
  371. package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
  372. package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
  373. package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
  374. package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
  375. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
  376. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
  377. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
  378. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
  379. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
  380. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
  381. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
  382. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
  383. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
  384. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
  385. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
  386. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
  387. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
  388. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
  389. package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
  390. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
  391. package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
  392. package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
  393. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
  394. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
  395. package/shortcutContexts/commands/index.js +0 -35
  396. package/shortcutContexts/commands/index.mjs +0 -31
  397. package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
  398. package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
  399. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
  400. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
  401. package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
  402. package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
  403. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
  404. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
  405. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
  406. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
  407. package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
  408. package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
  409. package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
  410. package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
  411. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
  412. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
  413. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
  414. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
  415. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
  416. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
  417. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
  418. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
  419. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
  420. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
  421. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
  422. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
  423. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
  424. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
  425. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
  426. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
  427. package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
  428. package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
  429. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
  430. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
  431. package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
  432. package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
  433. package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
  434. package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
  435. package/shortcutContexts/commands/selectAll.js +0 -12
  436. package/shortcutContexts/commands/selectAll.mjs +0 -8
  437. package/shortcutContexts/constants.js +0 -13
  438. package/shortcutContexts/constants.mjs +0 -8
  439. package/shortcutContexts/editor.js +0 -25
  440. package/shortcutContexts/editor.mjs +0 -21
  441. package/shortcutContexts/grid.js +0 -163
  442. package/shortcutContexts/grid.mjs +0 -159
  443. package/shortcutContexts/index.js +0 -24
  444. package/shortcutContexts/index.mjs +0 -11
  445. package/utils/paginator.js +0 -151
  446. package/utils/paginator.mjs +0 -147
@@ -1,121 +1,45 @@
1
- import "core-js/modules/es.error.cause.js";
2
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
3
- function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
4
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
5
- function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
6
- 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; } }
7
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
8
- function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
9
- function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
10
- function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
11
- import { Menu } from "../../../plugins/contextMenu/menu/index.mjs";
1
+ import Menu from "../../../plugins/contextMenu/menu.mjs";
12
2
  import { clone, extend } from "../../../helpers/object.mjs";
13
3
  import { arrayEach } from "../../../helpers/array.mjs";
14
4
  import * as C from "../../../i18n/constants.mjs";
15
- import { SEPARATOR } from "../../../plugins/contextMenu/predefinedItems/index.mjs";
16
- import { BaseUI } from "./_base.mjs";
5
+ import { SEPARATOR } from "../../../plugins/contextMenu/predefinedItems.mjs";
6
+ import BaseUI from "./_base.mjs";
7
+ const privatePool = new WeakMap();
8
+
17
9
  /**
18
10
  * @private
19
11
  * @class SelectUI
20
12
  */
21
- var _menu = /*#__PURE__*/new WeakMap();
22
- var _items = /*#__PURE__*/new WeakMap();
23
- var _caption = /*#__PURE__*/new WeakMap();
24
- var _captionElement = /*#__PURE__*/new WeakMap();
25
- var _dropdown = /*#__PURE__*/new WeakMap();
26
- var _onMenuSelect = /*#__PURE__*/new WeakSet();
27
- var _onMenuClosed = /*#__PURE__*/new WeakSet();
28
- var _onClick = /*#__PURE__*/new WeakSet();
29
- export class SelectUI extends BaseUI {
13
+ class SelectUI extends BaseUI {
30
14
  static get DEFAULTS() {
31
15
  return clone({
32
16
  className: 'htUISelect',
33
- wrapIt: false,
34
- tabIndex: -1
17
+ wrapIt: false
35
18
  });
36
19
  }
37
-
38
- /**
39
- * Instance of {@link Menu}.
40
- *
41
- * @type {Menu}
42
- */
43
-
44
20
  constructor(hotInstance, options) {
45
21
  super(hotInstance, extend(SelectUI.DEFAULTS, options));
22
+ privatePool.set(this, {});
46
23
  /**
47
- * On element click listener.
24
+ * Instance of {@link Menu}.
48
25
  *
49
- * @private
26
+ * @type {Menu}
50
27
  */
51
- _classPrivateMethodInitSpec(this, _onClick);
52
- /**
53
- * On menu closed listener.
54
- */
55
- _classPrivateMethodInitSpec(this, _onMenuClosed);
56
- /**
57
- * On menu selected listener.
58
- *
59
- * @param {object} command Selected item.
60
- */
61
- _classPrivateMethodInitSpec(this, _onMenuSelect);
62
- _classPrivateFieldInitSpec(this, _menu, {
63
- writable: true,
64
- value: null
65
- });
28
+ this.menu = null;
66
29
  /**
67
30
  * List of available select options.
68
31
  *
69
32
  * @type {Array}
70
33
  */
71
- _classPrivateFieldInitSpec(this, _items, {
72
- writable: true,
73
- value: []
74
- });
75
- /**
76
- * The reference to the BaseUI instance of the caption.
77
- *
78
- * @type {BaseUI}
79
- */
80
- _classPrivateFieldInitSpec(this, _caption, {
81
- writable: true,
82
- value: void 0
83
- });
84
- /**
85
- * The reference to the table caption element.
86
- *
87
- * @type {HTMLTableCaptionElement}
88
- */
89
- _classPrivateFieldInitSpec(this, _captionElement, {
90
- writable: true,
91
- value: void 0
92
- });
93
- /**
94
- * The reference to the BaseUI instance of the dropdown.
95
- *
96
- * @type {BaseUI}
97
- */
98
- _classPrivateFieldInitSpec(this, _dropdown, {
99
- writable: true,
100
- value: void 0
101
- });
34
+ this.items = [];
102
35
  this.registerHooks();
103
36
  }
104
37
 
105
- /**
106
- * Gets the instance of the Menu.
107
- *
108
- * @returns {Menu}
109
- */
110
- getMenu() {
111
- return _classPrivateFieldGet(this, _menu);
112
- }
113
-
114
38
  /**
115
39
  * Register all necessary hooks.
116
40
  */
117
41
  registerHooks() {
118
- this.addLocalHook('click', () => _classPrivateMethodGet(this, _onClick, _onClick2).call(this));
42
+ this.addLocalHook('click', () => this.onClick());
119
43
  }
120
44
 
121
45
  /**
@@ -124,9 +48,9 @@ export class SelectUI extends BaseUI {
124
48
  * @param {Array} items Array of objects with required keys `key` and `name`.
125
49
  */
126
50
  setItems(items) {
127
- _classPrivateFieldSet(this, _items, this.translateNames(items));
128
- if (_classPrivateFieldGet(this, _menu)) {
129
- _classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
51
+ this.items = this.translateNames(items);
52
+ if (this.menu) {
53
+ this.menu.setMenuItems(this.items);
130
54
  }
131
55
  }
132
56
 
@@ -148,25 +72,26 @@ export class SelectUI extends BaseUI {
148
72
  */
149
73
  build() {
150
74
  super.build();
151
- _classPrivateFieldSet(this, _menu, new Menu(this.hot, {
75
+ this.menu = new Menu(this.hot, {
152
76
  className: 'htSelectUI htFiltersConditionsMenu',
153
77
  keepInViewport: false,
154
78
  standalone: true,
155
79
  container: this.options.menuContainer
156
- }));
157
- _classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
80
+ });
81
+ this.menu.setMenuItems(this.items);
158
82
  const caption = new BaseUI(this.hot, {
159
83
  className: 'htUISelectCaption'
160
84
  });
161
85
  const dropdown = new BaseUI(this.hot, {
162
86
  className: 'htUISelectDropdown'
163
87
  });
164
- _classPrivateFieldSet(this, _caption, caption);
165
- _classPrivateFieldSet(this, _captionElement, caption.element);
166
- _classPrivateFieldSet(this, _dropdown, dropdown);
88
+ const priv = privatePool.get(this);
89
+ priv.caption = caption;
90
+ priv.captionElement = caption.element;
91
+ priv.dropdown = dropdown;
167
92
  arrayEach([caption, dropdown], element => this._element.appendChild(element.element));
168
- _classPrivateFieldGet(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
169
- _classPrivateFieldGet(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
93
+ this.menu.addLocalHook('select', command => this.onMenuSelect(command));
94
+ this.menu.addLocalHook('afterClose', () => this.onMenuClosed());
170
95
  this.update();
171
96
  }
172
97
 
@@ -181,9 +106,9 @@ export class SelectUI extends BaseUI {
181
106
  if (this.options.value) {
182
107
  conditionName = this.options.value.name;
183
108
  } else {
184
- conditionName = _classPrivateFieldGet(this, _menu).hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
109
+ conditionName = this.menu.hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
185
110
  }
186
- _classPrivateFieldGet(this, _captionElement).textContent = conditionName;
111
+ privatePool.get(this).captionElement.textContent = conditionName;
187
112
  super.update();
188
113
  }
189
114
 
@@ -192,25 +117,14 @@ export class SelectUI extends BaseUI {
192
117
  */
193
118
  openOptions() {
194
119
  const rect = this.element.getBoundingClientRect();
195
- if (_classPrivateFieldGet(this, _menu)) {
196
- _classPrivateFieldGet(this, _menu).open();
197
- _classPrivateFieldGet(this, _menu).setPosition({
120
+ if (this.menu) {
121
+ this.menu.open();
122
+ this.menu.setPosition({
198
123
  left: this.hot.isLtr() ? rect.left - 5 : rect.left - 31,
199
124
  top: rect.top - 1,
200
125
  width: rect.width,
201
126
  height: rect.height
202
127
  });
203
- _classPrivateFieldGet(this, _menu).getNavigator().toFirstItem();
204
- _classPrivateFieldGet(this, _menu).getKeyboardShortcutsCtrl().addCustomShortcuts([{
205
- keys: [['Tab'], ['Shift', 'Tab']],
206
- callback: event => {
207
- this.closeOptions();
208
- this.runLocalHooks('tabKeydown', event);
209
- }
210
- }, {
211
- keys: [['Control/Meta', 'A']],
212
- callback: () => false
213
- }]);
214
128
  }
215
129
  }
216
130
 
@@ -218,46 +132,62 @@ export class SelectUI extends BaseUI {
218
132
  * Close select dropdown menu.
219
133
  */
220
134
  closeOptions() {
221
- if (_classPrivateFieldGet(this, _menu)) {
222
- _classPrivateFieldGet(this, _menu).close();
135
+ if (this.menu) {
136
+ this.menu.close();
223
137
  }
224
138
  }
225
139
 
226
140
  /**
227
- * Focus element.
141
+ * On menu selected listener.
142
+ *
143
+ * @private
144
+ * @param {object} command Selected item.
228
145
  */
229
- focus() {
230
- if (this.isBuilt()) {
231
- this.element.focus();
146
+ onMenuSelect(command) {
147
+ if (command.name !== SEPARATOR) {
148
+ this.options.value = command;
149
+ this.update();
150
+ this.runLocalHooks('select', this.options.value);
232
151
  }
233
152
  }
153
+
154
+ /**
155
+ * On menu closed listener.
156
+ *
157
+ * @private
158
+ */
159
+ onMenuClosed() {
160
+ this.runLocalHooks('afterClose');
161
+ }
162
+
163
+ /**
164
+ * On element click listener.
165
+ *
166
+ * @private
167
+ */
168
+ onClick() {
169
+ this.openOptions();
170
+ }
171
+
234
172
  /**
235
173
  * Destroy instance.
236
174
  */
237
175
  destroy() {
238
- if (_classPrivateFieldGet(this, _menu)) {
239
- _classPrivateFieldGet(this, _menu).destroy();
240
- _classPrivateFieldSet(this, _menu, null);
176
+ if (this.menu) {
177
+ this.menu.destroy();
178
+ this.menu = null;
241
179
  }
242
- if (_classPrivateFieldGet(this, _caption)) {
243
- _classPrivateFieldGet(this, _caption).destroy();
180
+ const {
181
+ caption,
182
+ dropdown
183
+ } = privatePool.get(this);
184
+ if (caption) {
185
+ caption.destroy();
244
186
  }
245
- if (_classPrivateFieldGet(this, _dropdown)) {
246
- _classPrivateFieldGet(this, _dropdown).destroy();
187
+ if (dropdown) {
188
+ dropdown.destroy();
247
189
  }
248
190
  super.destroy();
249
191
  }
250
192
  }
251
- function _onMenuSelect2(command) {
252
- if (command.name !== SEPARATOR) {
253
- this.options.value = command;
254
- this.update();
255
- this.runLocalHooks('select', this.options.value);
256
- }
257
- }
258
- function _onMenuClosed2() {
259
- this.runLocalHooks('afterClose');
260
- }
261
- function _onClick2() {
262
- this.openOptions();
263
- }
193
+ export default SelectUI;
@@ -13,7 +13,7 @@ import { rangeEach } from "../../helpers/number.mjs";
13
13
  import { arrayEach, arrayMap, arrayReduce } from "../../helpers/array.mjs";
14
14
  import { isObject } from "../../helpers/object.mjs";
15
15
  import { isUndefined } from "../../helpers/mixed.mjs";
16
- import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
16
+ import { SEPARATOR } from "../contextMenu/predefinedItems.mjs";
17
17
  import Hooks from "../../pluginHooks.mjs";
18
18
  import hideColumnItem from "./contextMenuItem/hideColumn.mjs";
19
19
  import showColumnItem from "./contextMenuItem/showColumn.mjs";
@@ -13,7 +13,7 @@ import { rangeEach } from "../../helpers/number.mjs";
13
13
  import { arrayEach, arrayMap, arrayReduce } from "../../helpers/array.mjs";
14
14
  import { isObject } from "../../helpers/object.mjs";
15
15
  import { isUndefined } from "../../helpers/mixed.mjs";
16
- import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
16
+ import { SEPARATOR } from "../contextMenu/predefinedItems.mjs";
17
17
  import Hooks from "../../pluginHooks.mjs";
18
18
  import hideRowItem from "./contextMenuItem/hideRow.mjs";
19
19
  import showRowItem from "./contextMenuItem/showRow.mjs";
@@ -387,9 +387,7 @@ class ManualColumnMove extends _base.BasePlugin {
387
387
  const priv = privatePool.get(this);
388
388
  const firstVisible = this.hot.view.getFirstFullyVisibleColumn();
389
389
  if (this.isFixedColumnsStart(priv.hoveredColumn) && firstVisible > 0) {
390
- this.hot.scrollViewportTo({
391
- col: this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1)
392
- });
390
+ this.hot.scrollViewportTo(void 0, this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1));
393
391
  }
394
392
  const wtTable = this.hot.view._wt.wtTable;
395
393
  const scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
@@ -381,9 +381,7 @@ export class ManualColumnMove extends BasePlugin {
381
381
  const priv = privatePool.get(this);
382
382
  const firstVisible = this.hot.view.getFirstFullyVisibleColumn();
383
383
  if (this.isFixedColumnsStart(priv.hoveredColumn) && firstVisible > 0) {
384
- this.hot.scrollViewportTo({
385
- col: this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1)
386
- });
384
+ this.hot.scrollViewportTo(void 0, this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1));
387
385
  }
388
386
  const wtTable = this.hot.view._wt.wtTable;
389
387
  const scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
@@ -188,6 +188,9 @@ class MergeCells extends _base.BasePlugin {
188
188
  this.addHook('afterDrawSelection', function () {
189
189
  return _this.onAfterDrawSelection(...arguments);
190
190
  });
191
+ this.addHook('beforeRemoveCellClassNames', function () {
192
+ return _this.onBeforeRemoveCellClassNames(...arguments);
193
+ });
191
194
  this.addHook('beforeUndoStackChange', (action, source) => {
192
195
  if (source === 'MergeCells') {
193
196
  return false;
@@ -572,11 +575,8 @@ class MergeCells extends _base.BasePlugin {
572
575
  gridContext.addShortcut({
573
576
  keys: [['Control', 'm']],
574
577
  callback: () => {
575
- const range = this.hot.getSelectedRangeLast();
576
- if (range && !range.isSingleHeader()) {
577
- this.toggleMerge(range);
578
- this.hot.render();
579
- }
578
+ this.toggleMerge(this.hot.getSelectedRangeLast());
579
+ this.hot.render();
580
580
  },
581
581
  runOnlyIf: event => !event.altKey,
582
582
  // right ALT in some systems triggers ALT+CTRL
@@ -1199,5 +1199,16 @@ class MergeCells extends _base.BasePlugin {
1199
1199
  }
1200
1200
  return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
1201
1201
  }
1202
+
1203
+ /**
1204
+ * `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
1205
+ *
1206
+ * @private
1207
+ * @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
1208
+ * all the cells in the table.
1209
+ */
1210
+ onBeforeRemoveCellClassNames() {
1211
+ return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
1212
+ }
1202
1213
  }
1203
1214
  exports.MergeCells = MergeCells;
@@ -182,6 +182,9 @@ export class MergeCells extends BasePlugin {
182
182
  this.addHook('afterDrawSelection', function () {
183
183
  return _this.onAfterDrawSelection(...arguments);
184
184
  });
185
+ this.addHook('beforeRemoveCellClassNames', function () {
186
+ return _this.onBeforeRemoveCellClassNames(...arguments);
187
+ });
185
188
  this.addHook('beforeUndoStackChange', (action, source) => {
186
189
  if (source === 'MergeCells') {
187
190
  return false;
@@ -566,11 +569,8 @@ export class MergeCells extends BasePlugin {
566
569
  gridContext.addShortcut({
567
570
  keys: [['Control', 'm']],
568
571
  callback: () => {
569
- const range = this.hot.getSelectedRangeLast();
570
- if (range && !range.isSingleHeader()) {
571
- this.toggleMerge(range);
572
- this.hot.render();
573
- }
572
+ this.toggleMerge(this.hot.getSelectedRangeLast());
573
+ this.hot.render();
574
574
  },
575
575
  runOnlyIf: event => !event.altKey,
576
576
  // right ALT in some systems triggers ALT+CTRL
@@ -1193,4 +1193,15 @@ export class MergeCells extends BasePlugin {
1193
1193
  }
1194
1194
  return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
1195
1195
  }
1196
+
1197
+ /**
1198
+ * `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
1199
+ *
1200
+ * @private
1201
+ * @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
1202
+ * all the cells in the table.
1203
+ */
1204
+ onBeforeRemoveCellClassNames() {
1205
+ return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
1206
+ }
1196
1207
  }
@@ -12,8 +12,8 @@ const PLUGIN_KEY = 'multiColumnSorting';
12
12
  exports.PLUGIN_KEY = PLUGIN_KEY;
13
13
  const PLUGIN_PRIORITY = 170;
14
14
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
15
+ const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
15
16
  const CONFLICTED_PLUGIN_KEY = 'columnSorting';
16
- const SHORTCUTS_GROUP = PLUGIN_KEY;
17
17
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
18
18
 
19
19
  /**
@@ -113,41 +113,6 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
113
113
  super.disablePlugin();
114
114
  }
115
115
 
116
- /**
117
- * Register shortcuts responsible for toggling column sorting functionality.
118
- *
119
- * @private
120
- */
121
- registerShortcuts() {
122
- super.registerShortcuts();
123
- this.hot.getShortcutManager().getContext('grid').addShortcut({
124
- keys: [['Shift', 'Enter']],
125
- callback: () => {
126
- const {
127
- highlight
128
- } = this.hot.getSelectedRangeLast();
129
- if (highlight.row === -1 && highlight.col >= 0) {
130
- this.sort(this.getNextSortConfig(highlight.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
131
- }
132
- },
133
- runOnlyIf: () => {
134
- var _this$hot$getSelected;
135
- return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
136
- },
137
- group: SHORTCUTS_GROUP
138
- });
139
- }
140
-
141
- /**
142
- * Unregister shortcuts responsible for toggling column sorting functionality.
143
- *
144
- * @private
145
- */
146
- unregisterShortcuts() {
147
- super.unregisterShortcuts();
148
- this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
149
- }
150
-
151
116
  /**
152
117
  * Sorts the table by chosen columns and orders.
153
118
  *
@@ -297,7 +262,7 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
297
262
  if (this.hot.getShortcutManager().isCtrlPressed()) {
298
263
  this.hot.deselectCell();
299
264
  this.hot.selectColumns(coords.col);
300
- this.sort(this.getNextSortConfig(coords.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
265
+ this.sort(this.getNextSortConfig(coords.col, APPEND_COLUMN_CONFIG_STRATEGY));
301
266
  } else {
302
267
  this.sort(this.getColumnNextConfig(coords.col));
303
268
  }
@@ -1,4 +1,4 @@
1
- import { APPEND_COLUMN_CONFIG_STRATEGY, ColumnSorting } from "../columnSorting/index.mjs";
1
+ import { ColumnSorting } from "../columnSorting/index.mjs";
2
2
  import { registerRootComparator } from "../columnSorting/sortService/index.mjs";
3
3
  import { wasHeaderClickedProperly } from "../columnSorting/utils.mjs";
4
4
  import { addClass, removeClass } from "../../helpers/dom/element.mjs";
@@ -7,8 +7,8 @@ import { warnAboutPluginsConflict } from "./utils.mjs";
7
7
  import { getClassesToAdd, getClassesToRemove } from "./domHelpers.mjs";
8
8
  export const PLUGIN_KEY = 'multiColumnSorting';
9
9
  export const PLUGIN_PRIORITY = 170;
10
+ const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
10
11
  const CONFLICTED_PLUGIN_KEY = 'columnSorting';
11
- const SHORTCUTS_GROUP = PLUGIN_KEY;
12
12
  registerRootComparator(PLUGIN_KEY, rootComparator);
13
13
 
14
14
  /**
@@ -108,41 +108,6 @@ export class MultiColumnSorting extends ColumnSorting {
108
108
  super.disablePlugin();
109
109
  }
110
110
 
111
- /**
112
- * Register shortcuts responsible for toggling column sorting functionality.
113
- *
114
- * @private
115
- */
116
- registerShortcuts() {
117
- super.registerShortcuts();
118
- this.hot.getShortcutManager().getContext('grid').addShortcut({
119
- keys: [['Shift', 'Enter']],
120
- callback: () => {
121
- const {
122
- highlight
123
- } = this.hot.getSelectedRangeLast();
124
- if (highlight.row === -1 && highlight.col >= 0) {
125
- this.sort(this.getNextSortConfig(highlight.col, APPEND_COLUMN_CONFIG_STRATEGY));
126
- }
127
- },
128
- runOnlyIf: () => {
129
- var _this$hot$getSelected;
130
- return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
131
- },
132
- group: SHORTCUTS_GROUP
133
- });
134
- }
135
-
136
- /**
137
- * Unregister shortcuts responsible for toggling column sorting functionality.
138
- *
139
- * @private
140
- */
141
- unregisterShortcuts() {
142
- super.unregisterShortcuts();
143
- this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
144
- }
145
-
146
111
  /**
147
112
  * Sorts the table by chosen columns and orders.
148
113
  *