handsontable 0.0.0-next-a1e4b4f-20230628 → 0.0.0-next-e697250-20230707

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 (456) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +50 -28
  3. package/3rdparty/walkontable/src/cell/coords.mjs +50 -28
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +69 -36
  6. package/3rdparty/walkontable/src/cell/range.mjs +68 -35
  7. package/3rdparty/walkontable/src/event.js +3 -5
  8. package/3rdparty/walkontable/src/event.mjs +3 -5
  9. package/3rdparty/walkontable/src/overlay/_base.js +6 -7
  10. package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
  11. package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
  12. package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
  13. package/3rdparty/walkontable/src/overlay/top.js +6 -7
  14. package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
  15. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
  16. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
  17. package/3rdparty/walkontable/src/overlays.js +55 -64
  18. package/3rdparty/walkontable/src/overlays.mjs +55 -64
  19. package/3rdparty/walkontable/src/renderer/table.js +0 -2
  20. package/3rdparty/walkontable/src/renderer/table.mjs +0 -2
  21. package/3rdparty/walkontable/src/scroll.js +20 -23
  22. package/3rdparty/walkontable/src/scroll.mjs +20 -23
  23. package/3rdparty/walkontable/src/selection/border/border.js +1 -0
  24. package/3rdparty/walkontable/src/selection/border/border.mjs +1 -0
  25. package/3rdparty/walkontable/src/selection/manager.js +40 -45
  26. package/3rdparty/walkontable/src/selection/manager.mjs +33 -38
  27. package/3rdparty/walkontable/src/selection/scanner.js +5 -4
  28. package/3rdparty/walkontable/src/selection/scanner.mjs +1 -0
  29. package/3rdparty/walkontable/src/settings.js +13 -15
  30. package/3rdparty/walkontable/src/settings.mjs +13 -15
  31. package/3rdparty/walkontable/src/table.js +23 -26
  32. package/3rdparty/walkontable/src/table.mjs +23 -26
  33. package/CHANGELOG.md +56 -0
  34. package/base.js +2 -4
  35. package/base.mjs +2 -2
  36. package/common.d.ts +1 -1
  37. package/core.d.ts +7 -9
  38. package/core.js +241 -439
  39. package/core.mjs +245 -443
  40. package/dataMap/dataMap.js +1 -0
  41. package/dataMap/dataMap.mjs +1 -0
  42. package/dataMap/dataSource.js +5 -5
  43. package/dataMap/dataSource.mjs +5 -5
  44. package/dataMap/metaManager/lazyFactoryMap.js +1 -0
  45. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -0
  46. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -0
  47. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
  48. package/dataMap/metaManager/metaSchema.js +33 -24
  49. package/dataMap/metaManager/metaSchema.mjs +33 -24
  50. package/dist/handsontable.css +25 -3
  51. package/dist/handsontable.full.css +25 -3
  52. package/dist/handsontable.full.js +14539 -11358
  53. package/dist/handsontable.full.min.css +5 -5
  54. package/dist/handsontable.full.min.js +137 -125
  55. package/dist/handsontable.js +31414 -28455
  56. package/dist/handsontable.min.css +5 -5
  57. package/dist/handsontable.min.js +11 -3
  58. package/dist/languages/all.js +133 -0
  59. package/dist/languages/ar-AR.js +7 -0
  60. package/dist/languages/cs-CZ.js +7 -0
  61. package/dist/languages/de-CH.js +7 -0
  62. package/dist/languages/de-DE.js +7 -0
  63. package/dist/languages/en-US.js +7 -0
  64. package/dist/languages/es-MX.js +7 -0
  65. package/dist/languages/fr-FR.js +7 -0
  66. package/dist/languages/it-IT.js +7 -0
  67. package/dist/languages/ja-JP.js +7 -0
  68. package/dist/languages/ko-KR.js +7 -0
  69. package/dist/languages/lv-LV.js +7 -0
  70. package/dist/languages/nb-NO.js +7 -0
  71. package/dist/languages/nl-NL.js +7 -0
  72. package/dist/languages/pl-PL.js +7 -0
  73. package/dist/languages/pt-BR.js +7 -0
  74. package/dist/languages/ru-RU.js +7 -0
  75. package/dist/languages/sr-SP.js +7 -0
  76. package/dist/languages/zh-CN.js +7 -0
  77. package/dist/languages/zh-TW.js +7 -0
  78. package/editorManager.js +19 -89
  79. package/editorManager.mjs +24 -93
  80. package/editors/baseEditor/baseEditor.js +1 -0
  81. package/editors/baseEditor/baseEditor.mjs +1 -0
  82. package/editors/textEditor/textEditor.js +14 -20
  83. package/editors/textEditor/textEditor.mjs +16 -22
  84. package/helpers/dom/element.js +0 -11
  85. package/helpers/dom/element.mjs +0 -10
  86. package/helpers/mixed.js +2 -2
  87. package/helpers/mixed.mjs +2 -2
  88. package/helpers/number.d.ts +1 -0
  89. package/helpers/number.js +18 -0
  90. package/helpers/number.mjs +17 -0
  91. package/helpers/object.js +2 -0
  92. package/helpers/object.mjs +2 -0
  93. package/i18n/languages/ar-AR.js +7 -1
  94. package/i18n/languages/cs-CZ.js +7 -1
  95. package/i18n/languages/de-CH.js +7 -1
  96. package/i18n/languages/de-DE.js +7 -1
  97. package/i18n/languages/en-US.js +7 -1
  98. package/i18n/languages/es-MX.js +7 -1
  99. package/i18n/languages/fr-FR.js +7 -1
  100. package/i18n/languages/it-IT.js +7 -1
  101. package/i18n/languages/ja-JP.js +7 -1
  102. package/i18n/languages/ko-KR.js +7 -1
  103. package/i18n/languages/lv-LV.js +7 -1
  104. package/i18n/languages/nb-NO.js +7 -1
  105. package/i18n/languages/nl-NL.js +7 -1
  106. package/i18n/languages/pl-PL.js +7 -1
  107. package/i18n/languages/pt-BR.js +7 -1
  108. package/i18n/languages/ru-RU.js +7 -1
  109. package/i18n/languages/sr-SP.js +7 -1
  110. package/i18n/languages/zh-CN.js +7 -1
  111. package/i18n/languages/zh-TW.js +7 -1
  112. package/languages/all.js +133 -0
  113. package/languages/ar-AR.js +7 -0
  114. package/languages/cs-CZ.js +7 -0
  115. package/languages/de-CH.js +7 -0
  116. package/languages/de-DE.js +7 -0
  117. package/languages/en-US.js +7 -0
  118. package/languages/es-MX.js +7 -0
  119. package/languages/fr-FR.js +7 -0
  120. package/languages/index.js +133 -0
  121. package/languages/it-IT.js +7 -0
  122. package/languages/ja-JP.js +7 -0
  123. package/languages/ko-KR.js +7 -0
  124. package/languages/lv-LV.js +7 -0
  125. package/languages/nb-NO.js +7 -0
  126. package/languages/nl-NL.js +7 -0
  127. package/languages/pl-PL.js +7 -0
  128. package/languages/pt-BR.js +7 -0
  129. package/languages/ru-RU.js +7 -0
  130. package/languages/sr-SP.js +7 -0
  131. package/languages/zh-CN.js +7 -0
  132. package/languages/zh-TW.js +7 -0
  133. package/package.json +3 -2
  134. package/pluginHooks.d.ts +8 -2
  135. package/pluginHooks.js +116 -18
  136. package/pluginHooks.mjs +115 -15
  137. package/plugins/autoColumnSize/autoColumnSize.js +1 -0
  138. package/plugins/autoColumnSize/autoColumnSize.mjs +1 -0
  139. package/plugins/autoRowSize/autoRowSize.js +3 -2
  140. package/plugins/autoRowSize/autoRowSize.mjs +3 -2
  141. package/plugins/autofill/autofill.js +2 -2
  142. package/plugins/autofill/autofill.mjs +3 -3
  143. package/plugins/autofill/utils.js +1 -39
  144. package/plugins/autofill/utils.mjs +0 -37
  145. package/plugins/base/base.js +1 -0
  146. package/plugins/base/base.mjs +1 -0
  147. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -0
  148. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +1 -0
  149. package/plugins/collapsibleColumns/collapsibleColumns.js +82 -24
  150. package/plugins/collapsibleColumns/collapsibleColumns.mjs +82 -24
  151. package/plugins/columnSorting/columnSorting.js +51 -8
  152. package/plugins/columnSorting/columnSorting.mjs +50 -9
  153. package/plugins/columnSorting/columnStatesManager.js +1 -0
  154. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  155. package/plugins/columnSorting/index.js +4 -2
  156. package/plugins/columnSorting/index.mjs +1 -1
  157. package/plugins/columnSorting/rootComparator.js +1 -0
  158. package/plugins/columnSorting/rootComparator.mjs +1 -0
  159. package/plugins/comments/commentEditor.js +1 -0
  160. package/plugins/comments/commentEditor.mjs +1 -0
  161. package/plugins/comments/comments.js +289 -224
  162. package/plugins/comments/comments.mjs +297 -234
  163. package/plugins/comments/contextMenuItem/addEditComment.js +51 -0
  164. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  165. package/plugins/comments/contextMenuItem/readOnlyComment.js +63 -0
  166. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +55 -0
  167. package/plugins/comments/contextMenuItem/removeComment.js +48 -0
  168. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  169. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  170. package/plugins/contextMenu/contextMenu.js +81 -29
  171. package/plugins/contextMenu/contextMenu.mjs +82 -30
  172. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  173. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  174. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  175. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  176. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  177. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  178. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  179. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  180. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  181. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  182. package/plugins/contextMenu/predefinedItems/removeColumn.js +8 -5
  183. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +6 -3
  184. package/plugins/contextMenu/predefinedItems/removeRow.js +8 -5
  185. package/plugins/contextMenu/predefinedItems/removeRow.mjs +6 -3
  186. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  187. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  188. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  189. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  190. package/plugins/contextMenu/utils.js +25 -16
  191. package/plugins/contextMenu/utils.mjs +24 -15
  192. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  193. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  194. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  195. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  196. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  197. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  198. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  199. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  200. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  201. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  202. package/plugins/copyPaste/copyPaste.js +100 -14
  203. package/plugins/copyPaste/copyPaste.mjs +100 -14
  204. package/plugins/copyPaste/copyableRanges.js +25 -31
  205. package/plugins/copyPaste/copyableRanges.mjs +18 -24
  206. package/plugins/copyPaste/focusableElement.js +219 -0
  207. package/plugins/copyPaste/focusableElement.mjs +213 -0
  208. package/plugins/customBorders/customBorders.d.ts +2 -0
  209. package/plugins/customBorders/customBorders.js +19 -50
  210. package/plugins/customBorders/customBorders.mjs +19 -50
  211. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  212. package/plugins/dropdownMenu/dropdownMenu.js +94 -30
  213. package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
  214. package/plugins/exportFile/dataProvider.js +1 -0
  215. package/plugins/exportFile/dataProvider.mjs +1 -0
  216. package/plugins/filters/component/value.js +1 -0
  217. package/plugins/filters/component/value.mjs +1 -0
  218. package/plugins/filters/condition/beginsWith.js +1 -0
  219. package/plugins/filters/condition/beginsWith.mjs +1 -0
  220. package/plugins/filters/condition/between.js +1 -0
  221. package/plugins/filters/condition/between.mjs +1 -0
  222. package/plugins/filters/condition/byValue.js +1 -0
  223. package/plugins/filters/condition/byValue.mjs +1 -0
  224. package/plugins/filters/condition/contains.js +1 -0
  225. package/plugins/filters/condition/contains.mjs +1 -0
  226. package/plugins/filters/condition/date/after.js +1 -0
  227. package/plugins/filters/condition/date/after.mjs +1 -0
  228. package/plugins/filters/condition/date/before.js +1 -0
  229. package/plugins/filters/condition/date/before.mjs +1 -0
  230. package/plugins/filters/condition/endsWith.js +1 -0
  231. package/plugins/filters/condition/endsWith.mjs +1 -0
  232. package/plugins/filters/condition/equal.js +1 -0
  233. package/plugins/filters/condition/equal.mjs +1 -0
  234. package/plugins/filters/condition/greaterThan.js +1 -0
  235. package/plugins/filters/condition/greaterThan.mjs +1 -0
  236. package/plugins/filters/condition/greaterThanOrEqual.js +1 -0
  237. package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
  238. package/plugins/filters/condition/lessThan.js +1 -0
  239. package/plugins/filters/condition/lessThan.mjs +1 -0
  240. package/plugins/filters/condition/lessThanOrEqual.js +1 -0
  241. package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
  242. package/plugins/filters/conditionCollection.js +1 -0
  243. package/plugins/filters/conditionCollection.mjs +1 -0
  244. package/plugins/filters/filters.js +68 -42
  245. package/plugins/filters/filters.mjs +67 -41
  246. package/plugins/filters/ui/multipleSelect.js +1 -0
  247. package/plugins/filters/ui/multipleSelect.mjs +1 -0
  248. package/plugins/formulas/formulas.js +191 -168
  249. package/plugins/formulas/formulas.mjs +191 -168
  250. package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
  251. package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
  252. package/plugins/formulas/indexSyncer/index.js +225 -0
  253. package/plugins/formulas/indexSyncer/index.mjs +219 -0
  254. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -0
  255. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +1 -0
  256. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -0
  257. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +1 -0
  258. package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -0
  259. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +1 -0
  260. package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -0
  261. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +1 -0
  262. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -0
  263. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -0
  264. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -0
  265. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
  266. package/plugins/manualColumnResize/manualColumnResize.js +36 -5
  267. package/plugins/manualColumnResize/manualColumnResize.mjs +36 -5
  268. package/plugins/manualRowMove/manualRowMove.js +31 -12
  269. package/plugins/manualRowMove/manualRowMove.mjs +32 -13
  270. package/plugins/manualRowResize/manualRowResize.js +40 -9
  271. package/plugins/manualRowResize/manualRowResize.mjs +40 -9
  272. package/plugins/mergeCells/calculations/autofill.js +1 -0
  273. package/plugins/mergeCells/calculations/autofill.mjs +1 -0
  274. package/plugins/mergeCells/cellsCollection.js +1 -0
  275. package/plugins/mergeCells/cellsCollection.mjs +1 -0
  276. package/plugins/mergeCells/mergeCells.js +6 -2
  277. package/plugins/mergeCells/mergeCells.mjs +6 -2
  278. package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
  279. package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
  280. package/plugins/multiColumnSorting/rootComparator.js +1 -0
  281. package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
  282. package/plugins/nestedHeaders/nestedHeaders.js +129 -6
  283. package/plugins/nestedHeaders/nestedHeaders.mjs +129 -6
  284. package/plugins/nestedHeaders/stateManager/headersTree.js +24 -26
  285. package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -23
  286. package/plugins/nestedHeaders/stateManager/index.js +40 -3
  287. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  288. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
  289. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -1
  290. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
  291. package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
  292. package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
  293. package/plugins/nestedRows/data/dataManager.js +1 -0
  294. package/plugins/nestedRows/data/dataManager.mjs +1 -0
  295. package/plugins/nestedRows/nestedRows.js +53 -7
  296. package/plugins/nestedRows/nestedRows.mjs +53 -7
  297. package/plugins/nestedRows/ui/collapsing.js +1 -0
  298. package/plugins/nestedRows/ui/collapsing.mjs +1 -0
  299. package/plugins/nestedRows/utils/rowMoveController.js +1 -0
  300. package/plugins/nestedRows/utils/rowMoveController.mjs +1 -0
  301. package/plugins/persistentState/storage.js +1 -0
  302. package/plugins/persistentState/storage.mjs +1 -0
  303. package/plugins/registry.js +4 -1
  304. package/plugins/registry.mjs +1 -0
  305. package/plugins/undoRedo/undoRedo.js +1 -1
  306. package/plugins/undoRedo/undoRedo.mjs +1 -1
  307. package/renderers/baseRenderer/baseRenderer.js +0 -3
  308. package/renderers/baseRenderer/baseRenderer.mjs +0 -3
  309. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  310. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  311. package/selection/highlight/highlight.js +120 -98
  312. package/selection/highlight/highlight.mjs +118 -96
  313. package/selection/highlight/visualSelection.js +30 -17
  314. package/selection/highlight/visualSelection.mjs +30 -17
  315. package/selection/mouseEventHandler.js +1 -1
  316. package/selection/mouseEventHandler.mjs +1 -1
  317. package/selection/range.js +8 -8
  318. package/selection/range.mjs +8 -8
  319. package/selection/selection.js +246 -153
  320. package/selection/selection.mjs +247 -154
  321. package/selection/transformation.js +233 -96
  322. package/selection/transformation.mjs +230 -93
  323. package/selection/utils.js +12 -35
  324. package/selection/utils.mjs +13 -35
  325. package/settings.d.ts +2 -1
  326. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  327. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  328. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  329. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  330. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  331. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  332. package/shortcutContexts/commands/editor/index.js +16 -0
  333. package/shortcutContexts/commands/editor/index.mjs +12 -0
  334. package/shortcutContexts/commands/editor/open.js +29 -0
  335. package/shortcutContexts/commands/editor/open.mjs +24 -0
  336. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  337. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  338. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  339. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  340. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  341. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  342. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  343. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  344. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  345. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  346. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  347. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  348. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  349. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
  350. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  351. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  352. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  353. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  354. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  355. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  356. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
  357. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
  358. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
  359. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
  360. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  361. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  362. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  363. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
  364. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  365. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  366. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  367. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  368. package/shortcutContexts/commands/index.js +53 -0
  369. package/shortcutContexts/commands/index.mjs +49 -0
  370. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  371. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  372. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
  373. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
  374. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  375. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  376. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  377. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  378. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  379. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  380. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  381. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  382. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  383. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  384. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  385. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  386. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  387. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  388. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  389. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  390. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  391. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  392. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
  393. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
  394. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
  395. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
  396. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  397. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  398. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  399. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  400. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  401. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  402. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
  403. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
  404. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  405. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  406. package/shortcutContexts/commands/scrollToFocusedCell.js +38 -0
  407. package/shortcutContexts/commands/scrollToFocusedCell.mjs +33 -0
  408. package/shortcutContexts/commands/selectAll.js +11 -0
  409. package/shortcutContexts/commands/selectAll.mjs +6 -0
  410. package/shortcutContexts/constants.js +19 -0
  411. package/shortcutContexts/constants.mjs +12 -0
  412. package/shortcutContexts/editor.js +29 -0
  413. package/shortcutContexts/editor.mjs +25 -0
  414. package/shortcutContexts/grid.js +252 -0
  415. package/shortcutContexts/grid.mjs +248 -0
  416. package/shortcutContexts/index.js +29 -0
  417. package/shortcutContexts/index.mjs +15 -0
  418. package/shortcuts/context.js +1 -0
  419. package/shortcuts/context.mjs +1 -0
  420. package/shortcuts/manager.js +2 -0
  421. package/shortcuts/manager.mjs +2 -0
  422. package/shortcuts/recorder.js +2 -2
  423. package/shortcuts/recorder.mjs +2 -2
  424. package/shortcuts/utils.js +21 -5
  425. package/shortcuts/utils.mjs +20 -4
  426. package/tableView.js +112 -82
  427. package/tableView.mjs +112 -82
  428. package/translations/changesObservable/observable.js +41 -46
  429. package/translations/changesObservable/observable.mjs +36 -41
  430. package/translations/changesObservable/observer.js +1 -1
  431. package/translations/indexMapper.d.ts +0 -2
  432. package/translations/indexMapper.js +38 -64
  433. package/translations/indexMapper.mjs +39 -64
  434. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  435. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  436. package/translations/maps/utils/indexesSequence.js +1 -0
  437. package/translations/maps/utils/indexesSequence.mjs +1 -0
  438. package/translations/maps/utils/physicallyIndexed.js +1 -0
  439. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  440. package/utils/dataStructures/priorityMap.js +1 -0
  441. package/utils/dataStructures/priorityMap.mjs +1 -0
  442. package/utils/dataStructures/tree.js +16 -18
  443. package/utils/dataStructures/tree.mjs +16 -18
  444. package/utils/dataStructures/uniqueMap.js +1 -0
  445. package/utils/dataStructures/uniqueMap.mjs +1 -0
  446. package/utils/dataStructures/uniqueSet.js +1 -0
  447. package/utils/dataStructures/uniqueSet.mjs +1 -0
  448. package/utils/ghostTable.js +1 -0
  449. package/utils/ghostTable.mjs +1 -0
  450. package/utils/parseTable.js +5 -1
  451. package/utils/parseTable.mjs +5 -1
  452. package/utils/staticRegister.js +1 -0
  453. package/utils/staticRegister.mjs +1 -0
  454. package/focusManager.d.ts +0 -12
  455. package/focusManager.js +0 -275
  456. package/focusManager.mjs +0 -270
