handsontable 0.0.0-next-baf2fcf-20230809 → 0.0.0-next-08765b9-20230809

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 (299) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +50 -11
  3. package/3rdparty/walkontable/src/cell/coords.mjs +50 -11
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +38 -7
  6. package/3rdparty/walkontable/src/cell/range.mjs +38 -7
  7. package/3rdparty/walkontable/src/core/_base.js +9 -3
  8. package/3rdparty/walkontable/src/core/_base.mjs +9 -3
  9. package/3rdparty/walkontable/src/core/clone.js +2 -2
  10. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  11. package/3rdparty/walkontable/src/core/core.js +3 -2
  12. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  13. package/3rdparty/walkontable/src/event.js +7 -7
  14. package/3rdparty/walkontable/src/event.mjs +7 -7
  15. package/3rdparty/walkontable/src/facade/core.js +2 -2
  16. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  17. package/3rdparty/walkontable/src/index.js +10 -2
  18. package/3rdparty/walkontable/src/index.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/_base.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
  22. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
  23. package/3rdparty/walkontable/src/overlay/top.js +2 -6
  24. package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
  25. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
  26. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  27. package/3rdparty/walkontable/src/selection/border/constants.js +16 -0
  28. package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
  29. package/3rdparty/walkontable/src/selection/constants.js +62 -0
  30. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  31. package/3rdparty/walkontable/src/selection/index.js +26 -0
  32. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  33. package/3rdparty/walkontable/src/selection/manager.js +259 -0
  34. package/3rdparty/walkontable/src/selection/manager.mjs +254 -0
  35. package/3rdparty/walkontable/src/selection/scanner.js +270 -0
  36. package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
  37. package/3rdparty/walkontable/src/selection/selection.js +101 -0
  38. package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
  39. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
  40. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  41. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
  42. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  43. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
  44. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  45. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
  46. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  47. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
  48. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  49. package/3rdparty/walkontable/src/table.js +6 -78
  50. package/3rdparty/walkontable/src/table.mjs +7 -79
  51. package/base.js +2 -2
  52. package/base.mjs +2 -2
  53. package/common.d.ts +1 -1
  54. package/core/focusCatcher/focusDetector.js +58 -0
  55. package/core/focusCatcher/focusDetector.mjs +54 -0
  56. package/core/focusCatcher/index.js +142 -0
  57. package/core/focusCatcher/index.mjs +138 -0
  58. package/core/index.js +9 -0
  59. package/core/index.mjs +1 -0
  60. package/core.d.ts +6 -3
  61. package/core.js +173 -290
  62. package/core.mjs +173 -290
  63. package/dataMap/metaManager/metaSchema.js +41 -0
  64. package/dataMap/metaManager/metaSchema.mjs +41 -0
  65. package/dist/handsontable.css +24 -4
  66. package/dist/handsontable.full.css +24 -4
  67. package/dist/handsontable.full.js +8676 -5381
  68. package/dist/handsontable.full.min.css +3 -3
  69. package/dist/handsontable.full.min.js +25 -25
  70. package/dist/handsontable.js +10984 -7689
  71. package/dist/handsontable.min.css +3 -3
  72. package/dist/handsontable.min.js +19 -19
  73. package/editorManager.js +11 -75
  74. package/editorManager.mjs +11 -74
  75. package/editors/baseEditor/baseEditor.d.ts +0 -1
  76. package/editors/textEditor/textEditor.js +3 -11
  77. package/editors/textEditor/textEditor.mjs +4 -12
  78. package/helpers/mixed.js +1 -1
  79. package/helpers/mixed.mjs +1 -1
  80. package/helpers/number.d.ts +1 -0
  81. package/helpers/number.js +18 -0
  82. package/helpers/number.mjs +17 -0
  83. package/package.json +1 -1
  84. package/pluginHooks.d.ts +7 -1
  85. package/pluginHooks.js +106 -1
  86. package/pluginHooks.mjs +106 -1
  87. package/plugins/collapsibleColumns/collapsibleColumns.js +58 -4
  88. package/plugins/collapsibleColumns/collapsibleColumns.mjs +58 -4
  89. package/plugins/columnSorting/columnSorting.js +38 -0
  90. package/plugins/columnSorting/columnSorting.mjs +38 -2
  91. package/plugins/columnSorting/index.js +3 -1
  92. package/plugins/columnSorting/index.mjs +1 -1
  93. package/plugins/comments/commentEditor.js +1 -0
  94. package/plugins/comments/commentEditor.mjs +1 -0
  95. package/plugins/comments/comments.js +251 -189
  96. package/plugins/comments/comments.mjs +250 -190
  97. package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
  98. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  99. package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
  100. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
  101. package/plugins/comments/contextMenuItem/removeComment.js +38 -0
  102. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  103. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  104. package/plugins/contextMenu/contextMenu.js +72 -30
  105. package/plugins/contextMenu/contextMenu.mjs +73 -31
  106. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  107. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  108. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  109. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  110. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  111. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  112. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  113. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  114. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  115. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  116. package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
  117. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
  118. package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
  119. package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
  120. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  121. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  122. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  123. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  124. package/plugins/contextMenu/utils.js +28 -16
  125. package/plugins/contextMenu/utils.mjs +27 -15
  126. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  127. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  128. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  129. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  130. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  131. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  132. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  133. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  134. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  135. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  136. package/plugins/copyPaste/copyPaste.js +14 -10
  137. package/plugins/copyPaste/copyPaste.mjs +14 -10
  138. package/plugins/customBorders/customBorders.js +23 -20
  139. package/plugins/customBorders/customBorders.mjs +24 -21
  140. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  141. package/plugins/dropdownMenu/dropdownMenu.js +89 -32
  142. package/plugins/dropdownMenu/dropdownMenu.mjs +89 -32
  143. package/plugins/filters/filters.js +31 -14
  144. package/plugins/filters/filters.mjs +30 -13
  145. package/plugins/manualColumnResize/manualColumnResize.js +0 -6
  146. package/plugins/manualColumnResize/manualColumnResize.mjs +1 -7
  147. package/plugins/mergeCells/mergeCells.js +5 -17
  148. package/plugins/mergeCells/mergeCells.mjs +5 -17
  149. package/plugins/multiColumnSorting/multiColumnSorting.js +37 -2
  150. package/plugins/multiColumnSorting/multiColumnSorting.mjs +37 -2
  151. package/plugins/nestedHeaders/nestedHeaders.js +121 -8
  152. package/plugins/nestedHeaders/nestedHeaders.mjs +121 -8
  153. package/plugins/nestedHeaders/stateManager/index.js +37 -0
  154. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  155. package/plugins/nestedRows/nestedRows.js +41 -0
  156. package/plugins/nestedRows/nestedRows.mjs +41 -0
  157. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  158. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  159. package/selection/highlight/highlight.js +256 -71
  160. package/selection/highlight/highlight.mjs +250 -71
  161. package/selection/highlight/types/activeHeader.js +10 -8
  162. package/selection/highlight/types/activeHeader.mjs +10 -8
  163. package/selection/highlight/types/area.js +6 -18
  164. package/selection/highlight/types/area.mjs +6 -18
  165. package/selection/highlight/types/areaLayered.js +31 -0
  166. package/selection/highlight/types/areaLayered.mjs +26 -0
  167. package/selection/highlight/types/column.js +27 -0
  168. package/selection/highlight/types/column.mjs +22 -0
  169. package/selection/highlight/types/customSelection.js +7 -9
  170. package/selection/highlight/types/customSelection.mjs +7 -9
  171. package/selection/highlight/types/fill.js +5 -7
  172. package/selection/highlight/types/fill.mjs +5 -7
  173. package/selection/highlight/types/{cell.js → focus.js} +5 -7
  174. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  175. package/selection/highlight/types/header.js +9 -18
  176. package/selection/highlight/types/header.mjs +9 -18
  177. package/selection/highlight/types/row.js +27 -0
  178. package/selection/highlight/types/row.mjs +22 -0
  179. package/selection/highlight/visualSelection.js +31 -27
  180. package/selection/highlight/visualSelection.mjs +31 -27
  181. package/selection/index.js +4 -7
  182. package/selection/index.mjs +2 -3
  183. package/selection/mouseEventHandler.js +1 -1
  184. package/selection/mouseEventHandler.mjs +1 -1
  185. package/selection/range.js +8 -8
  186. package/selection/range.mjs +8 -8
  187. package/selection/selection.js +290 -154
  188. package/selection/selection.mjs +287 -153
  189. package/selection/transformation.js +232 -90
  190. package/selection/transformation.mjs +232 -90
  191. package/selection/utils.js +15 -21
  192. package/selection/utils.mjs +16 -21
  193. package/settings.d.ts +2 -0
  194. package/shortcutContexts/commands/editor/closeAndSave.js +12 -0
  195. package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
  196. package/shortcutContexts/commands/editor/closeWithoutSaving.js +12 -0
  197. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  198. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  199. package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
  200. package/shortcutContexts/commands/editor/index.js +16 -0
  201. package/shortcutContexts/commands/editor/index.mjs +12 -0
  202. package/shortcutContexts/commands/editor/open.js +27 -0
  203. package/shortcutContexts/commands/editor/open.mjs +23 -0
  204. package/shortcutContexts/commands/emptySelectedCells.js +11 -0
  205. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  206. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  207. package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
  208. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  209. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +17 -0
  210. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  211. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  212. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  213. package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
  214. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  215. package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
  216. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  217. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
  218. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +29 -0
  219. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
  220. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +19 -0
  221. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
  222. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +19 -0
  223. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
  224. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +29 -0
  225. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
  226. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +29 -0
  227. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
  228. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +29 -0
  229. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
  230. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  231. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
  232. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  233. package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
  234. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  235. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +17 -0
  236. package/shortcutContexts/commands/index.js +35 -0
  237. package/shortcutContexts/commands/index.mjs +31 -0
  238. package/shortcutContexts/commands/moveCellSelection/down.js +13 -0
  239. package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
  240. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +31 -0
  241. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +27 -0
  242. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  243. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  244. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +12 -0
  245. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  246. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +12 -0
  247. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  248. package/shortcutContexts/commands/moveCellSelection/left.js +10 -0
  249. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  250. package/shortcutContexts/commands/moveCellSelection/right.js +10 -0
  251. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  252. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +17 -0
  253. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
  254. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +18 -0
  255. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
  256. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +14 -0
  257. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
  258. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +17 -0
  259. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
  260. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +19 -0
  261. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
  262. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +21 -0
  263. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
  264. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +17 -0
  265. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
  266. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +19 -0
  267. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
  268. package/shortcutContexts/commands/moveCellSelection/up.js +13 -0
  269. package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
  270. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +31 -0
  271. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +27 -0
  272. package/shortcutContexts/commands/populateSelectedCellsData.js +29 -0
  273. package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
  274. package/shortcutContexts/commands/scrollToFocusedCell.js +36 -0
  275. package/shortcutContexts/commands/scrollToFocusedCell.mjs +32 -0
  276. package/shortcutContexts/commands/selectAll.js +10 -0
  277. package/shortcutContexts/commands/selectAll.mjs +6 -0
  278. package/shortcutContexts/constants.js +13 -0
  279. package/shortcutContexts/constants.mjs +8 -0
  280. package/shortcutContexts/editor.js +25 -0
  281. package/shortcutContexts/editor.mjs +21 -0
  282. package/shortcutContexts/grid.js +163 -0
  283. package/shortcutContexts/grid.mjs +159 -0
  284. package/shortcutContexts/index.js +24 -0
  285. package/shortcutContexts/index.mjs +11 -0
  286. package/shortcuts/manager.js +2 -0
  287. package/shortcuts/manager.mjs +2 -0
  288. package/shortcuts/recorder.js +2 -2
  289. package/shortcuts/recorder.mjs +2 -2
  290. package/shortcuts/utils.js +19 -5
  291. package/shortcuts/utils.mjs +18 -4
  292. package/tableView.js +67 -13
  293. package/tableView.mjs +67 -13
  294. package/3rdparty/walkontable/src/selection.js +0 -295
  295. package/3rdparty/walkontable/src/selection.mjs +0 -290
  296. package/selection/highlight/constants.js +0 -15
  297. package/selection/highlight/constants.mjs +0 -6
  298. package/selection/highlight/types/index.js +0 -35
  299. package/selection/highlight/types/index.mjs +0 -31
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'extendCellsSelectionUpByViewportHeight',
6
+ callback(hot) {
7
+ const {
8
+ to
9
+ } = hot.getSelectedRangeLast();
10
+ const nextRowIndexToSelect = Math.max(to.row - hot.countVisibleRows(), 0);
11
+ const row = hot.rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, 1);
12
+ if (row !== null) {
13
+ const coords = hot._createCellCoords(row, to.col);
14
+ const scrollPadding = to.row - hot.view.getFirstFullyVisibleRow();
15
+ const nextVerticalScroll = Math.max(coords.row - scrollPadding, 0);
16
+ hot.selection.setRangeEnd(coords);
17
+ hot.scrollViewportTo(nextVerticalScroll);
18
+ }
19
+ }
20
+ };
21
+ exports.command = command;
@@ -0,0 +1,17 @@
1
+ export const command = {
2
+ name: 'extendCellsSelectionUpByViewportHeight',
3
+ callback(hot) {
4
+ const {
5
+ to
6
+ } = hot.getSelectedRangeLast();
7
+ const nextRowIndexToSelect = Math.max(to.row - hot.countVisibleRows(), 0);
8
+ const row = hot.rowIndexMapper.getNearestNotHiddenIndex(nextRowIndexToSelect, 1);
9
+ if (row !== null) {
10
+ const coords = hot._createCellCoords(row, to.col);
11
+ const scrollPadding = to.row - hot.view.getFirstFullyVisibleRow();
12
+ const nextVerticalScroll = Math.max(coords.row - scrollPadding, 0);
13
+ hot.selection.setRangeEnd(coords);
14
+ hot.scrollViewportTo(nextVerticalScroll);
15
+ }
16
+ }
17
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.createKeyboardShortcutCommandsPool = createKeyboardShortcutCommandsPool;
5
+ var _editor = require("./editor");
6
+ var _extendCellsSelection = require("./extendCellsSelection");
7
+ var _moveCellSelection = require("./moveCellSelection");
8
+ var _emptySelectedCells = require("./emptySelectedCells");
9
+ var _scrollToFocusedCell = require("./scrollToFocusedCell");
10
+ var _selectAll = require("./selectAll");
11
+ var _populateSelectedCellsData = require("./populateSelectedCellsData");
12
+ const allCommands = [...(0, _editor.getAllCommands)(), ...(0, _extendCellsSelection.getAllCommands)(), ...(0, _moveCellSelection.getAllCommands)(), _emptySelectedCells.command, _scrollToFocusedCell.command, _selectAll.command, _populateSelectedCellsData.command];
13
+
14
+ /**
15
+ * Prepares and creates an object with all available commands to trigger.
16
+ *
17
+ * @param {Handsontable} hot The Handsontable instance.
18
+ * @returns {object}
19
+ */
20
+ function createKeyboardShortcutCommandsPool(hot) {
21
+ const commands = {};
22
+ allCommands.forEach(_ref => {
23
+ let {
24
+ name,
25
+ callback
26
+ } = _ref;
27
+ commands[name] = function () {
28
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
+ args[_key] = arguments[_key];
30
+ }
31
+ return callback(hot, ...args);
32
+ };
33
+ });
34
+ return commands;
35
+ }
@@ -0,0 +1,31 @@
1
+ import { getAllCommands as getAllEditorCommands } from "./editor/index.mjs";
2
+ import { getAllCommands as getAllSelectionExtendCommands } from "./extendCellsSelection/index.mjs";
3
+ import { getAllCommands as getAllSelectionMoveCommands } from "./moveCellSelection/index.mjs";
4
+ import { command as emptySelectedCells } from "./emptySelectedCells.mjs";
5
+ import { command as scrollToFocusedCell } from "./scrollToFocusedCell.mjs";
6
+ import { command as selectAll } from "./selectAll.mjs";
7
+ import { command as populateSelectedCellsData } from "./populateSelectedCellsData.mjs";
8
+ const allCommands = [...getAllEditorCommands(), ...getAllSelectionExtendCommands(), ...getAllSelectionMoveCommands(), emptySelectedCells, scrollToFocusedCell, selectAll, populateSelectedCellsData];
9
+
10
+ /**
11
+ * Prepares and creates an object with all available commands to trigger.
12
+ *
13
+ * @param {Handsontable} hot The Handsontable instance.
14
+ * @returns {object}
15
+ */
16
+ export function createKeyboardShortcutCommandsPool(hot) {
17
+ const commands = {};
18
+ allCommands.forEach(_ref => {
19
+ let {
20
+ name,
21
+ callback
22
+ } = _ref;
23
+ commands[name] = function () {
24
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25
+ args[_key] = arguments[_key];
26
+ }
27
+ return callback(hot, ...args);
28
+ };
29
+ });
30
+ return commands;
31
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionDown',
6
+ callback(_ref) {
7
+ let {
8
+ selection
9
+ } = _ref;
10
+ selection.transformStart(1, 0);
11
+ }
12
+ };
13
+ exports.command = command;
@@ -0,0 +1,9 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionDown',
3
+ callback(_ref) {
4
+ let {
5
+ selection
6
+ } = _ref;
7
+ selection.transformStart(1, 0);
8
+ }
9
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionDownByViewportHeight',
6
+ callback(hot) {
7
+ const {
8
+ navigableHeaders
9
+ } = hot.getSettings();
10
+ const columnHeadersCount = navigableHeaders ? hot.countColHeaders() : 0;
11
+ const {
12
+ row
13
+ } = hot.getSelectedRangeLast().highlight;
14
+ let rowsStep = hot.countVisibleRows() + columnHeadersCount;
15
+
16
+ // if the last row is currently selected move the focus to the first row (if autoWrap is enabled)
17
+ if (row === hot.countRows() - 1) {
18
+ rowsStep = 1;
19
+
20
+ // if the next move would move the focus off the table calculate the delta to move the selection to
21
+ // the last row
22
+ } else if (row + rowsStep > hot.countRows()) {
23
+ rowsStep = hot.countRows() - row - 1;
24
+ }
25
+ hot.selection.transformStart(rowsStep, 0);
26
+ if (hot.getSelectedRangeLast().highlight.row < 0) {
27
+ hot.scrollViewportTo(0);
28
+ }
29
+ }
30
+ };
31
+ exports.command = command;
@@ -0,0 +1,27 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionDownByViewportHeight',
3
+ callback(hot) {
4
+ const {
5
+ navigableHeaders
6
+ } = hot.getSettings();
7
+ const columnHeadersCount = navigableHeaders ? hot.countColHeaders() : 0;
8
+ const {
9
+ row
10
+ } = hot.getSelectedRangeLast().highlight;
11
+ let rowsStep = hot.countVisibleRows() + columnHeadersCount;
12
+
13
+ // if the last row is currently selected move the focus to the first row (if autoWrap is enabled)
14
+ if (row === hot.countRows() - 1) {
15
+ rowsStep = 1;
16
+
17
+ // if the next move would move the focus off the table calculate the delta to move the selection to
18
+ // the last row
19
+ } else if (row + rowsStep > hot.countRows()) {
20
+ rowsStep = hot.countRows() - row - 1;
21
+ }
22
+ hot.selection.transformStart(rowsStep, 0);
23
+ if (hot.getSelectedRangeLast().highlight.row < 0) {
24
+ hot.scrollViewportTo(0);
25
+ }
26
+ }
27
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getAllCommands = getAllCommands;
5
+ var _down = require("./down");
6
+ var _downByViewportHeight = require("./downByViewportHeight");
7
+ var _inlineEnd = require("./inlineEnd");
8
+ var _inlineStart = require("./inlineStart");
9
+ var _left = require("./left");
10
+ var _right = require("./right");
11
+ var _toMostBottom = require("./toMostBottom");
12
+ var _toMostBottomInlineEnd = require("./toMostBottomInlineEnd");
13
+ var _toMostInlineEnd = require("./toMostInlineEnd");
14
+ var _toMostInlineStart = require("./toMostInlineStart");
15
+ var _toMostLeft = require("./toMostLeft");
16
+ var _toMostRight = require("./toMostRight");
17
+ var _toMostTop = require("./toMostTop");
18
+ var _toMostTopInlineStart = require("./toMostTopInlineStart");
19
+ var _up = require("./up");
20
+ var _upByViewportHeight = require("./upByViewportHeight");
21
+ /**
22
+ * Returns complete list of the shortcut commands for the cells moving feature.
23
+ *
24
+ * @returns {Function[]}
25
+ */
26
+ function getAllCommands() {
27
+ return [_down.command, _downByViewportHeight.command, _inlineEnd.command, _inlineStart.command, _left.command, _right.command, _toMostBottom.command, _toMostBottomInlineEnd.command, _toMostInlineEnd.command, _toMostInlineStart.command, _toMostLeft.command, _toMostRight.command, _toMostTop.command, _toMostTopInlineStart.command, _up.command, _upByViewportHeight.command];
28
+ }
@@ -0,0 +1,24 @@
1
+ import { command as down } from "./down.mjs";
2
+ import { command as downByViewportHeight } from "./downByViewportHeight.mjs";
3
+ import { command as inlineEnd } from "./inlineEnd.mjs";
4
+ import { command as inlineStart } from "./inlineStart.mjs";
5
+ import { command as left } from "./left.mjs";
6
+ import { command as right } from "./right.mjs";
7
+ import { command as toMostBottom } from "./toMostBottom.mjs";
8
+ import { command as toMostBottomInlineEnd } from "./toMostBottomInlineEnd.mjs";
9
+ import { command as toMostInlineEnd } from "./toMostInlineEnd.mjs";
10
+ import { command as toMostInlineStart } from "./toMostInlineStart.mjs";
11
+ import { command as toMostLeft } from "./toMostLeft.mjs";
12
+ import { command as toMostRight } from "./toMostRight.mjs";
13
+ import { command as toMostTop } from "./toMostTop.mjs";
14
+ import { command as toMostTopInlineStart } from "./toMostTopInlineStart.mjs";
15
+ import { command as up } from "./up.mjs";
16
+ import { command as upByViewportHeight } from "./upByViewportHeight.mjs";
17
+ /**
18
+ * Returns complete list of the shortcut commands for the cells moving feature.
19
+ *
20
+ * @returns {Function[]}
21
+ */
22
+ export function getAllCommands() {
23
+ return [down, downByViewportHeight, inlineEnd, inlineStart, left, right, toMostBottom, toMostBottomInlineEnd, toMostInlineEnd, toMostInlineStart, toMostLeft, toMostRight, toMostTop, toMostTopInlineStart, up, upByViewportHeight];
24
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionInlineEnd',
6
+ callback(hot, event) {
7
+ const settings = hot.getSettings();
8
+ const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
9
+ hot.selection.transformStart(-tabMoves.row, -tabMoves.col);
10
+ }
11
+ };
12
+ exports.command = command;
@@ -0,0 +1,8 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionInlineEnd',
3
+ callback(hot, event) {
4
+ const settings = hot.getSettings();
5
+ const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
6
+ hot.selection.transformStart(-tabMoves.row, -tabMoves.col);
7
+ }
8
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionInlineStart',
6
+ callback(hot, event) {
7
+ const settings = hot.getSettings();
8
+ const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
9
+ hot.selection.transformStart(tabMoves.row, tabMoves.col, true);
10
+ }
11
+ };
12
+ exports.command = command;
@@ -0,0 +1,8 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionInlineStart',
3
+ callback(hot, event) {
4
+ const settings = hot.getSettings();
5
+ const tabMoves = typeof settings.tabMoves === 'function' ? settings.tabMoves(event) : settings.tabMoves;
6
+ hot.selection.transformStart(tabMoves.row, tabMoves.col, true);
7
+ }
8
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionLeft',
6
+ callback(hot) {
7
+ hot.selection.transformStart(0, -1 * hot.getDirectionFactor());
8
+ }
9
+ };
10
+ exports.command = command;
@@ -0,0 +1,6 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionLeft',
3
+ callback(hot) {
4
+ hot.selection.transformStart(0, -1 * hot.getDirectionFactor());
5
+ }
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionRight',
6
+ callback(hot) {
7
+ hot.selection.transformStart(0, hot.getDirectionFactor());
8
+ }
9
+ };
10
+ exports.command = command;
@@ -0,0 +1,6 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionRight',
3
+ callback(hot) {
4
+ hot.selection.transformStart(0, hot.getDirectionFactor());
5
+ }
6
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostBottom',
6
+ callback(hot) {
7
+ const {
8
+ col
9
+ } = hot.getSelectedRangeLast().highlight;
10
+ let row = hot.rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - 1, -1);
11
+ if (row === null) {
12
+ row = -1;
13
+ }
14
+ hot.selection.setRangeStart(hot._createCellCoords(row, col));
15
+ }
16
+ };
17
+ exports.command = command;
@@ -0,0 +1,13 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostBottom',
3
+ callback(hot) {
4
+ const {
5
+ col
6
+ } = hot.getSelectedRangeLast().highlight;
7
+ let row = hot.rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - 1, -1);
8
+ if (row === null) {
9
+ row = -1;
10
+ }
11
+ hot.selection.setRangeStart(hot._createCellCoords(row, col));
12
+ }
13
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostBottomInlineEnd',
6
+ callback(hot) {
7
+ const {
8
+ selection,
9
+ rowIndexMapper,
10
+ columnIndexMapper
11
+ } = hot;
12
+ const fixedRows = parseInt(hot.getSettings().fixedRowsBottom, 10);
13
+ const row = rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - fixedRows - 1, -1);
14
+ const column = columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1);
15
+ selection.setRangeStart(hot._createCellCoords(row, column));
16
+ }
17
+ };
18
+ exports.command = command;
@@ -0,0 +1,14 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostBottomInlineEnd',
3
+ callback(hot) {
4
+ const {
5
+ selection,
6
+ rowIndexMapper,
7
+ columnIndexMapper
8
+ } = hot;
9
+ const fixedRows = parseInt(hot.getSettings().fixedRowsBottom, 10);
10
+ const row = rowIndexMapper.getNearestNotHiddenIndex(hot.countRows() - fixedRows - 1, -1);
11
+ const column = columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1);
12
+ selection.setRangeStart(hot._createCellCoords(row, column));
13
+ }
14
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostInlineEnd',
6
+ callback(hot) {
7
+ const {
8
+ selection,
9
+ columnIndexMapper
10
+ } = hot;
11
+ selection.setRangeStart(hot._createCellCoords(hot.getSelectedRangeLast().highlight.row, columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1)));
12
+ }
13
+ };
14
+ exports.command = command;
@@ -0,0 +1,10 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostInlineEnd',
3
+ callback(hot) {
4
+ const {
5
+ selection,
6
+ columnIndexMapper
7
+ } = hot;
8
+ selection.setRangeStart(hot._createCellCoords(hot.getSelectedRangeLast().highlight.row, columnIndexMapper.getNearestNotHiddenIndex(hot.countCols() - 1, -1)));
9
+ }
10
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostInlineStart',
6
+ callback(hot) {
7
+ const {
8
+ selection,
9
+ columnIndexMapper
10
+ } = hot;
11
+ const fixedColumns = parseInt(hot.getSettings().fixedColumnsStart, 10);
12
+ const row = hot.getSelectedRangeLast().highlight.row;
13
+ const column = columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
14
+ selection.setRangeStart(hot._createCellCoords(row, column));
15
+ }
16
+ };
17
+ exports.command = command;
@@ -0,0 +1,13 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostInlineStart',
3
+ callback(hot) {
4
+ const {
5
+ selection,
6
+ columnIndexMapper
7
+ } = hot;
8
+ const fixedColumns = parseInt(hot.getSettings().fixedColumnsStart, 10);
9
+ const row = hot.getSelectedRangeLast().highlight.row;
10
+ const column = columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
11
+ selection.setRangeStart(hot._createCellCoords(row, column));
12
+ }
13
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostLeft',
6
+ callback(hot) {
7
+ const {
8
+ selection,
9
+ columnIndexMapper
10
+ } = hot;
11
+ const row = hot.getSelectedRangeLast().highlight.row;
12
+ let column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [hot.countCols() - 1, -1] : [0, 1]));
13
+ if (column === null) {
14
+ column = hot.isRtl() ? -1 : -hot.countRowHeaders();
15
+ }
16
+ selection.setRangeStart(hot._createCellCoords(row, column));
17
+ }
18
+ };
19
+ exports.command = command;
@@ -0,0 +1,15 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostLeft',
3
+ callback(hot) {
4
+ const {
5
+ selection,
6
+ columnIndexMapper
7
+ } = hot;
8
+ const row = hot.getSelectedRangeLast().highlight.row;
9
+ let column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [hot.countCols() - 1, -1] : [0, 1]));
10
+ if (column === null) {
11
+ column = hot.isRtl() ? -1 : -hot.countRowHeaders();
12
+ }
13
+ selection.setRangeStart(hot._createCellCoords(row, column));
14
+ }
15
+ };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostRight',
6
+ callback(hot) {
7
+ const {
8
+ selection,
9
+ columnIndexMapper
10
+ } = hot;
11
+ const {
12
+ row
13
+ } = hot.getSelectedRangeLast().highlight;
14
+ let column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [0, 1] : [hot.countCols() - 1, -1]));
15
+ if (column === null) {
16
+ column = hot.isRtl() ? -hot.countRowHeaders() : -1;
17
+ }
18
+ selection.setRangeStart(hot._createCellCoords(row, column));
19
+ }
20
+ };
21
+ exports.command = command;
@@ -0,0 +1,17 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostRight',
3
+ callback(hot) {
4
+ const {
5
+ selection,
6
+ columnIndexMapper
7
+ } = hot;
8
+ const {
9
+ row
10
+ } = hot.getSelectedRangeLast().highlight;
11
+ let column = columnIndexMapper.getNearestNotHiddenIndex(...(hot.isRtl() ? [0, 1] : [hot.countCols() - 1, -1]));
12
+ if (column === null) {
13
+ column = hot.isRtl() ? -hot.countRowHeaders() : -1;
14
+ }
15
+ selection.setRangeStart(hot._createCellCoords(row, column));
16
+ }
17
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostTop',
6
+ callback(hot) {
7
+ const {
8
+ col
9
+ } = hot.getSelectedRangeLast().highlight;
10
+ let row = hot.rowIndexMapper.getNearestNotHiddenIndex(0, 1);
11
+ if (row === null) {
12
+ row = -hot.countColHeaders();
13
+ }
14
+ hot.selection.setRangeStart(hot._createCellCoords(row, col));
15
+ }
16
+ };
17
+ exports.command = command;
@@ -0,0 +1,13 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostTop',
3
+ callback(hot) {
4
+ const {
5
+ col
6
+ } = hot.getSelectedRangeLast().highlight;
7
+ let row = hot.rowIndexMapper.getNearestNotHiddenIndex(0, 1);
8
+ if (row === null) {
9
+ row = -hot.countColHeaders();
10
+ }
11
+ hot.selection.setRangeStart(hot._createCellCoords(row, col));
12
+ }
13
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionToMostTopInlineStart',
6
+ callback(hot) {
7
+ const {
8
+ selection,
9
+ rowIndexMapper,
10
+ columnIndexMapper
11
+ } = hot;
12
+ const fixedRows = parseInt(hot.getSettings().fixedRowsTop, 10);
13
+ const fixedColumns = parseInt(hot.getSettings().fixedColumnsStart, 10);
14
+ const row = rowIndexMapper.getNearestNotHiddenIndex(fixedRows, 1);
15
+ const column = columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
16
+ selection.setRangeStart(hot._createCellCoords(row, column));
17
+ }
18
+ };
19
+ exports.command = command;
@@ -0,0 +1,15 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionToMostTopInlineStart',
3
+ callback(hot) {
4
+ const {
5
+ selection,
6
+ rowIndexMapper,
7
+ columnIndexMapper
8
+ } = hot;
9
+ const fixedRows = parseInt(hot.getSettings().fixedRowsTop, 10);
10
+ const fixedColumns = parseInt(hot.getSettings().fixedColumnsStart, 10);
11
+ const row = rowIndexMapper.getNearestNotHiddenIndex(fixedRows, 1);
12
+ const column = columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
13
+ selection.setRangeStart(hot._createCellCoords(row, column));
14
+ }
15
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ const command = {
5
+ name: 'moveCellSelectionUp',
6
+ callback(_ref) {
7
+ let {
8
+ selection
9
+ } = _ref;
10
+ selection.transformStart(-1, 0);
11
+ }
12
+ };
13
+ exports.command = command;
@@ -0,0 +1,9 @@
1
+ export const command = {
2
+ name: 'moveCellSelectionUp',
3
+ callback(_ref) {
4
+ let {
5
+ selection
6
+ } = _ref;
7
+ selection.transformStart(-1, 0);
8
+ }
9
+ };