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.
- package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
- package/3rdparty/walkontable/src/cell/coords.js +61 -12
- package/3rdparty/walkontable/src/cell/coords.mjs +61 -12
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +44 -7
- package/3rdparty/walkontable/src/cell/range.mjs +44 -7
- package/3rdparty/walkontable/src/core/_base.js +9 -3
- package/3rdparty/walkontable/src/core/_base.mjs +9 -3
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +3 -2
- package/3rdparty/walkontable/src/core/core.mjs +3 -2
- package/3rdparty/walkontable/src/event.js +7 -7
- package/3rdparty/walkontable/src/event.mjs +7 -7
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +10 -2
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -4
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
- package/3rdparty/walkontable/src/overlay/top.js +2 -4
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -4
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +18 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +13 -0
- package/3rdparty/walkontable/src/selection/constants.js +63 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +30 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +328 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +322 -0
- package/3rdparty/walkontable/src/selection/scanner.js +363 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +359 -0
- package/3rdparty/walkontable/src/selection/selection.js +133 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +127 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table.js +7 -79
- package/3rdparty/walkontable/src/table.mjs +8 -80
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +5 -3
- package/core.js +82 -300
- package/core.mjs +82 -300
- package/dataMap/metaManager/metaSchema.js +15 -0
- package/dataMap/metaManager/metaSchema.mjs +15 -0
- package/dist/handsontable.css +8 -3
- package/dist/handsontable.full.css +8 -3
- package/dist/handsontable.full.js +12245 -9953
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +120 -120
- package/dist/handsontable.js +15898 -13606
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +4 -4
- package/editorManager.js +20 -82
- package/editorManager.mjs +25 -86
- package/editors/textEditor/textEditor.js +3 -11
- package/editors/textEditor/textEditor.mjs +4 -12
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/package.json +1 -1
- package/pluginHooks.js +1 -1
- package/pluginHooks.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +5 -1
- package/plugins/copyPaste/copyPaste.mjs +5 -1
- package/plugins/customBorders/customBorders.js +18 -52
- package/plugins/customBorders/customBorders.mjs +19 -53
- package/plugins/mergeCells/mergeCells.js +5 -18
- package/plugins/mergeCells/mergeCells.mjs +5 -18
- package/plugins/nestedHeaders/nestedHeaders.js +89 -9
- package/plugins/nestedHeaders/nestedHeaders.mjs +89 -9
- package/plugins/nestedHeaders/stateManager/index.js +37 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +311 -88
- package/selection/highlight/highlight.mjs +301 -84
- package/selection/highlight/types/activeHeader.js +10 -9
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +12 -27
- package/selection/highlight/types/area.mjs +16 -30
- package/selection/highlight/types/areaLayered.js +54 -0
- package/selection/highlight/types/areaLayered.mjs +49 -0
- package/selection/highlight/types/column.js +50 -0
- package/selection/highlight/types/column.mjs +45 -0
- package/selection/highlight/types/customSelection.js +7 -10
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -8
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -8
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +10 -20
- package/selection/highlight/types/header.mjs +10 -19
- package/selection/highlight/types/{index.js → row.js} +27 -31
- package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
- package/selection/highlight/visualSelection.js +23 -28
- package/selection/highlight/visualSelection.mjs +23 -28
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/mouseEventHandler.js +1 -1
- package/selection/mouseEventHandler.mjs +1 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +296 -180
- package/selection/selection.mjs +291 -179
- package/selection/transformation.js +233 -96
- package/selection/transformation.mjs +230 -93
- package/selection/utils.js +12 -35
- package/selection/utils.mjs +13 -35
- package/settings.d.ts +1 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +29 -0
- package/shortcutContexts/commands/editor/open.mjs +24 -0
- package/shortcutContexts/commands/emptySelectedCells.js +12 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +24 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +20 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +39 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +34 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +39 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +34 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/index.js +51 -0
- package/shortcutContexts/commands/index.mjs +47 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +35 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +30 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +35 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +30 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +6 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +6 -0
- package/shortcutContexts/constants.js +19 -0
- package/shortcutContexts/constants.mjs +12 -0
- package/shortcutContexts/editor.js +29 -0
- package/shortcutContexts/editor.mjs +25 -0
- package/shortcutContexts/grid.js +232 -0
- package/shortcutContexts/grid.mjs +228 -0
- package/shortcutContexts/index.js +29 -0
- package/shortcutContexts/index.mjs +15 -0
- package/tableView.js +58 -9
- package/tableView.mjs +58 -9
- package/3rdparty/walkontable/src/selection.js +0 -354
- package/3rdparty/walkontable/src/selection.mjs +0 -348
- package/selection/highlight/constants.js +0 -16
- 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,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,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,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
|
+
}
|