@@ -34,7 +34,7 @@ import "core-js/modules/es.symbol.iterator.js";
34
34
  import { BasePlugin } from "../base/index.mjs";
35
35
  import Hooks from "../../pluginHooks.mjs";
36
36
  import { arrayReduce } from "../../helpers/array.mjs";
37
- import { addClass, removeClass, offset } from "../../helpers/dom/element.mjs";
37
+ import { addClass, removeClass, offset, getTrimmingContainer } from "../../helpers/dom/element.mjs";
38
38
  import { rangeEach } from "../../helpers/number.mjs";
39
39
  import EventManager from "../../eventManager.mjs";
40
40
  import BacklightUI from "./ui/backlight.mjs";
@@ -195,6 +195,8 @@ export var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
195
195
  /**
196
196
  * Moves a single row.
197
197
  *
198
+ * To see the outcome, rerender your grid by calling [`render()`](@/api/core.md#render).
199
+ *
198
200
  * @param {number} row Visual row index to be moved.
199
201
  * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
200
202
  * To check the visualization of the final index, please take a look at [documentation](@/guides/rows/row-moving.md#drag-and-move-actions-of-manualrowmove-plugin).
@@ -209,7 +211,9 @@ export var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
209
211
  }
210
212
 
211
213
  /**
212
- * Moves a multiple rows.
214
+ * Moves multiple rows.
215
+ *
216
+ * To see the outcome, rerender your grid by calling [`render()`](@/api/core.md#render).
213
217
  *
214
218
  * @param {Array} rows Array of visual row indexes to be moved.
215
219
  * @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
@@ -477,38 +481,53 @@ export var ManualRowMove = /*#__PURE__*/function (_BasePlugin) {
477
481
  }
