handsontable 0.0.0-next-ecc62fd-20230525 → 0.0.0-next-93e34dc-20230601

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 (216) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +61 -12
  3. package/3rdparty/walkontable/src/cell/coords.mjs +61 -12
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +44 -7
  6. package/3rdparty/walkontable/src/cell/range.mjs +44 -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 -4
  22. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
  23. package/3rdparty/walkontable/src/overlay/top.js +2 -4
  24. package/3rdparty/walkontable/src/overlay/top.mjs +2 -4
  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 +18 -0
  28. package/3rdparty/walkontable/src/selection/border/constants.mjs +13 -0
  29. package/3rdparty/walkontable/src/selection/constants.js +63 -0
  30. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  31. package/3rdparty/walkontable/src/selection/index.js +30 -0
  32. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  33. package/3rdparty/walkontable/src/selection/manager.js +328 -0
  34. package/3rdparty/walkontable/src/selection/manager.mjs +322 -0
  35. package/3rdparty/walkontable/src/selection/scanner.js +363 -0
  36. package/3rdparty/walkontable/src/selection/scanner.mjs +359 -0
  37. package/3rdparty/walkontable/src/selection/selection.js +133 -0
  38. package/3rdparty/walkontable/src/selection/selection.mjs +127 -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 +7 -79
  50. package/3rdparty/walkontable/src/table.mjs +8 -80
  51. package/base.js +2 -2
  52. package/base.mjs +2 -2
  53. package/core.d.ts +5 -3
  54. package/core.js +82 -300
  55. package/core.mjs +82 -300
  56. package/dataMap/metaManager/metaSchema.js +15 -0
  57. package/dataMap/metaManager/metaSchema.mjs +15 -0
  58. package/dist/handsontable.css +8 -3
  59. package/dist/handsontable.full.css +8 -3
  60. package/dist/handsontable.full.js +12245 -9953
  61. package/dist/handsontable.full.min.css +3 -3
  62. package/dist/handsontable.full.min.js +120 -120
  63. package/dist/handsontable.js +15898 -13606
  64. package/dist/handsontable.min.css +3 -3
  65. package/dist/handsontable.min.js +4 -4
  66. package/editorManager.js +20 -82
  67. package/editorManager.mjs +25 -86
  68. package/editors/textEditor/textEditor.js +3 -11
  69. package/editors/textEditor/textEditor.mjs +4 -12
  70. package/helpers/mixed.js +1 -1
  71. package/helpers/mixed.mjs +1 -1
  72. package/helpers/number.d.ts +1 -0
  73. package/helpers/number.js +18 -0
  74. package/helpers/number.mjs +17 -0
  75. package/package.json +1 -1
  76. package/pluginHooks.js +1 -1
  77. package/pluginHooks.mjs +1 -1
  78. package/plugins/copyPaste/copyPaste.js +5 -1
  79. package/plugins/copyPaste/copyPaste.mjs +5 -1
  80. package/plugins/customBorders/customBorders.js +18 -52
  81. package/plugins/customBorders/customBorders.mjs +19 -53
  82. package/plugins/mergeCells/mergeCells.js +5 -18
  83. package/plugins/mergeCells/mergeCells.mjs +5 -18
  84. package/plugins/nestedHeaders/nestedHeaders.js +89 -9
  85. package/plugins/nestedHeaders/nestedHeaders.mjs +89 -9
  86. package/plugins/nestedHeaders/stateManager/index.js +37 -0
  87. package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
  88. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
  89. package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
  90. package/selection/highlight/highlight.js +311 -88
  91. package/selection/highlight/highlight.mjs +301 -84
  92. package/selection/highlight/types/activeHeader.js +10 -9
  93. package/selection/highlight/types/activeHeader.mjs +10 -8
  94. package/selection/highlight/types/area.js +12 -27
  95. package/selection/highlight/types/area.mjs +16 -30
  96. package/selection/highlight/types/areaLayered.js +54 -0
  97. package/selection/highlight/types/areaLayered.mjs +49 -0
  98. package/selection/highlight/types/column.js +50 -0
  99. package/selection/highlight/types/column.mjs +45 -0
  100. package/selection/highlight/types/customSelection.js +7 -10
  101. package/selection/highlight/types/customSelection.mjs +7 -9
  102. package/selection/highlight/types/fill.js +5 -8
  103. package/selection/highlight/types/fill.mjs +5 -7
  104. package/selection/highlight/types/{cell.js → focus.js} +5 -8
  105. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  106. package/selection/highlight/types/header.js +10 -20
  107. package/selection/highlight/types/header.mjs +10 -19
  108. package/selection/highlight/types/{index.js → row.js} +27 -31
  109. package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
  110. package/selection/highlight/visualSelection.js +23 -28
  111. package/selection/highlight/visualSelection.mjs +23 -28
  112. package/selection/index.js +4 -7
  113. package/selection/index.mjs +2 -3
  114. package/selection/mouseEventHandler.js +1 -1
  115. package/selection/mouseEventHandler.mjs +1 -1
  116. package/selection/range.js +8 -8
  117. package/selection/range.mjs +8 -8
  118. package/selection/selection.js +296 -180
  119. package/selection/selection.mjs +291 -179
  120. package/selection/transformation.js +233 -96
  121. package/selection/transformation.mjs +230 -93
  122. package/selection/utils.js +12 -35
  123. package/selection/utils.mjs +13 -35
  124. package/settings.d.ts +1 -0
  125. package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
  126. package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
  127. package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
  128. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  129. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  130. package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
  131. package/shortcutContexts/commands/editor/index.js +16 -0
  132. package/shortcutContexts/commands/editor/index.mjs +12 -0
  133. package/shortcutContexts/commands/editor/open.js +29 -0
  134. package/shortcutContexts/commands/editor/open.mjs +24 -0
  135. package/shortcutContexts/commands/emptySelectedCells.js +12 -0
  136. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  137. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  138. package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
  139. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
  140. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
  141. package/shortcutContexts/commands/extendCellsSelection/index.js +24 -0
  142. package/shortcutContexts/commands/extendCellsSelection/index.mjs +20 -0
  143. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  144. package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
  145. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  146. package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
  147. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
  148. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
  149. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
  150. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
  151. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
  152. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
  153. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +39 -0
  154. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +34 -0
  155. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +39 -0
  156. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +34 -0
  157. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
  158. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
  159. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  160. package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
  161. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
  162. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
  163. package/shortcutContexts/commands/index.js +51 -0
  164. package/shortcutContexts/commands/index.mjs +47 -0
  165. package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
  166. package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
  167. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +11 -0
  168. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +6 -0
  169. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  170. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  171. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
  172. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  173. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
  174. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  175. package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
  176. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  177. package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
  178. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  179. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
  180. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
  181. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
  182. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
  183. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
  184. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
  185. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
  186. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
  187. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +35 -0
  188. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +30 -0
  189. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +35 -0
  190. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +30 -0
  191. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
  192. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
  193. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
  194. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
  195. package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
  196. package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
  197. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +11 -0
  198. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +6 -0
  199. package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
  200. package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
  201. package/shortcutContexts/commands/selectAll.js +11 -0
  202. package/shortcutContexts/commands/selectAll.mjs +6 -0
  203. package/shortcutContexts/constants.js +19 -0
  204. package/shortcutContexts/constants.mjs +12 -0
  205. package/shortcutContexts/editor.js +29 -0
  206. package/shortcutContexts/editor.mjs +25 -0
  207. package/shortcutContexts/grid.js +232 -0
  208. package/shortcutContexts/grid.mjs +228 -0
  209. package/shortcutContexts/index.js +29 -0
  210. package/shortcutContexts/index.mjs +15 -0
  211. package/tableView.js +58 -9
  212. package/tableView.mjs +58 -9
  213. package/3rdparty/walkontable/src/selection.js +0 -354
  214. package/3rdparty/walkontable/src/selection.mjs +0 -348
  215. package/selection/highlight/constants.js +0 -16
  216. package/selection/highlight/constants.mjs +0 -6
