handsontable 0.0.0-next-be250b6-20230621 → 0.0.0-next-dcd0acc-20230621
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/{selection/border/border.js → border.js} +12 -7
- package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
- package/3rdparty/walkontable/src/cell/coords.js +12 -61
- package/3rdparty/walkontable/src/cell/coords.mjs +12 -61
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
- package/3rdparty/walkontable/src/cell/range.js +7 -44
- package/3rdparty/walkontable/src/cell/range.mjs +7 -44
- package/3rdparty/walkontable/src/core/_base.js +3 -9
- package/3rdparty/walkontable/src/core/_base.mjs +3 -9
- 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 +2 -3
- package/3rdparty/walkontable/src/core/core.mjs +2 -3
- 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 +2 -10
- 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 +4 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +4 -2
- package/3rdparty/walkontable/src/overlay/top.js +4 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +4 -2
- package/3rdparty/walkontable/src/selection.js +355 -0
- package/3rdparty/walkontable/src/selection.mjs +349 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
- package/3rdparty/walkontable/src/table.js +79 -7
- package/3rdparty/walkontable/src/table.mjs +80 -8
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +3 -5
- package/core.js +309 -127
- package/core.mjs +309 -127
- package/dataMap/metaManager/metaSchema.js +0 -19
- package/dataMap/metaManager/metaSchema.mjs +0 -19
- package/dist/handsontable.css +3 -8
- package/dist/handsontable.full.css +3 -8
- package/dist/handsontable.full.js +9113 -11930
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +107 -107
- package/dist/handsontable.js +12329 -15146
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +4 -4
- package/editorManager.js +94 -21
- package/editorManager.mjs +98 -26
- package/editors/textEditor/textEditor.js +11 -3
- package/editors/textEditor/textEditor.mjs +12 -4
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +0 -1
- package/helpers/number.js +0 -18
- package/helpers/number.mjs +0 -17
- package/package.json +1 -1
- package/pluginHooks.d.ts +1 -5
- package/pluginHooks.js +1 -89
- package/pluginHooks.mjs +1 -89
- package/plugins/collapsibleColumns/collapsibleColumns.js +24 -81
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -81
- package/plugins/columnSorting/columnSorting.js +8 -50
- package/plugins/columnSorting/columnSorting.mjs +9 -49
- package/plugins/columnSorting/index.js +2 -4
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +1 -5
- package/plugins/copyPaste/copyPaste.mjs +1 -5
- package/plugins/customBorders/customBorders.js +53 -18
- package/plugins/customBorders/customBorders.mjs +54 -19
- package/plugins/mergeCells/mergeCells.js +18 -5
- package/plugins/mergeCells/mergeCells.mjs +18 -5
- package/plugins/multiColumnSorting/multiColumnSorting.js +3 -42
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +3 -42
- package/plugins/nestedHeaders/nestedHeaders.js +10 -132
- package/plugins/nestedHeaders/nestedHeaders.mjs +10 -132
- package/plugins/nestedHeaders/stateManager/index.js +0 -37
- package/plugins/nestedHeaders/stateManager/index.mjs +0 -37
- package/plugins/nestedRows/nestedRows.js +7 -52
- package/plugins/nestedRows/nestedRows.mjs +7 -52
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/constants.js +16 -0
- package/selection/highlight/constants.mjs +6 -0
- package/selection/highlight/highlight.js +89 -312
- package/selection/highlight/highlight.mjs +85 -302
- package/selection/highlight/types/activeHeader.js +9 -10
- package/selection/highlight/types/activeHeader.mjs +8 -10
- package/selection/highlight/types/area.js +27 -12
- package/selection/highlight/types/area.mjs +30 -16
- package/selection/highlight/types/{focus.js → cell.js} +8 -5
- package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
- package/selection/highlight/types/customSelection.js +10 -7
- package/selection/highlight/types/customSelection.mjs +9 -7
- package/selection/highlight/types/fill.js +8 -5
- package/selection/highlight/types/fill.mjs +7 -5
- package/selection/highlight/types/header.js +20 -10
- package/selection/highlight/types/header.mjs +19 -10
- package/selection/highlight/types/{row.js → index.js} +31 -27
- package/selection/highlight/types/{row.mjs → index.mjs} +29 -24
- package/selection/highlight/visualSelection.js +27 -31
- package/selection/highlight/visualSelection.mjs +27 -31
- package/selection/index.js +7 -4
- package/selection/index.mjs +3 -2
- 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 +181 -315
- package/selection/selection.mjs +180 -310
- package/selection/transformation.js +96 -233
- package/selection/transformation.mjs +93 -230
- package/selection/utils.js +36 -12
- package/selection/utils.mjs +36 -13
- package/settings.d.ts +0 -1
- package/shortcuts/manager.js +0 -2
- package/shortcuts/manager.mjs +0 -2
- package/tableView.js +9 -58
- package/tableView.mjs +9 -58
- package/translations/indexMapper.js +9 -8
- package/translations/indexMapper.mjs +9 -8
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -18
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -13
- package/3rdparty/walkontable/src/selection/constants.js +0 -63
- package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
- package/3rdparty/walkontable/src/selection/index.js +0 -30
- package/3rdparty/walkontable/src/selection/index.mjs +0 -5
- package/3rdparty/walkontable/src/selection/manager.js +0 -329
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -323
- package/3rdparty/walkontable/src/selection/scanner.js +0 -364
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -360
- package/3rdparty/walkontable/src/selection/selection.js +0 -133
- package/3rdparty/walkontable/src/selection/selection.mjs +0 -127
- package/selection/highlight/types/areaLayered.js +0 -54
- package/selection/highlight/types/areaLayered.mjs +0 -49
- package/selection/highlight/types/column.js +0 -50
- package/selection/highlight/types/column.mjs +0 -45
- package/shortcutContexts/commands/editor/closeAndSave.js +0 -15
- package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -10
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -13
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
- package/shortcutContexts/commands/editor/fastOpen.js +0 -16
- package/shortcutContexts/commands/editor/fastOpen.mjs +0 -11
- package/shortcutContexts/commands/editor/index.js +0 -16
- package/shortcutContexts/commands/editor/index.mjs +0 -12
- package/shortcutContexts/commands/editor/open.js +0 -29
- package/shortcutContexts/commands/editor/open.mjs +0 -24
- package/shortcutContexts/commands/emptySelectedCells.js +0 -12
- package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
- package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -21
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -16
- package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
- package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -14
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -22
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -12
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -12
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -40
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -35
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -40
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -35
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -22
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -14
- package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -21
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -16
- package/shortcutContexts/commands/index.js +0 -53
- package/shortcutContexts/commands/index.mjs +0 -49
- package/shortcutContexts/commands/moveCellSelection/down.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -7
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -29
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
- package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/left.js +0 -11
- package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/right.js +0 -11
- package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -16
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -11
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -12
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -16
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -11
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -36
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -36
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -16
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -11
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -18
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/up.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -7
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -29
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -24
- package/shortcutContexts/commands/populateSelectedCellsData.js +0 -35
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -30
- package/shortcutContexts/commands/scrollToFocusedCell.js +0 -38
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -33
- package/shortcutContexts/commands/selectAll.js +0 -11
- package/shortcutContexts/commands/selectAll.mjs +0 -6
- package/shortcutContexts/constants.js +0 -19
- package/shortcutContexts/constants.mjs +0 -12
- package/shortcutContexts/editor.js +0 -29
- package/shortcutContexts/editor.mjs +0 -25
- package/shortcutContexts/grid.js +0 -252
- package/shortcutContexts/grid.mjs +0 -248
- package/shortcutContexts/index.js +0 -29
- package/shortcutContexts/index.mjs +0 -15
@@ -236,6 +236,9 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
236
236
|
this.addHook('afterDrawSelection', function () {
|
237
237
|
return _this2.onAfterDrawSelection.apply(_this2, arguments);
|
238
238
|
});
|
239
|
+
this.addHook('beforeRemoveCellClassNames', function () {
|
240
|
+
return _this2.onBeforeRemoveCellClassNames.apply(_this2, arguments);
|
241
|
+
});
|
239
242
|
this.addHook('beforeUndoStackChange', function (action, source) {
|
240
243
|
if (source === 'MergeCells') {
|
241
244
|
return false;
|
@@ -652,11 +655,8 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
652
655
|
gridContext.addShortcut({
|
653
656
|
keys: [['Control', 'm']],
|
654
657
|
callback: function callback() {
|
655
|
-
|
656
|
-
|
657
|
-
_this7.toggleMerge(range);
|
658
|
-
_this7.hot.render();
|
659
|
-
}
|
658
|
+
_this7.toggleMerge(_this7.hot.getSelectedRangeLast());
|
659
|
+
_this7.hot.render();
|
660
660
|
},
|
661
661
|
runOnlyIf: function runOnlyIf(event) {
|
662
662
|
return !event.altKey;
|
@@ -1333,6 +1333,19 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1333
1333
|
}
|
1334
1334
|
return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
|
1335
1335
|
}
|
1336
|
+
|
1337
|
+
/**
|
1338
|
+
* `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
|
1339
|
+
*
|
1340
|
+
* @private
|
1341
|
+
* @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
|
1342
|
+
* all the cells in the table.
|
1343
|
+
*/
|
1344
|
+
}, {
|
1345
|
+
key: "onBeforeRemoveCellClassNames",
|
1346
|
+
value: function onBeforeRemoveCellClassNames() {
|
1347
|
+
return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
|
1348
|
+
}
|
1336
1349
|
}], [{
|
1337
1350
|
key: "PLUGIN_KEY",
|
1338
1351
|
get: function get() {
|
@@ -16,8 +16,8 @@ require("core-js/modules/es.string.iterator.js");
|
|
16
16
|
require("core-js/modules/web.dom-collections.iterator.js");
|
17
17
|
exports.__esModule = true;
|
18
18
|
exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.MultiColumnSorting = void 0;
|
19
|
-
require("core-js/modules/es.array.sort.js");
|
20
19
|
require("core-js/modules/es.array.concat.js");
|
20
|
+
require("core-js/modules/es.array.sort.js");
|
21
21
|
require("core-js/modules/es.object.set-prototype-of.js");
|
22
22
|
require("core-js/modules/es.object.get-prototype-of.js");
|
23
23
|
var _columnSorting = require("../columnSorting");
|
@@ -45,8 +45,8 @@ var PLUGIN_KEY = 'multiColumnSorting';
|
|
45
45
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
46
46
|
var PLUGIN_PRIORITY = 170;
|
47
47
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
48
|
+
var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
48
49
|
var CONFLICTED_PLUGIN_KEY = 'columnSorting';
|
49
|
-
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
50
50
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
51
51
|
|
52
52
|
/**
|
@@ -151,45 +151,6 @@ var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
|
|
151
151
|
_get(_getPrototypeOf(MultiColumnSorting.prototype), "disablePlugin", this).call(this);
|
152
152
|
}
|
153
153
|
|
154
|
-
/**
|
155
|
-
* Register shortcuts responsible for toggling column sorting functionality.
|
156
|
-
*
|
157
|
-
* @private
|
158
|
-
*/
|
159
|
-
}, {
|
160
|
-
key: "registerShortcuts",
|
161
|
-
value: function registerShortcuts() {
|
162
|
-
var _this2 = this;
|
163
|
-
_get(_getPrototypeOf(MultiColumnSorting.prototype), "registerShortcuts", this).call(this);
|
164
|
-
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
165
|
-
keys: [['Control/Meta', 'Enter']],
|
166
|
-
callback: function callback() {
|
167
|
-
var _this2$hot$getSelecte = _this2.hot.getSelectedRangeLast(),
|
168
|
-
highlight = _this2$hot$getSelecte.highlight;
|
169
|
-
if (highlight.row === -1 && highlight.col >= 0) {
|
170
|
-
_this2.sort(_this2.getNextSortConfig(highlight.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
|
171
|
-
}
|
172
|
-
},
|
173
|
-
runOnlyIf: function runOnlyIf() {
|
174
|
-
var _this2$hot$getSelecte2;
|
175
|
-
return (_this2$hot$getSelecte2 = _this2.hot.getSelectedRangeLast()) === null || _this2$hot$getSelecte2 === void 0 ? void 0 : _this2$hot$getSelecte2.highlight.isHeader();
|
176
|
-
},
|
177
|
-
group: SHORTCUTS_GROUP
|
178
|
-
});
|
179
|
-
}
|
180
|
-
|
181
|
-
/**
|
182
|
-
* Unregister shortcuts responsible for toggling column sorting functionality.
|
183
|
-
*
|
184
|
-
* @private
|
185
|
-
*/
|
186
|
-
}, {
|
187
|
-
key: "unregisterShortcuts",
|
188
|
-
value: function unregisterShortcuts() {
|
189
|
-
_get(_getPrototypeOf(MultiColumnSorting.prototype), "unregisterShortcuts", this).call(this);
|
190
|
-
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
191
|
-
}
|
192
|
-
|
193
154
|
/**
|
194
155
|
* Sorts the table by chosen columns and orders.
|
195
156
|
*
|
@@ -358,7 +319,7 @@ var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
|
|
358
319
|
if (this.hot.getShortcutManager().isCtrlPressed()) {
|
359
320
|
this.hot.deselectCell();
|
360
321
|
this.hot.selectColumns(coords.col);
|
361
|
-
this.sort(this.getNextSortConfig(coords.col,
|
322
|
+
this.sort(this.getNextSortConfig(coords.col, APPEND_COLUMN_CONFIG_STRATEGY));
|
362
323
|
} else {
|
363
324
|
this.sort(this.getColumnNextConfig(coords.col));
|
364
325
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
|
-
import "core-js/modules/es.array.sort.js";
|
3
2
|
import "core-js/modules/es.array.concat.js";
|
3
|
+
import "core-js/modules/es.array.sort.js";
|
4
4
|
import "core-js/modules/es.object.set-prototype-of.js";
|
5
5
|
import "core-js/modules/es.object.get-prototype-of.js";
|
6
6
|
import "core-js/modules/es.object.to-string.js";
|
@@ -30,7 +30,7 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
|
|
30
30
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
31
31
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
32
32
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
33
|
-
import {
|
33
|
+
import { ColumnSorting } from "../columnSorting/index.mjs";
|
34
34
|
import { registerRootComparator } from "../columnSorting/sortService/index.mjs";
|
35
35
|
import { wasHeaderClickedProperly } from "../columnSorting/utils.mjs";
|
36
36
|
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
@@ -39,8 +39,8 @@ import { warnAboutPluginsConflict } from "./utils.mjs";
|
|
39
39
|
import { getClassesToAdd, getClassesToRemove } from "./domHelpers.mjs";
|
40
40
|
export var PLUGIN_KEY = 'multiColumnSorting';
|
41
41
|
export var PLUGIN_PRIORITY = 170;
|
42
|
+
var APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
42
43
|
var CONFLICTED_PLUGIN_KEY = 'columnSorting';
|
43
|
-
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
44
44
|
registerRootComparator(PLUGIN_KEY, rootComparator);
|
45
45
|
|
46
46
|
/**
|
@@ -145,45 +145,6 @@ export var MultiColumnSorting = /*#__PURE__*/function (_ColumnSorting) {
|
|
145
145
|
_get(_getPrototypeOf(MultiColumnSorting.prototype), "disablePlugin", this).call(this);
|
146
146
|
}
|
147
147
|
|
148
|
-
/**
|
149
|
-
* Register shortcuts responsible for toggling column sorting functionality.
|
150
|
-
*
|
151
|
-
* @private
|
152
|
-
*/
|
153
|
-
}, {
|
154
|
-
key: "registerShortcuts",
|
155
|
-
value: function registerShortcuts() {
|
156
|
-
var _this2 = this;
|
157
|
-
_get(_getPrototypeOf(MultiColumnSorting.prototype), "registerShortcuts", this).call(this);
|
158
|
-
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
159
|
-
keys: [['Control/Meta', 'Enter']],
|
160
|
-
callback: function callback() {
|
161
|
-
var _this2$hot$getSelecte = _this2.hot.getSelectedRangeLast(),
|
162
|
-
highlight = _this2$hot$getSelecte.highlight;
|
163
|
-
if (highlight.row === -1 && highlight.col >= 0) {
|
164
|
-
_this2.sort(_this2.getNextSortConfig(highlight.col, APPEND_COLUMN_CONFIG_STRATEGY));
|
165
|
-
}
|
166
|
-
},
|
167
|
-
runOnlyIf: function runOnlyIf() {
|
168
|
-
var _this2$hot$getSelecte2;
|
169
|
-
return (_this2$hot$getSelecte2 = _this2.hot.getSelectedRangeLast()) === null || _this2$hot$getSelecte2 === void 0 ? void 0 : _this2$hot$getSelecte2.highlight.isHeader();
|
170
|
-
},
|
171
|
-
group: SHORTCUTS_GROUP
|
172
|
-
});
|
173
|
-
}
|
174
|
-
|
175
|
-
/**
|
176
|
-
* Unregister shortcuts responsible for toggling column sorting functionality.
|
177
|
-
*
|
178
|
-
* @private
|
179
|
-
*/
|
180
|
-
}, {
|
181
|
-
key: "unregisterShortcuts",
|
182
|
-
value: function unregisterShortcuts() {
|
183
|
-
_get(_getPrototypeOf(MultiColumnSorting.prototype), "unregisterShortcuts", this).call(this);
|
184
|
-
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
185
|
-
}
|
186
|
-
|
187
148
|
/**
|
188
149
|
* Sorts the table by chosen columns and orders.
|
189
150
|
*
|
@@ -25,8 +25,8 @@ require("core-js/modules/es.weak-map.js");
|
|
25
25
|
require("core-js/modules/web.dom-collections.iterator.js");
|
26
26
|
var _element = require("../../helpers/dom/element");
|
27
27
|
var _number = require("../../helpers/number");
|
28
|
-
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
29
28
|
var _event = require("../../helpers/dom/event");
|
29
|
+
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
30
30
|
var _console = require("../../helpers/console");
|
31
31
|
var _selection = require("../../selection");
|
32
32
|
var _base = require("../base");
|
@@ -201,12 +201,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
201
201
|
this.addHook('beforeOnCellMouseOver', function () {
|
202
202
|
return _this2.onBeforeOnCellMouseOver.apply(_this2, arguments);
|
203
203
|
});
|
204
|
-
this.addHook('modifyTransformStart', function () {
|
205
|
-
return _this2.onModifyTransformStart.apply(_this2, arguments);
|
206
|
-
});
|
207
|
-
this.addHook('afterSelection', function () {
|
208
|
-
return _this2.updateFocusHighlightPosition();
|
209
|
-
});
|
210
204
|
this.addHook('afterGetColumnHeaderRenderers', function (array) {
|
211
205
|
return _this2.onAfterGetColumnHeaderRenderers(array);
|
212
206
|
});
|
@@ -222,18 +216,9 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
222
216
|
this.addHook('beforeCopy', function () {
|
223
217
|
return _this2.onBeforeCopy.apply(_this2, arguments);
|
224
218
|
});
|
225
|
-
this.addHook('beforeSelectColumns', function () {
|
226
|
-
return _this2.onBeforeSelectColumns.apply(_this2, arguments);
|
227
|
-
});
|
228
219
|
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
229
220
|
return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
|
230
221
|
});
|
231
|
-
this.hot.columnIndexMapper.addLocalHook('cacheUpdated', function () {
|
232
|
-
return _this2.updateFocusHighlightPosition();
|
233
|
-
});
|
234
|
-
this.hot.rowIndexMapper.addLocalHook('cacheUpdated', function () {
|
235
|
-
return _this2.updateFocusHighlightPosition();
|
236
|
-
});
|
237
222
|
_get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
|
238
223
|
this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
|
239
224
|
}
|
@@ -455,34 +440,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
455
440
|
return this.hot.getColHeader(visualColumnIndex, headerLevel);
|
456
441
|
}
|
457
442
|
|
458
|
-
/**
|
459
|
-
* Updates the selection focus highlight position to point to the nested header root element (TH)
|
460
|
-
* even when the logical coordinates point in-between the header.
|
461
|
-
*
|
462
|
-
* @private
|
463
|
-
*/
|
464
|
-
}, {
|
465
|
-
key: "updateFocusHighlightPosition",
|
466
|
-
value: function updateFocusHighlightPosition() {
|
467
|
-
var _this$hot;
|
468
|
-
var selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
|
469
|
-
if (!selection) {
|
470
|
-
return;
|
471
|
-
}
|
472
|
-
var highlight = selection.highlight;
|
473
|
-
var isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
|
474
|
-
if (isNestedHeadersRange) {
|
475
|
-
var columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
|
476
|
-
var focusHighlight = this.hot.selection.highlight.getFocus();
|
477
|
-
|
478
|
-
// Correct the highlight/focus selection to highlight the correct TH element
|
479
|
-
focusHighlight.visualCellRange.highlight.col = columnIndex;
|
480
|
-
focusHighlight.visualCellRange.from.col = columnIndex;
|
481
|
-
focusHighlight.visualCellRange.to.col = columnIndex;
|
482
|
-
focusHighlight.commit();
|
483
|
-
}
|
484
|
-
}
|
485
|
-
|
486
443
|
/**
|
487
444
|
* Allows to control which header DOM element will be used to highlight.
|
488
445
|
*
|
@@ -499,7 +456,8 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
499
456
|
if (!headerNodeData) {
|
500
457
|
return visualColumn;
|
501
458
|
}
|
502
|
-
var
|
459
|
+
var classNames = highlightMeta.classNames,
|
460
|
+
columnCursor = highlightMeta.columnCursor,
|
503
461
|
selectionType = highlightMeta.selectionType,
|
504
462
|
selectionWidth = highlightMeta.selectionWidth;
|
505
463
|
var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
|
@@ -511,8 +469,8 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
511
469
|
}
|
512
470
|
} else if (selectionType === _selection.ACTIVE_HEADER_TYPE) {
|
513
471
|
if (colspan > selectionWidth - columnCursor || !isRoot) {
|
514
|
-
//
|
515
|
-
|
472
|
+
// Reset the class names array so the generated TH element won't be modified.
|
473
|
+
classNames.length = 0;
|
516
474
|
}
|
517
475
|
}
|
518
476
|
return visualColumn;
|
@@ -643,7 +601,7 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
643
601
|
}, {
|
644
602
|
key: "onBeforeOnCellMouseOver",
|
645
603
|
value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
646
|
-
var _this$hot
|
604
|
+
var _this$hot;
|
647
605
|
if (!this.hot.view.isMouseDown()) {
|
648
606
|
return;
|
649
607
|
}
|
@@ -664,93 +622,13 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
664
622
|
controller.cell = true;
|
665
623
|
var columnsToSelect = [];
|
666
624
|
if (coords.col < from.col) {
|
667
|
-
columnsToSelect.push(bottomEndCoords.col, columnIndex
|
625
|
+
columnsToSelect.push(bottomEndCoords.col, columnIndex);
|
668
626
|
} else if (coords.col > from.col) {
|
669
|
-
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1
|
627
|
+
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1);
|
670
628
|
} else {
|
671
|
-
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1
|
672
|
-
}
|
673
|
-
(_this$hot$selection = this.hot.selection).selectColumns.apply(_this$hot$selection, columnsToSelect);
|
674
|
-
}
|
675
|
-
|
676
|
-
/**
|
677
|
-
* `modifyTransformStart` hook is called every time the keyboard navigation is used.
|
678
|
-
*
|
679
|
-
* @private
|
680
|
-
* @param {object} delta The transformation delta.
|
681
|
-
*/
|
682
|
-
}, {
|
683
|
-
key: "onModifyTransformStart",
|
684
|
-
value: function onModifyTransformStart(delta) {
|
685
|
-
var _this$hot$getSelected = this.hot.getSelectedRangeLast(),
|
686
|
-
highlight = _this$hot$getSelected.highlight;
|
687
|
-
var nextCoords = this.hot._createCellCoords(highlight.row + delta.row, highlight.col + delta.col);
|
688
|
-
var isNestedHeadersRange = nextCoords.isHeader() && nextCoords.col >= 0;
|
689
|
-
if (!isNestedHeadersRange) {
|
690
|
-
return;
|
691
|
-
}
|
692
|
-
var visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
|
693
|
-
var visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
|
694
|
-
if (delta.col < 0) {
|
695
|
-
var nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
|
696
|
-
var notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
|
697
|
-
if (notHiddenColumnIndex === null) {
|
698
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
699
|
-
// be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
|
700
|
-
delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
|
701
|
-
} else {
|
702
|
-
delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
|
703
|
-
}
|
704
|
-
} else if (delta.col > 0) {
|
705
|
-
var _nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
|
706
|
-
var _notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(_nextColumn, 1);
|
707
|
-
if (_notHiddenColumnIndex === null) {
|
708
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
709
|
-
// be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
|
710
|
-
delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
|
711
|
-
} else {
|
712
|
-
delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, _notHiddenColumnIndex) - 1, 1);
|
713
|
-
}
|
714
|
-
}
|
715
|
-
}
|
716
|
-
|
717
|
-
/**
|
718
|
-
* The hook observes the column selection from the Selection API and modifies the column range to
|
719
|
-
* ensure that the whole nested column will be covered.
|
720
|
-
*
|
721
|
-
* @private
|
722
|
-
* @param {*} from The coords object where the selection starts.
|
723
|
-
* @param {*} to The coords object where the selection ends.
|
724
|
-
*/
|
725
|
-
}, {
|
726
|
-
key: "onBeforeSelectColumns",
|
727
|
-
value: function onBeforeSelectColumns(from, to) {
|
728
|
-
var headerLevel = from.row;
|
729
|
-
var startNodeData = this._getHeaderTreeNodeDataByCoords({
|
730
|
-
row: headerLevel,
|
731
|
-
col: from.col
|
732
|
-
});
|
733
|
-
var endNodeData = this._getHeaderTreeNodeDataByCoords({
|
734
|
-
row: headerLevel,
|
735
|
-
col: to.col
|
736
|
-
});
|
737
|
-
if (to.col < from.col) {
|
738
|
-
// Column selection from right to left
|
739
|
-
if (startNodeData) {
|
740
|
-
from.col = startNodeData.columnIndex + startNodeData.origColspan - 1;
|
741
|
-
}
|
742
|
-
if (endNodeData) {
|
743
|
-
to.col = endNodeData.columnIndex;
|
744
|
-
}
|
745
|
-
} else if (to.col >= from.col) {
|
746
|
-
// Column selection from left to right or a single column selection
|
747
|
-
if (startNodeData) {
|
748
|
-
from.col = startNodeData.columnIndex;
|
749
|
-
}
|
750
|
-
if (endNodeData) {
|
751
|
-
to.col = endNodeData.columnIndex + endNodeData.origColspan - 1;
|
752
|
-
}
|
629
|
+
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
|
753
630
|
}
|
631
|
+
(_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
|
754
632
|
}
|
755
633
|
|
756
634
|
/**
|
@@ -45,8 +45,8 @@ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!priva
|
|
45
45
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
46
46
|
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
47
47
|
import { isNumeric } from "../../helpers/number.mjs";
|
48
|
-
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
49
48
|
import { isLeftClick, isRightClick } from "../../helpers/dom/event.mjs";
|
49
|
+
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
50
50
|
import { warn } from "../../helpers/console.mjs";
|
51
51
|
import { ACTIVE_HEADER_TYPE, HEADER_TYPE } from "../../selection/index.mjs";
|
52
52
|
import { BasePlugin } from "../base/index.mjs";
|
@@ -194,12 +194,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
194
194
|
this.addHook('beforeOnCellMouseOver', function () {
|
195
195
|
return _this2.onBeforeOnCellMouseOver.apply(_this2, arguments);
|
196
196
|
});
|
197
|
-
this.addHook('modifyTransformStart', function () {
|
198
|
-
return _this2.onModifyTransformStart.apply(_this2, arguments);
|
199
|
-
});
|
200
|
-
this.addHook('afterSelection', function () {
|
201
|
-
return _this2.updateFocusHighlightPosition();
|
202
|
-
});
|
203
197
|
this.addHook('afterGetColumnHeaderRenderers', function (array) {
|
204
198
|
return _this2.onAfterGetColumnHeaderRenderers(array);
|
205
199
|
});
|
@@ -215,18 +209,9 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
215
209
|
this.addHook('beforeCopy', function () {
|
216
210
|
return _this2.onBeforeCopy.apply(_this2, arguments);
|
217
211
|
});
|
218
|
-
this.addHook('beforeSelectColumns', function () {
|
219
|
-
return _this2.onBeforeSelectColumns.apply(_this2, arguments);
|
220
|
-
});
|
221
212
|
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
222
213
|
return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
|
223
214
|
});
|
224
|
-
this.hot.columnIndexMapper.addLocalHook('cacheUpdated', function () {
|
225
|
-
return _this2.updateFocusHighlightPosition();
|
226
|
-
});
|
227
|
-
this.hot.rowIndexMapper.addLocalHook('cacheUpdated', function () {
|
228
|
-
return _this2.updateFocusHighlightPosition();
|
229
|
-
});
|
230
215
|
_get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
|
231
216
|
this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
|
232
217
|
}
|
@@ -448,34 +433,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
448
433
|
return this.hot.getColHeader(visualColumnIndex, headerLevel);
|
449
434
|
}
|
450
435
|
|
451
|
-
/**
|
452
|
-
* Updates the selection focus highlight position to point to the nested header root element (TH)
|
453
|
-
* even when the logical coordinates point in-between the header.
|
454
|
-
*
|
455
|
-
* @private
|
456
|
-
*/
|
457
|
-
}, {
|
458
|
-
key: "updateFocusHighlightPosition",
|
459
|
-
value: function updateFocusHighlightPosition() {
|
460
|
-
var _this$hot;
|
461
|
-
var selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
|
462
|
-
if (!selection) {
|
463
|
-
return;
|
464
|
-
}
|
465
|
-
var highlight = selection.highlight;
|
466
|
-
var isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
|
467
|
-
if (isNestedHeadersRange) {
|
468
|
-
var columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
|
469
|
-
var focusHighlight = this.hot.selection.highlight.getFocus();
|
470
|
-
|
471
|
-
// Correct the highlight/focus selection to highlight the correct TH element
|
472
|
-
focusHighlight.visualCellRange.highlight.col = columnIndex;
|
473
|
-
focusHighlight.visualCellRange.from.col = columnIndex;
|
474
|
-
focusHighlight.visualCellRange.to.col = columnIndex;
|
475
|
-
focusHighlight.commit();
|
476
|
-
}
|
477
|
-
}
|
478
|
-
|
479
436
|
/**
|
480
437
|
* Allows to control which header DOM element will be used to highlight.
|
481
438
|
*
|
@@ -492,7 +449,8 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
492
449
|
if (!headerNodeData) {
|
493
450
|
return visualColumn;
|
494
451
|
}
|
495
|
-
var
|
452
|
+
var classNames = highlightMeta.classNames,
|
453
|
+
columnCursor = highlightMeta.columnCursor,
|
496
454
|
selectionType = highlightMeta.selectionType,
|
497
455
|
selectionWidth = highlightMeta.selectionWidth;
|
498
456
|
var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
|
@@ -504,8 +462,8 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
504
462
|
}
|
505
463
|
} else if (selectionType === ACTIVE_HEADER_TYPE) {
|
506
464
|
if (colspan > selectionWidth - columnCursor || !isRoot) {
|
507
|
-
//
|
508
|
-
|
465
|
+
// Reset the class names array so the generated TH element won't be modified.
|
466
|
+
classNames.length = 0;
|
509
467
|
}
|
510
468
|
}
|
511
469
|
return visualColumn;
|
@@ -636,7 +594,7 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
636
594
|
}, {
|
637
595
|
key: "onBeforeOnCellMouseOver",
|
638
596
|
value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
639
|
-
var _this$hot
|
597
|
+
var _this$hot;
|
640
598
|
if (!this.hot.view.isMouseDown()) {
|
641
599
|
return;
|
642
600
|
}
|
@@ -657,93 +615,13 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
657
615
|
controller.cell = true;
|
658
616
|
var columnsToSelect = [];
|
659
617
|
if (coords.col < from.col) {
|
660
|
-
columnsToSelect.push(bottomEndCoords.col, columnIndex
|
618
|
+
columnsToSelect.push(bottomEndCoords.col, columnIndex);
|
661
619
|
} else if (coords.col > from.col) {
|
662
|
-
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1
|
620
|
+
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1);
|
663
621
|
} else {
|
664
|
-
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1
|
665
|
-
}
|
666
|
-
(_this$hot$selection = this.hot.selection).selectColumns.apply(_this$hot$selection, columnsToSelect);
|
667
|
-
}
|
668
|
-
|
669
|
-
/**
|
670
|
-
* `modifyTransformStart` hook is called every time the keyboard navigation is used.
|
671
|
-
*
|
672
|
-
* @private
|
673
|
-
* @param {object} delta The transformation delta.
|
674
|
-
*/
|
675
|
-
}, {
|
676
|
-
key: "onModifyTransformStart",
|
677
|
-
value: function onModifyTransformStart(delta) {
|
678
|
-
var _this$hot$getSelected = this.hot.getSelectedRangeLast(),
|
679
|
-
highlight = _this$hot$getSelected.highlight;
|
680
|
-
var nextCoords = this.hot._createCellCoords(highlight.row + delta.row, highlight.col + delta.col);
|
681
|
-
var isNestedHeadersRange = nextCoords.isHeader() && nextCoords.col >= 0;
|
682
|
-
if (!isNestedHeadersRange) {
|
683
|
-
return;
|
684
|
-
}
|
685
|
-
var visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
|
686
|
-
var visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
|
687
|
-
if (delta.col < 0) {
|
688
|
-
var nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
|
689
|
-
var notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
|
690
|
-
if (notHiddenColumnIndex === null) {
|
691
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
692
|
-
// be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
|
693
|
-
delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
|
694
|
-
} else {
|
695
|
-
delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
|
696
|
-
}
|
697
|
-
} else if (delta.col > 0) {
|
698
|
-
var _nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
|
699
|
-
var _notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(_nextColumn, 1);
|
700
|
-
if (_notHiddenColumnIndex === null) {
|
701
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
702
|
-
// be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
|
703
|
-
delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
|
704
|
-
} else {
|
705
|
-
delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, _notHiddenColumnIndex) - 1, 1);
|
706
|
-
}
|
707
|
-
}
|
708
|
-
}
|
709
|
-
|
710
|
-
/**
|
711
|
-
* The hook observes the column selection from the Selection API and modifies the column range to
|
712
|
-
* ensure that the whole nested column will be covered.
|
713
|
-
*
|
714
|
-
* @private
|
715
|
-
* @param {*} from The coords object where the selection starts.
|
716
|
-
* @param {*} to The coords object where the selection ends.
|
717
|
-
*/
|
718
|
-
}, {
|
719
|
-
key: "onBeforeSelectColumns",
|
720
|
-
value: function onBeforeSelectColumns(from, to) {
|
721
|
-
var headerLevel = from.row;
|
722
|
-
var startNodeData = this._getHeaderTreeNodeDataByCoords({
|
723
|
-
row: headerLevel,
|
724
|
-
col: from.col
|
725
|
-
});
|
726
|
-
var endNodeData = this._getHeaderTreeNodeDataByCoords({
|
727
|
-
row: headerLevel,
|
728
|
-
col: to.col
|
729
|
-
});
|
730
|
-
if (to.col < from.col) {
|
731
|
-
// Column selection from right to left
|
732
|
-
if (startNodeData) {
|
733
|
-
from.col = startNodeData.columnIndex + startNodeData.origColspan - 1;
|
734
|
-
}
|
735
|
-
if (endNodeData) {
|
736
|
-
to.col = endNodeData.columnIndex;
|
737
|
-
}
|
738
|
-
} else if (to.col >= from.col) {
|
739
|
-
// Column selection from left to right or a single column selection
|
740
|
-
if (startNodeData) {
|
741
|
-
from.col = startNodeData.columnIndex;
|
742
|
-
}
|
743
|
-
if (endNodeData) {
|
744
|
-
to.col = endNodeData.columnIndex + endNodeData.origColspan - 1;
|
745
|
-
}
|
622
|
+
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
|
746
623
|
}
|
624
|
+
(_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
|
747
625
|
}
|
748
626
|
|
749
627
|
/**
|
@@ -416,43 +416,6 @@ var StateManager = /*#__PURE__*/function () {
|
|
416
416
|
return stepBackColumn;
|
417
417
|
}
|
418
418
|
|
419
|
-
/**
|
420
|
-
* The method is helpful in cases where the column index targets in-between currently
|
421
|
-
* collapsed column. In that case, the method returns the right-most column index
|
422
|
-
* where the nested header ends.
|
423
|
-
*
|
424
|
-
* @param {number} headerLevel Header level (there is support for negative and positive values).
|
425
|
-
* @param {number} columnIndex A visual column index.
|
426
|
-
* @returns {number}
|
427
|
-
*/
|
428
|
-
}, {
|
429
|
-
key: "findRightMostColumnIndex",
|
430
|
-
value: function findRightMostColumnIndex(headerLevel, columnIndex) {
|
431
|
-
var _this$getHeaderSettin3;
|
432
|
-
var _ref4 = (_this$getHeaderSettin3 = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin3 !== void 0 ? _this$getHeaderSettin3 : {
|
433
|
-
isRoot: true,
|
434
|
-
origColspan: 1
|
435
|
-
},
|
436
|
-
isRoot = _ref4.isRoot,
|
437
|
-
origColspan = _ref4.origColspan;
|
438
|
-
if (isRoot) {
|
439
|
-
return columnIndex + origColspan - 1;
|
440
|
-
}
|
441
|
-
var stepForthColumn = columnIndex + 1;
|
442
|
-
while (stepForthColumn < this.getColumnsCount()) {
|
443
|
-
var _this$getHeaderSettin4;
|
444
|
-
var _ref5 = (_this$getHeaderSettin4 = this.getHeaderSettings(headerLevel, stepForthColumn)) !== null && _this$getHeaderSettin4 !== void 0 ? _this$getHeaderSettin4 : {
|
445
|
-
isRoot: true
|
446
|
-
},
|
447
|
-
isRootNode = _ref5.isRoot;
|
448
|
-
if (isRootNode) {
|
449
|
-
break;
|
450
|
-
}
|
451
|
-
stepForthColumn += 1;
|
452
|
-
}
|
453
|
-
return stepForthColumn - 1;
|
454
|
-
}
|
455
|
-
|
456
419
|
/**
|
457
420
|
* Gets a total number of headers levels.
|
458
421
|
*
|