478
482
  var wtTable = this.hot.view._wt.wtTable;
479
483
  var TD = priv.target.TD;
480
- var rootElementOffset = offset(this.hot.rootElement);
481
- var tdOffsetTop = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
482
- var mouseOffsetTop = priv.target.eventPageY - rootElementOffset.top + wtTable.holder.scrollTop;
484
+ var rootElement = this.hot.rootElement;
485
+ var rootElementOffset = offset(rootElement);
486
+ var trimmingContainer = getTrimmingContainer(rootElement);
487
+ var tableScroll = wtTable.holder.scrollTop;
488
+ var trimmingContainerScroll;
489
+
490
+ // Trimming container is the `window` element.
491
+ if (this.hot.rootWindow === trimmingContainer) {
492
+ trimmingContainerScroll = trimmingContainer.scrollY;
493
+ } else {
494
+ trimmingContainerScroll = trimmingContainer.scrollTop;
495
+ }
496
+ var pixelsAbove = rootElementOffset.top - trimmingContainerScroll;
497
+ var pixelsRelToTableStart = priv.target.eventPageY - pixelsAbove + tableScroll;
483
498
  var hiderHeight = wtTable.hider.offsetHeight;
484
499
  var tbodyOffsetTop = wtTable.TBODY.offsetTop;
