handsontable 0.0.0-next-06a64be-20230621 → 0.0.0-next-be250b6-20230621
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +329 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +323 -0
- package/3rdparty/walkontable/src/selection/scanner.js +364 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +360 -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 +127 -309
- package/core.mjs +127 -309
- package/dataMap/metaManager/metaSchema.js +19 -0
- package/dataMap/metaManager/metaSchema.mjs +19 -0
- package/dist/handsontable.css +8 -3
- package/dist/handsontable.full.css +8 -3
- package/dist/handsontable.full.js +11930 -9113
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +107 -107
- package/dist/handsontable.js +15163 -12346
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +4 -4
- package/editorManager.js +21 -94
- package/editorManager.mjs +26 -98
- 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.d.ts +5 -1
- package/pluginHooks.js +89 -1
- package/pluginHooks.mjs +89 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +81 -24
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +81 -24
- package/plugins/columnSorting/columnSorting.js +50 -8
- package/plugins/columnSorting/columnSorting.mjs +49 -9
- package/plugins/columnSorting/index.js +4 -2
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +5 -1
- package/plugins/copyPaste/copyPaste.mjs +5 -1
- package/plugins/customBorders/customBorders.js +18 -53
- package/plugins/customBorders/customBorders.mjs +19 -54
- package/plugins/mergeCells/mergeCells.js +5 -18
- package/plugins/mergeCells/mergeCells.mjs +5 -18
- package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
- package/plugins/nestedHeaders/nestedHeaders.js +132 -10
- package/plugins/nestedHeaders/nestedHeaders.mjs +132 -10
- package/plugins/nestedHeaders/stateManager/index.js +37 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
- package/plugins/nestedRows/nestedRows.js +52 -7
- package/plugins/nestedRows/nestedRows.mjs +52 -7
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +312 -89
- package/selection/highlight/highlight.mjs +302 -85
- 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 +31 -27
- package/selection/highlight/visualSelection.mjs +31 -27
- 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 +315 -181
- package/selection/selection.mjs +310 -180
- package/selection/transformation.js +233 -96
- package/selection/transformation.mjs +230 -93
- package/selection/utils.js +12 -36
- package/selection/utils.mjs +13 -36
- 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 +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -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/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -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 +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -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 +53 -0
- package/shortcutContexts/commands/index.mjs +49 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -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 +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -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 +29 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +38 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +33 -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 +252 -0
- package/shortcutContexts/grid.mjs +248 -0
- package/shortcutContexts/index.js +29 -0
- package/shortcutContexts/index.mjs +15 -0
- package/shortcuts/manager.js +2 -0
- package/shortcuts/manager.mjs +2 -0
- package/tableView.js +58 -9
- package/tableView.mjs +58 -9
- package/translations/indexMapper.js +8 -9
- package/translations/indexMapper.mjs +8 -9
- package/3rdparty/walkontable/src/selection.js +0 -355
- package/3rdparty/walkontable/src/selection.mjs +0 -349
- package/selection/highlight/constants.js +0 -16
- package/selection/highlight/constants.mjs +0 -6
@@ -0,0 +1,252 @@
|
|
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
|
+
runOnlyIf: function runOnlyIf() {
|
42
|
+
return (0, _mixed.isDefined)(hot.getSelected());
|
43
|
+
}
|
44
|
+
});
|
45
|
+
context.addShortcuts([{
|
46
|
+
keys: [['Control/Meta', 'A'], ['Control/Meta', 'Shift', 'Space']],
|
47
|
+
callback: function callback() {
|
48
|
+
return commandsPool.selectAll();
|
49
|
+
}
|
50
|
+
}, {
|
51
|
+
keys: [['Control/Meta', 'Enter']],
|
52
|
+
callback: function callback() {
|
53
|
+
return commandsPool.populateSelectedCellsData();
|
54
|
+
},
|
55
|
+
runOnlyIf: function runOnlyIf() {
|
56
|
+
return !hot.getSelectedRangeLast().highlight.isHeader() && hot.getSelectedRangeLast().getCellsCount() > 1;
|
57
|
+
}
|
58
|
+
}, {
|
59
|
+
keys: [['Control', 'Space']],
|
60
|
+
captureCtrl: true,
|
61
|
+
callback: function callback() {
|
62
|
+
return commandsPool.extendCellsSelectionToColumns();
|
63
|
+
}
|
64
|
+
}, {
|
65
|
+
keys: [['Shift', 'Space']],
|
66
|
+
stopPropagation: true,
|
67
|
+
callback: function callback() {
|
68
|
+
return commandsPool.extendCellsSelectionToRows();
|
69
|
+
}
|
70
|
+
}, {
|
71
|
+
keys: [['ArrowUp']],
|
72
|
+
callback: function callback() {
|
73
|
+
return commandsPool.moveCellSelectionUp();
|
74
|
+
}
|
75
|
+
}, {
|
76
|
+
keys: [['ArrowUp', 'Control/Meta']],
|
77
|
+
captureCtrl: true,
|
78
|
+
callback: function callback() {
|
79
|
+
return commandsPool.moveCellSelectionToMostTop();
|
80
|
+
}
|
81
|
+
}, {
|
82
|
+
keys: [['ArrowUp', 'Shift']],
|
83
|
+
callback: function callback() {
|
84
|
+
return commandsPool.extendCellsSelectionUp();
|
85
|
+
}
|
86
|
+
}, {
|
87
|
+
keys: [['ArrowUp', 'Shift', 'Control/Meta']],
|
88
|
+
captureCtrl: true,
|
89
|
+
callback: function callback() {
|
90
|
+
return commandsPool.extendCellsSelectionToMostTop();
|
91
|
+
},
|
92
|
+
runOnlyIf: function runOnlyIf() {
|
93
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
94
|
+
}
|
95
|
+
}, {
|
96
|
+
keys: [['ArrowDown']],
|
97
|
+
callback: function callback() {
|
98
|
+
return commandsPool.moveCellSelectionDown();
|
99
|
+
}
|
100
|
+
}, {
|
101
|
+
keys: [['ArrowDown', 'Control/Meta']],
|
102
|
+
captureCtrl: true,
|
103
|
+
callback: function callback() {
|
104
|
+
return commandsPool.moveCellSelectionToMostBottom();
|
105
|
+
}
|
106
|
+
}, {
|
107
|
+
keys: [['ArrowDown', 'Shift']],
|
108
|
+
callback: function callback() {
|
109
|
+
return commandsPool.extendCellsSelectionDown();
|
110
|
+
}
|
111
|
+
}, {
|
112
|
+
keys: [['ArrowDown', 'Shift', 'Control/Meta']],
|
113
|
+
captureCtrl: true,
|
114
|
+
callback: function callback() {
|
115
|
+
return commandsPool.extendCellsSelectionToMostBottom();
|
116
|
+
},
|
117
|
+
runOnlyIf: function runOnlyIf() {
|
118
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
119
|
+
}
|
120
|
+
}, {
|
121
|
+
keys: [['ArrowLeft']],
|
122
|
+
callback: function callback() {
|
123
|
+
return commandsPool.moveCellSelectionLeft();
|
124
|
+
}
|
125
|
+
}, {
|
126
|
+
keys: [['ArrowLeft', 'Control/Meta']],
|
127
|
+
captureCtrl: true,
|
128
|
+
callback: function callback() {
|
129
|
+
return commandsPool.moveCellSelectionToMostLeft();
|
130
|
+
}
|
131
|
+
}, {
|
132
|
+
keys: [['ArrowLeft', 'Shift']],
|
133
|
+
callback: function callback() {
|
134
|
+
return commandsPool.extendCellsSelectionLeft();
|
135
|
+
}
|
136
|
+
}, {
|
137
|
+
keys: [['ArrowLeft', 'Shift', 'Control/Meta']],
|
138
|
+
captureCtrl: true,
|
139
|
+
callback: function callback() {
|
140
|
+
return commandsPool.extendCellsSelectionToMostLeft();
|
141
|
+
},
|
142
|
+
runOnlyIf: function runOnlyIf() {
|
143
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
144
|
+
}
|
145
|
+
}, {
|
146
|
+
keys: [['ArrowRight']],
|
147
|
+
callback: function callback() {
|
148
|
+
return commandsPool.moveCellSelectionRight();
|
149
|
+
}
|
150
|
+
}, {
|
151
|
+
keys: [['ArrowRight', 'Control/Meta']],
|
152
|
+
captureCtrl: true,
|
153
|
+
callback: function callback() {
|
154
|
+
return commandsPool.moveCellSelectionToMostRight();
|
155
|
+
}
|
156
|
+
}, {
|
157
|
+
keys: [['ArrowRight', 'Shift']],
|
158
|
+
callback: function callback() {
|
159
|
+
return commandsPool.extendCellsSelectionRight();
|
160
|
+
}
|
161
|
+
}, {
|
162
|
+
keys: [['ArrowRight', 'Shift', 'Control/Meta']],
|
163
|
+
captureCtrl: true,
|
164
|
+
callback: function callback() {
|
165
|
+
return commandsPool.extendCellsSelectionToMostRight();
|
166
|
+
},
|
167
|
+
runOnlyIf: function runOnlyIf() {
|
168
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
169
|
+
}
|
170
|
+
}, {
|
171
|
+
keys: [['Home']],
|
172
|
+
captureCtrl: true,
|
173
|
+
callback: function callback() {
|
174
|
+
return commandsPool.moveCellSelectionToMostInlineStart();
|
175
|
+
},
|
176
|
+
runOnlyIf: function runOnlyIf() {
|
177
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
178
|
+
}
|
179
|
+
}, {
|
180
|
+
keys: [['Home', 'Shift']],
|
181
|
+
callback: function callback() {
|
182
|
+
return commandsPool.extendCellsSelectionToMostInlineStart();
|
183
|
+
}
|
184
|
+
}, {
|
185
|
+
keys: [['Home', 'Control/Meta']],
|
186
|
+
captureCtrl: true,
|
187
|
+
callback: function callback() {
|
188
|
+
return commandsPool.moveCellSelectionToMostTopInlineStart();
|
189
|
+
},
|
190
|
+
runOnlyIf: function runOnlyIf() {
|
191
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
192
|
+
}
|
193
|
+
}, {
|
194
|
+
keys: [['End']],
|
195
|
+
captureCtrl: true,
|
196
|
+
callback: function callback() {
|
197
|
+
return commandsPool.moveCellSelectionToMostInlineEnd();
|
198
|
+
},
|
199
|
+
runOnlyIf: function runOnlyIf() {
|
200
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
201
|
+
}
|
202
|
+
}, {
|
203
|
+
keys: [['End', 'Shift']],
|
204
|
+
callback: function callback() {
|
205
|
+
return commandsPool.extendCellsSelectionToMostInlineEnd();
|
206
|
+
}
|
207
|
+
}, {
|
208
|
+
keys: [['End', 'Control/Meta']],
|
209
|
+
captureCtrl: true,
|
210
|
+
callback: function callback() {
|
211
|
+
return commandsPool.moveCellSelectionToMostBottomInlineEnd();
|
212
|
+
},
|
213
|
+
runOnlyIf: function runOnlyIf() {
|
214
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
215
|
+
}
|
216
|
+
}, {
|
217
|
+
keys: [['PageUp']],
|
218
|
+
callback: function callback() {
|
219
|
+
return commandsPool.moveCellSelectionUpByViewportHight();
|
220
|
+
}
|
221
|
+
}, {
|
222
|
+
keys: [['PageUp', 'Shift']],
|
223
|
+
callback: function callback() {
|
224
|
+
return commandsPool.extendCellsSelectionUpByViewportHeight();
|
225
|
+
}
|
226
|
+
}, {
|
227
|
+
keys: [['PageDown']],
|
228
|
+
callback: function callback() {
|
229
|
+
return commandsPool.moveCellSelectionDownByViewportHeight();
|
230
|
+
}
|
231
|
+
}, {
|
232
|
+
keys: [['PageDown', 'Shift']],
|
233
|
+
callback: function callback() {
|
234
|
+
return commandsPool.extendCellsSelectionDownByViewportHeight();
|
235
|
+
}
|
236
|
+
}, {
|
237
|
+
keys: [['Tab']],
|
238
|
+
callback: function callback() {
|
239
|
+
return commandsPool.moveCellSelectionInlineStart();
|
240
|
+
}
|
241
|
+
}, {
|
242
|
+
keys: [['Shift', 'Tab']],
|
243
|
+
callback: function callback() {
|
244
|
+
return commandsPool.moveCellSelectionInlineEnd();
|
245
|
+
}
|
246
|
+
}, {
|
247
|
+
keys: [['Control/Meta', 'Backspace']],
|
248
|
+
callback: function callback() {
|
249
|
+
return commandsPool.scrollToFocusedCell();
|
250
|
+
}
|
251
|
+
}], config);
|
252
|
+
}
|
@@ -0,0 +1,248 @@
|
|
1
|
+
import { isDefined } from "../helpers/mixed.mjs";
|
2
|
+
import { GRID_GROUP, EDITOR_EDIT_GROUP } from "./constants.mjs";
|
3
|
+
import { createKeyboardShortcutCommandsPool } from "./commands/index.mjs";
|
4
|
+
/**
|
5
|
+
* The context that defines shortcut list available for selected cell or cells.
|
6
|
+
*
|
7
|
+
* @param {Handsontable} hot The Handsontable instance.
|
8
|
+
*/
|
9
|
+
export function shortcutsGridContext(hot) {
|
10
|
+
var context = hot.getShortcutManager().addContext('grid');
|
11
|
+
var commandsPool = createKeyboardShortcutCommandsPool(hot);
|
12
|
+
var config = {
|
13
|
+
runOnlyIf: function runOnlyIf() {
|
14
|
+
var _hot$getSettings = hot.getSettings(),
|
15
|
+
navigableHeaders = _hot$getSettings.navigableHeaders;
|
16
|
+
return isDefined(hot.getSelected()) && (navigableHeaders || !navigableHeaders && hot.countRenderedRows() > 0 && hot.countRenderedCols() > 0);
|
17
|
+
},
|
18
|
+
group: GRID_GROUP
|
19
|
+
};
|
20
|
+
context.addShortcuts([{
|
21
|
+
keys: [['F2']],
|
22
|
+
callback: function callback(event) {
|
23
|
+
return commandsPool.editorFastOpen(event);
|
24
|
+
}
|
25
|
+
}, {
|
26
|
+
keys: [['Enter'], ['Enter', 'Shift']],
|
27
|
+
callback: function callback(event, keys) {
|
28
|
+
return commandsPool.editorOpen(event, keys);
|
29
|
+
}
|
30
|
+
}, {
|
31
|
+
keys: [['Backspace'], ['Delete']],
|
32
|
+
callback: function callback() {
|
33
|
+
return commandsPool.emptySelectedCells();
|
34
|
+
}
|
35
|
+
}], {
|
36
|
+
group: EDITOR_EDIT_GROUP,
|
37
|
+
runOnlyIf: function runOnlyIf() {
|
38
|
+
return isDefined(hot.getSelected());
|
39
|
+
}
|
40
|
+
});
|
41
|
+
context.addShortcuts([{
|
42
|
+
keys: [['Control/Meta', 'A'], ['Control/Meta', 'Shift', 'Space']],
|
43
|
+
callback: function callback() {
|
44
|
+
return commandsPool.selectAll();
|
45
|
+
}
|
46
|
+
}, {
|
47
|
+
keys: [['Control/Meta', 'Enter']],
|
48
|
+
callback: function callback() {
|
49
|
+
return commandsPool.populateSelectedCellsData();
|
50
|
+
},
|
51
|
+
runOnlyIf: function runOnlyIf() {
|
52
|
+
return !hot.getSelectedRangeLast().highlight.isHeader() && hot.getSelectedRangeLast().getCellsCount() > 1;
|
53
|
+
}
|
54
|
+
}, {
|
55
|
+
keys: [['Control', 'Space']],
|
56
|
+
captureCtrl: true,
|
57
|
+
callback: function callback() {
|
58
|
+
return commandsPool.extendCellsSelectionToColumns();
|
59
|
+
}
|
60
|
+
}, {
|
61
|
+
keys: [['Shift', 'Space']],
|
62
|
+
stopPropagation: true,
|
63
|
+
callback: function callback() {
|
64
|
+
return commandsPool.extendCellsSelectionToRows();
|
65
|
+
}
|
66
|
+
}, {
|
67
|
+
keys: [['ArrowUp']],
|
68
|
+
callback: function callback() {
|
69
|
+
return commandsPool.moveCellSelectionUp();
|
70
|
+
}
|
71
|
+
}, {
|
72
|
+
keys: [['ArrowUp', 'Control/Meta']],
|
73
|
+
captureCtrl: true,
|
74
|
+
callback: function callback() {
|
75
|
+
return commandsPool.moveCellSelectionToMostTop();
|
76
|
+
}
|
77
|
+
}, {
|
78
|
+
keys: [['ArrowUp', 'Shift']],
|
79
|
+
callback: function callback() {
|
80
|
+
return commandsPool.extendCellsSelectionUp();
|
81
|
+
}
|
82
|
+
}, {
|
83
|
+
keys: [['ArrowUp', 'Shift', 'Control/Meta']],
|
84
|
+
captureCtrl: true,
|
85
|
+
callback: function callback() {
|
86
|
+
return commandsPool.extendCellsSelectionToMostTop();
|
87
|
+
},
|
88
|
+
runOnlyIf: function runOnlyIf() {
|
89
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
90
|
+
}
|
91
|
+
}, {
|
92
|
+
keys: [['ArrowDown']],
|
93
|
+
callback: function callback() {
|
94
|
+
return commandsPool.moveCellSelectionDown();
|
95
|
+
}
|
96
|
+
}, {
|
97
|
+
keys: [['ArrowDown', 'Control/Meta']],
|
98
|
+
captureCtrl: true,
|
99
|
+
callback: function callback() {
|
100
|
+
return commandsPool.moveCellSelectionToMostBottom();
|
101
|
+
}
|
102
|
+
}, {
|
103
|
+
keys: [['ArrowDown', 'Shift']],
|
104
|
+
callback: function callback() {
|
105
|
+
return commandsPool.extendCellsSelectionDown();
|
106
|
+
}
|
107
|
+
}, {
|
108
|
+
keys: [['ArrowDown', 'Shift', 'Control/Meta']],
|
109
|
+
captureCtrl: true,
|
110
|
+
callback: function callback() {
|
111
|
+
return commandsPool.extendCellsSelectionToMostBottom();
|
112
|
+
},
|
113
|
+
runOnlyIf: function runOnlyIf() {
|
114
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
115
|
+
}
|
116
|
+
}, {
|
117
|
+
keys: [['ArrowLeft']],
|
118
|
+
callback: function callback() {
|
119
|
+
return commandsPool.moveCellSelectionLeft();
|
120
|
+
}
|
121
|
+
}, {
|
122
|
+
keys: [['ArrowLeft', 'Control/Meta']],
|
123
|
+
captureCtrl: true,
|
124
|
+
callback: function callback() {
|
125
|
+
return commandsPool.moveCellSelectionToMostLeft();
|
126
|
+
}
|
127
|
+
}, {
|
128
|
+
keys: [['ArrowLeft', 'Shift']],
|
129
|
+
callback: function callback() {
|
130
|
+
return commandsPool.extendCellsSelectionLeft();
|
131
|
+
}
|
132
|
+
}, {
|
133
|
+
keys: [['ArrowLeft', 'Shift', 'Control/Meta']],
|
134
|
+
captureCtrl: true,
|
135
|
+
callback: function callback() {
|
136
|
+
return commandsPool.extendCellsSelectionToMostLeft();
|
137
|
+
},
|
138
|
+
runOnlyIf: function runOnlyIf() {
|
139
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
140
|
+
}
|
141
|
+
}, {
|
142
|
+
keys: [['ArrowRight']],
|
143
|
+
callback: function callback() {
|
144
|
+
return commandsPool.moveCellSelectionRight();
|
145
|
+
}
|
146
|
+
}, {
|
147
|
+
keys: [['ArrowRight', 'Control/Meta']],
|
148
|
+
captureCtrl: true,
|
149
|
+
callback: function callback() {
|
150
|
+
return commandsPool.moveCellSelectionToMostRight();
|
151
|
+
}
|
152
|
+
}, {
|
153
|
+
keys: [['ArrowRight', 'Shift']],
|
154
|
+
callback: function callback() {
|
155
|
+
return commandsPool.extendCellsSelectionRight();
|
156
|
+
}
|
157
|
+
}, {
|
158
|
+
keys: [['ArrowRight', 'Shift', 'Control/Meta']],
|
159
|
+
captureCtrl: true,
|
160
|
+
callback: function callback() {
|
161
|
+
return commandsPool.extendCellsSelectionToMostRight();
|
162
|
+
},
|
163
|
+
runOnlyIf: function runOnlyIf() {
|
164
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
165
|
+
}
|
166
|
+
}, {
|
167
|
+
keys: [['Home']],
|
168
|
+
captureCtrl: true,
|
169
|
+
callback: function callback() {
|
170
|
+
return commandsPool.moveCellSelectionToMostInlineStart();
|
171
|
+
},
|
172
|
+
runOnlyIf: function runOnlyIf() {
|
173
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
174
|
+
}
|
175
|
+
}, {
|
176
|
+
keys: [['Home', 'Shift']],
|
177
|
+
callback: function callback() {
|
178
|
+
return commandsPool.extendCellsSelectionToMostInlineStart();
|
179
|
+
}
|
180
|
+
}, {
|
181
|
+
keys: [['Home', 'Control/Meta']],
|
182
|
+
captureCtrl: true,
|
183
|
+
callback: function callback() {
|
184
|
+
return commandsPool.moveCellSelectionToMostTopInlineStart();
|
185
|
+
},
|
186
|
+
runOnlyIf: function runOnlyIf() {
|
187
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
188
|
+
}
|
189
|
+
}, {
|
190
|
+
keys: [['End']],
|
191
|
+
captureCtrl: true,
|
192
|
+
callback: function callback() {
|
193
|
+
return commandsPool.moveCellSelectionToMostInlineEnd();
|
194
|
+
},
|
195
|
+
runOnlyIf: function runOnlyIf() {
|
196
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
197
|
+
}
|
198
|
+
}, {
|
199
|
+
keys: [['End', 'Shift']],
|
200
|
+
callback: function callback() {
|
201
|
+
return commandsPool.extendCellsSelectionToMostInlineEnd();
|
202
|
+
}
|
203
|
+
}, {
|
204
|
+
keys: [['End', 'Control/Meta']],
|
205
|
+
captureCtrl: true,
|
206
|
+
callback: function callback() {
|
207
|
+
return commandsPool.moveCellSelectionToMostBottomInlineEnd();
|
208
|
+
},
|
209
|
+
runOnlyIf: function runOnlyIf() {
|
210
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
211
|
+
}
|
212
|
+
}, {
|
213
|
+
keys: [['PageUp']],
|
214
|
+
callback: function callback() {
|
215
|
+
return commandsPool.moveCellSelectionUpByViewportHight();
|
216
|
+
}
|
217
|
+
}, {
|
218
|
+
keys: [['PageUp', 'Shift']],
|
219
|
+
callback: function callback() {
|
220
|
+
return commandsPool.extendCellsSelectionUpByViewportHeight();
|
221
|
+
}
|
222
|
+
}, {
|
223
|
+
keys: [['PageDown']],
|
224
|
+
callback: function callback() {
|
225
|
+
return commandsPool.moveCellSelectionDownByViewportHeight();
|
226
|
+
}
|
227
|
+
}, {
|
228
|
+
keys: [['PageDown', 'Shift']],
|
229
|
+
callback: function callback() {
|
230
|
+
return commandsPool.extendCellsSelectionDownByViewportHeight();
|
231
|
+
}
|
232
|
+
}, {
|
233
|
+
keys: [['Tab']],
|
234
|
+
callback: function callback() {
|
235
|
+
return commandsPool.moveCellSelectionInlineStart();
|
236
|
+
}
|
237
|
+
}, {
|
238
|
+
keys: [['Shift', 'Tab']],
|
239
|
+
callback: function callback() {
|
240
|
+
return commandsPool.moveCellSelectionInlineEnd();
|
241
|
+
}
|
242
|
+
}, {
|
243
|
+
keys: [['Control/Meta', 'Backspace']],
|
244
|
+
callback: function callback() {
|
245
|
+
return commandsPool.scrollToFocusedCell();
|
246
|
+
}
|
247
|
+
}], config);
|
248
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
require("core-js/modules/es.object.keys.js");
|
4
|
+
exports.__esModule = true;
|
5
|
+
var _exportNames = {
|
6
|
+
registerAllShortcutContexts: true
|
7
|
+
};
|
8
|
+
exports.registerAllShortcutContexts = registerAllShortcutContexts;
|
9
|
+
require("core-js/modules/es.object.to-string.js");
|
10
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
11
|
+
var _editor = require("./editor");
|
12
|
+
var _grid = require("./grid");
|
13
|
+
var _constants = require("./constants");
|
14
|
+
Object.keys(_constants).forEach(function (key) {
|
15
|
+
if (key === "default" || key === "__esModule") return;
|
16
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
17
|
+
if (key in exports && exports[key] === _constants[key]) return;
|
18
|
+
exports[key] = _constants[key];
|
19
|
+
});
|
20
|
+
/**
|
21
|
+
* Register all shortcut contexts.
|
22
|
+
*
|
23
|
+
* @param {Handsontable} hotInstance The Handsontable instance.
|
24
|
+
*/
|
25
|
+
function registerAllShortcutContexts(hotInstance) {
|
26
|
+
[_editor.shortcutsEditorContext, _grid.shortcutsGridContext].forEach(function (context) {
|
27
|
+
return context(hotInstance);
|
28
|
+
});
|
29
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import "core-js/modules/es.object.to-string.js";
|
2
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
3
|
+
import { shortcutsEditorContext } from "./editor.mjs";
|
4
|
+
import { shortcutsGridContext } from "./grid.mjs";
|
5
|
+
export * from "./constants.mjs";
|
6
|
+
/**
|
7
|
+
* Register all shortcut contexts.
|
8
|
+
*
|
9
|
+
* @param {Handsontable} hotInstance The Handsontable instance.
|
10
|
+
*/
|
11
|
+
export function registerAllShortcutContexts(hotInstance) {
|
12
|
+
[shortcutsEditorContext, shortcutsGridContext].forEach(function (context) {
|
13
|
+
return context(hotInstance);
|
14
|
+
});
|
15
|
+
}
|
package/shortcuts/manager.js
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.createShortcutManager = void 0;
|
5
5
|
var _uniqueMap = require("../utils/dataStructures/uniqueMap");
|
6
|
+
var _event = require("../helpers/dom/event");
|
6
7
|
var _context = require("./context");
|
7
8
|
var _recorder = require("./recorder");
|
8
9
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -126,6 +127,7 @@ var createShortcutManager = function createShortcutManager(_ref) {
|
|
126
127
|
event.preventDefault();
|
127
128
|
}
|
128
129
|
if (stopPropagation) {
|
130
|
+
(0, _event.stopImmediatePropagation)(event);
|
129
131
|
event.stopPropagation();
|
130
132
|
}
|
131
133
|
if (isExecutionCancelled) {
|
package/shortcuts/manager.mjs
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { createUniqueMap } from "../utils/dataStructures/uniqueMap.mjs";
|
2
|
+
import { stopImmediatePropagation } from "../helpers/dom/event.mjs";
|
2
3
|
import { createContext } from "./context.mjs";
|
3
4
|
import { useRecorder } from "./recorder.mjs";
|
4
5
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -121,6 +122,7 @@ export var createShortcutManager = function createShortcutManager(_ref) {
|
|
121
122
|
event.preventDefault();
|
122
123
|
}
|
123
124
|
if (stopPropagation) {
|
125
|
+
stopImmediatePropagation(event);
|
124
126
|
event.stopPropagation();
|
125
127
|
}
|
126
128
|
if (isExecutionCancelled) {
|
package/tableView.js
CHANGED
@@ -613,6 +613,44 @@ var TableView = /*#__PURE__*/function () {
|
|
613
613
|
return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
|
614
614
|
}
|
615
615
|
|
616
|
+
/**
|
617
|
+
* The function returns the number of renderable column indexes within the passed range of the visual indexes.
|
618
|
+
*
|
619
|
+
* @param {number} columnStart The column visual start index.
|
620
|
+
* @param {number} columnEnd The column visual end index.
|
621
|
+
* @returns {number}
|
622
|
+
*/
|
623
|
+
}, {
|
624
|
+
key: "countRenderableColumnsInRange",
|
625
|
+
value: function countRenderableColumnsInRange(columnStart, columnEnd) {
|
626
|
+
var count = 0;
|
627
|
+
for (var column = columnStart; column <= columnEnd; column++) {
|
628
|
+
if (this.instance.columnIndexMapper.getRenderableFromVisualIndex(column) !== null) {
|
629
|
+
count += 1;
|
630
|
+
}
|
631
|
+
}
|
632
|
+
return count;
|
633
|
+
}
|
634
|
+
|
635
|
+
/**
|
636
|
+
* The function returns the number of renderable row indexes within the passed range of the visual indexes.
|
637
|
+
*
|
638
|
+
* @param {number} rowStart The row visual start index.
|
639
|
+
* @param {number} rowEnd The row visual end index.
|
640
|
+
* @returns {number}
|
641
|
+
*/
|
642
|
+
}, {
|
643
|
+
key: "countRenderableRowsInRange",
|
644
|
+
value: function countRenderableRowsInRange(rowStart, rowEnd) {
|
645
|
+
var count = 0;
|
646
|
+
for (var row = rowStart; row <= rowEnd; row++) {
|
647
|
+
if (this.instance.rowIndexMapper.getRenderableFromVisualIndex(row) !== null) {
|
648
|
+
count += 1;
|
649
|
+
}
|
650
|
+
}
|
651
|
+
return count;
|
652
|
+
}
|
653
|
+
|
616
654
|
/**
|
617
655
|
* Checks if at least one cell than belongs to the main table is not covered by the top, left or
|
618
656
|
* bottom overlay.
|
@@ -884,15 +922,29 @@ var TableView = /*#__PURE__*/function () {
|
|
884
922
|
},
|
885
923
|
onBeforeHighlightingRowHeader: function onBeforeHighlightingRowHeader(renderableRow, headerLevel, highlightMeta) {
|
886
924
|
var rowMapper = _this2.instance.rowIndexMapper;
|
887
|
-
var
|
925
|
+
var areColumnHeadersSelected = renderableRow < 0;
|
926
|
+
var visualRow = renderableRow;
|
927
|
+
if (!areColumnHeadersSelected) {
|
928
|
+
visualRow = rowMapper.getVisualFromRenderableIndex(renderableRow);
|
929
|
+
}
|
888
930
|
var newVisualRow = _this2.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
|
889
|
-
|
931
|
+
if (!areColumnHeadersSelected) {
|
932
|
+
return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
|
933
|
+
}
|
934
|
+
return newVisualRow;
|
890
935
|
},
|
891
936
|
onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(renderableColumn, headerLevel, highlightMeta) {
|
892
937
|
var columnMapper = _this2.instance.columnIndexMapper;
|
893
|
-
var
|
938
|
+
var areRowHeadersSelected = renderableColumn < 0;
|
939
|
+
var visualColumn = renderableColumn;
|
940
|
+
if (!areRowHeadersSelected) {
|
941
|
+
visualColumn = columnMapper.getVisualFromRenderableIndex(renderableColumn);
|
942
|
+
}
|
894
943
|
var newVisualColumn = _this2.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
|
895
|
-
|
944
|
+
if (!areRowHeadersSelected) {
|
945
|
+
return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
|
946
|
+
}
|
947
|
+
return newVisualColumn;
|
896
948
|
},
|
897
949
|
onAfterDrawSelection: function onAfterDrawSelection(currentRow, currentColumn, layerLevel) {
|
898
950
|
var cornersOfSelection;
|
@@ -903,10 +955,7 @@ var TableView = /*#__PURE__*/function () {
|
|
903
955
|
var selectedRange = _this2.instance.selection.getSelectedRange();
|
904
956
|
var selectionRangeSize = selectedRange.size();
|
905
957
|
if (selectionRangeSize > 0) {
|
906
|
-
|
907
|
-
// Please look at the `SelectedRange` class and it's method for getting selection's layer for more information.
|
908
|
-
var selectionOffset = (layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0) + 1 - selectionRangeSize;
|
909
|
-
var selectionForLayer = selectedRange.peekByIndex(selectionOffset);
|
958
|
+
var selectionForLayer = selectedRange.peekByIndex(layerLevel !== null && layerLevel !== void 0 ? layerLevel : 0);
|
910
959
|
cornersOfSelection = [selectionForLayer.from.row, selectionForLayer.from.col, selectionForLayer.to.row, selectionForLayer.to.col];
|
911
960
|
}
|
912
961
|
return _this2.instance.runHooks('afterDrawSelection', visualRowIndex, visualColumnIndex, cornersOfSelection, layerLevel);
|
@@ -1080,7 +1129,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1080
1129
|
key: "isSelectedOnlyCell",
|
1081
1130
|
value: function isSelectedOnlyCell() {
|
1082
1131
|
var _this$instance$getSel, _this$instance$getSel2;
|
1083
|
-
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.
|
1132
|
+
return (_this$instance$getSel = (_this$instance$getSel2 = this.instance.getSelectedRangeLast()) === null || _this$instance$getSel2 === void 0 ? void 0 : _this$instance$getSel2.isSingleCell()) !== null && _this$instance$getSel !== void 0 ? _this$instance$getSel : false;
|
1084
1133
|
}
|
1085
1134
|
|
1086
1135
|
/**
|