handsontable 0.0.0-next-d1c8e0e-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 +10651 -13658
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +112 -112
- package/dist/handsontable.js +13425 -16432
- 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/comments/comments.js +4 -11
- package/plugins/comments/comments.mjs +4 -11
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +29 -80
- package/plugins/contextMenu/contextMenu.mjs +30 -81
- package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
- package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
- package/plugins/contextMenu/utils.js +16 -25
- package/plugins/contextMenu/utils.mjs +15 -24
- package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
- package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
- package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
- package/plugins/copyPaste/copyPaste.js +1 -5
- package/plugins/copyPaste/copyPaste.mjs +1 -5
- package/plugins/customBorders/customBorders.js +53 -25
- package/plugins/customBorders/customBorders.mjs +54 -26
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +30 -94
- package/plugins/dropdownMenu/dropdownMenu.mjs +30 -94
- package/plugins/filters/filters.js +42 -62
- package/plugins/filters/filters.mjs +41 -61
- 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/shortcuts/recorder.js +2 -2
- package/shortcuts/recorder.mjs +2 -2
- package/shortcuts/utils.js +5 -21
- package/shortcuts/utils.mjs +4 -20
- 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 -52
- package/shortcutContexts/commands/index.mjs +0 -48
- 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/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 -247
- package/shortcutContexts/grid.mjs +0 -243
- package/shortcutContexts/index.js +0 -29
- package/shortcutContexts/index.mjs +0 -15
@@ -67,7 +67,6 @@ import { CONDITION_NONE, CONDITION_BY_VALUE, OPERATION_AND, OPERATION_OR, OPERAT
|
|
67
67
|
import { TrimmingMap } from "../../translations/index.mjs";
|
68
68
|
export var PLUGIN_KEY = 'filters';
|
69
69
|
export var PLUGIN_PRIORITY = 250;
|
70
|
-
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
71
70
|
|
72
71
|
/**
|
73
72
|
* @plugin Filters
|
@@ -283,7 +282,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
283
282
|
this.dropdownMenuPlugin.disablePlugin();
|
284
283
|
this.dropdownMenuPlugin.enablePlugin();
|
285
284
|
}
|
286
|
-
this.registerShortcuts();
|
287
285
|
_get(_getPrototypeOf(Filters.prototype), "enablePlugin", this).call(this);
|
288
286
|
}
|
289
287
|
|
@@ -307,41 +305,9 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
307
305
|
this.conditionCollection = null;
|
308
306
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
309
307
|
}
|
310
|
-
this.unregisterShortcuts();
|
311
308
|
_get(_getPrototypeOf(Filters.prototype), "disablePlugin", this).call(this);
|
312
309
|
}
|
313
310
|
|
314
|
-
/**
|
315
|
-
* Register shortcuts responsible for clearing the filters.
|
316
|
-
*
|
317
|
-
* @private
|
318
|
-
*/
|
319
|
-
}, {
|
320
|
-
key: "registerShortcuts",
|
321
|
-
value: function registerShortcuts() {
|
322
|
-
var _this4 = this;
|
323
|
-
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
324
|
-
keys: [['Alt', 'A']],
|
325
|
-
stopPropagation: true,
|
326
|
-
callback: function callback() {
|
327
|
-
_this4.clearConditions();
|
328
|
-
_this4.filter();
|
329
|
-
},
|
330
|
-
group: SHORTCUTS_GROUP
|
331
|
-
});
|
332
|
-
}
|
333
|
-
|
334
|
-
/**
|
335
|
-
* Unregister shortcuts responsible for clearing the filters.
|
336
|
-
*
|
337
|
-
* @private
|
338
|
-
*/
|
339
|
-
}, {
|
340
|
-
key: "unregisterShortcuts",
|
341
|
-
value: function unregisterShortcuts() {
|
342
|
-
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
343
|
-
}
|
344
|
-
|
345
311
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
346
312
|
/**
|
347
313
|
* @memberof Filters#
|
@@ -508,7 +474,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
508
474
|
}, {
|
509
475
|
key: "filter",
|
510
476
|
value: function filter() {
|
511
|
-
var
|
477
|
+
var _this4 = this;
|
512
478
|
var dataFilter = this._createDataFilter();
|
513
479
|
var needToFilter = !this.conditionCollection.isEmpty();
|
514
480
|
var visibleVisualRows = [];
|
@@ -518,18 +484,18 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
518
484
|
if (needToFilter) {
|
519
485
|
var trimmedRows = [];
|
520
486
|
this.hot.batchExecution(function () {
|
521
|
-
|
487
|
+
_this4.filtersRowsMap.clear();
|
522
488
|
visibleVisualRows = arrayMap(dataFilter.filter(), function (rowData) {
|
523
489
|
return rowData.meta.visualRow;
|
524
490
|
});
|
525
491
|
var visibleVisualRowsAssertion = createArrayAssertion(visibleVisualRows);
|
526
|
-
rangeEach(
|
492
|
+
rangeEach(_this4.hot.countSourceRows() - 1, function (row) {
|
527
493
|
if (!visibleVisualRowsAssertion(row)) {
|
528
494
|
trimmedRows.push(row);
|
529
495
|
}
|
530
496
|
});
|
531
497
|
arrayEach(trimmedRows, function (physicalRow) {
|
532
|
-
|
498
|
+
_this4.filtersRowsMap.setValueAtIndex(physicalRow, true);
|
533
499
|
});
|
534
500
|
}, true);
|
535
501
|
if (!visibleVisualRows.length) {
|
@@ -542,6 +508,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
542
508
|
this.hot.runHooks('afterFilter', conditions);
|
543
509
|
this.hot.view.adjustElementsSize(true);
|
544
510
|
this.hot.render();
|
511
|
+
this.clearColumnSelection();
|
545
512
|
}
|
546
513
|
|
547
514
|
/**
|
@@ -565,6 +532,20 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
565
532
|
};
|
566
533
|
}
|
567
534
|
|
535
|
+
/**
|
536
|
+
* Clears column selection.
|
537
|
+
*
|
538
|
+
* @private
|
539
|
+
*/
|
540
|
+
}, {
|
541
|
+
key: "clearColumnSelection",
|
542
|
+
value: function clearColumnSelection() {
|
543
|
+
var selectedColumn = this.getSelectedColumn();
|
544
|
+
if (selectedColumn !== null) {
|
545
|
+
this.hot.selectCell(0, selectedColumn.visualIndex);
|
546
|
+
}
|
547
|
+
}
|
548
|
+
|
568
549
|
/**
|
569
550
|
* Returns handsontable source data with cell meta based on current selection.
|
570
551
|
*
|
@@ -574,21 +555,21 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
574
555
|
}, {
|
575
556
|
key: "getDataMapAtColumn",
|
576
557
|
value: function getDataMapAtColumn(column) {
|
577
|
-
var
|
558
|
+
var _this5 = this;
|
578
559
|
var visualColumn = this.hot.toVisualColumn(column);
|
579
560
|
var data = [];
|
580
561
|
arrayEach(this.hot.getSourceDataAtCol(visualColumn), function (value, rowIndex) {
|
581
|
-
var
|
582
|
-
var
|
583
|
-
row =
|
584
|
-
col =
|
585
|
-
visualCol =
|
586
|
-
visualRow =
|
587
|
-
type =
|
588
|
-
instance =
|
589
|
-
dateFormat =
|
590
|
-
locale =
|
591
|
-
var dataValue = (
|
562
|
+
var _this5$hot$getDataAtC;
|
563
|
+
var _this5$hot$getCellMet = _this5.hot.getCellMeta(rowIndex, visualColumn),
|
564
|
+
row = _this5$hot$getCellMet.row,
|
565
|
+
col = _this5$hot$getCellMet.col,
|
566
|
+
visualCol = _this5$hot$getCellMet.visualCol,
|
567
|
+
visualRow = _this5$hot$getCellMet.visualRow,
|
568
|
+
type = _this5$hot$getCellMet.type,
|
569
|
+
instance = _this5$hot$getCellMet.instance,
|
570
|
+
dateFormat = _this5$hot$getCellMet.dateFormat,
|
571
|
+
locale = _this5$hot$getCellMet.locale;
|
572
|
+
var dataValue = (_this5$hot$getDataAtC = _this5.hot.getDataAtCell(_this5.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this5$hot$getDataAtC !== void 0 ? _this5$hot$getDataAtC : value;
|
592
573
|
data.push({
|
593
574
|
meta: {
|
594
575
|
row: row,
|
@@ -615,14 +596,14 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
615
596
|
}, {
|
616
597
|
key: "onAfterChange",
|
617
598
|
value: function onAfterChange(changes) {
|
618
|
-
var
|
599
|
+
var _this6 = this;
|
619
600
|
if (changes) {
|
620
601
|
arrayEach(changes, function (change) {
|
621
602
|
var _change = _slicedToArray(change, 2),
|
622
603
|
prop = _change[1];
|
623
|
-
var columnIndex =
|
624
|
-
if (
|
625
|
-
|
604
|
+
var columnIndex = _this6.hot.propToCol(prop);
|
605
|
+
if (_this6.conditionCollection.hasConditions(columnIndex)) {
|
606
|
+
_this6.updateValueComponentCondition(columnIndex);
|
626
607
|
}
|
627
608
|
});
|
628
609
|
}
|
@@ -693,10 +674,10 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
693
674
|
}, {
|
694
675
|
key: "onBeforeDropdownMenuSetItems",
|
695
676
|
value: function onBeforeDropdownMenuSetItems() {
|
696
|
-
var
|
677
|
+
var _this7 = this;
|
697
678
|
if (this.dropdownMenuPlugin) {
|
698
679
|
this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', function () {
|
699
|
-
|
680
|
+
_this7.dropdownMenuPlugin.menu.hotMenu.updateSettings({
|
700
681
|
hiddenRows: true
|
701
682
|
});
|
702
683
|
});
|
@@ -787,7 +768,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
787
768
|
});
|
788
769
|
this.filtersRowsMap.clear();
|
789
770
|
this.filter();
|
790
|
-
this.hot.selectCell(0, selectedColumn.visualIndex);
|
791
771
|
}
|
792
772
|
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 ? void 0 : _this$dropdownMenuPlu3.close();
|
793
773
|
}
|
@@ -880,10 +860,10 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
880
860
|
}, {
|
881
861
|
key: "_createDataFilter",
|
882
862
|
value: function _createDataFilter() {
|
883
|
-
var
|
863
|
+
var _this8 = this;
|
884
864
|
var conditionCollection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.conditionCollection;
|
885
865
|
return new DataFilter(conditionCollection, function (physicalColumn) {
|
886
|
-
return
|
866
|
+
return _this8.getDataMapAtColumn(physicalColumn);
|
887
867
|
});
|
888
868
|
}
|
889
869
|
|
@@ -1015,12 +995,12 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
1015
995
|
}, {
|
1016
996
|
key: "destroy",
|
1017
997
|
value: function destroy() {
|
1018
|
-
var
|
998
|
+
var _this9 = this;
|
1019
999
|
if (this.enabled) {
|
1020
1000
|
this.components.forEach(function (component, key) {
|
1021
1001
|
if (component !== null) {
|
1022
1002
|
component.destroy();
|
1023
|
-
|
1003
|
+
_this9.components.set(key, null);
|
1024
1004
|
}
|
1025
1005
|
});
|
1026
1006
|
this.conditionCollection.destroy();
|
@@ -243,6 +243,9 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
243
243
|
this.addHook('afterDrawSelection', function () {
|
244
244
|
return _this2.onAfterDrawSelection.apply(_this2, arguments);
|
245
245
|
});
|
246
|
+
this.addHook('beforeRemoveCellClassNames', function () {
|
247
|
+
return _this2.onBeforeRemoveCellClassNames.apply(_this2, arguments);
|
248
|
+
});
|
246
249
|
this.addHook('beforeUndoStackChange', function (action, source) {
|
247
250
|
if (source === 'MergeCells') {
|
248
251
|
return false;
|
@@ -659,11 +662,8 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
659
662
|
gridContext.addShortcut({
|
660
663
|
keys: [['Control', 'm']],
|
661
664
|
callback: function callback() {
|
662
|
-
|
663
|
-
|
664
|
-
_this7.toggleMerge(range);
|
665
|
-
_this7.hot.render();
|
666
|
-
}
|
665
|
+
_this7.toggleMerge(_this7.hot.getSelectedRangeLast());
|
666
|
+
_this7.hot.render();
|
667
667
|
},
|
668
668
|
runOnlyIf: function runOnlyIf(event) {
|
669
669
|
return !event.altKey;
|
@@ -1340,6 +1340,19 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1340
1340
|
}
|
1341
1341
|
return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
|
1342
1342
|
}
|
1343
|
+
|
1344
|
+
/**
|
1345
|
+
* `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
|
1346
|
+
*
|
1347
|
+
* @private
|
1348
|
+
* @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
|
1349
|
+
* all the cells in the table.
|
1350
|
+
*/
|
1351
|
+
}, {
|
1352
|
+
key: "onBeforeRemoveCellClassNames",
|
1353
|
+
value: function onBeforeRemoveCellClassNames() {
|
1354
|
+
return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
|
1355
|
+
}
|
1343
1356
|
}], [{
|
1344
1357
|
key: "PLUGIN_KEY",
|
1345
1358
|
get: function get() {
|
@@ -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
|
/**
|