485
500
  var backlightElemMarginTop = this.backlight.getOffset().top;
486
501
  var backlightElemHeight = this.backlight.getSize().height;
502
+ var tdMiddle = TD.offsetHeight / 2;
503
+ var tdHeight = TD.offsetHeight;
504
+ var tdStartPixel = this.hot.view.THEAD.offsetHeight + this.getRowsHeight(0, coords.row - 1);
505
+ var isBelowTable = pixelsRelToTableStart >= tdStartPixel + tdMiddle;
487
506
  if (this.isFixedRowTop(coords.row)) {
488
- tdOffsetTop += wtTable.holder.scrollTop;
507
+ tdStartPixel += wtTable.holder.scrollTop;
489
508
  }
490
509
  if (coords.row < 0) {
491
510
  // if hover on colHeader
492
511
  priv.target.row = firstVisible > 0 ? firstVisible - 1 : firstVisible;
493
- } else if (TD.offsetHeight / 2 + tdOffsetTop <= mouseOffsetTop) {
512
+ } else if (isBelowTable) {
494
513
  // if hover on lower part of TD
495
514
  priv.target.row = coords.row + 1;
496
515
  // unfortunately first row is bigger than rest
497
- tdOffsetTop += coords.row === 0 ? TD.offsetHeight - 1 : TD.offsetHeight;
516
+ tdStartPixel += coords.row === 0 ? tdHeight - 1 : tdHeight;
498
517
  } else {
499
518
  // elsewhere on table
500
519
  priv.target.row = coords.row;
501
520
  }