@@ -0,0 +1,13 @@
1
+ export var command = {
2
+ name: 'moveCellSelectionToMostTopInlineStart',
3
+ callback: function callback(hot) {
4
+ var selection = hot.selection,
5
+ rowIndexMapper = hot.rowIndexMapper,
6
+ columnIndexMapper = hot.columnIndexMapper;
7
+ var fixedRows = parseInt(hot.getSettings().fixedRowsTop, 10);
8
+ var fixedColumns = parseInt(hot.getSettings().fixedColumnsStart, 10);
9
+ var row = rowIndexMapper.getNearestNotHiddenIndex(fixedRows, 1);
10
+ var column = columnIndexMapper.getNearestNotHiddenIndex(fixedColumns, 1);
11
+ selection.setRangeStart(hot._createCellCoords(row, column));
12
+ }
13
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.command = void 0;
5
+ var command = {
6
+ name: 'moveCellSelectionUp',
7
+ callback: function callback(_ref) {
8
+ var selection = _ref.selection;
9
+ selection.transformStart(-1, 0);
10
+ }
11
+ };
12
+ exports.command = command;
@@ -0,0 +1,7 @@
1
+ export var command = {
2
+ name: 'moveCellSelectionUp',
3
+ callback: function callback(_ref) {
4
+ var selection = _ref.selection;
5
+ selection.transformStart(-1, 0);
6
+ }
7
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.command = void 0;
5
+ var command = {
6
+ name: 'moveCellSelectionUpByViewportHight',
7
+ callback: function callback(hot) {
8
+ hot.selection.transformStart(-hot.countVisibleRows(), 0);
9
+ }
10
+ };
11
+ exports.command = command;
@@ -0,0 +1,6 @@
1
+ export var command = {
2
+ name: 'moveCellSelectionUpByViewportHight',
3
+ callback: function callback(hot) {
4
+ hot.selection.transformStart(-hot.countVisibleRows(), 0);
5
+ }
6
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.command = void 0;
5
+ require("core-js/modules/es.array.iterator.js");
6
+ require("core-js/modules/es.map.js");
7
+ require("core-js/modules/es.object.to-string.js");
8
+ require("core-js/modules/es.string.iterator.js");
9
+ require("core-js/modules/web.dom-collections.iterator.js");
10
+ require("core-js/modules/es.array.concat.js");
11
+ require("core-js/modules/es.array.from.js");
12
+ var command = {
13
+ name: 'populateSelectedCellsData',
14
+ callback: function callback(hot) {
15
+ var selectedRange = hot.getSelectedRange();
16
+ var _selectedRange$highli = selectedRange[selectedRange.length - 1].highlight.normalize(),
17
+ highlightRow = _selectedRange$highli.row,
18
+ highlightColumn = _selectedRange$highli.col;
19
+ var valueToPopulate = hot.getDataAtCell(highlightRow, highlightColumn);
20
+ var cellValues = new Map();
21
+ for (var i = 0; i < selectedRange.length; i++) {
22
+ selectedRange[i].forAll(function (row, column) {
23
+ if (row >= 0 && column >= 0 && (row !== highlightRow || column !== highlightColumn)) {
24
+ var _hot$getCellMeta = hot.getCellMeta(row, column),
25
+ readOnly = _hot$getCellMeta.readOnly;
26
+ if (!readOnly) {
27
+ cellValues.set("".concat(row, "x").concat(column), [row, column, valueToPopulate]);
28
+ }
29
+ }
30
+ });
31
+ }
32
+ hot.setDataAtCell(Array.from(cellValues.values()));
33
+ }
34
+ };
35
+ exports.command = command;
@@ -0,0 +1,30 @@
1
+ import "core-js/modules/es.array.iterator.js";
2
+ import "core-js/modules/es.map.js";
3
+ import "core-js/modules/es.object.to-string.js";
4
+ import "core-js/modules/es.string.iterator.js";
5
+ import "core-js/modules/web.dom-collections.iterator.js";
6
+ import "core-js/modules/es.array.concat.js";
7
+ import "core-js/modules/es.array.from.js";
8
+ export var command = {
9
+ name: 'populateSelectedCellsData',
10
+ callback: function callback(hot) {
11
+ var selectedRange = hot.getSelectedRange();
12
+ var _selectedRange$highli = selectedRange[selectedRange.length - 1].highlight.normalize(),
13
+ highlightRow = _selectedRange$highli.row,
14
+ highlightColumn = _selectedRange$highli.col;
15
+ var valueToPopulate = hot.getDataAtCell(highlightRow, highlightColumn);
16
+ var cellValues = new Map();
17
+ for (var i = 0; i < selectedRange.length; i++) {
18
+ selectedRange[i].forAll(function (row, column) {
19
+ if (row >= 0 && column >= 0 && (row !== highlightRow || column !== highlightColumn)) {
20
+ var _hot$getCellMeta = hot.getCellMeta(row, column),
21
+ readOnly = _hot$getCellMeta.readOnly;
22
+ if (!readOnly) {
23
+ cellValues.set("".concat(row, "x").concat(column), [row, column, valueToPopulate]);
24
+ }
25
+ }
26
+ });
27
+ }
28
+ hot.setDataAtCell(Array.from(cellValues.values()));
29
+ }
30
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.command = void 0;
5
+ var command = {
6
+ name: 'selectAll',
7
+ callback: function callback(hot) {
8
+ hot.selectAll();
9
+ }
10
+ };
11
+ exports.command = command;
@@ -0,0 +1,6 @@
1
+ export var command = {
2
+ name: 'selectAll',
3
+ callback: function callback(hot) {
4
+ hot.selectAll();
5
+ }
6
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.HEADERS_GROUP = exports.GRID_GROUP = exports.EDITOR_EDIT_GROUP = void 0;
5
+ /**
6
+ * Group name for keyboard shortcuts that are active when the header is selected.
7
+ */
8
+ var HEADERS_GROUP = 'headersDefault';
9
+ /**
10
+ * Group name for keyboard shortcuts that are active when the cell is selected.
11
+ */
12
+ exports.HEADERS_GROUP = HEADERS_GROUP;
13
+ var GRID_GROUP = 'gridDefault';
14
+ /**
15
+ * Group name for keyboard shortcuts that are active when the cell editor is active.
16
+ */
17
+ exports.GRID_GROUP = GRID_GROUP;
18
+ var EDITOR_EDIT_GROUP = 'editorManager.handlingEditor';
19
+ exports.EDITOR_EDIT_GROUP = EDITOR_EDIT_GROUP;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Group name for keyboard shortcuts that are active when the header is selected.
3
+ */
4
+ export var HEADERS_GROUP = 'headersDefault';
5
+ /**
6
+ * Group name for keyboard shortcuts that are active when the cell is selected.
7
+ */
8
+ export var GRID_GROUP = 'gridDefault';
9
+ /**
10
+ * Group name for keyboard shortcuts that are active when the cell editor is active.
11
+ */
12
+ export var EDITOR_EDIT_GROUP = 'editorManager.handlingEditor';
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.shortcutsEditorContext = shortcutsEditorContext;
5
+ var _constants = require("./constants");
6
+ var _commands = require("./commands");
7
+ /**
8
+ * The context that defines a base shortcut list available for cells editors.
9
+ *
10
+ * @param {Handsontable} hot The Handsontable instance.
11
+ */
12
+ function shortcutsEditorContext(hot) {
13
+ var context = hot.getShortcutManager().addContext('editor');
14
+ var commandsPool = (0, _commands.createKeyboardShortcutCommandsPool)(hot);
15
+ var config = {
16
+ group: _constants.EDITOR_EDIT_GROUP
17
+ };
18
+ context.addShortcuts([{
19
+ keys: [['Enter'], ['Enter', 'Shift'], ['Enter', 'Control/Meta'], ['Enter', 'Control/Meta', 'Shift']],
20
+ callback: function callback(event, keys) {
21
+ return commandsPool.editorCloseAndSave(event, keys);
22
+ }
23
+ }, {
24
+ keys: [['Escape'], ['Escape', 'Control/Meta']],
25
+ callback: function callback() {
26
+ return commandsPool.editorCloseWithoutSaving();
27
+ }
28
+ }], config);
29
+ }
@@ -0,0 +1,25 @@
1
+ import { EDITOR_EDIT_GROUP } from "./constants.mjs";
2
+ import { createKeyboardShortcutCommandsPool } from "./commands/index.mjs";
3
+ /**
4
+ * The context that defines a base shortcut list available for cells editors.
5
+ *
6
+ * @param {Handsontable} hot The Handsontable instance.
7
+ */
8
+ export function shortcutsEditorContext(hot) {
9
+ var context = hot.getShortcutManager().addContext('editor');
10
+ var commandsPool = createKeyboardShortcutCommandsPool(hot);
11
+ var config = {
12
+ group: EDITOR_EDIT_GROUP
13
+ };
14
+ context.addShortcuts([{
15
+ keys: [['Enter'], ['Enter', 'Shift'], ['Enter', 'Control/Meta'], ['Enter', 'Control/Meta', 'Shift']],
16
+ callback: function callback(event, keys) {
17
+ return commandsPool.editorCloseAndSave(event, keys);
18
+ }
19
+ }, {
20
+ keys: [['Escape'], ['Escape', 'Control/Meta']],
21
+ callback: function callback() {
22
+ return commandsPool.editorCloseWithoutSaving();
23
+ }
24
+ }], config);
25
+ }
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.shortcutsGridContext = shortcutsGridContext;
5
+ var _mixed = require("../helpers/mixed");
6
+ var _constants = require("./constants");
7
+ var _commands = require("./commands");
8
+ /**
9
+ * The context that defines shortcut list available for selected cell or cells.
10
+ *
11
+ * @param {Handsontable} hot The Handsontable instance.
12
+ */
13
+ function shortcutsGridContext(hot) {
14
+ var context = hot.getShortcutManager().addContext('grid');
15
+ var commandsPool = (0, _commands.createKeyboardShortcutCommandsPool)(hot);
16
+ var config = {
17
+ runOnlyIf: function runOnlyIf() {
18
+ var _hot$getSettings = hot.getSettings(),
19
+ navigableHeaders = _hot$getSettings.navigableHeaders;
20
+ return (0, _mixed.isDefined)(hot.getSelected()) && (navigableHeaders || !navigableHeaders && hot.countRenderedRows() > 0 && hot.countRenderedCols() > 0);
21
+ },
22
+ group: _constants.GRID_GROUP
23
+ };
24
+ context.addShortcuts([{
25
+ keys: [['F2']],
26
+ callback: function callback(event) {
27
+ return commandsPool.editorFastOpen(event);
28
+ }
29
+ }, {
30
+ keys: [['Enter'], ['Enter', 'Shift']],
31
+ callback: function callback(event, keys) {
32
+ return commandsPool.editorOpen(event, keys);
33
+ }
34
+ }, {
35
+ keys: [['Backspace'], ['Delete']],
36
+ callback: function callback() {
37
+ return commandsPool.emptySelectedCells();
38
+ }
39
+ }], {
40
+ group: _constants.EDITOR_EDIT_GROUP
41
+ });
42
+ context.addShortcuts([{
43
+ keys: [['Control/Meta', 'A'], ['Control/Meta', 'Shift', 'Space']],
44
+ callback: function callback() {
45
+ return commandsPool.selectAll();
46
+ }
47
+ }, {
48
+ keys: [['Control/Meta', 'Enter']],
49
+ callback: function callback() {
50
+ return commandsPool.populateSelectedCellsData();
51
+ },
52
+ runOnlyIf: function runOnlyIf() {
53
+ return hot.getSelectedRangeLast().getCellsCount() > 1;
54
+ }
55
+ }, {
56
+ keys: [['ArrowUp']],
57
+ callback: function callback() {
58
+ return commandsPool.moveCellSelectionUp();
59
+ }
60
+ }, {
61
+ keys: [['ArrowUp', 'Control/Meta']],
62
+ captureCtrl: true,
63
+ callback: function callback() {
64
+ return commandsPool.moveCellSelectionToMostTop();
65
+ }
66
+ }, {
67
+ keys: [['ArrowUp', 'Shift']],
68
+ callback: function callback() {
69
+ return commandsPool.extendCellsSelectionUp();
70
+ }
71
+ }, {
72
+ keys: [['ArrowUp', 'Shift', 'Control/Meta']],
73
+ captureCtrl: true,
74
+ callback: function callback() {
75
+ return commandsPool.extendCellsSelectionToMostTop();
76
+ },
77
+ runOnlyIf: function runOnlyIf() {
78
+ return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
79
+ }
80
+ }, {
81
+ keys: [['ArrowDown']],
82
+ callback: function callback() {
83
+ return commandsPool.moveCellSelectionDown();
84
+ }
85
+ }, {
86
+ keys: [['ArrowDown', 'Control/Meta']],
87
+ captureCtrl: true,
88
+ callback: function callback() {
89
+ return commandsPool.moveCellSelectionToMostBottom();
90
+ }
91
+ }, {
92
+ keys: [['ArrowDown', 'Shift']],
93
+ callback: function callback() {
94
+ return commandsPool.extendCellsSelectionDown();
95
+ }
96
+ }, {
97
+ keys: [['ArrowDown', 'Shift', 'Control/Meta']],
98
+ captureCtrl: true,
99
+ callback: function callback() {
100
+ return commandsPool.extendCellsSelectionToMostBottom();
101
+ },
102
+ runOnlyIf: function runOnlyIf() {
103
+ return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
104
+ }
105
+ }, {
106
+ keys: [['ArrowLeft']],
107
+ callback: function callback() {
108
+ return commandsPool.moveCellSelectionLeft();
109
+ }
110
+ }, {
111
+ keys: [['ArrowLeft', 'Control/Meta']],
112
+ captureCtrl: true,
113
+ callback: function callback() {
114
+ return commandsPool.moveCellSelectionToMostLeft();
115
+ }
116
+ }, {
117
+ keys: [['ArrowLeft', 'Shift']],
118
+ callback: function callback() {
119
+ return commandsPool.extendCellsSelectionLeft();
120
+ }
121
+ }, {
122
+ keys: [['ArrowLeft', 'Shift', 'Control/Meta']],
123
+ captureCtrl: true,
124
+ callback: function callback() {
125
+ return commandsPool.extendCellsSelectionToMostLeft();
126
+ },
127
+ runOnlyIf: function runOnlyIf() {
128
+ return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
129
+ }
130
+ }, {
131
+ keys: [['ArrowRight']],
132
+ callback: function callback() {
133
+ return commandsPool.moveCellSelectionRight();
134
+ }
135
+ }, {
136
+ keys: [['ArrowRight', 'Control/Meta']],
137
+ captureCtrl: true,
138
+ callback: function callback() {
139
+ return commandsPool.moveCellSelectionToMostRight();
140
+ }
141
+ }, {
142
+ keys: [['ArrowRight', 'Shift']],
143
+ callback: function callback() {
144
+ return commandsPool.extendCellsSelectionRight();
145
+ }
146
+ }, {
147
+ keys: [['ArrowRight', 'Shift', 'Control/Meta']],
148
+ captureCtrl: true,
149
+ callback: function callback() {
150
+ return commandsPool.extendCellsSelectionToMostRight();
151
+ },
152
+ runOnlyIf: function runOnlyIf() {
153
+ return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
154
+ }
155
+ }, {
156
+ keys: [['Home']],
157
+ captureCtrl: true,
158
+ callback: function callback() {
159
+ return commandsPool.moveCellSelectionToMostInlineStart();
160
+ },
161
+ runOnlyIf: function runOnlyIf() {
162
+ return hot.view.isMainTableNotFullyCoveredByOverlays();
163
+ }
164
+ }, {
165
+ keys: [['Home', 'Shift']],
166
+ callback: function callback() {
167
+ return commandsPool.extendCellsSelectionToMostInlineStart();
168
+ }
169
+ }, {
170
+ keys: [['Home', 'Control/Meta']],
171
+ captureCtrl: true,
172
+ callback: function callback() {
173
+ return commandsPool.moveCellSelectionToMostTopInlineStart();
174
+ },
175
+ runOnlyIf: function runOnlyIf() {
176
+ return hot.view.isMainTableNotFullyCoveredByOverlays();
177
+ }
178
+ }, {
179
+ keys: [['End']],
180
+ captureCtrl: true,
181
+ callback: function callback() {
182
+ return commandsPool.moveCellSelectionToMostInlineEnd();
183
+ },
184
+ runOnlyIf: function runOnlyIf() {
185
+ return hot.view.isMainTableNotFullyCoveredByOverlays();
186
+ }
187
+ }, {
188
+ keys: [['End', 'Shift']],
189
+ callback: function callback() {
190
+ return commandsPool.extendCellsSelectionToMostInlineEnd();
191
+ }
192
+ }, {
193
+ keys: [['End', 'Control/Meta']],
194
+ captureCtrl: true,
195
+ callback: function callback() {
196
+ return commandsPool.moveCellSelectionToMostBottomInlineEnd();
197
+ },
198
+ runOnlyIf: function runOnlyIf() {
199
+ return hot.view.isMainTableNotFullyCoveredByOverlays();
200
+ }
201
+ }, {
202
+ keys: [['PageUp']],
203
+ callback: function callback() {
204
+ return commandsPool.moveCellSelectionUpByViewportHight();
205
+ }
206
+ }, {
207
+ keys: [['PageUp', 'Shift']],
208
+ callback: function callback() {
209
+ return commandsPool.extendCellsSelectionUpByViewportHeight();
210
+ }
211
+ }, {
212
+ keys: [['PageDown']],
213
+ callback: function callback() {
214
+ return commandsPool.moveCellSelectionDownByViewportHeight();
215
+ }
216
+ }, {
217
+ keys: [['PageDown', 'Shift']],
218
+ callback: function callback() {
219
+ return commandsPool.extendCellsSelectionDownByViewportHeight();
220
+ }
221
+ }, {
222
+ keys: [['Tab']],
223
+ callback: function callback() {
224
+ return commandsPool.moveCellSelectionInlineStart();
225
+ }
226
+ }, {
227
+ keys: [['Shift', 'Tab']],
228
+ callback: function callback() {
229
+ return commandsPool.moveCellSelectionInlineEnd();
230
+ }
231
+ }], config);
232
+ }