handsontable 14.5.0-next-2d9f0a9-20240730 → 14.6.0-next-4d69faf-20240924
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/renderer/rows.js +10 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +11 -1
- package/3rdparty/walkontable/src/selection/manager.js +7 -7
- package/3rdparty/walkontable/src/selection/manager.mjs +7 -7
- package/3rdparty/walkontable/src/selection/scanner.js +7 -7
- package/3rdparty/walkontable/src/selection/scanner.mjs +7 -7
- package/CHANGELOG.md +29 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +13 -2
- package/core.js +160 -9
- package/core.mjs +160 -9
- package/dataMap/metaManager/lazyFactoryMap.js +7 -7
- package/dataMap/metaManager/lazyFactoryMap.mjs +7 -7
- package/dataMap/metaManager/metaSchema.js +5 -6
- package/dataMap/metaManager/metaSchema.mjs +7 -8
- package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -7
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -7
- package/dataMap/metaManager/mods/extendMetaProperties.js +7 -7
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -7
- package/dataMap/metaManager/utils.js +7 -7
- package/dataMap/metaManager/utils.mjs +7 -7
- package/dist/handsontable.css +3 -17
- package/dist/handsontable.full.css +3 -17
- package/dist/handsontable.full.js +3498 -3219
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +109 -119
- package/dist/handsontable.js +3172 -2897
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +19 -19
- package/editors/autocompleteEditor/autocompleteEditor.d.ts +1 -1
- package/helpers/a11y.js +2 -0
- package/helpers/a11y.mjs +1 -0
- package/helpers/array.js +7 -7
- package/helpers/array.mjs +7 -7
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.js +7 -7
- package/helpers/number.mjs +7 -7
- package/package.json +1 -1
- package/pluginHooks.d.ts +1 -1
- package/pluginHooks.js +1 -0
- package/pluginHooks.mjs +1 -0
- package/plugins/autoRowSize/autoRowSize.js +1 -2
- package/plugins/autoRowSize/autoRowSize.mjs +1 -2
- package/plugins/columnSorting/columnSorting.js +10 -1
- package/plugins/columnSorting/columnSorting.mjs +10 -1
- package/plugins/columnSorting/utils.js +7 -7
- package/plugins/columnSorting/utils.mjs +7 -7
- package/plugins/contextMenu/contextMenu.js +7 -0
- package/plugins/contextMenu/contextMenu.mjs +7 -0
- package/plugins/contextMenu/menu/menu.js +47 -14
- package/plugins/contextMenu/menu/menu.mjs +48 -15
- package/plugins/contextMenu/menu/menuItemRenderer.js +3 -4
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +5 -6
- package/plugins/contextMenu/menu/positioner.js +4 -12
- package/plugins/contextMenu/menu/positioner.mjs +4 -12
- package/plugins/contextMenu/menu/utils.js +11 -0
- package/plugins/contextMenu/menu/utils.mjs +10 -0
- package/plugins/contextMenu/predefinedItems/alignment.js +56 -49
- package/plugins/contextMenu/predefinedItems/alignment.mjs +57 -50
- package/plugins/contextMenu/predefinedItems/readOnly.js +8 -0
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +8 -0
- package/plugins/contextMenu/utils.js +26 -0
- package/plugins/contextMenu/utils.mjs +24 -0
- package/plugins/copyPaste/copyPaste.js +14 -14
- package/plugins/copyPaste/copyPaste.mjs +14 -14
- package/plugins/dropdownMenu/dropdownMenu.js +10 -4
- package/plugins/dropdownMenu/dropdownMenu.mjs +10 -4
- package/plugins/filters/component/condition.js +6 -1
- package/plugins/filters/component/condition.mjs +6 -1
- package/plugins/filters/component/value.js +6 -1
- package/plugins/filters/component/value.mjs +6 -1
- package/plugins/filters/conditionCollection.d.ts +4 -3
- package/plugins/filters/conditionCollection.js +26 -0
- package/plugins/filters/conditionCollection.mjs +26 -0
- package/plugins/filters/filters.js +4 -1
- package/plugins/filters/filters.mjs +4 -1
- package/plugins/filters/ui/multipleSelect.js +7 -9
- package/plugins/filters/ui/multipleSelect.mjs +7 -9
- package/plugins/filters/utils.js +7 -7
- package/plugins/filters/utils.mjs +7 -7
- package/plugins/formulas/formulas.js +7 -7
- package/plugins/formulas/formulas.mjs +7 -7
- package/plugins/hiddenColumns/hiddenColumns.js +7 -7
- package/plugins/hiddenColumns/hiddenColumns.mjs +7 -7
- package/plugins/hiddenRows/hiddenRows.js +7 -7
- package/plugins/hiddenRows/hiddenRows.mjs +7 -7
- package/plugins/mergeCells/cellsCollection.js +18 -16
- package/plugins/mergeCells/cellsCollection.mjs +19 -17
- package/plugins/mergeCells/mergeCells.js +7 -7
- package/plugins/mergeCells/mergeCells.mjs +7 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +7 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +7 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +7 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +7 -7
- package/plugins/nestedRows/nestedRows.js +7 -7
- package/plugins/nestedRows/nestedRows.mjs +7 -7
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/undoRedo.js +9 -5
- package/plugins/undoRedo/undoRedo.mjs +9 -5
- package/renderers/checkboxRenderer/checkboxRenderer.js +18 -6
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -6
- package/selection/selection.js +7 -7
- package/selection/selection.mjs +7 -7
- package/selection/utils.js +7 -7
- package/selection/utils.mjs +7 -7
- package/shortcutContexts/grid.js +10 -3
- package/shortcutContexts/grid.mjs +10 -3
- package/shortcuts/keyObserver.js +7 -7
- package/shortcuts/keyObserver.mjs +7 -7
- package/shortcuts/utils.js +3 -1
- package/shortcuts/utils.mjs +3 -1
- package/translations/changesObservable/observable.js +7 -7
- package/translations/changesObservable/observable.mjs +7 -7
- package/translations/indexMapper.js +7 -7
- package/translations/indexMapper.mjs +7 -7
- package/utils/dataStructures/uniqueSet.js +7 -7
- package/utils/dataStructures/uniqueSet.mjs +7 -7
- package/utils/ghostTable.js +11 -9
- package/utils/ghostTable.mjs +12 -10
- package/utils/paginator.js +7 -7
- package/utils/paginator.mjs +7 -7
@@ -1,13 +1,13 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
3
|
import "core-js/modules/es.array.unscopables.flat-map.js";
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
8
|
-
import "core-js/modules/
|
9
|
-
import "core-js/modules/
|
10
|
-
import "core-js/modules/
|
4
|
+
import "core-js/modules/es.set.difference.v2.js";
|
5
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
6
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
7
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
8
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
9
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
10
|
+
import "core-js/modules/es.set.union.v2.js";
|
11
11
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
12
12
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
13
13
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -15,7 +15,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
15
15
|
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); }
|
16
16
|
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
17
17
|
import MergedCellCoords from "./cellCoords.mjs";
|
18
|
-
import { rangeEach
|
18
|
+
import { rangeEach } from "../../helpers/number.mjs";
|
19
19
|
import { warn } from "../../helpers/console.mjs";
|
20
20
|
import { arrayEach } from "../../helpers/array.mjs";
|
21
21
|
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
@@ -420,18 +420,20 @@ class MergedCellsCollection {
|
|
420
420
|
break;
|
421
421
|
default:
|
422
422
|
}
|
423
|
-
|
424
|
-
|
423
|
+
const removedMergedCells = [];
|
424
|
+
this.mergedCells.forEach(currentMerge => {
|
425
425
|
currentMerge.shift(shiftVector, index);
|
426
|
-
|
427
|
-
|
428
|
-
rangeEachReverse(this.mergedCells.length - 1, 0, i => {
|
429
|
-
const currentMerge = this.mergedCells[i];
|
430
|
-
if (currentMerge && currentMerge.removed) {
|
431
|
-
this.mergedCells.splice(this.mergedCells.indexOf(currentMerge), 1);
|
432
|
-
_assertClassBrand(_MergedCellsCollection_brand, this, _removeMergedCellFromMatrix).call(this, currentMerge);
|
426
|
+
if (currentMerge.removed) {
|
427
|
+
removedMergedCells.push(currentMerge);
|
433
428
|
}
|
434
429
|
});
|
430
|
+
removedMergedCells.forEach(removedMerge => {
|
431
|
+
this.mergedCells.splice(this.mergedCells.indexOf(removedMerge), 1);
|
432
|
+
});
|
433
|
+
this.mergedCellsMatrix.clear();
|
434
|
+
this.mergedCells.forEach(currentMerge => {
|
435
|
+
_assertClassBrand(_MergedCellsCollection_brand, this, _addMergedCellToMatrix).call(this, currentMerge);
|
436
|
+
});
|
435
437
|
}
|
436
438
|
|
437
439
|
/**
|
@@ -3,13 +3,13 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
-
require("core-js/modules/
|
7
|
-
require("core-js/modules/
|
8
|
-
require("core-js/modules/
|
9
|
-
require("core-js/modules/
|
10
|
-
require("core-js/modules/
|
11
|
-
require("core-js/modules/
|
12
|
-
require("core-js/modules/
|
6
|
+
require("core-js/modules/es.set.difference.v2.js");
|
7
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
8
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
10
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
11
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
12
|
+
require("core-js/modules/es.set.union.v2.js");
|
13
13
|
var _base = require("../base");
|
14
14
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
15
15
|
var _cellsCollection = _interopRequireDefault(require("./cellsCollection"));
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
-
import "core-js/modules/
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
8
|
-
import "core-js/modules/
|
9
|
-
import "core-js/modules/
|
3
|
+
import "core-js/modules/es.set.difference.v2.js";
|
4
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
6
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
7
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
|
+
import "core-js/modules/es.set.union.v2.js";
|
10
10
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
11
11
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
12
12
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.collapseNode = collapseNode;
|
5
|
-
require("core-js/modules/
|
6
|
-
require("core-js/modules/
|
7
|
-
require("core-js/modules/
|
8
|
-
require("core-js/modules/
|
9
|
-
require("core-js/modules/
|
10
|
-
require("core-js/modules/
|
11
|
-
require("core-js/modules/
|
5
|
+
require("core-js/modules/es.set.difference.v2.js");
|
6
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
7
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
8
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
10
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
11
|
+
require("core-js/modules/es.set.union.v2.js");
|
12
12
|
var _array = require("../../../../helpers/array");
|
13
13
|
var _expand = require("./expand");
|
14
14
|
var _tree = require("./utils/tree");
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import "core-js/modules/
|
2
|
-
import "core-js/modules/
|
3
|
-
import "core-js/modules/
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
1
|
+
import "core-js/modules/es.set.difference.v2.js";
|
2
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
3
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
4
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
6
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
7
|
+
import "core-js/modules/es.set.union.v2.js";
|
8
8
|
import { arrayEach } from "../../../../helpers/array.mjs";
|
9
9
|
import { expandNode } from "./expand.mjs";
|
10
10
|
import { getFirstChildProperty, isNodeReflectsFirstChildColspan, traverseHiddenNodeColumnIndexes } from "./utils/tree.mjs";
|
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.expandNode = expandNode;
|
5
|
-
require("core-js/modules/
|
6
|
-
require("core-js/modules/
|
7
|
-
require("core-js/modules/
|
8
|
-
require("core-js/modules/
|
9
|
-
require("core-js/modules/
|
10
|
-
require("core-js/modules/
|
11
|
-
require("core-js/modules/
|
5
|
+
require("core-js/modules/es.set.difference.v2.js");
|
6
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
7
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
8
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
10
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
11
|
+
require("core-js/modules/es.set.union.v2.js");
|
12
12
|
var _array = require("../../../../helpers/array");
|
13
13
|
var _collapse = require("./collapse");
|
14
14
|
var _tree = require("./utils/tree");
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import "core-js/modules/
|
2
|
-
import "core-js/modules/
|
3
|
-
import "core-js/modules/
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
1
|
+
import "core-js/modules/es.set.difference.v2.js";
|
2
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
3
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
4
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
6
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
7
|
+
import "core-js/modules/es.set.union.v2.js";
|
8
8
|
import { arrayEach } from "../../../../helpers/array.mjs";
|
9
9
|
import { collapseNode } from "./collapse.mjs";
|
10
10
|
import { getFirstChildProperty, isNodeReflectsFirstChildColspan, traverseHiddenNodeColumnIndexes } from "./utils/tree.mjs";
|
@@ -3,13 +3,13 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
-
require("core-js/modules/
|
7
|
-
require("core-js/modules/
|
8
|
-
require("core-js/modules/
|
9
|
-
require("core-js/modules/
|
10
|
-
require("core-js/modules/
|
11
|
-
require("core-js/modules/
|
12
|
-
require("core-js/modules/
|
6
|
+
require("core-js/modules/es.set.difference.v2.js");
|
7
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
8
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
10
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
11
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
12
|
+
require("core-js/modules/es.set.union.v2.js");
|
13
13
|
var _base = require("../base");
|
14
14
|
var _dataManager = _interopRequireDefault(require("./data/dataManager"));
|
15
15
|
var _collapsing = _interopRequireDefault(require("./ui/collapsing"));
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
-
import "core-js/modules/
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
8
|
-
import "core-js/modules/
|
9
|
-
import "core-js/modules/
|
3
|
+
import "core-js/modules/es.set.difference.v2.js";
|
4
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
6
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
7
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
|
+
import "core-js/modules/es.set.union.v2.js";
|
10
10
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
11
11
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
12
12
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -3,13 +3,13 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
-
require("core-js/modules/
|
7
|
-
require("core-js/modules/
|
8
|
-
require("core-js/modules/
|
9
|
-
require("core-js/modules/
|
10
|
-
require("core-js/modules/
|
11
|
-
require("core-js/modules/
|
12
|
-
require("core-js/modules/
|
6
|
+
require("core-js/modules/es.set.difference.v2.js");
|
7
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
8
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
10
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
11
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
12
|
+
require("core-js/modules/es.set.union.v2.js");
|
13
13
|
var _base = require("../base");
|
14
14
|
var _translations = require("../../translations");
|
15
15
|
var _array = require("../../helpers/array");
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
-
import "core-js/modules/
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
8
|
-
import "core-js/modules/
|
9
|
-
import "core-js/modules/
|
3
|
+
import "core-js/modules/es.set.difference.v2.js";
|
4
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
6
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
7
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
|
+
import "core-js/modules/es.set.union.v2.js";
|
10
10
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
11
11
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
12
12
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -124,8 +124,8 @@ function UndoRedo(instance) {
|
|
124
124
|
instance.addHook('beforeCellAlignment', (stateBefore, range, type, alignment) => {
|
125
125
|
plugin.done(() => new UndoRedo.CellAlignmentAction(stateBefore, range, type, alignment));
|
126
126
|
});
|
127
|
-
instance.addHook('beforeFilter', conditionsStack => {
|
128
|
-
plugin.done(() => new UndoRedo.FiltersAction(conditionsStack));
|
127
|
+
instance.addHook('beforeFilter', (conditionsStack, previousConditionsStack) => {
|
128
|
+
plugin.done(() => new UndoRedo.FiltersAction(conditionsStack, previousConditionsStack));
|
129
129
|
});
|
130
130
|
instance.addHook('beforeRowMove', (rows, finalIndex) => {
|
131
131
|
if (rows === false) {
|
@@ -645,9 +645,11 @@ UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback
|
|
645
645
|
* Filters action.
|
646
646
|
*
|
647
647
|
* @private
|
648
|
-
* @param {Array} conditionsStack An array of the filter
|
648
|
+
* @param {Array} conditionsStack An array of the filter conditions.
|
649
|
+
* @param {Array} previousConditionsStack An array of the previous filter conditions.
|
649
650
|
*/
|
650
|
-
UndoRedo.FiltersAction = function (conditionsStack) {
|
651
|
+
UndoRedo.FiltersAction = function (conditionsStack, previousConditionsStack) {
|
652
|
+
this.previousConditionsStack = previousConditionsStack;
|
651
653
|
this.conditionsStack = conditionsStack;
|
652
654
|
this.actionType = 'filter';
|
653
655
|
};
|
@@ -655,7 +657,9 @@ UndoRedo.FiltersAction = function (conditionsStack) {
|
|
655
657
|
UndoRedo.FiltersAction.prototype.undo = function (instance, undoneCallback) {
|
656
658
|
const filters = instance.getPlugin('filters');
|
657
659
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
658
|
-
|
660
|
+
if (this.previousConditionsStack) {
|
661
|
+
filters.conditionCollection.importAllConditions(this.previousConditionsStack);
|
662
|
+
}
|
659
663
|
filters.filter();
|
660
664
|
};
|
661
665
|
UndoRedo.FiltersAction.prototype.redo = function (instance, redoneCallback) {
|
@@ -120,8 +120,8 @@ function UndoRedo(instance) {
|
|
120
120
|
instance.addHook('beforeCellAlignment', (stateBefore, range, type, alignment) => {
|
121
121
|
plugin.done(() => new UndoRedo.CellAlignmentAction(stateBefore, range, type, alignment));
|
122
122
|
});
|
123
|
-
instance.addHook('beforeFilter', conditionsStack => {
|
124
|
-
plugin.done(() => new UndoRedo.FiltersAction(conditionsStack));
|
123
|
+
instance.addHook('beforeFilter', (conditionsStack, previousConditionsStack) => {
|
124
|
+
plugin.done(() => new UndoRedo.FiltersAction(conditionsStack, previousConditionsStack));
|
125
125
|
});
|
126
126
|
instance.addHook('beforeRowMove', (rows, finalIndex) => {
|
127
127
|
if (rows === false) {
|
@@ -641,9 +641,11 @@ UndoRedo.CellAlignmentAction.prototype.redo = function (instance, undoneCallback
|
|
641
641
|
* Filters action.
|
642
642
|
*
|
643
643
|
* @private
|
644
|
-
* @param {Array} conditionsStack An array of the filter
|
644
|
+
* @param {Array} conditionsStack An array of the filter conditions.
|
645
|
+
* @param {Array} previousConditionsStack An array of the previous filter conditions.
|
645
646
|
*/
|
646
|
-
UndoRedo.FiltersAction = function (conditionsStack) {
|
647
|
+
UndoRedo.FiltersAction = function (conditionsStack, previousConditionsStack) {
|
648
|
+
this.previousConditionsStack = previousConditionsStack;
|
647
649
|
this.conditionsStack = conditionsStack;
|
648
650
|
this.actionType = 'filter';
|
649
651
|
};
|
@@ -651,7 +653,9 @@ inherit(UndoRedo.FiltersAction, UndoRedo.Action);
|
|
651
653
|
UndoRedo.FiltersAction.prototype.undo = function (instance, undoneCallback) {
|
652
654
|
const filters = instance.getPlugin('filters');
|
653
655
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
654
|
-
|
656
|
+
if (this.previousConditionsStack) {
|
657
|
+
filters.conditionCollection.importAllConditions(this.previousConditionsStack);
|
658
|
+
}
|
655
659
|
filters.filter();
|
656
660
|
};
|
657
661
|
UndoRedo.FiltersAction.prototype.redo = function (instance, redoneCallback) {
|
@@ -186,6 +186,7 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
|
|
186
186
|
let uncheckCheckbox = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
187
187
|
const selRange = hotInstance.getSelectedRange();
|
188
188
|
const changesPerSubSelection = [];
|
189
|
+
const nonCheckboxChanges = new Map();
|
189
190
|
let changes = [];
|
190
191
|
let changeCounter = 0;
|
191
192
|
if (!selRange) {
|
@@ -207,8 +208,19 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
|
|
207
208
|
checkedTemplate: cachedCellProperties.checkedTemplate,
|
208
209
|
uncheckedTemplate: cachedCellProperties.uncheckedTemplate
|
209
210
|
};
|
211
|
+
|
212
|
+
// TODO: In the future it'd be better if non-checkbox changes were handled by the non-checkbox
|
213
|
+
// `delete` keypress logic.
|
214
|
+
/* eslint-disable no-continue */
|
210
215
|
if (cachedCellProperties.type !== 'checkbox') {
|
211
|
-
|
216
|
+
if (uncheckCheckbox === true && !cachedCellProperties.readOnly) {
|
217
|
+
if (nonCheckboxChanges.has(changesPerSubSelection.length)) {
|
218
|
+
nonCheckboxChanges.set(changesPerSubSelection.length, [...nonCheckboxChanges.get(changesPerSubSelection.length), [visualRow, visualColumn, null]]);
|
219
|
+
} else {
|
220
|
+
nonCheckboxChanges.set(changesPerSubSelection.length, [[visualRow, visualColumn, null]]);
|
221
|
+
}
|
222
|
+
}
|
223
|
+
continue;
|
212
224
|
}
|
213
225
|
|
214
226
|
/* eslint-disable no-continue */
|
@@ -256,8 +268,11 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
|
|
256
268
|
if (changes.length > 0) {
|
257
269
|
// TODO: This is workaround for handsontable/dev-handsontable#1747 not being a breaking change.
|
258
270
|
// Technically, the changes don't need to be split into chunks when sent to `setDataAtCell`.
|
259
|
-
changesPerSubSelection.forEach(changesCount => {
|
260
|
-
|
271
|
+
changesPerSubSelection.forEach((changesCount, sectionCount) => {
|
272
|
+
let changesChunk = changes.splice(0, changesCount);
|
273
|
+
if (nonCheckboxChanges.size && nonCheckboxChanges.has(sectionCount)) {
|
274
|
+
changesChunk = [...changesChunk, ...nonCheckboxChanges.get(sectionCount)];
|
275
|
+
}
|
261
276
|
hotInstance.setDataAtCell(changesChunk);
|
262
277
|
});
|
263
278
|
}
|
@@ -280,9 +295,6 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
|
|
280
295
|
for (let visualRow = topLeft.row; visualRow <= bottomRight.row; visualRow++) {
|
281
296
|
for (let visualColumn = topLeft.col; visualColumn <= bottomRight.col; visualColumn++) {
|
282
297
|
const cachedCellProperties = hotInstance.getCellMeta(visualRow, visualColumn);
|
283
|
-
if (cachedCellProperties.type !== 'checkbox') {
|
284
|
-
return false;
|
285
|
-
}
|
286
298
|
const cell = hotInstance.getCell(visualRow, visualColumn);
|
287
299
|
if (cell === null || cell === undefined) {
|
288
300
|
return true;
|
@@ -181,6 +181,7 @@ export function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellPro
|
|
181
181
|
let uncheckCheckbox = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
182
182
|
const selRange = hotInstance.getSelectedRange();
|
183
183
|
const changesPerSubSelection = [];
|
184
|
+
const nonCheckboxChanges = new Map();
|
184
185
|
let changes = [];
|
185
186
|
let changeCounter = 0;
|
186
187
|
if (!selRange) {
|
@@ -202,8 +203,19 @@ export function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellPro
|
|
202
203
|
checkedTemplate: cachedCellProperties.checkedTemplate,
|
203
204
|
uncheckedTemplate: cachedCellProperties.uncheckedTemplate
|
204
205
|
};
|
206
|
+
|
207
|
+
// TODO: In the future it'd be better if non-checkbox changes were handled by the non-checkbox
|
208
|
+
// `delete` keypress logic.
|
209
|
+
/* eslint-disable no-continue */
|
205
210
|
if (cachedCellProperties.type !== 'checkbox') {
|
206
|
-
|
211
|
+
if (uncheckCheckbox === true && !cachedCellProperties.readOnly) {
|
212
|
+
if (nonCheckboxChanges.has(changesPerSubSelection.length)) {
|
213
|
+
nonCheckboxChanges.set(changesPerSubSelection.length, [...nonCheckboxChanges.get(changesPerSubSelection.length), [visualRow, visualColumn, null]]);
|
214
|
+
} else {
|
215
|
+
nonCheckboxChanges.set(changesPerSubSelection.length, [[visualRow, visualColumn, null]]);
|
216
|
+
}
|
217
|
+
}
|
218
|
+
continue;
|
207
219
|
}
|
208
220
|
|
209
221
|
/* eslint-disable no-continue */
|
@@ -251,8 +263,11 @@ export function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellPro
|
|
251
263
|
if (changes.length > 0) {
|
252
264
|
// TODO: This is workaround for handsontable/dev-handsontable#1747 not being a breaking change.
|
253
265
|
// Technically, the changes don't need to be split into chunks when sent to `setDataAtCell`.
|
254
|
-
changesPerSubSelection.forEach(changesCount => {
|
255
|
-
|
266
|
+
changesPerSubSelection.forEach((changesCount, sectionCount) => {
|
267
|
+
let changesChunk = changes.splice(0, changesCount);
|
268
|
+
if (nonCheckboxChanges.size && nonCheckboxChanges.has(sectionCount)) {
|
269
|
+
changesChunk = [...changesChunk, ...nonCheckboxChanges.get(sectionCount)];
|
270
|
+
}
|
256
271
|
hotInstance.setDataAtCell(changesChunk);
|
257
272
|
});
|
258
273
|
}
|
@@ -275,9 +290,6 @@ export function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellPro
|
|
275
290
|
for (let visualRow = topLeft.row; visualRow <= bottomRight.row; visualRow++) {
|
276
291
|
for (let visualColumn = topLeft.col; visualColumn <= bottomRight.col; visualColumn++) {
|
277
292
|
const cachedCellProperties = hotInstance.getCellMeta(visualRow, visualColumn);
|
278
|
-
if (cachedCellProperties.type !== 'checkbox') {
|
279
|
-
return false;
|
280
|
-
}
|
281
293
|
const cell = hotInstance.getCell(visualRow, visualColumn);
|
282
294
|
if (cell === null || cell === undefined) {
|
283
295
|
return true;
|
package/selection/selection.js
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
-
require("core-js/modules/
|
7
|
-
require("core-js/modules/
|
8
|
-
require("core-js/modules/
|
9
|
-
require("core-js/modules/
|
10
|
-
require("core-js/modules/
|
11
|
-
require("core-js/modules/
|
12
|
-
require("core-js/modules/
|
6
|
+
require("core-js/modules/es.set.difference.v2.js");
|
7
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
8
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
10
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
11
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
12
|
+
require("core-js/modules/es.set.union.v2.js");
|
13
13
|
var _highlight = _interopRequireWildcard(require("./highlight/highlight"));
|
14
14
|
var _range = _interopRequireDefault(require("./range"));
|
15
15
|
var _object = require("./../helpers/object");
|
package/selection/selection.mjs
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
-
import "core-js/modules/
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
8
|
-
import "core-js/modules/
|
9
|
-
import "core-js/modules/
|
3
|
+
import "core-js/modules/es.set.difference.v2.js";
|
4
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
6
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
7
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
|
+
import "core-js/modules/es.set.union.v2.js";
|
10
10
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
11
11
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
12
12
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
package/selection/utils.js
CHANGED
@@ -7,13 +7,13 @@ exports.transformSelectionToColumnDistance = transformSelectionToColumnDistance;
|
|
7
7
|
exports.transformSelectionToRowDistance = transformSelectionToRowDistance;
|
8
8
|
require("core-js/modules/es.error.cause.js");
|
9
9
|
require("core-js/modules/es.array.push.js");
|
10
|
-
require("core-js/modules/
|
11
|
-
require("core-js/modules/
|
12
|
-
require("core-js/modules/
|
13
|
-
require("core-js/modules/
|
14
|
-
require("core-js/modules/
|
15
|
-
require("core-js/modules/
|
16
|
-
require("core-js/modules/
|
10
|
+
require("core-js/modules/es.set.difference.v2.js");
|
11
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
12
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
13
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
14
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
15
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
16
|
+
require("core-js/modules/es.set.union.v2.js");
|
17
17
|
var _src = require("./../3rdparty/walkontable/src");
|
18
18
|
var _array = require("./../helpers/array");
|
19
19
|
var _mixed = require("./../helpers/mixed");
|
package/selection/utils.mjs
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
-
import "core-js/modules/
|
4
|
-
import "core-js/modules/
|
5
|
-
import "core-js/modules/
|
6
|
-
import "core-js/modules/
|
7
|
-
import "core-js/modules/
|
8
|
-
import "core-js/modules/
|
9
|
-
import "core-js/modules/
|
3
|
+
import "core-js/modules/es.set.difference.v2.js";
|
4
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
6
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
7
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
|
+
import "core-js/modules/es.set.union.v2.js";
|
10
10
|
import { CellRange } from "./../3rdparty/walkontable/src/index.mjs";
|
11
11
|
import { arrayEach, arrayReduce } from "./../helpers/array.mjs";
|
12
12
|
import { isUndefined } from "./../helpers/mixed.mjs";
|
package/shortcutContexts/grid.js
CHANGED
@@ -38,11 +38,17 @@ function shortcutsGridContext(hot) {
|
|
38
38
|
context.addShortcuts([{
|
39
39
|
keys: [['Control/Meta', 'A']],
|
40
40
|
callback: () => commandsPool.selectAllCells(),
|
41
|
-
runOnlyIf: () =>
|
41
|
+
runOnlyIf: () => {
|
42
|
+
var _hot$getSelectedRange;
|
43
|
+
return !((_hot$getSelectedRange = hot.getSelectedRangeLast()) !== null && _hot$getSelectedRange !== void 0 && _hot$getSelectedRange.highlight.isHeader());
|
44
|
+
}
|
42
45
|
}, {
|
43
46
|
keys: [['Control/Meta', 'A']],
|
44
47
|
callback: () => {},
|
45
|
-
runOnlyIf: () =>
|
48
|
+
runOnlyIf: () => {
|
49
|
+
var _hot$getSelectedRange2;
|
50
|
+
return (_hot$getSelectedRange2 = hot.getSelectedRangeLast()) === null || _hot$getSelectedRange2 === void 0 ? void 0 : _hot$getSelectedRange2.highlight.isHeader();
|
51
|
+
},
|
46
52
|
preventDefault: true
|
47
53
|
}, {
|
48
54
|
keys: [['Control/Meta', 'Shift', 'Space']],
|
@@ -51,7 +57,8 @@ function shortcutsGridContext(hot) {
|
|
51
57
|
keys: [['Control/Meta', 'Enter']],
|
52
58
|
callback: () => commandsPool.populateSelectedCellsData(),
|
53
59
|
runOnlyIf: () => {
|
54
|
-
|
60
|
+
var _hot$getSelectedRange3, _hot$getSelectedRange4;
|
61
|
+
return !((_hot$getSelectedRange3 = hot.getSelectedRangeLast()) !== null && _hot$getSelectedRange3 !== void 0 && _hot$getSelectedRange3.highlight.isHeader()) && ((_hot$getSelectedRange4 = hot.getSelectedRangeLast()) === null || _hot$getSelectedRange4 === void 0 ? void 0 : _hot$getSelectedRange4.getCellsCount()) > 1;
|
55
62
|
}
|
56
63
|
}, {
|
57
64
|
keys: [['Control', 'Space']],
|
@@ -34,11 +34,17 @@ export function shortcutsGridContext(hot) {
|
|
34
34
|
context.addShortcuts([{
|
35
35
|
keys: [['Control/Meta', 'A']],
|
36
36
|
callback: () => commandsPool.selectAllCells(),
|
37
|
-
runOnlyIf: () =>
|
37
|
+
runOnlyIf: () => {
|
38
|
+
var _hot$getSelectedRange;
|
39
|
+
return !((_hot$getSelectedRange = hot.getSelectedRangeLast()) !== null && _hot$getSelectedRange !== void 0 && _hot$getSelectedRange.highlight.isHeader());
|
40
|
+
}
|
38
41
|
}, {
|
39
42
|
keys: [['Control/Meta', 'A']],
|
40
43
|
callback: () => {},
|
41
|
-
runOnlyIf: () =>
|
44
|
+
runOnlyIf: () => {
|
45
|
+
var _hot$getSelectedRange2;
|
46
|
+
return (_hot$getSelectedRange2 = hot.getSelectedRangeLast()) === null || _hot$getSelectedRange2 === void 0 ? void 0 : _hot$getSelectedRange2.highlight.isHeader();
|
47
|
+
},
|
42
48
|
preventDefault: true
|
43
49
|
}, {
|
44
50
|
keys: [['Control/Meta', 'Shift', 'Space']],
|
@@ -47,7 +53,8 @@ export function shortcutsGridContext(hot) {
|
|
47
53
|
keys: [['Control/Meta', 'Enter']],
|
48
54
|
callback: () => commandsPool.populateSelectedCellsData(),
|
49
55
|
runOnlyIf: () => {
|
50
|
-
|
56
|
+
var _hot$getSelectedRange3, _hot$getSelectedRange4;
|
57
|
+
return !((_hot$getSelectedRange3 = hot.getSelectedRangeLast()) !== null && _hot$getSelectedRange3 !== void 0 && _hot$getSelectedRange3.highlight.isHeader()) && ((_hot$getSelectedRange4 = hot.getSelectedRangeLast()) === null || _hot$getSelectedRange4 === void 0 ? void 0 : _hot$getSelectedRange4.getCellsCount()) > 1;
|
51
58
|
}
|
52
59
|
}, {
|
53
60
|
keys: [['Control', 'Space']],
|