502
- var backlightTop = mouseOffsetTop;
503
- var guidelineTop = tdOffsetTop;
504
- if (mouseOffsetTop + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
521
+ var backlightTop = pixelsRelToTableStart;
522
+ var guidelineTop = tdStartPixel;
523
+ if (pixelsRelToTableStart + backlightElemHeight + backlightElemMarginTop >= hiderHeight) {
505
524
  // prevent display backlight below table
506
525
  backlightTop = hiderHeight - backlightElemHeight - backlightElemMarginTop;
507
- } else if (mouseOffsetTop + backlightElemMarginTop < tbodyOffsetTop) {
526
+ } else if (pixelsRelToTableStart + backlightElemMarginTop < tbodyOffsetTop) {
508
527
  // prevent display above below table
509
528
  backlightTop = tbodyOffsetTop + Math.abs(backlightElemMarginTop);
510
529
  }
511
- if (tdOffsetTop >= hiderHeight - 1) {
530
+ if (tdStartPixel >= hiderHeight - 1) {
512
531
  // prevent display guideline below table
513
532
  guidelineTop = hiderHeight - 1;
514
533
  }
@@ -88,6 +88,7 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
88
88
  _this.guide = rootDocument.createElement('DIV');
89
89
  _this.eventManager = new _eventManager.default(_assertThisInitialized(_this));
90
90
  _this.pressed = null;
91
+ _this.isTriggeredByRMB = false;
91
92
  _this.dblclick = 0;
92
93
  _this.autoresizeTimeout = null;
93
94
 
@@ -409,6 +410,11 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
409
410
  if ((0, _element.isDetached)(event.target)) {
410
411
  return;
411
412
  }
413
+
414
+ // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
415
+ if (this.isTriggeredByRMB === true) {
416
+ return;
417
+ }
412
418
  if (this.checkIfRowHeader(event.target)) {
413
419
  var th = this.getClosestTHParent(event.target);
414
420
  if (th) {
@@ -555,6 +561,28 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
555
561
  }
556
562
  }
557
563
 
564
+ /**
565
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
566
+ *
567
+ * @private
568
+ */
569
+ }, {
570
+ key: "onContextMenu",
571
+ value: function onContextMenu() {
572
+ var _this8 = this;
573
+ this.hideHandleAndGuide();
574
+ this.hot.rootElement.removeChild(this.handle);
575
+ this.hot.rootElement.removeChild(this.guide);
576
+ this.pressed = false;
577
+ this.isTriggeredByRMB = true;
578
+
579
+ // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
580
+ // shouldn't be drawn just after removing it.
581
+ this.hot._registerImmediate(function () {
582
+ _this8.isTriggeredByRMB = false;
583
+ });
584
+ }
585
+
558
586
  /**
559
587
  * Binds the mouse events.
560
588
  *
@@ -563,21 +591,24 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
563
591
  }, {
564
592
  key: "bindEvents",
565
593
  value: function bindEvents() {
566
- var _this8 = this;
594
+ var _this9 = this;
567
595
  var _this$hot = this.hot,
568
596
  rootElement = _this$hot.rootElement,
569
597
  rootWindow = _this$hot.rootWindow;
570
598
  this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
571
- return _this8.onMouseOver(e);
599
+ return _this9.onMouseOver(e);
572
600
  });
573
601
  this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
574
- return _this8.onMouseDown(e);
602
+ return _this9.onMouseDown(e);
575
603
  });
576
604
  this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
577
- return _this8.onMouseMove(e);
605
+ return _this9.onMouseMove(e);
578
606
  });
579
607
  this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
580
- return _this8.onMouseUp();
608
+ return _this9.onMouseUp();
609
+ });
610
+ this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
611
+ return _this9.onContextMenu();
581
612
  });
582
613
  }
583
614
 
@@ -611,23 +642,23 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
611
642
  }, {
612
643
  key: "onMapInit",
613
644
  value: function onMapInit() {
614
- var _this9 = this;
645
+ var _this10 = this;
615
646
  var priv = privatePool.get(this);
616
647
  var initialSetting = this.hot.getSettings()[PLUGIN_KEY];
617
648
  var loadedManualRowHeights = this.loadManualRowHeights();
618
649
  this.hot.batchExecution(function () {
619
650
  if (typeof loadedManualRowHeights !== 'undefined') {
620
651
  loadedManualRowHeights.forEach(function (height, index) {
621
- _this9.rowHeightsMap.setValueAtIndex(index, height);
652
+ _this10.rowHeightsMap.setValueAtIndex(index, height);
622
653
  });
623
654
  } else if (Array.isArray(initialSetting)) {
624
655
  initialSetting.forEach(function (height, index) {
625
- _this9.rowHeightsMap.setValueAtIndex(index, height);
656
+ _this10.rowHeightsMap.setValueAtIndex(index, height);
626
657
  });
627
658
  priv.config = initialSetting;
628
659
  } else if (initialSetting === true && Array.isArray(priv.config)) {
629
660
  priv.config.forEach(function (height, index) {
630
- _this9.rowHeightsMap.setValueAtIndex(index, height);
661
+ _this10.rowHeightsMap.setValueAtIndex(index, height);
631
662
  });
632
663
  }
633
664
  }, true);
@@ -79,6 +79,7 @@ export var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
79
79
  _this.guide = rootDocument.createElement('DIV');
80
80
  _this.eventManager = new EventManager(_assertThisInitialized(_this));
81
81
  _this.pressed = null;
82
+ _this.isTriggeredByRMB = false;
82
83
  _this.dblclick = 0;
83
84
  _this.autoresizeTimeout = null;
84
85
 
@@ -400,6 +401,11 @@ export var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
400
401
  if (isDetached(event.target)) {
401
402
  return;
402
403
  }
404
+
405
+ // A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
406
+ if (this.isTriggeredByRMB === true) {
407
+ return;
408
+ }
403
409
  if (this.checkIfRowHeader(event.target)) {
404
410
  var th = this.getClosestTHParent(event.target);
405
411
  if (th) {
@@ -546,6 +552,28 @@ export var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
546
552
  }
547
553
  }
548
554
 
555
+ /**
556
+ * Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
557
+ *
558
+ * @private
559
+ */
560
+ }, {
561
+ key: "onContextMenu",
562
+ value: function onContextMenu() {
563
+ var _this8 = this;
564
+ this.hideHandleAndGuide();
565
+ this.hot.rootElement.removeChild(this.handle);
566
+ this.hot.rootElement.removeChild(this.guide);
567
+ this.pressed = false;
568
+ this.isTriggeredByRMB = true;
569
+
570
+ // There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
571
+ // shouldn't be drawn just after removing it.
572
+ this.hot._registerImmediate(function () {
573
+ _this8.isTriggeredByRMB = false;
574
+ });
575
+ }
576
+
549
577
  /**
550
578
  * Binds the mouse events.
551
579
  *
@@ -554,21 +582,24 @@ export var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
554
582
  }, {
555
583
  key: "bindEvents",
556
584
  value: function bindEvents() {
557
- var _this8 = this;
585
+ var _this9 = this;
558
586
  var _this$hot = this.hot,
559
587
  rootElement = _this$hot.rootElement,
560
588
  rootWindow = _this$hot.rootWindow;
561
589
  this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
562
- return _this8.onMouseOver(e);
590
+ return _this9.onMouseOver(e);
563
591
  });
564
592
  this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
565
- return _this8.onMouseDown(e);
593
+ return _this9.onMouseDown(e);
566
594
  });
567
595
  this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
568
- return _this8.onMouseMove(e);
596
+ return _this9.onMouseMove(e);
569
597
  });
570
598
  this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
571
- return _this8.onMouseUp();
599
+ return _this9.onMouseUp();
600
+ });
601
+ this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
602
+ return _this9.onContextMenu();
572
603
  });
573
604
  }
574
605
 
@@ -602,23 +633,23 @@ export var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
602
633
  }, {
603
634
  key: "onMapInit",
604
635
  value: function onMapInit() {
605
- var _this9 = this;
636
+ var _this10 = this;
606
637
  var priv = privatePool.get(this);
607
638
  var initialSetting = this.hot.getSettings()[PLUGIN_KEY];
608
639
  var loadedManualRowHeights = this.loadManualRowHeights();
609
640
  this.hot.batchExecution(function () {
610
641
  if (typeof loadedManualRowHeights !== 'undefined') {
611
642
  loadedManualRowHeights.forEach(function (height, index) {
612
- _this9.rowHeightsMap.setValueAtIndex(index, height);
643
+ _this10.rowHeightsMap.setValueAtIndex(index, height);
613
644
  });
614
645
  } else if (Array.isArray(initialSetting)) {
615
646
  initialSetting.forEach(function (height, index) {
616
- _this9.rowHeightsMap.setValueAtIndex(index, height);
647
+ _this10.rowHeightsMap.setValueAtIndex(index, height);
617
648
  });
618
649
  priv.config = initialSetting;
619
650
  } else if (initialSetting === true && Array.isArray(priv.config)) {
620
651
  priv.config.forEach(function (height, index) {
621
- _this9.rowHeightsMap.setValueAtIndex(index, height);
652
+ _this10.rowHeightsMap.setValueAtIndex(index, height);
622
653
  });
623
654
  }
624
655
  }, true);
@@ -4,6 +4,7 @@ require("core-js/modules/es.symbol.iterator.js");
4
4
  require("core-js/modules/es.array.iterator.js");
5
5
  require("core-js/modules/es.string.iterator.js");
6
6
  require("core-js/modules/web.dom-collections.iterator.js");
7
+ require("core-js/modules/es.regexp.to-string.js");
7
8
  require("core-js/modules/es.function.name.js");
8
9
  require("core-js/modules/es.array.from.js");
9
10
  require("core-js/modules/es.regexp.exec.js");
@@ -17,6 +17,7 @@ import "core-js/modules/es.symbol.iterator.js";
17
17
  import "core-js/modules/es.array.iterator.js";
18
18
  import "core-js/modules/es.string.iterator.js";
19
19
  import "core-js/modules/web.dom-collections.iterator.js";
20
+ import "core-js/modules/es.regexp.to-string.js";
20
21
  import "core-js/modules/es.function.name.js";
21
22
  import "core-js/modules/es.array.from.js";
22
23
  import "core-js/modules/es.regexp.exec.js";
@@ -6,6 +6,7 @@ require("core-js/modules/es.string.iterator.js");
6
6
  require("core-js/modules/web.dom-collections.iterator.js");
7
7
  require("core-js/modules/es.array.from.js");
8
8
  require("core-js/modules/es.array.slice.js");
9
+ require("core-js/modules/es.regexp.to-string.js");
9
10
  require("core-js/modules/es.function.name.js");
10
11
  require("core-js/modules/es.regexp.exec.js");
11
12
  require("core-js/modules/es.object.freeze.js");
@@ -21,6 +21,7 @@ import "core-js/modules/es.string.iterator.js";
21
21
  import "core-js/modules/web.dom-collections.iterator.js";
22
22
  import "core-js/modules/es.array.from.js";
23
23
  import "core-js/modules/es.array.slice.js";
24
+ import "core-js/modules/es.regexp.to-string.js";
24
25
  import "core-js/modules/es.function.name.js";
25
26
  import "core-js/modules/es.regexp.exec.js";
26
27
  import "core-js/modules/es.object.freeze.js";
@@ -14,6 +14,7 @@ require("core-js/modules/es.number.constructor.js");
14
14
  require("core-js/modules/es.symbol.iterator.js");
15
15
  require("core-js/modules/es.array.from.js");
16
16
  require("core-js/modules/es.array.slice.js");
17
+ require("core-js/modules/es.regexp.to-string.js");
17
18
  exports.__esModule = true;
18
19
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.MergeCells = void 0;
19
20
  require("core-js/modules/es.array.iterator.js");
@@ -658,8 +659,11 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
658
659
  gridContext.addShortcut({
659
660
  keys: [['Control', 'm']],
660
661
  callback: function callback() {
661
- _this7.toggleMerge(_this7.hot.getSelectedRangeLast());
662
- _this7.hot.render();
662
+ var range = _this7.hot.getSelectedRangeLast();
663
+ if (range && !range.isSingleHeader()) {
664
+ _this7.toggleMerge(range);
665
+ _this7.hot.render();
666
+ }
663
667
  },
664
668
  runOnlyIf: function runOnlyIf(event) {
665
669
  return !event.altKey;
@@ -49,6 +49,7 @@ import "core-js/modules/es.number.constructor.js";
49
49
  import "core-js/modules/es.symbol.iterator.js";
50
50
  import "core-js/modules/es.array.from.js";
51
51
  import "core-js/modules/es.array.slice.js";
52
+ import "core-js/modules/es.regexp.to-string.js";
52
53
  import { BasePlugin } from "../base/index.mjs";
53
54
  import Hooks from "../../pluginHooks.mjs";
54
55
  import MergedCellsCollection from "./cellsCollection.mjs";
@@ -651,8 +652,11 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
651
652
  gridContext.addShortcut({
652
653
  keys: [['Control', 'm']],
653
654
  callback: function callback() {
654
- _this7.toggleMerge(_this7.hot.getSelectedRangeLast());
655
- _this7.hot.render();
655
+ var range = _this7.hot.getSelectedRangeLast();
656
+ if (range && !range.isSingleHeader()) {
657
+ _this7.toggleMerge(range);
658
+ _this7.hot.render();
659
+ }
656
660
  },
657
661
  runOnlyIf: function runOnlyIf(event) {
658
662
  return !event.altKey;
@@ -16,8 +16,8 @@ require("core-js/modules/es.string.iterator.js");
16
16
  require("core-js/modules/web.dom-collections.iterator.js");
17
17
  exports.__esModule = true;
18
18
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.MultiColumnSorting = void 0;
19
- require("core-js/modules/es.array.concat.js");
20
19
  require("core-js/modules/es.array.sort.js");
20
+ require("core-js/modules/es.array.concat.js");
21
21
  require("core-js/modules/es.object.set-prototype-of.js");
22
22
  require("core-js/modules/es.object.get-prototype-of.js");
23
23
  var _columnSorting = require("../columnSorting");
@@ -45,8 +45,8 @@ var PLUGIN_KEY = 'multiColumnSorting';
45
45
  exports.PLUGIN_KEY = PLUGIN_KEY;
46
46
  var PLUGIN_PRIORITY = 170;
47
47
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
48
- var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
49
48
  var CONFLICTED_PLUGIN_KEY = 'columnSorting';
49
+ var SHORTCUTS_GROUP = PLUGIN_KEY;
50
50
  (0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
51
51
 
52
52
  /**
@@ -151,6 +151,45 @@ var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
151
151
  _get(_getPrototypeOf(MultiColumnSorting.prototype), "disablePlugin", this).call(this);
152
152
  }
153
153
 
154
+ /**
155
+ * Register shortcuts responsible for toggling column sorting functionality.
156
+ *
157
+ * @private
158
+ */
159
+ }, {
160
+ key: "registerShortcuts",
161
+ value: function registerShortcuts() {
162
+ var _this2 = this;
163
+ _get(_getPrototypeOf(MultiColumnSorting.prototype), "registerShortcuts", this).call(this);
164
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
165
+ keys: [['Control/Meta', 'Enter']],
166
+ callback: function callback() {
167
+ var _this2$hot$getSelecte = _this2.hot.getSelectedRangeLast(),
168
+ highlight = _this2$hot$getSelecte.highlight;
169
+ if (highlight.row === -1 && highlight.col >= 0) {
170
+ _this2.sort(_this2.getNextSortConfig(highlight.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
171
+ }
172
+ },
173
+ runOnlyIf: function runOnlyIf() {
174
+ var _this2$hot$getSelecte2;
175
+ return (_this2$hot$getSelecte2 = _this2.hot.getSelectedRangeLast()) === null || _this2$hot$getSelecte2 === void 0 ? void 0 : _this2$hot$getSelecte2.highlight.isHeader();
176
+ },
177
+ group: SHORTCUTS_GROUP
178
+ });
179
+ }
180
+
181
+ /**
182
+ * Unregister shortcuts responsible for toggling column sorting functionality.
183
+ *
184
+ * @private
185
+ */
186
+ }, {
187
+ key: "unregisterShortcuts",
188
+ value: function unregisterShortcuts() {
189
+ _get(_getPrototypeOf(MultiColumnSorting.prototype), "unregisterShortcuts", this).call(this);
190
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
191
+ }
192
+
154
193
  /**
155
194
  * Sorts the table by chosen columns and orders.
156
195
  *
@@ -319,7 +358,7 @@ var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
319
358
  if (this.hot.getShortcutManager().isCtrlPressed()) {
320
359
  this.hot.deselectCell();
321
360
  this.hot.selectColumns(coords.col);
322
- this.sort(this.getNextSortConfig(coords.col, APPEND_COLUMN_CONFIG_STRATEGY));
361
+ this.sort(this.getNextSortConfig(coords.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
323
362
  } else {
324
363
  this.sort(this.getColumnNextConfig(coords.col));
325
364
  }
@@ -1,6 +1,6 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- import "core-js/modules/es.array.concat.js";
3
2
  import "core-js/modules/es.array.sort.js";
3
+ import "core-js/modules/es.array.concat.js";
4
4
  import "core-js/modules/es.object.set-prototype-of.js";
5
5
  import "core-js/modules/es.object.get-prototype-of.js";
6
6
  import "core-js/modules/es.object.to-string.js";
@@ -30,7 +30,7 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
30
30
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
31
31
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
32
32
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
33
- import { ColumnSorting } from "../columnSorting/index.mjs";
33
+ import { APPEND_COLUMN_CONFIG_STRATEGY, ColumnSorting } from "../columnSorting/index.mjs";
34
34
  import { registerRootComparator } from "../columnSorting/sortService/index.mjs";
35
35
  import { wasHeaderClickedProperly } from "../columnSorting/utils.mjs";
36
36
  import { addClass, removeClass } from "../../helpers/dom/element.mjs";
@@ -39,8 +39,8 @@ import { warnAboutPluginsConflict } from "./utils.mjs";
39
39
  import { getClassesToAdd, getClassesToRemove } from "./domHelpers.mjs";
40
40
  export var PLUGIN_KEY = 'multiColumnSorting';
41
41
  export var PLUGIN_PRIORITY = 170;
42
- var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
43
42
  var CONFLICTED_PLUGIN_KEY = 'columnSorting';
43
+ var SHORTCUTS_GROUP = PLUGIN_KEY;
44
44
  registerRootComparator(PLUGIN_KEY, rootComparator);
45
45
 
46
46
  /**
@@ -145,6 +145,45 @@ export var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
145
145
  _get(_getPrototypeOf(MultiColumnSorting.prototype), "disablePlugin", this).call(this);
146
146
  }
147
147
 
148
+ /**
149
+ * Register shortcuts responsible for toggling column sorting functionality.
150
+ *
151
+ * @private
152
+ */
153
+ }, {
154
+ key: "registerShortcuts",
155
+ value: function registerShortcuts() {
156
+ var _this2 = this;
157
+ _get(_getPrototypeOf(MultiColumnSorting.prototype), "registerShortcuts", this).call(this);
158
+ this.hot.getShortcutManager().getContext('grid').addShortcut({
159
+ keys: [['Control/Meta', 'Enter']],
160
+ callback: function callback() {
161
+ var _this2$hot$getSelecte = _this2.hot.getSelectedRangeLast(),
162
+ highlight = _this2$hot$getSelecte.highlight;
163
+ if (highlight.row === -1 && highlight.col >= 0) {
164
+ _this2.sort(_this2.getNextSortConfig(highlight.col, APPEND_COLUMN_CONFIG_STRATEGY));
165
+ }
166
+ },
167
+ runOnlyIf: function runOnlyIf() {
168
+ var _this2$hot$getSelecte2;
169
+ return (_this2$hot$getSelecte2 = _this2.hot.getSelectedRangeLast()) === null || _this2$hot$getSelecte2 === void 0 ? void 0 : _this2$hot$getSelecte2.highlight.isHeader();
170
+ },
171
+ group: SHORTCUTS_GROUP
172
+ });
173
+ }
174
+
175
+ /**
176
+ * Unregister shortcuts responsible for toggling column sorting functionality.
177
+ *
178
+ * @private
179
+ */
180
+ }, {
181
+ key: "unregisterShortcuts",
182
+ value: function unregisterShortcuts() {
183
+ _get(_getPrototypeOf(MultiColumnSorting.prototype), "unregisterShortcuts", this).call(this);
184
+ this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
185
+ }
186
+
148
187
  /**
149
188
  * Sorts the table by chosen columns and orders.
150
189
  *
@@ -8,6 +8,7 @@ require("core-js/modules/es.array.iterator.js");
8
8
  require("core-js/modules/es.string.iterator.js");
9
9
  require("core-js/modules/web.dom-collections.iterator.js");
10
10
  require("core-js/modules/es.array.from.js");
11
+ require("core-js/modules/es.regexp.to-string.js");
11
12
  require("core-js/modules/es.function.name.js");
12
13
  require("core-js/modules/es.regexp.exec.js");
13
14
  exports.__esModule = true;
@@ -7,6 +7,7 @@ import "core-js/modules/es.array.iterator.js";
7
7
  import "core-js/modules/es.string.iterator.js";
8
8
  import "core-js/modules/web.dom-collections.iterator.js";
9
9
  import "core-js/modules/es.array.from.js";
10
+ import "core-js/modules/es.regexp.to-string.js";
10
11
  import "core-js/modules/es.function.name.js";
11
12
  import "core-js/modules/es.regexp.exec.js";
12
13
  function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }