handsontable 14.5.0 → 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
@@ -12,6 +12,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
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; }
|
13
13
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
14
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); }
|
15
|
+
const ROW_CLASSNAMES = {
|
16
|
+
rowEven: 'ht__row_even',
|
17
|
+
rowOdd: 'ht__row_odd'
|
18
|
+
};
|
15
19
|
let performanceWarningAppeared = false;
|
16
20
|
|
17
21
|
/**
|
@@ -75,6 +79,12 @@ class RowsRenderer extends _base.default {
|
|
75
79
|
// `aria-rowindex` is incremented by both tbody and thead rows.
|
76
80
|
(0, _a11y.A11Y_ROWINDEX)(sourceRowIndex + ((_this$table$rowUtils$ = (_this$table$rowUtils = this.table.rowUtils) === null || _this$table$rowUtils === void 0 || (_this$table$rowUtils = _this$table$rowUtils.dataAccessObject) === null || _this$table$rowUtils === void 0 ? void 0 : _this$table$rowUtils.columnHeaders.length) !== null && _this$table$rowUtils$ !== void 0 ? _this$table$rowUtils$ : 0) + 1)]);
|
77
81
|
}
|
82
|
+
(0, _element.removeClass)(TR, [ROW_CLASSNAMES.rowEven, ROW_CLASSNAMES.rowOdd]);
|
83
|
+
if ((sourceRowIndex + 1) % 2 === 0) {
|
84
|
+
(0, _element.addClass)(TR, ROW_CLASSNAMES.rowEven);
|
85
|
+
} else {
|
86
|
+
(0, _element.addClass)(TR, ROW_CLASSNAMES.rowOdd);
|
87
|
+
}
|
78
88
|
}
|
79
89
|
this.orderView.end();
|
80
90
|
}
|
@@ -6,8 +6,12 @@ import BaseRenderer from "./_base.mjs";
|
|
6
6
|
import { warn } from "./../../../../helpers/console.mjs";
|
7
7
|
import { toSingleLine } from "./../../../../helpers/templateLiteralTag.mjs";
|
8
8
|
import { OrderView } from "./../utils/orderView/index.mjs";
|
9
|
-
import { setAttribute } from "../../../../helpers/dom/element.mjs";
|
9
|
+
import { addClass, removeClass, setAttribute } from "../../../../helpers/dom/element.mjs";
|
10
10
|
import { A11Y_ROW, A11Y_ROWGROUP, A11Y_ROWINDEX } from "../../../../helpers/a11y.mjs";
|
11
|
+
const ROW_CLASSNAMES = {
|
12
|
+
rowEven: 'ht__row_even',
|
13
|
+
rowOdd: 'ht__row_odd'
|
14
|
+
};
|
11
15
|
let performanceWarningAppeared = false;
|
12
16
|
|
13
17
|
/**
|
@@ -71,6 +75,12 @@ export default class RowsRenderer extends BaseRenderer {
|
|
71
75
|
// `aria-rowindex` is incremented by both tbody and thead rows.
|
72
76
|
A11Y_ROWINDEX(sourceRowIndex + ((_this$table$rowUtils$ = (_this$table$rowUtils = this.table.rowUtils) === null || _this$table$rowUtils === void 0 || (_this$table$rowUtils = _this$table$rowUtils.dataAccessObject) === null || _this$table$rowUtils === void 0 ? void 0 : _this$table$rowUtils.columnHeaders.length) !== null && _this$table$rowUtils$ !== void 0 ? _this$table$rowUtils$ : 0) + 1)]);
|
73
77
|
}
|
78
|
+
removeClass(TR, [ROW_CLASSNAMES.rowEven, ROW_CLASSNAMES.rowOdd]);
|
79
|
+
if ((sourceRowIndex + 1) % 2 === 0) {
|
80
|
+
addClass(TR, ROW_CLASSNAMES.rowEven);
|
81
|
+
} else {
|
82
|
+
addClass(TR, ROW_CLASSNAMES.rowOdd);
|
83
|
+
}
|
74
84
|
}
|
75
85
|
this.orderView.end();
|
76
86
|
}
|
@@ -4,13 +4,13 @@ exports.__esModule = true;
|
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
6
|
require("core-js/modules/es.array.unscopables.flat.js");
|
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/
|
13
|
-
require("core-js/modules/
|
7
|
+
require("core-js/modules/es.set.difference.v2.js");
|
8
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
10
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
11
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
12
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
13
|
+
require("core-js/modules/es.set.union.v2.js");
|
14
14
|
var _element = require("../../../../helpers/dom/element");
|
15
15
|
var _scanner2 = require("./scanner");
|
16
16
|
var _border = _interopRequireDefault(require("./border/border"));
|
@@ -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.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 _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
13
13
|
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
|
require("core-js/modules/es.error.cause.js");
|
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 _element = require("../../../../helpers/dom/element");
|
13
13
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
14
14
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
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/
|
8
|
-
import "core-js/modules/
|
2
|
+
import "core-js/modules/es.set.difference.v2.js";
|
3
|
+
import "core-js/modules/es.set.intersection.v2.js";
|
4
|
+
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
5
|
+
import "core-js/modules/es.set.is-subset-of.v2.js";
|
6
|
+
import "core-js/modules/es.set.is-superset-of.v2.js";
|
7
|
+
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
8
|
+
import "core-js/modules/es.set.union.v2.js";
|
9
9
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
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"); }
|
package/CHANGELOG.md
CHANGED
@@ -9,6 +9,35 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
10
10
|
<!-- UNVERSIONED -->
|
11
11
|
|
12
|
+
## [14.6.0] - 2024-10-01
|
13
|
+
|
14
|
+
### Added
|
15
|
+
- Fix aria-label, aria-checked and menuitemcheckbox roles for the readOnly and alignment contextMenu items [#11091](https://github.com/handsontable/handsontable/pull/11091)
|
16
|
+
- Extended the `beforeFilter` hook with a second argument to allow correct Undo/Redo functionality. [#11170](https://github.com/handsontable/handsontable/pull/11170)
|
17
|
+
- Added even and odd class names to the TR elements. [#11183](https://github.com/handsontable/handsontable/pull/11183)
|
18
|
+
- Added new API to retrieve visible, partially visible and rendered row and columns indexes. [#11189](https://github.com/handsontable/handsontable/pull/11189)
|
19
|
+
|
20
|
+
### Changed
|
21
|
+
- Make the focus visible for `select` cell type cells. [#11160](https://github.com/handsontable/handsontable/pull/11160)
|
22
|
+
|
23
|
+
### Removed
|
24
|
+
- Remove -ms fix from css [#11055](https://github.com/handsontable/handsontable/issues/11055)
|
25
|
+
|
26
|
+
### Fixed
|
27
|
+
- Fixed a bug that prevents copy valus from cell comments. [#11103](https://github.com/handsontable/handsontable/pull/11103)
|
28
|
+
- Fixed submenu misalignment after horizontal scroll. [#11106](https://github.com/handsontable/handsontable/pull/11106)
|
29
|
+
- Fixed rows misalign for cells that content produce heights with fractions. [#11110](https://github.com/handsontable/handsontable/pull/11110)
|
30
|
+
- Fixed dropdown menu misalignment after opening with a keyboard shortcut. [#11115](https://github.com/handsontable/handsontable/pull/11115)
|
31
|
+
- Fixed a bug where the data was saved in a wrong cell, when sorting a column with an open editor. [#11129](https://github.com/handsontable/handsontable/pull/11129)
|
32
|
+
- Fixed copy/paste/cut issues when `outsideClickDeselects` was disabled [#11139](https://github.com/handsontable/handsontable/pull/11139)
|
33
|
+
- Fixed merged cells that break after adding a new row. [#11145](https://github.com/handsontable/handsontable/pull/11145)
|
34
|
+
- Fixed F2 keyboard shortcut (enter into editing mode). [#11151](https://github.com/handsontable/handsontable/pull/11151)
|
35
|
+
- Fixed context/dropdown menu column width calculations depending on the content. [#11156](https://github.com/handsontable/handsontable/pull/11156)
|
36
|
+
- Updated TS typings for `selectCell` method. [#11161](https://github.com/handsontable/handsontable/pull/11161)
|
37
|
+
- Fixed a problem with deleting content from a selection when it contained both `checkbox` and non-`checkbox`-typed cells. [#11182](https://github.com/handsontable/handsontable/pull/11182)
|
38
|
+
- Fixed a problem where the Context Menu container wasn't reflecting the size of its contents. [#11190](https://github.com/handsontable/handsontable/pull/11190)
|
39
|
+
- Fixed an issue connected with throwing an error triggered by some keyboard shortcuts when there was no selection [#11195](https://github.com/handsontable/handsontable/pull/11195)
|
40
|
+
|
12
41
|
## [14.5.0] - 2024-07-24
|
13
42
|
|
14
43
|
### Added
|
package/base.js
CHANGED
@@ -45,8 +45,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
45
45
|
Handsontable.CellCoords = _src.CellCoords;
|
46
46
|
Handsontable.CellRange = _src.CellRange;
|
47
47
|
Handsontable.packageName = 'handsontable';
|
48
|
-
Handsontable.buildDate = "
|
49
|
-
Handsontable.version = "14.
|
48
|
+
Handsontable.buildDate = "24/09/2024 11:36:15";
|
49
|
+
Handsontable.version = "14.6.0-next-4d69faf-20240924";
|
50
50
|
Handsontable.languages = {
|
51
51
|
dictionaryKeys: _registry.dictionaryKeys,
|
52
52
|
getLanguageDictionary: _registry.getLanguageDictionary,
|
package/base.mjs
CHANGED
@@ -35,8 +35,8 @@ Handsontable.hooks = Hooks.getSingleton();
|
|
35
35
|
Handsontable.CellCoords = CellCoords;
|
36
36
|
Handsontable.CellRange = CellRange;
|
37
37
|
Handsontable.packageName = 'handsontable';
|
38
|
-
Handsontable.buildDate = "
|
39
|
-
Handsontable.version = "14.
|
38
|
+
Handsontable.buildDate = "24/09/2024 11:36:21";
|
39
|
+
Handsontable.version = "14.6.0-next-4d69faf-20240924";
|
40
40
|
Handsontable.languages = {
|
41
41
|
dictionaryKeys,
|
42
42
|
getLanguageDictionary,
|
package/core.d.ts
CHANGED
@@ -81,8 +81,20 @@ export default class Core {
|
|
81
81
|
getDataAtRowProp(row: number, prop: string): CellValue;
|
82
82
|
getDataType(rowFrom: number, columnFrom: number, rowTo: number, columnTo: number): CellType | 'mixed';
|
83
83
|
getDirectionFactor(): 1 | -1;
|
84
|
+
getFirstFullyVisibleColumn(): number | null;
|
85
|
+
getFirstFullyVisibleRow(): number | null;
|
86
|
+
getFirstPartiallyVisibleColumn(): number | null;
|
87
|
+
getFirstPartiallyVisibleRow(): number | null;
|
88
|
+
getFirstRenderedVisibleColumn(): number | null;
|
89
|
+
getFirstRenderedVisibleRow(): number | null;
|
84
90
|
getFocusManager(): FocusManager;
|
85
91
|
getInstance(): Core;
|
92
|
+
getLastFullyVisibleColumn(): number | null;
|
93
|
+
getLastFullyVisibleRow(): number | null;
|
94
|
+
getLastPartiallyVisibleColumn(): number | null;
|
95
|
+
getLastPartiallyVisibleRow(): number | null;
|
96
|
+
getLastRenderedVisibleColumn(): number | null;
|
97
|
+
getLastRenderedVisibleRow(): number | null;
|
86
98
|
getPlugin<T extends keyof Plugins>(pluginName: T): Plugins[T];
|
87
99
|
getPlugin(pluginName: string): Plugins['basePlugin'];
|
88
100
|
getRowHeader(): Array<string | number>;
|
@@ -139,8 +151,7 @@ export default class Core {
|
|
139
151
|
scrollViewportTo(row?: number, column?: number, snapToBottom?: boolean, snapToRight?: boolean, considerHiddenIndexes?: boolean): boolean;
|
140
152
|
scrollToFocusedCell(callback?: () => void): void;
|
141
153
|
selectAll(includeRowHeaders?: boolean, includeColumnHeaders?: boolean, options?: { focusPosition?: SimpleCellCoords | CellCoords, disableHeadersHighlight?: boolean }): void;
|
142
|
-
selectCell(row: number, column: number, endRow?: number, endColumn?: number, scrollToCell?: boolean, changeListener?: boolean): boolean;
|
143
|
-
selectCellByProp(row: number, prop: string, endRow?: number, endProp?: string, scrollToCell?: boolean): boolean;
|
154
|
+
selectCell(row: number, column: number | string, endRow?: number, endColumn?: number | string, scrollToCell?: boolean, changeListener?: boolean): boolean;
|
144
155
|
selectCells(coords: Array<[number, number | string, number, number | string]> | CellRange[], scrollToCell?: boolean, changeListener?: boolean): boolean;
|
145
156
|
selectColumns(startColumn: number | string, endColumn?: number | string, focusPosition?: number | SimpleCellCoords | CellCoords): boolean;
|
146
157
|
selectRows(startRow: number, endRow?: number, focusPosition?: number | SimpleCellCoords | CellCoords): boolean;
|
package/core.js
CHANGED
@@ -4,13 +4,13 @@ exports.__esModule = true;
|
|
4
4
|
exports.default = Core;
|
5
5
|
require("core-js/modules/es.error.cause.js");
|
6
6
|
require("core-js/modules/es.array.push.js");
|
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/
|
13
|
-
require("core-js/modules/
|
7
|
+
require("core-js/modules/es.set.difference.v2.js");
|
8
|
+
require("core-js/modules/es.set.intersection.v2.js");
|
9
|
+
require("core-js/modules/es.set.is-disjoint-from.v2.js");
|
10
|
+
require("core-js/modules/es.set.is-subset-of.v2.js");
|
11
|
+
require("core-js/modules/es.set.is-superset-of.v2.js");
|
12
|
+
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
13
|
+
require("core-js/modules/es.set.union.v2.js");
|
14
14
|
require("core-js/modules/web.immediate.js");
|
15
15
|
var _element = require("./helpers/dom/element");
|
16
16
|
var _function = require("./helpers/function");
|
@@ -2445,8 +2445,7 @@ function Core(rootElement, userSettings) {
|
|
2445
2445
|
* by adding or removing rows and columns at specified positions.
|
2446
2446
|
*
|
2447
2447
|
* ::: tip
|
2448
|
-
*
|
2449
|
-
* is an [array of arrays](@/guides/getting-started/binding-to-data/binding-to-data.md#array-of-arrays).
|
2448
|
+
* If you use an array of objects in your [`data`](@/api/options.md#data), the column-related actions won't work.
|
2450
2449
|
* :::
|
2451
2450
|
*
|
2452
2451
|
* ```js
|
@@ -4241,6 +4240,158 @@ function Core(rootElement, userSettings) {
|
|
4241
4240
|
return editorManager.getActiveEditor();
|
4242
4241
|
};
|
4243
4242
|
|
4243
|
+
/**
|
4244
|
+
* Returns the first rendered row in the DOM (usually, it is not visible in the table's viewport).
|
4245
|
+
*
|
4246
|
+
* @since 14.6.0
|
4247
|
+
* @memberof Core#
|
4248
|
+
* @function getFirstRenderedVisibleRow
|
4249
|
+
* @returns {number | null}
|
4250
|
+
*/
|
4251
|
+
this.getFirstRenderedVisibleRow = function () {
|
4252
|
+
return instance.view.getFirstRenderedVisibleRow();
|
4253
|
+
};
|
4254
|
+
|
4255
|
+
/**
|
4256
|
+
* Returns the last rendered row in the DOM (usually, it is not visible in the table's viewport).
|
4257
|
+
*
|
4258
|
+
* @since 14.6.0
|
4259
|
+
* @memberof Core#
|
4260
|
+
* @function getLastRenderedVisibleRow
|
4261
|
+
* @returns {number | null}
|
4262
|
+
*/
|
4263
|
+
this.getLastRenderedVisibleRow = function () {
|
4264
|
+
return instance.view.getLastRenderedVisibleRow();
|
4265
|
+
};
|
4266
|
+
|
4267
|
+
/**
|
4268
|
+
* Returns the first rendered column in the DOM (usually, it is not visible in the table's viewport).
|
4269
|
+
*
|
4270
|
+
* @since 14.6.0
|
4271
|
+
* @memberof Core#
|
4272
|
+
* @function getFirstRenderedVisibleColumn
|
4273
|
+
* @returns {number | null}
|
4274
|
+
*/
|
4275
|
+
this.getFirstRenderedVisibleColumn = function () {
|
4276
|
+
return instance.view.getFirstRenderedVisibleColumn();
|
4277
|
+
};
|
4278
|
+
|
4279
|
+
/**
|
4280
|
+
* Returns the last rendered column in the DOM (usually, it is not visible in the table's viewport).
|
4281
|
+
*
|
4282
|
+
* @since 14.6.0
|
4283
|
+
* @memberof Core#
|
4284
|
+
* @function getLastRenderedVisibleColumn
|
4285
|
+
* @returns {number | null}
|
4286
|
+
*/
|
4287
|
+
this.getLastRenderedVisibleColumn = function () {
|
4288
|
+
return instance.view.getLastRenderedVisibleColumn();
|
4289
|
+
};
|
4290
|
+
|
4291
|
+
/**
|
4292
|
+
* Returns the first fully visible row in the table viewport. When the table has overlays the method returns
|
4293
|
+
* the first row of the main table that is not overlapped by overlay.
|
4294
|
+
*
|
4295
|
+
* @since 14.6.0
|
4296
|
+
* @memberof Core#
|
4297
|
+
* @function getFirstFullyVisibleRow
|
4298
|
+
* @returns {number | null}
|
4299
|
+
*/
|
4300
|
+
this.getFirstFullyVisibleRow = function () {
|
4301
|
+
return instance.view.getFirstFullyVisibleRow();
|
4302
|
+
};
|
4303
|
+
|
4304
|
+
/**
|
4305
|
+
* Returns the last fully visible row in the table viewport. When the table has overlays the method returns
|
4306
|
+
* the first row of the main table that is not overlapped by overlay.
|
4307
|
+
*
|
4308
|
+
* @since 14.6.0
|
4309
|
+
* @memberof Core#
|
4310
|
+
* @function getLastFullyVisibleRow
|
4311
|
+
* @returns {number | null}
|
4312
|
+
*/
|
4313
|
+
this.getLastFullyVisibleRow = function () {
|
4314
|
+
return instance.view.getLastFullyVisibleRow();
|
4315
|
+
};
|
4316
|
+
|
4317
|
+
/**
|
4318
|
+
* Returns the first fully visible column in the table viewport. When the table has overlays the method returns
|
4319
|
+
* the first row of the main table that is not overlapped by overlay.
|
4320
|
+
*
|
4321
|
+
* @since 14.6.0
|
4322
|
+
* @memberof Core#
|
4323
|
+
* @function getFirstFullyVisibleColumn
|
4324
|
+
* @returns {number | null}
|
4325
|
+
*/
|
4326
|
+
this.getFirstFullyVisibleColumn = function () {
|
4327
|
+
return instance.view.getFirstFullyVisibleColumn();
|
4328
|
+
};
|
4329
|
+
|
4330
|
+
/**
|
4331
|
+
* Returns the last fully visible column in the table viewport. When the table has overlays the method returns
|
4332
|
+
* the first row of the main table that is not overlapped by overlay.
|
4333
|
+
*
|
4334
|
+
* @since 14.6.0
|
4335
|
+
* @memberof Core#
|
4336
|
+
* @function getLastFullyVisibleColumn
|
4337
|
+
* @returns {number | null}
|
4338
|
+
*/
|
4339
|
+
this.getLastFullyVisibleColumn = function () {
|
4340
|
+
return instance.view.getLastFullyVisibleColumn();
|
4341
|
+
};
|
4342
|
+
|
4343
|
+
/**
|
4344
|
+
* Returns the first partially visible row in the table viewport. When the table has overlays the method returns
|
4345
|
+
* the first row of the main table that is not overlapped by overlay.
|
4346
|
+
*
|
4347
|
+
* @since 14.6.0
|
4348
|
+
* @memberof Core#
|
4349
|
+
* @function getFirstPartiallyVisibleRow
|
4350
|
+
* @returns {number | null}
|
4351
|
+
*/
|
4352
|
+
this.getFirstPartiallyVisibleRow = function () {
|
4353
|
+
return instance.view.getFirstPartiallyVisibleRow();
|
4354
|
+
};
|
4355
|
+
|
4356
|
+
/**
|
4357
|
+
* Returns the last partially visible row in the table viewport. When the table has overlays the method returns
|
4358
|
+
* the first row of the main table that is not overlapped by overlay.
|
4359
|
+
*
|
4360
|
+
* @since 14.6.0
|
4361
|
+
* @memberof Core#
|
4362
|
+
* @function getLastPartiallyVisibleRow
|
4363
|
+
* @returns {number | null}
|
4364
|
+
*/
|
4365
|
+
this.getLastPartiallyVisibleRow = function () {
|
4366
|
+
return instance.view.getLastPartiallyVisibleRow();
|
4367
|
+
};
|
4368
|
+
|
4369
|
+
/**
|
4370
|
+
* Returns the first partially visible column in the table viewport. When the table has overlays the method returns
|
4371
|
+
* the first row of the main table that is not overlapped by overlay.
|
4372
|
+
*
|
4373
|
+
* @since 14.6.0
|
4374
|
+
* @memberof Core#
|
4375
|
+
* @function getFirstPartiallyVisibleColumn
|
4376
|
+
* @returns {number | null}
|
4377
|
+
*/
|
4378
|
+
this.getFirstPartiallyVisibleColumn = function () {
|
4379
|
+
return instance.view.getFirstPartiallyVisibleColumn();
|
4380
|
+
};
|
4381
|
+
|
4382
|
+
/**
|
4383
|
+
* Returns the last partially visible column in the table viewport. When the table has overlays the method returns
|
4384
|
+
* the first row of the main table that is not overlapped by overlay.
|
4385
|
+
*
|
4386
|
+
* @since 14.6.0
|
4387
|
+
* @memberof Core#
|
4388
|
+
* @function getLastPartiallyVisibleColumn
|
4389
|
+
* @returns {number | null}
|
4390
|
+
*/
|
4391
|
+
this.getLastPartiallyVisibleColumn = function () {
|
4392
|
+
return instance.view.getLastPartiallyVisibleColumn();
|
4393
|
+
};
|
4394
|
+
|
4244
4395
|
/**
|
4245
4396
|
* Returns plugin instance by provided its name.
|
4246
4397
|
*
|
package/core.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 "core-js/modules/web.immediate.js";
|
11
11
|
import { addClass, empty, observeVisibilityChangeOnce, removeClass } from "./helpers/dom/element.mjs";
|
12
12
|
import { isFunction } from "./helpers/function.mjs";
|
@@ -2440,8 +2440,7 @@ export default function Core(rootElement, userSettings) {
|
|
2440
2440
|
* by adding or removing rows and columns at specified positions.
|
2441
2441
|
*
|
2442
2442
|
* ::: tip
|
2443
|
-
*
|
2444
|
-
* is an [array of arrays](@/guides/getting-started/binding-to-data/binding-to-data.md#array-of-arrays).
|
2443
|
+
* If you use an array of objects in your [`data`](@/api/options.md#data), the column-related actions won't work.
|
2445
2444
|
* :::
|
2446
2445
|
*
|
2447
2446
|
* ```js
|
@@ -4236,6 +4235,158 @@ export default function Core(rootElement, userSettings) {
|
|
4236
4235
|
return editorManager.getActiveEditor();
|
4237
4236
|
};
|
4238
4237
|
|
4238
|
+
/**
|
4239
|
+
* Returns the first rendered row in the DOM (usually, it is not visible in the table's viewport).
|
4240
|
+
*
|
4241
|
+
* @since 14.6.0
|
4242
|
+
* @memberof Core#
|
4243
|
+
* @function getFirstRenderedVisibleRow
|
4244
|
+
* @returns {number | null}
|
4245
|
+
*/
|
4246
|
+
this.getFirstRenderedVisibleRow = function () {
|
4247
|
+
return instance.view.getFirstRenderedVisibleRow();
|
4248
|
+
};
|
4249
|
+
|
4250
|
+
/**
|
4251
|
+
* Returns the last rendered row in the DOM (usually, it is not visible in the table's viewport).
|
4252
|
+
*
|
4253
|
+
* @since 14.6.0
|
4254
|
+
* @memberof Core#
|
4255
|
+
* @function getLastRenderedVisibleRow
|
4256
|
+
* @returns {number | null}
|
4257
|
+
*/
|
4258
|
+
this.getLastRenderedVisibleRow = function () {
|
4259
|
+
return instance.view.getLastRenderedVisibleRow();
|
4260
|
+
};
|
4261
|
+
|
4262
|
+
/**
|
4263
|
+
* Returns the first rendered column in the DOM (usually, it is not visible in the table's viewport).
|
4264
|
+
*
|
4265
|
+
* @since 14.6.0
|
4266
|
+
* @memberof Core#
|
4267
|
+
* @function getFirstRenderedVisibleColumn
|
4268
|
+
* @returns {number | null}
|
4269
|
+
*/
|
4270
|
+
this.getFirstRenderedVisibleColumn = function () {
|
4271
|
+
return instance.view.getFirstRenderedVisibleColumn();
|
4272
|
+
};
|
4273
|
+
|
4274
|
+
/**
|
4275
|
+
* Returns the last rendered column in the DOM (usually, it is not visible in the table's viewport).
|
4276
|
+
*
|
4277
|
+
* @since 14.6.0
|
4278
|
+
* @memberof Core#
|
4279
|
+
* @function getLastRenderedVisibleColumn
|
4280
|
+
* @returns {number | null}
|
4281
|
+
*/
|
4282
|
+
this.getLastRenderedVisibleColumn = function () {
|
4283
|
+
return instance.view.getLastRenderedVisibleColumn();
|
4284
|
+
};
|
4285
|
+
|
4286
|
+
/**
|
4287
|
+
* Returns the first fully visible row in the table viewport. When the table has overlays the method returns
|
4288
|
+
* the first row of the main table that is not overlapped by overlay.
|
4289
|
+
*
|
4290
|
+
* @since 14.6.0
|
4291
|
+
* @memberof Core#
|
4292
|
+
* @function getFirstFullyVisibleRow
|
4293
|
+
* @returns {number | null}
|
4294
|
+
*/
|
4295
|
+
this.getFirstFullyVisibleRow = function () {
|
4296
|
+
return instance.view.getFirstFullyVisibleRow();
|
4297
|
+
};
|
4298
|
+
|
4299
|
+
/**
|
4300
|
+
* Returns the last fully visible row in the table viewport. When the table has overlays the method returns
|
4301
|
+
* the first row of the main table that is not overlapped by overlay.
|
4302
|
+
*
|
4303
|
+
* @since 14.6.0
|
4304
|
+
* @memberof Core#
|
4305
|
+
* @function getLastFullyVisibleRow
|
4306
|
+
* @returns {number | null}
|
4307
|
+
*/
|
4308
|
+
this.getLastFullyVisibleRow = function () {
|
4309
|
+
return instance.view.getLastFullyVisibleRow();
|
4310
|
+
};
|
4311
|
+
|
4312
|
+
/**
|
4313
|
+
* Returns the first fully visible column in the table viewport. When the table has overlays the method returns
|
4314
|
+
* the first row of the main table that is not overlapped by overlay.
|
4315
|
+
*
|
4316
|
+
* @since 14.6.0
|
4317
|
+
* @memberof Core#
|
4318
|
+
* @function getFirstFullyVisibleColumn
|
4319
|
+
* @returns {number | null}
|
4320
|
+
*/
|
4321
|
+
this.getFirstFullyVisibleColumn = function () {
|
4322
|
+
return instance.view.getFirstFullyVisibleColumn();
|
4323
|
+
};
|
4324
|
+
|
4325
|
+
/**
|
4326
|
+
* Returns the last fully visible column in the table viewport. When the table has overlays the method returns
|
4327
|
+
* the first row of the main table that is not overlapped by overlay.
|
4328
|
+
*
|
4329
|
+
* @since 14.6.0
|
4330
|
+
* @memberof Core#
|
4331
|
+
* @function getLastFullyVisibleColumn
|
4332
|
+
* @returns {number | null}
|
4333
|
+
*/
|
4334
|
+
this.getLastFullyVisibleColumn = function () {
|
4335
|
+
return instance.view.getLastFullyVisibleColumn();
|
4336
|
+
};
|
4337
|
+
|
4338
|
+
/**
|
4339
|
+
* Returns the first partially visible row in the table viewport. When the table has overlays the method returns
|
4340
|
+
* the first row of the main table that is not overlapped by overlay.
|
4341
|
+
*
|
4342
|
+
* @since 14.6.0
|
4343
|
+
* @memberof Core#
|
4344
|
+
* @function getFirstPartiallyVisibleRow
|
4345
|
+
* @returns {number | null}
|
4346
|
+
*/
|
4347
|
+
this.getFirstPartiallyVisibleRow = function () {
|
4348
|
+
return instance.view.getFirstPartiallyVisibleRow();
|
4349
|
+
};
|
4350
|
+
|
4351
|
+
/**
|
4352
|
+
* Returns the last partially visible row in the table viewport. When the table has overlays the method returns
|
4353
|
+
* the first row of the main table that is not overlapped by overlay.
|
4354
|
+
*
|
4355
|
+
* @since 14.6.0
|
4356
|
+
* @memberof Core#
|
4357
|
+
* @function getLastPartiallyVisibleRow
|
4358
|
+
* @returns {number | null}
|
4359
|
+
*/
|
4360
|
+
this.getLastPartiallyVisibleRow = function () {
|
4361
|
+
return instance.view.getLastPartiallyVisibleRow();
|
4362
|
+
};
|
4363
|
+
|
4364
|
+
/**
|
4365
|
+
* Returns the first partially visible column in the table viewport. When the table has overlays the method returns
|
4366
|
+
* the first row of the main table that is not overlapped by overlay.
|
4367
|
+
*
|
4368
|
+
* @since 14.6.0
|
4369
|
+
* @memberof Core#
|
4370
|
+
* @function getFirstPartiallyVisibleColumn
|
4371
|
+
* @returns {number | null}
|
4372
|
+
*/
|
4373
|
+
this.getFirstPartiallyVisibleColumn = function () {
|
4374
|
+
return instance.view.getFirstPartiallyVisibleColumn();
|
4375
|
+
};
|
4376
|
+
|
4377
|
+
/**
|
4378
|
+
* Returns the last partially visible column in the table viewport. When the table has overlays the method returns
|
4379
|
+
* the first row of the main table that is not overlapped by overlay.
|
4380
|
+
*
|
4381
|
+
* @since 14.6.0
|
4382
|
+
* @memberof Core#
|
4383
|
+
* @function getLastPartiallyVisibleColumn
|
4384
|
+
* @returns {number | null}
|
4385
|
+
*/
|
4386
|
+
this.getLastPartiallyVisibleColumn = function () {
|
4387
|
+
return instance.view.getLastPartiallyVisibleColumn();
|
4388
|
+
};
|
4389
|
+
|
4239
4390
|
/**
|
4240
4391
|
* Returns plugin instance by provided its name.
|
4241
4392
|
*
|
@@ -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 _array = require("../../helpers/array");
|
14
14
|
var _utils = require("./utils");
|
15
15
|
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; }
|
@@ -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 _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; }
|
11
11
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
12
12
|
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); }
|