handsontable 0.0.0-next-d96e9b5-20240220 → 0.0.0-next-d4816a9-20240221
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/range.d.ts +0 -1
- package/3rdparty/walkontable/src/cell/range.js +0 -12
- package/3rdparty/walkontable/src/cell/range.mjs +0 -12
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +1 -4
- package/core/viewportScroll/index.mjs +1 -4
- package/core.js +0 -14
- package/core.mjs +0 -14
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +1328 -1606
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +151 -151
- package/dist/handsontable.js +1328 -1606
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +19 -19
- package/editorManager.js +8 -12
- package/editorManager.mjs +8 -12
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/package.json +1 -1
- package/pluginHooks.d.ts +0 -1
- package/pluginHooks.js +1 -43
- package/pluginHooks.mjs +1 -43
- package/plugins/collapsibleColumns/collapsibleColumns.js +1 -7
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +1 -7
- package/plugins/columnSorting/columnSorting.js +0 -6
- package/plugins/columnSorting/columnSorting.mjs +0 -6
- package/plugins/contextMenu/menu/defaultShortcutsList.js +10 -26
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +10 -26
- package/plugins/mergeCells/calculations/selection.js +70 -1
- package/plugins/mergeCells/calculations/selection.mjs +70 -1
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -11
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +1 -11
- package/plugins/mergeCells/mergeCells.js +207 -182
- package/plugins/mergeCells/mergeCells.mjs +207 -182
- package/plugins/multiColumnSorting/multiColumnSorting.js +0 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +0 -6
- package/plugins/nestedHeaders/nestedHeaders.js +0 -1
- package/plugins/nestedHeaders/nestedHeaders.mjs +0 -1
- package/plugins/nestedRows/nestedRows.js +1 -7
- package/plugins/nestedRows/nestedRows.mjs +1 -7
- package/renderers/checkboxRenderer/checkboxRenderer.js +4 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -4
- package/selection/highlight/visualSelection.js +0 -2
- package/selection/highlight/visualSelection.mjs +0 -2
- package/selection/selection.js +34 -195
- package/selection/selection.mjs +33 -194
- package/selection/transformation.js +30 -45
- package/selection/transformation.mjs +30 -45
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +3 -18
- package/shortcutContexts/commands/editor/open.mjs +3 -18
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +1 -6
- package/shortcutContexts/grid.js +2 -2
- package/shortcutContexts/grid.mjs +2 -2
- package/shortcuts/context.js +1 -2
- package/shortcuts/context.mjs +1 -2
- package/core/viewportScroll/scrollStrategies/focusScroll.js +0 -15
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +0 -11
@@ -71,16 +71,16 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
71
71
|
* ```
|
72
72
|
* :::
|
73
73
|
*/
|
74
|
-
var
|
74
|
+
var _lastDesiredCoords = /*#__PURE__*/new WeakMap();
|
75
75
|
var _onAfterInit = /*#__PURE__*/new WeakSet();
|
76
76
|
var _onAfterIsMultipleSelection = /*#__PURE__*/new WeakSet();
|
77
77
|
var _onModifyTransformStart = /*#__PURE__*/new WeakSet();
|
78
78
|
var _onModifyTransformEnd = /*#__PURE__*/new WeakSet();
|
79
|
-
var _onBeforeSelectionHighlightSet = /*#__PURE__*/new WeakSet();
|
80
79
|
var _onModifyGetCellCoords = /*#__PURE__*/new WeakSet();
|
81
80
|
var _addMergeActionsToContextMenu = /*#__PURE__*/new WeakSet();
|
82
81
|
var _onAfterRenderer = /*#__PURE__*/new WeakSet();
|
83
82
|
var _onBeforeSetRangeStart = /*#__PURE__*/new WeakSet();
|
83
|
+
var _onBeforeSetRangeEnd = /*#__PURE__*/new WeakSet();
|
84
84
|
var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
|
85
85
|
var _onAfterViewportRowCalculatorOverride = /*#__PURE__*/new WeakSet();
|
86
86
|
var _onAfterViewportColumnCalculatorOverride = /*#__PURE__*/new WeakSet();
|
@@ -91,6 +91,7 @@ var _onAfterCreateRow = /*#__PURE__*/new WeakSet();
|
|
91
91
|
var _onAfterRemoveRow = /*#__PURE__*/new WeakSet();
|
92
92
|
var _onAfterChange = /*#__PURE__*/new WeakSet();
|
93
93
|
var _onBeforeDrawAreaBorders = /*#__PURE__*/new WeakSet();
|
94
|
+
var _onAfterModifyTransformStart = /*#__PURE__*/new WeakSet();
|
94
95
|
var _onAfterDrawSelection = /*#__PURE__*/new WeakSet();
|
95
96
|
var _onBeforeRemoveCellClassNames = /*#__PURE__*/new WeakSet();
|
96
97
|
var _onBeforeBeginEditing = /*#__PURE__*/new WeakSet();
|
@@ -126,6 +127,17 @@ export class MergeCells extends BasePlugin {
|
|
126
127
|
* processed cell.
|
127
128
|
*/
|
128
129
|
_classPrivateMethodInitSpec(this, _onAfterDrawSelection);
|
130
|
+
/**
|
131
|
+
* `afterModifyTransformStart` hook callback. Fixes a problem with navigating through merged cells at the edges of
|
132
|
+
* the table with the <kbd>**Enter**</kbd>/<kbd>**Shift**</kbd>+<kbd>**Enter**</kbd>/<kbd>**Tab**</kbd>/<kbd>**Shift**</kbd>+<kbd>**Tab**</kbd> keys.
|
133
|
+
*
|
134
|
+
* @param {CellCoords} coords Coordinates of the to-be-selected cell.
|
135
|
+
* @param {number} rowTransformDir Row transformation direction (negative value = up, 0 = none, positive value =
|
136
|
+
* down).
|
137
|
+
* @param {number} colTransformDir Column transformation direction (negative value = up, 0 = none, positive value =
|
138
|
+
* down).
|
139
|
+
*/
|
140
|
+
_classPrivateMethodInitSpec(this, _onAfterModifyTransformStart);
|
129
141
|
/**
|
130
142
|
* `beforeDrawAreaBorders` hook callback.
|
131
143
|
*
|
@@ -198,7 +210,20 @@ export class MergeCells extends BasePlugin {
|
|
198
210
|
*/
|
199
211
|
_classPrivateMethodInitSpec(this, _onAfterGetCellMeta);
|
200
212
|
/**
|
201
|
-
*
|
213
|
+
* `beforeSetRangeEnd` hook callback.
|
214
|
+
* While selecting cells with keyboard or mouse, make sure that rectangular area is expanded to the extent of the
|
215
|
+
* merged cell.
|
216
|
+
*
|
217
|
+
* Note: Please keep in mind that callback may modify both start and end range coordinates by the reference.
|
218
|
+
*
|
219
|
+
* @param {object} coords Cell coords.
|
220
|
+
*/
|
221
|
+
_classPrivateMethodInitSpec(this, _onBeforeSetRangeEnd);
|
222
|
+
/**
|
223
|
+
* `beforeSetRangeStart` and `beforeSetRangeStartOnly` hook callback.
|
224
|
+
* A selection within merge area should be rewritten to the start of merge area.
|
225
|
+
*
|
226
|
+
* @param {object} coords Cell coords.
|
202
227
|
*/
|
203
228
|
_classPrivateMethodInitSpec(this, _onBeforeSetRangeStart);
|
204
229
|
/**
|
@@ -223,11 +248,6 @@ export class MergeCells extends BasePlugin {
|
|
223
248
|
* @returns {Array|undefined} Visual coordinates of the merge.
|
224
249
|
*/
|
225
250
|
_classPrivateMethodInitSpec(this, _onModifyGetCellCoords);
|
226
|
-
/**
|
227
|
-
* The hook corrects the range (before drawing it) after the selection was made on the merged cells.
|
228
|
-
* It expands the range to cover the entire area of the selected merged cells.
|
229
|
-
*/
|
230
|
-
_classPrivateMethodInitSpec(this, _onBeforeSelectionHighlightSet);
|
231
251
|
/**
|
232
252
|
* `modifyTransformEnd` hook callback. Needed to handle "jumping over" merged merged cells, while selecting.
|
233
253
|
*
|
@@ -274,12 +294,9 @@ export class MergeCells extends BasePlugin {
|
|
274
294
|
*/
|
275
295
|
_defineProperty(this, "selectionCalculations", null);
|
276
296
|
/**
|
277
|
-
* The holder for the last selected coordinates. This allows keeping the correct coordinates in cases after the
|
278
|
-
* focus is moved out of the merged cell.
|
279
|
-
*
|
280
297
|
* @type {CellCoords}
|
281
298
|
*/
|
282
|
-
_classPrivateFieldInitSpec(this,
|
299
|
+
_classPrivateFieldInitSpec(this, _lastDesiredCoords, {
|
283
300
|
writable: true,
|
284
301
|
value: null
|
285
302
|
});
|
@@ -323,130 +340,136 @@ export class MergeCells extends BasePlugin {
|
|
323
340
|
}
|
324
341
|
return _classPrivateMethodGet(_this, _onModifyTransformStart, _onModifyTransformStart2).call(_this, ...args);
|
325
342
|
});
|
326
|
-
this.addHook('
|
343
|
+
this.addHook('afterModifyTransformStart', function () {
|
327
344
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
328
345
|
args[_key3] = arguments[_key3];
|
329
346
|
}
|
330
|
-
return _classPrivateMethodGet(_this,
|
347
|
+
return _classPrivateMethodGet(_this, _onAfterModifyTransformStart, _onAfterModifyTransformStart2).call(_this, ...args);
|
331
348
|
});
|
332
|
-
this.addHook('
|
349
|
+
this.addHook('modifyTransformEnd', function () {
|
333
350
|
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
334
351
|
args[_key4] = arguments[_key4];
|
335
352
|
}
|
336
|
-
return _classPrivateMethodGet(_this,
|
353
|
+
return _classPrivateMethodGet(_this, _onModifyTransformEnd, _onModifyTransformEnd2).call(_this, ...args);
|
337
354
|
});
|
338
|
-
this.addHook('
|
355
|
+
this.addHook('modifyGetCellCoords', function () {
|
339
356
|
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
340
357
|
args[_key5] = arguments[_key5];
|
341
358
|
}
|
342
|
-
return _classPrivateMethodGet(_this,
|
359
|
+
return _classPrivateMethodGet(_this, _onModifyGetCellCoords, _onModifyGetCellCoords2).call(_this, ...args);
|
343
360
|
});
|
344
|
-
this.addHook('
|
361
|
+
this.addHook('beforeSetRangeStart', function () {
|
345
362
|
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
346
363
|
args[_key6] = arguments[_key6];
|
347
364
|
}
|
348
365
|
return _classPrivateMethodGet(_this, _onBeforeSetRangeStart, _onBeforeSetRangeStart2).call(_this, ...args);
|
349
366
|
});
|
350
|
-
this.addHook('
|
367
|
+
this.addHook('beforeSetRangeStartOnly', function () {
|
351
368
|
for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
352
369
|
args[_key7] = arguments[_key7];
|
353
370
|
}
|
354
|
-
return _classPrivateMethodGet(_this,
|
371
|
+
return _classPrivateMethodGet(_this, _onBeforeSetRangeStart, _onBeforeSetRangeStart2).call(_this, ...args);
|
355
372
|
});
|
356
|
-
this.addHook('
|
373
|
+
this.addHook('beforeSetRangeEnd', function () {
|
357
374
|
for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
358
375
|
args[_key8] = arguments[_key8];
|
359
376
|
}
|
360
|
-
return _classPrivateMethodGet(_this,
|
377
|
+
return _classPrivateMethodGet(_this, _onBeforeSetRangeEnd, _onBeforeSetRangeEnd2).call(_this, ...args);
|
361
378
|
});
|
362
|
-
this.addHook('
|
379
|
+
this.addHook('afterIsMultipleSelection', function () {
|
363
380
|
for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
|
364
381
|
args[_key9] = arguments[_key9];
|
365
382
|
}
|
366
|
-
return _classPrivateMethodGet(_this,
|
383
|
+
return _classPrivateMethodGet(_this, _onAfterIsMultipleSelection, _onAfterIsMultipleSelection2).call(_this, ...args);
|
367
384
|
});
|
368
|
-
this.addHook('
|
385
|
+
this.addHook('afterRenderer', function () {
|
369
386
|
for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
|
370
387
|
args[_key10] = arguments[_key10];
|
371
388
|
}
|
372
|
-
return _classPrivateMethodGet(_this,
|
389
|
+
return _classPrivateMethodGet(_this, _onAfterRenderer, _onAfterRenderer2).call(_this, ...args);
|
373
390
|
});
|
374
|
-
this.addHook('
|
391
|
+
this.addHook('afterContextMenuDefaultOptions', function () {
|
375
392
|
for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
|
376
393
|
args[_key11] = arguments[_key11];
|
377
394
|
}
|
378
|
-
return _classPrivateMethodGet(_this,
|
395
|
+
return _classPrivateMethodGet(_this, _addMergeActionsToContextMenu, _addMergeActionsToContextMenu2).call(_this, ...args);
|
379
396
|
});
|
380
|
-
this.addHook('
|
397
|
+
this.addHook('afterGetCellMeta', function () {
|
381
398
|
for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
|
382
399
|
args[_key12] = arguments[_key12];
|
383
400
|
}
|
384
|
-
return _classPrivateMethodGet(_this,
|
401
|
+
return _classPrivateMethodGet(_this, _onAfterGetCellMeta, _onAfterGetCellMeta2).call(_this, ...args);
|
385
402
|
});
|
386
|
-
this.addHook('
|
403
|
+
this.addHook('afterViewportRowCalculatorOverride', function () {
|
387
404
|
for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
|
388
405
|
args[_key13] = arguments[_key13];
|
389
406
|
}
|
390
|
-
return _classPrivateMethodGet(_this,
|
407
|
+
return _classPrivateMethodGet(_this, _onAfterViewportRowCalculatorOverride, _onAfterViewportRowCalculatorOverride2).call(_this, ...args);
|
391
408
|
});
|
392
|
-
this.addHook('
|
409
|
+
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
393
410
|
for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {
|
394
411
|
args[_key14] = arguments[_key14];
|
395
412
|
}
|
396
|
-
return _classPrivateMethodGet(_this,
|
413
|
+
return _classPrivateMethodGet(_this, _onAfterViewportColumnCalculatorOverride, _onAfterViewportColumnCalculatorOverride2).call(_this, ...args);
|
397
414
|
});
|
398
|
-
this.addHook('
|
415
|
+
this.addHook('modifyAutofillRange', function () {
|
399
416
|
for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {
|
400
417
|
args[_key15] = arguments[_key15];
|
401
418
|
}
|
402
|
-
return _classPrivateMethodGet(_this,
|
419
|
+
return _classPrivateMethodGet(_this, _onModifyAutofillRange, _onModifyAutofillRange2).call(_this, ...args);
|
403
420
|
});
|
404
|
-
this.addHook('
|
421
|
+
this.addHook('afterCreateCol', function () {
|
405
422
|
for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {
|
406
423
|
args[_key16] = arguments[_key16];
|
407
424
|
}
|
408
|
-
return _classPrivateMethodGet(_this,
|
425
|
+
return _classPrivateMethodGet(_this, _onAfterCreateCol, _onAfterCreateCol2).call(_this, ...args);
|
409
426
|
});
|
410
|
-
this.addHook('
|
427
|
+
this.addHook('afterRemoveCol', function () {
|
411
428
|
for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {
|
412
429
|
args[_key17] = arguments[_key17];
|
413
430
|
}
|
414
|
-
return _classPrivateMethodGet(_this,
|
431
|
+
return _classPrivateMethodGet(_this, _onAfterRemoveCol, _onAfterRemoveCol2).call(_this, ...args);
|
415
432
|
});
|
416
|
-
this.addHook('
|
433
|
+
this.addHook('afterCreateRow', function () {
|
417
434
|
for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {
|
418
435
|
args[_key18] = arguments[_key18];
|
419
436
|
}
|
420
|
-
return _classPrivateMethodGet(_this,
|
437
|
+
return _classPrivateMethodGet(_this, _onAfterCreateRow, _onAfterCreateRow2).call(_this, ...args);
|
421
438
|
});
|
422
|
-
this.addHook('
|
439
|
+
this.addHook('afterRemoveRow', function () {
|
423
440
|
for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {
|
424
441
|
args[_key19] = arguments[_key19];
|
425
442
|
}
|
426
|
-
return _classPrivateMethodGet(_this,
|
443
|
+
return _classPrivateMethodGet(_this, _onAfterRemoveRow, _onAfterRemoveRow2).call(_this, ...args);
|
427
444
|
});
|
428
|
-
this.addHook('
|
445
|
+
this.addHook('afterChange', function () {
|
429
446
|
for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {
|
430
447
|
args[_key20] = arguments[_key20];
|
431
448
|
}
|
432
|
-
return _classPrivateMethodGet(_this,
|
449
|
+
return _classPrivateMethodGet(_this, _onAfterChange, _onAfterChange2).call(_this, ...args);
|
433
450
|
});
|
434
|
-
this.addHook('
|
451
|
+
this.addHook('beforeDrawBorders', function () {
|
435
452
|
for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {
|
436
453
|
args[_key21] = arguments[_key21];
|
437
454
|
}
|
438
|
-
return _classPrivateMethodGet(_this,
|
455
|
+
return _classPrivateMethodGet(_this, _onBeforeDrawAreaBorders, _onBeforeDrawAreaBorders2).call(_this, ...args);
|
439
456
|
});
|
440
|
-
this.addHook('
|
457
|
+
this.addHook('afterDrawSelection', function () {
|
441
458
|
for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {
|
442
459
|
args[_key22] = arguments[_key22];
|
443
460
|
}
|
444
|
-
return _classPrivateMethodGet(_this,
|
461
|
+
return _classPrivateMethodGet(_this, _onAfterDrawSelection, _onAfterDrawSelection2).call(_this, ...args);
|
445
462
|
});
|
446
|
-
this.addHook('
|
463
|
+
this.addHook('beforeRemoveCellClassNames', function () {
|
447
464
|
for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {
|
448
465
|
args[_key23] = arguments[_key23];
|
449
466
|
}
|
467
|
+
return _classPrivateMethodGet(_this, _onBeforeRemoveCellClassNames, _onBeforeRemoveCellClassNames2).call(_this, ...args);
|
468
|
+
});
|
469
|
+
this.addHook('beforeBeginEditing', function () {
|
470
|
+
for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {
|
471
|
+
args[_key24] = arguments[_key24];
|
472
|
+
}
|
450
473
|
return _classPrivateMethodGet(_this, _onBeforeBeginEditing, _onBeforeBeginEditing2).call(_this, ...args);
|
451
474
|
});
|
452
475
|
this.addHook('beforeUndoStackChange', (action, source) => {
|
@@ -615,6 +638,25 @@ export class MergeCells extends BasePlugin {
|
|
615
638
|
return auto ? true : this.validateSetting(newMergedCellInfo);
|
616
639
|
}
|
617
640
|
|
641
|
+
/**
|
642
|
+
* Merge or unmerge, based on last selected range.
|
643
|
+
*
|
644
|
+
* @private
|
645
|
+
*/
|
646
|
+
toggleMergeOnSelection() {
|
647
|
+
const currentRange = this.hot.getSelectedRangeLast();
|
648
|
+
if (!currentRange) {
|
649
|
+
return;
|
650
|
+
}
|
651
|
+
currentRange.setDirection(this.hot.isRtl() ? 'NE-SW' : 'NW-SE');
|
652
|
+
const {
|
653
|
+
from,
|
654
|
+
to
|
655
|
+
} = currentRange;
|
656
|
+
this.toggleMerge(currentRange);
|
657
|
+
this.hot.selectCell(from.row, from.col, to.row, to.col, false);
|
658
|
+
}
|
659
|
+
|
618
660
|
/**
|
619
661
|
* Merges the selection provided as a cell range.
|
620
662
|
*
|
@@ -984,10 +1026,8 @@ function _onAfterIsMultipleSelection2(isMultiple) {
|
|
984
1026
|
if (isMultiple) {
|
985
1027
|
const mergedCells = this.mergedCellsCollection.mergedCells;
|
986
1028
|
const selectionRange = this.hot.getSelectedRangeLast();
|
987
|
-
const topStartCoords = selectionRange.getTopStartCorner();
|
988
|
-
const bottomEndCoords = selectionRange.getBottomEndCorner();
|
989
1029
|
for (let group = 0; group < mergedCells.length; group += 1) {
|
990
|
-
if (
|
1030
|
+
if (selectionRange.from.row === mergedCells[group].row && selectionRange.from.col === mergedCells[group].col && selectionRange.to.row === mergedCells[group].row + mergedCells[group].rowspan - 1 && selectionRange.to.col === mergedCells[group].col + mergedCells[group].colspan - 1) {
|
991
1031
|
return false;
|
992
1032
|
}
|
993
1033
|
}
|
@@ -995,140 +1035,75 @@ function _onAfterIsMultipleSelection2(isMultiple) {
|
|
995
1035
|
return isMultiple;
|
996
1036
|
}
|
997
1037
|
function _onModifyTransformStart2(delta) {
|
998
|
-
const
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1038
|
+
const currentlySelectedRange = this.hot.getSelectedRangeLast();
|
1039
|
+
let newDelta = {
|
1040
|
+
row: delta.row,
|
1041
|
+
col: delta.col
|
1042
|
+
};
|
1043
|
+
let nextPosition = null;
|
1044
|
+
const currentPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row, currentlySelectedRange.highlight.col);
|
1045
|
+
const mergedParent = this.mergedCellsCollection.get(currentPosition.row, currentPosition.col);
|
1046
|
+
if (!_classPrivateFieldGet(this, _lastDesiredCoords)) {
|
1047
|
+
_classPrivateFieldSet(this, _lastDesiredCoords, this.hot._createCellCoords(null, null));
|
1005
1048
|
}
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
const nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
|
1014
|
-
const notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
|
1015
|
-
if (notHiddenColumnIndex === null) {
|
1016
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
1017
|
-
// be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
|
1018
|
-
delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
|
1019
|
-
} else {
|
1020
|
-
delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
|
1021
|
-
}
|
1022
|
-
} else if (delta.col > 0) {
|
1023
|
-
const nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
|
1024
|
-
const notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, 1);
|
1025
|
-
if (notHiddenColumnIndex === null) {
|
1026
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
1027
|
-
// be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
|
1028
|
-
delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
|
1029
|
-
} else {
|
1030
|
-
delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, notHiddenColumnIndex) - 1, 1);
|
1049
|
+
if (mergedParent) {
|
1050
|
+
// only merge selected
|
1051
|
+
const mergeTopLeft = this.hot._createCellCoords(mergedParent.row, mergedParent.col);
|
1052
|
+
const mergeBottomRight = this.hot._createCellCoords(mergedParent.row + mergedParent.rowspan - 1, mergedParent.col + mergedParent.colspan - 1);
|
1053
|
+
const mergeRange = this.hot._createCellRange(mergeTopLeft, mergeTopLeft, mergeBottomRight);
|
1054
|
+
if (!mergeRange.includes(_classPrivateFieldGet(this, _lastDesiredCoords))) {
|
1055
|
+
_classPrivateFieldSet(this, _lastDesiredCoords, this.hot._createCellCoords(null, null)); // reset outdated version of lastDesiredCoords
|
1031
1056
|
}
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
// be processed by the selection Transformer class as a move selection to the previous column (if autoWrapCol is enabled).
|
1041
|
-
delta.row = -this.hot.view.countRenderableRowsInRange(0, highlight.row);
|
1042
|
-
} else {
|
1043
|
-
delta.row = -Math.max(this.hot.view.countRenderableRowsInRange(notHiddenRowIndex, highlight.row) - 1, 1);
|
1057
|
+
newDelta.row = _classPrivateFieldGet(this, _lastDesiredCoords).row ? _classPrivateFieldGet(this, _lastDesiredCoords).row - currentPosition.row : newDelta.row;
|
1058
|
+
newDelta.col = _classPrivateFieldGet(this, _lastDesiredCoords).col ? _classPrivateFieldGet(this, _lastDesiredCoords).col - currentPosition.col : newDelta.col;
|
1059
|
+
if (delta.row > 0) {
|
1060
|
+
// moving down
|
1061
|
+
newDelta.row = mergedParent.row + mergedParent.rowspan - 1 - currentPosition.row + delta.row;
|
1062
|
+
} else if (delta.row < 0) {
|
1063
|
+
// moving up
|
1064
|
+
newDelta.row = currentPosition.row - mergedParent.row + delta.row;
|
1044
1065
|
}
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
if (
|
1049
|
-
//
|
1050
|
-
|
1051
|
-
delta.row = this.hot.view.countRenderableRowsInRange(highlight.row, this.hot.countRows());
|
1052
|
-
} else {
|
1053
|
-
delta.row = Math.max(this.hot.view.countRenderableRowsInRange(highlight.row, notHiddenRowIndex) - 1, 1);
|
1066
|
+
if (delta.col > 0) {
|
1067
|
+
// moving right
|
1068
|
+
newDelta.col = mergedParent.col + mergedParent.colspan - 1 - currentPosition.col + delta.col;
|
1069
|
+
} else if (delta.col < 0) {
|
1070
|
+
// moving left
|
1071
|
+
newDelta.col = currentPosition.col - mergedParent.col + delta.col;
|
1054
1072
|
}
|
1055
1073
|
}
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
|
1060
|
-
|
1061
|
-
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
|
1066
|
-
return;
|
1074
|
+
nextPosition = this.hot._createCellCoords(currentlySelectedRange.highlight.row + newDelta.row, currentlySelectedRange.highlight.col + newDelta.col);
|
1075
|
+
const nextPositionMergedCell = this.mergedCellsCollection.get(nextPosition.row, nextPosition.col);
|
1076
|
+
if (nextPositionMergedCell) {
|
1077
|
+
// skipping the invisible cells in the merge range
|
1078
|
+
const firstRenderableCoords = this.mergedCellsCollection.getFirstRenderableCoords(nextPositionMergedCell.row, nextPositionMergedCell.col);
|
1079
|
+
_classPrivateFieldSet(this, _lastDesiredCoords, nextPosition);
|
1080
|
+
newDelta = {
|
1081
|
+
row: firstRenderableCoords.row - currentPosition.row,
|
1082
|
+
col: firstRenderableCoords.col - currentPosition.col
|
1083
|
+
};
|
1067
1084
|
}
|
1068
|
-
|
1069
|
-
|
1070
|
-
if (delta.col < 0) {
|
1071
|
-
const nextColumn = nextTo.col >= visualColumnIndexStart && nextTo.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
|
1072
|
-
const notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
|
1073
|
-
if (notHiddenColumnIndex === null) {
|
1074
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
1075
|
-
// be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
|
1076
|
-
delta.col = -this.hot.view.countRenderableColumnsInRange(0, to.col);
|
1077
|
-
} else {
|
1078
|
-
delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, to.col) - 1, 1);
|
1079
|
-
}
|
1080
|
-
} else if (delta.col > 0) {
|
1081
|
-
const nextColumn = nextTo.col >= visualColumnIndexStart && nextTo.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
|
1082
|
-
const notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, 1);
|
1083
|
-
if (notHiddenColumnIndex === null) {
|
1084
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
1085
|
-
// be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
|
1086
|
-
delta.col = this.hot.view.countRenderableColumnsInRange(to.col, this.hot.countCols());
|
1087
|
-
} else {
|
1088
|
-
delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(to.col, notHiddenColumnIndex) - 1, 1);
|
1089
|
-
}
|
1085
|
+
if (newDelta.row !== 0) {
|
1086
|
+
delta.row = newDelta.row;
|
1090
1087
|
}
|
1091
|
-
|
1092
|
-
|
1093
|
-
if (delta.row < 0) {
|
1094
|
-
const nextRow = nextTo.row >= visualRowIndexStart && nextTo.row <= visualRowIndexEnd ? visualRowIndexStart - 1 : visualRowIndexEnd;
|
1095
|
-
const notHiddenRowIndex = this.hot.rowIndexMapper.getNearestNotHiddenIndex(nextRow, -1);
|
1096
|
-
if (notHiddenRowIndex === null) {
|
1097
|
-
// There are no visible rows anymore, so move the selection out of the table edge. This will
|
1098
|
-
// be processed by the selection Transformer class as a move selection to the previous column (if autoWrapCol is enabled).
|
1099
|
-
delta.row = -this.hot.view.countRenderableRowsInRange(0, to.row);
|
1100
|
-
} else {
|
1101
|
-
delta.row = -Math.max(this.hot.view.countRenderableRowsInRange(notHiddenRowIndex, to.row) - 1, 1);
|
1102
|
-
}
|
1103
|
-
} else if (delta.row > 0) {
|
1104
|
-
const nextRow = nextTo.row >= visualRowIndexStart && nextTo.row <= visualRowIndexEnd ? visualRowIndexEnd + 1 : visualRowIndexStart;
|
1105
|
-
const notHiddenRowIndex = this.hot.rowIndexMapper.getNearestNotHiddenIndex(nextRow, 1);
|
1106
|
-
if (notHiddenRowIndex === null) {
|
1107
|
-
// There are no visible rows anymore, so move the selection out of the table edge. This will
|
1108
|
-
// be processed by the selection Transformer class as a move selection to the next column (if autoWrapCol is enabled).
|
1109
|
-
delta.row = this.hot.view.countRenderableRowsInRange(to.row, this.hot.countRows());
|
1110
|
-
} else {
|
1111
|
-
delta.row = Math.max(this.hot.view.countRenderableRowsInRange(to.row, notHiddenRowIndex) - 1, 1);
|
1112
|
-
}
|
1088
|
+
if (newDelta.col !== 0) {
|
1089
|
+
delta.col = newDelta.col;
|
1113
1090
|
}
|
1114
1091
|
}
|
1115
|
-
function
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
const
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
highlight.assign(mergedParent);
|
1131
|
-
}
|
1092
|
+
function _onModifyTransformEnd2(delta) {
|
1093
|
+
const currentSelectionRange = this.hot.getSelectedRangeLast();
|
1094
|
+
const newDelta = clone(delta);
|
1095
|
+
const newSelectionRange = this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, delta);
|
1096
|
+
let tempDelta = clone(newDelta);
|
1097
|
+
const mergedCellsWithinRange = this.mergedCellsCollection.getWithinRange(newSelectionRange, true);
|
1098
|
+
do {
|
1099
|
+
tempDelta = clone(newDelta);
|
1100
|
+
this.selectionCalculations.getUpdatedSelectionRange(currentSelectionRange, newDelta);
|
1101
|
+
arrayEach(mergedCellsWithinRange, mergedCell => {
|
1102
|
+
this.selectionCalculations.snapDelta(newDelta, currentSelectionRange, mergedCell);
|
1103
|
+
});
|
1104
|
+
} while (newDelta.row !== tempDelta.row || newDelta.col !== tempDelta.col);
|
1105
|
+
delta.row = newDelta.row;
|
1106
|
+
delta.col = newDelta.col;
|
1132
1107
|
}
|
1133
1108
|
function _onModifyGetCellCoords2(row, column) {
|
1134
1109
|
if (row < 0 || column < 0) {
|
@@ -1187,8 +1162,37 @@ function _onAfterRenderer2(TD, row, col) {
|
|
1187
1162
|
}
|
1188
1163
|
applySpanProperties(TD, mergedCellCopy, row, col);
|
1189
1164
|
}
|
1190
|
-
function _onBeforeSetRangeStart2() {
|
1191
|
-
|
1165
|
+
function _onBeforeSetRangeStart2(coords) {
|
1166
|
+
// TODO: It is a workaround, but probably this hook may be needed. Every selection on the merge area
|
1167
|
+
// could set start point of the selection to the start of the merge area. However, logic inside `expandByRange` need
|
1168
|
+
// an initial start point. Click on the merge cell when there are some hidden indexes break the logic in some cases.
|
1169
|
+
// Please take a look at #7010 for more information. I'm not sure if selection directions are calculated properly
|
1170
|
+
// and what was idea for flipping direction inside `expandByRange` method.
|
1171
|
+
if (this.mergedCellsCollection.isFirstRenderableMergedCell(coords.row, coords.col)) {
|
1172
|
+
const mergeParent = this.mergedCellsCollection.get(coords.row, coords.col);
|
1173
|
+
[coords.row, coords.col] = [mergeParent.row, mergeParent.col];
|
1174
|
+
}
|
1175
|
+
}
|
1176
|
+
function _onBeforeSetRangeEnd2(coords) {
|
1177
|
+
const selRange = this.hot.getSelectedRangeLast();
|
1178
|
+
selRange.highlight = this.hot._createCellCoords(selRange.highlight.row, selRange.highlight.col); // clone in case we will modify its reference
|
1179
|
+
selRange.to = coords;
|
1180
|
+
let rangeExpanded = false;
|
1181
|
+
if (this.hot.selection.isSelectedByColumnHeader() || this.hot.selection.isSelectedByRowHeader()) {
|
1182
|
+
return;
|
1183
|
+
}
|
1184
|
+
do {
|
1185
|
+
rangeExpanded = false;
|
1186
|
+
for (let i = 0; i < this.mergedCellsCollection.mergedCells.length; i += 1) {
|
1187
|
+
const cellInfo = this.mergedCellsCollection.mergedCells[i];
|
1188
|
+
const mergedCellRange = cellInfo.getRange();
|
1189
|
+
if (selRange.expandByRange(mergedCellRange)) {
|
1190
|
+
coords.row = selRange.to.row;
|
1191
|
+
coords.col = selRange.to.col;
|
1192
|
+
rangeExpanded = true;
|
1193
|
+
}
|
1194
|
+
}
|
1195
|
+
} while (rangeExpanded);
|
1192
1196
|
}
|
1193
1197
|
function _onAfterGetCellMeta2(row, col, cellProperties) {
|
1194
1198
|
const mergeParent = this.mergedCellsCollection.get(row, col);
|
@@ -1268,6 +1272,27 @@ function _onBeforeDrawAreaBorders2(corners, className) {
|
|
1268
1272
|
});
|
1269
1273
|
}
|
1270
1274
|
}
|
1275
|
+
function _onAfterModifyTransformStart2(coords, rowTransformDir, colTransformDir) {
|
1276
|
+
if (!this.enabled) {
|
1277
|
+
return;
|
1278
|
+
}
|
1279
|
+
const mergedCellAtCoords = this.mergedCellsCollection.get(coords.row, coords.col);
|
1280
|
+
if (!mergedCellAtCoords) {
|
1281
|
+
return;
|
1282
|
+
}
|
1283
|
+
const goingDown = rowTransformDir > 0;
|
1284
|
+
const goingUp = rowTransformDir < 0;
|
1285
|
+
const goingLeft = colTransformDir < 0;
|
1286
|
+
const goingRight = colTransformDir > 0;
|
1287
|
+
const mergedCellOnBottomEdge = mergedCellAtCoords.row + mergedCellAtCoords.rowspan - 1 === this.hot.countRows() - 1;
|
1288
|
+
const mergedCellOnTopEdge = mergedCellAtCoords.row === 0;
|
1289
|
+
const mergedCellOnRightEdge = mergedCellAtCoords.col + mergedCellAtCoords.colspan - 1 === this.hot.countCols() - 1;
|
1290
|
+
const mergedCellOnLeftEdge = mergedCellAtCoords.col === 0;
|
1291
|
+
if (goingDown && mergedCellOnBottomEdge || goingUp && mergedCellOnTopEdge || goingRight && mergedCellOnRightEdge || goingLeft && mergedCellOnLeftEdge) {
|
1292
|
+
coords.row = mergedCellAtCoords.row;
|
1293
|
+
coords.col = mergedCellAtCoords.col;
|
1294
|
+
}
|
1295
|
+
}
|
1271
1296
|
function _onAfterDrawSelection2(currentRow, currentColumn, cornersOfSelection, layerLevel) {
|
1272
1297
|
// Nothing's selected (hook might be triggered by the custom borders)
|
1273
1298
|
if (!cornersOfSelection) {
|
@@ -9,7 +9,6 @@ var _element = require("../../helpers/dom/element");
|
|
9
9
|
var _rootComparator = require("./rootComparator");
|
10
10
|
var _utils2 = require("./utils");
|
11
11
|
var _domHelpers = require("./domHelpers");
|
12
|
-
var _shortcutContexts = require("../../shortcutContexts");
|
13
12
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
14
13
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
15
14
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
@@ -131,17 +130,12 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
|
|
131
130
|
if (highlight.row === -1 && highlight.col >= 0) {
|
132
131
|
this.sort(this.getNextSortConfig(highlight.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
|
133
132
|
}
|
134
|
-
|
135
|
-
// prevent default Enter behavior (move to the next row within a selection range)
|
136
|
-
return false;
|
137
133
|
},
|
138
134
|
runOnlyIf: () => {
|
139
135
|
var _this$hot$getSelected;
|
140
136
|
const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
141
137
|
return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isHeader();
|
142
138
|
},
|
143
|
-
relativeToGroup: _shortcutContexts.EDITOR_EDIT_GROUP,
|
144
|
-
position: 'before',
|
145
139
|
group: SHORTCUTS_GROUP
|
146
140
|
});
|
147
141
|
}
|
@@ -9,7 +9,6 @@ import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
|
9
9
|
import { rootComparator } from "./rootComparator.mjs";
|
10
10
|
import { warnAboutPluginsConflict } from "./utils.mjs";
|
11
11
|
import { getClassesToAdd, getClassesToRemove } from "./domHelpers.mjs";
|
12
|
-
import { EDITOR_EDIT_GROUP as SHORTCUTS_GROUP_EDITOR } from "../../shortcutContexts/index.mjs";
|
13
12
|
export const PLUGIN_KEY = 'multiColumnSorting';
|
14
13
|
export const PLUGIN_PRIORITY = 170;
|
15
14
|
const CONFLICTED_PLUGIN_KEY = 'columnSorting';
|
@@ -128,17 +127,12 @@ export class MultiColumnSorting extends ColumnSorting {
|
|
128
127
|
if (highlight.row === -1 && highlight.col >= 0) {
|
129
128
|
this.sort(this.getNextSortConfig(highlight.col, APPEND_COLUMN_CONFIG_STRATEGY));
|
130
129
|
}
|
131
|
-
|
132
|
-
// prevent default Enter behavior (move to the next row within a selection range)
|
133
|
-
return false;
|
134
130
|
},
|
135
131
|
runOnlyIf: () => {
|
136
132
|
var _this$hot$getSelected;
|
137
133
|
const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
138
134
|
return highlight && this.hot.selection.isCellVisible(highlight) && highlight.isHeader();
|
139
135
|
},
|
140
|
-
relativeToGroup: SHORTCUTS_GROUP_EDITOR,
|
141
|
-
position: 'before',
|
142
136
|
group: SHORTCUTS_GROUP
|
143
137
|
});
|
144
138
|
}
|
@@ -364,7 +364,6 @@ class NestedHeaders extends _base.BasePlugin {
|
|
364
364
|
return _classPrivateMethodGet(_this, _onModifyTransformStart, _onModifyTransformStart2).call(_this, ...args);
|
365
365
|
});
|
366
366
|
this.addHook('afterSelection', () => _classPrivateMethodGet(this, _updateFocusHighlightPosition, _updateFocusHighlightPosition2).call(this));
|
367
|
-
this.addHook('afterSelectionFocusSet', () => _classPrivateMethodGet(this, _updateFocusHighlightPosition, _updateFocusHighlightPosition2).call(this));
|
368
367
|
this.addHook('beforeViewportScrollHorizontally', function () {
|
369
368
|
for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
370
369
|
args[_key8] = arguments[_key8];
|