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
@@ -411,6 +411,43 @@ var StateManager = /*#__PURE__*/function () {
|
|
411
411
|
return stepBackColumn;
|
412
412
|
}
|
413
413
|
|
414
|
+
/**
|
415
|
+
* The method is helpful in cases where the column index targets in-between currently
|
416
|
+
* collapsed column. In that case, the method returns the right-most column index
|
417
|
+
* where the nested header ends.
|
418
|
+
*
|
419
|
+
* @param {number} headerLevel Header level (there is support for negative and positive values).
|
420
|
+
* @param {number} columnIndex A visual column index.
|
421
|
+
* @returns {number}
|
422
|
+
*/
|
423
|
+
}, {
|
424
|
+
key: "findRightMostColumnIndex",
|
425
|
+
value: function findRightMostColumnIndex(headerLevel, columnIndex) {
|
426
|
+
var _this$getHeaderSettin3;
|
427
|
+
var _ref4 = (_this$getHeaderSettin3 = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin3 !== void 0 ? _this$getHeaderSettin3 : {
|
428
|
+
isRoot: true,
|
429
|
+
origColspan: 1
|
430
|
+
},
|
431
|
+
isRoot = _ref4.isRoot,
|
432
|
+
origColspan = _ref4.origColspan;
|
433
|
+
if (isRoot) {
|
434
|
+
return columnIndex + origColspan - 1;
|
435
|
+
}
|
436
|
+
var stepForthColumn = columnIndex + 1;
|
437
|
+
while (stepForthColumn < this.getColumnsCount()) {
|
438
|
+
var _this$getHeaderSettin4;
|
439
|
+
var _ref5 = (_this$getHeaderSettin4 = this.getHeaderSettings(headerLevel, stepForthColumn)) !== null && _this$getHeaderSettin4 !== void 0 ? _this$getHeaderSettin4 : {
|
440
|
+
isRoot: true
|
441
|
+
},
|
442
|
+
isRootNode = _ref5.isRoot;
|
443
|
+
if (isRootNode) {
|
444
|
+
break;
|
445
|
+
}
|
446
|
+
stepForthColumn += 1;
|
447
|
+
}
|
448
|
+
return stepForthColumn - 1;
|
449
|
+
}
|
450
|
+
|
414
451
|
/**
|
415
452
|
* Gets a total number of headers levels.
|
416
453
|
*
|
@@ -62,6 +62,7 @@ var PLUGIN_KEY = 'nestedRows';
|
|
62
62
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
63
63
|
var PLUGIN_PRIORITY = 300;
|
64
64
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
65
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
65
66
|
var privatePool = new WeakMap();
|
66
67
|
|
67
68
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -203,6 +204,7 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
203
204
|
this.addHook('beforeUpdateData', function (data) {
|
204
205
|
return _this2.onBeforeLoadData(data);
|
205
206
|
});
|
207
|
+
this.registerShortcuts();
|
206
208
|
_get(_getPrototypeOf(NestedRows.prototype), "enablePlugin", this).call(this);
|
207
209
|
}
|
208
210
|
|
@@ -213,6 +215,7 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
213
215
|
key: "disablePlugin",
|
214
216
|
value: function disablePlugin() {
|
215
217
|
this.hot.rowIndexMapper.unregisterMap('nestedRows');
|
218
|
+
this.unregisterShortcuts();
|
216
219
|
_get(_getPrototypeOf(NestedRows.prototype), "disablePlugin", this).call(this);
|
217
220
|
}
|
218
221
|
|
@@ -236,6 +239,48 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
236
239
|
_get(_getPrototypeOf(NestedRows.prototype), "updatePlugin", this).call(this);
|
237
240
|
}
|
238
241
|
|
242
|
+
/**
|
243
|
+
* Register shortcuts responsible for toggling collapsible columns.
|
244
|
+
*
|
245
|
+
* @private
|
246
|
+
*/
|
247
|
+
}, {
|
248
|
+
key: "registerShortcuts",
|
249
|
+
value: function registerShortcuts() {
|
250
|
+
var _this3 = this;
|
251
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
252
|
+
keys: [['Enter']],
|
253
|
+
callback: function callback() {
|
254
|
+
var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
|
255
|
+
highlight = _this3$hot$getSelecte.highlight;
|
256
|
+
if (highlight.col === -1 && highlight.row >= 0) {
|
257
|
+
var row = _this3.collapsingUI.translateTrimmedRow(highlight.row);
|
258
|
+
if (_this3.collapsingUI.areChildrenCollapsed(row)) {
|
259
|
+
_this3.collapsingUI.expandChildren(row);
|
260
|
+
} else {
|
261
|
+
_this3.collapsingUI.collapseChildren(row);
|
262
|
+
}
|
263
|
+
}
|
264
|
+
},
|
265
|
+
runOnlyIf: function runOnlyIf() {
|
266
|
+
var _this3$hot$getSelecte2;
|
267
|
+
return (_this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte2 === void 0 ? void 0 : _this3$hot$getSelecte2.highlight.isHeader();
|
268
|
+
},
|
269
|
+
group: SHORTCUTS_GROUP
|
270
|
+
});
|
271
|
+
}
|
272
|
+
|
273
|
+
/**
|
274
|
+
* Unregister shortcuts responsible for toggling collapsible columns.
|
275
|
+
*
|
276
|
+
* @private
|
277
|
+
*/
|
278
|
+
}, {
|
279
|
+
key: "unregisterShortcuts",
|
280
|
+
value: function unregisterShortcuts() {
|
281
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
282
|
+
}
|
283
|
+
|
239
284
|
/**
|
240
285
|
* `beforeRowMove` hook callback.
|
241
286
|
*
|
@@ -415,15 +460,15 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
415
460
|
}, {
|
416
461
|
key: "onAfterRemoveRow",
|
417
462
|
value: function onAfterRemoveRow(index, amount, logicRows, source) {
|
418
|
-
var
|
463
|
+
var _this4 = this;
|
419
464
|
if (source === this.pluginName) {
|
420
465
|
return;
|
421
466
|
}
|
422
467
|
var priv = privatePool.get(this);
|
423
468
|
setTimeout(function () {
|
424
469
|
priv.skipRender = null;
|
425
|
-
|
426
|
-
|
470
|
+
_this4.headersUI.updateRowHeaderWidth();
|
471
|
+
_this4.collapsingUI.collapsedRowsStash.applyStash();
|
427
472
|
}, 0);
|
428
473
|
}
|
429
474
|
|
@@ -439,17 +484,17 @@ var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
439
484
|
}, {
|
440
485
|
key: "onBeforeRemoveRow",
|
441
486
|
value: function onBeforeRemoveRow(index, amount, physicalRows) {
|
442
|
-
var
|
487
|
+
var _this5 = this;
|
443
488
|
var modifiedPhysicalRows = Array.from(physicalRows.reduce(function (removedRows, physicalIndex) {
|
444
|
-
if (
|
445
|
-
var children =
|
489
|
+
if (_this5.dataManager.isParent(physicalIndex)) {
|
490
|
+
var children = _this5.dataManager.getDataObject(physicalIndex).__children;
|
446
491
|
|
447
492
|
// Preserve a parent in the list of removed rows.
|
448
493
|
removedRows.add(physicalIndex);
|
449
494
|
if (Array.isArray(children)) {
|
450
495
|
// Add a children to the list of removed rows.
|
451
496
|
children.forEach(function (child) {
|
452
|
-
return removedRows.add(
|
497
|
+
return removedRows.add(_this5.dataManager.getRowIndex(child));
|
453
498
|
});
|
454
499
|
}
|
455
500
|
return removedRows;
|
@@ -55,6 +55,7 @@ import { TrimmingMap } from "../../translations/index.mjs";
|
|
55
55
|
import RowMoveController from "./utils/rowMoveController.mjs";
|
56
56
|
export var PLUGIN_KEY = 'nestedRows';
|
57
57
|
export var PLUGIN_PRIORITY = 300;
|
58
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
58
59
|
var privatePool = new WeakMap();
|
59
60
|
|
60
61
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -196,6 +197,7 @@ export var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
196
197
|
this.addHook('beforeUpdateData', function (data) {
|
197
198
|
return _this2.onBeforeLoadData(data);
|
198
199
|
});
|
200
|
+
this.registerShortcuts();
|
199
201
|
_get(_getPrototypeOf(NestedRows.prototype), "enablePlugin", this).call(this);
|
200
202
|
}
|
201
203
|
|
@@ -206,6 +208,7 @@ export var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
206
208
|
key: "disablePlugin",
|
207
209
|
value: function disablePlugin() {
|
208
210
|
this.hot.rowIndexMapper.unregisterMap('nestedRows');
|
211
|
+
this.unregisterShortcuts();
|
209
212
|
_get(_getPrototypeOf(NestedRows.prototype), "disablePlugin", this).call(this);
|
210
213
|
}
|
211
214
|
|
@@ -229,6 +232,48 @@ export var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
229
232
|
_get(_getPrototypeOf(NestedRows.prototype), "updatePlugin", this).call(this);
|
230
233
|
}
|
231
234
|
|
235
|
+
/**
|
236
|
+
* Register shortcuts responsible for toggling collapsible columns.
|
237
|
+
*
|
238
|
+
* @private
|
239
|
+
*/
|
240
|
+
}, {
|
241
|
+
key: "registerShortcuts",
|
242
|
+
value: function registerShortcuts() {
|
243
|
+
var _this3 = this;
|
244
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
245
|
+
keys: [['Enter']],
|
246
|
+
callback: function callback() {
|
247
|
+
var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
|
248
|
+
highlight = _this3$hot$getSelecte.highlight;
|
249
|
+
if (highlight.col === -1 && highlight.row >= 0) {
|
250
|
+
var row = _this3.collapsingUI.translateTrimmedRow(highlight.row);
|
251
|
+
if (_this3.collapsingUI.areChildrenCollapsed(row)) {
|
252
|
+
_this3.collapsingUI.expandChildren(row);
|
253
|
+
} else {
|
254
|
+
_this3.collapsingUI.collapseChildren(row);
|
255
|
+
}
|
256
|
+
}
|
257
|
+
},
|
258
|
+
runOnlyIf: function runOnlyIf() {
|
259
|
+
var _this3$hot$getSelecte2;
|
260
|
+
return (_this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte2 === void 0 ? void 0 : _this3$hot$getSelecte2.highlight.isHeader();
|
261
|
+
},
|
262
|
+
group: SHORTCUTS_GROUP
|
263
|
+
});
|
264
|
+
}
|
265
|
+
|
266
|
+
/**
|
267
|
+
* Unregister shortcuts responsible for toggling collapsible columns.
|
268
|
+
*
|
269
|
+
* @private
|
270
|
+
*/
|
271
|
+
}, {
|
272
|
+
key: "unregisterShortcuts",
|
273
|
+
value: function unregisterShortcuts() {
|
274
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
275
|
+
}
|
276
|
+
|
232
277
|
/**
|
233
278
|
* `beforeRowMove` hook callback.
|
234
279
|
*
|
@@ -408,15 +453,15 @@ export var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
408
453
|
}, {
|
409
454
|
key: "onAfterRemoveRow",
|
410
455
|
value: function onAfterRemoveRow(index, amount, logicRows, source) {
|
411
|
-
var
|
456
|
+
var _this4 = this;
|
412
457
|
if (source === this.pluginName) {
|
413
458
|
return;
|
414
459
|
}
|
415
460
|
var priv = privatePool.get(this);
|
416
461
|
setTimeout(function () {
|
417
462
|
priv.skipRender = null;
|
418
|
-
|
419
|
-
|
463
|
+
_this4.headersUI.updateRowHeaderWidth();
|
464
|
+
_this4.collapsingUI.collapsedRowsStash.applyStash();
|
420
465
|
}, 0);
|
421
466
|
}
|
422
467
|
|
@@ -432,17 +477,17 @@ export var NestedRows = /*#__PURE__*/function (_BasePlugin) {
|
|
432
477
|
}, {
|
433
478
|
key: "onBeforeRemoveRow",
|
434
479
|
value: function onBeforeRemoveRow(index, amount, physicalRows) {
|
435
|
-
var
|
480
|
+
var _this5 = this;
|
436
481
|
var modifiedPhysicalRows = Array.from(physicalRows.reduce(function (removedRows, physicalIndex) {
|
437
|
-
if (
|
438
|
-
var children =
|
482
|
+
if (_this5.dataManager.isParent(physicalIndex)) {
|
483
|
+
var children = _this5.dataManager.getDataObject(physicalIndex).__children;
|
439
484
|
|
440
485
|
// Preserve a parent in the list of removed rows.
|
441
486
|
removedRows.add(physicalIndex);
|
442
487
|
if (Array.isArray(children)) {
|
443
488
|
// Add a children to the list of removed rows.
|
444
489
|
children.forEach(function (child) {
|
445
|
-
return removedRows.add(
|
490
|
+
return removedRows.add(_this5.dataManager.getRowIndex(child));
|
446
491
|
});
|
447
492
|
}
|
448
493
|
return removedRows;
|
@@ -16,7 +16,7 @@ var _baseRenderer = require("../baseRenderer");
|
|
16
16
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
17
17
|
var _element = require("../../helpers/dom/element");
|
18
18
|
var _mixed = require("../../helpers/mixed");
|
19
|
-
var
|
19
|
+
var _shortcutContexts = require("../../shortcutContexts");
|
20
20
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
22
22
|
var isListeningKeyDownEvent = new WeakMap();
|
@@ -163,7 +163,7 @@ function checkboxRenderer(instance, TD, row, col, prop, value, cellProperties) {
|
|
163
163
|
return !areSelectedCheckboxCells(); // False blocks next action associated with the keyboard shortcut.
|
164
164
|
},
|
165
165
|
|
166
|
-
relativeToGroup:
|
166
|
+
relativeToGroup: _shortcutContexts.EDITOR_EDIT_GROUP,
|
167
167
|
position: 'before'
|
168
168
|
}], config);
|
169
169
|
}
|
@@ -11,7 +11,7 @@ import { baseRenderer } from "../baseRenderer/index.mjs";
|
|
11
11
|
import EventManager from "../../eventManager.mjs";
|
12
12
|
import { empty, addClass } from "../../helpers/dom/element.mjs";
|
13
13
|
import { isEmpty, stringify } from "../../helpers/mixed.mjs";
|
14
|
-
import { SHORTCUTS_GROUP_EDITOR } from "../../
|
14
|
+
import { EDITOR_EDIT_GROUP as SHORTCUTS_GROUP_EDITOR } from "../../shortcutContexts/index.mjs";
|
15
15
|
import Hooks from "../../pluginHooks.mjs";
|
16
16
|
var isListeningKeyDownEvent = new WeakMap();
|
17
17
|
var isCheckboxListenerAdded = new WeakMap();
|