handsontable 0.0.0-next-48677e7-20230509 → 0.0.0-next-c73b24c-20230510
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.js +13 -40
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -40
- package/3rdparty/walkontable/src/cell/range.js +25 -29
- package/3rdparty/walkontable/src/cell/range.mjs +24 -28
- 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 +10 -12
- package/3rdparty/walkontable/src/event.mjs +10 -12
- 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 +7 -8
- package/3rdparty/walkontable/src/overlay/_base.mjs +7 -8
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
- 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 +10 -9
- package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
- package/3rdparty/walkontable/src/overlays.js +55 -64
- package/3rdparty/walkontable/src/overlays.mjs +55 -64
- package/3rdparty/walkontable/src/renderer/table.js +0 -2
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -2
- package/3rdparty/walkontable/src/scroll.js +20 -23
- package/3rdparty/walkontable/src/scroll.mjs +20 -23
- package/3rdparty/walkontable/src/selection.js +354 -0
- package/3rdparty/walkontable/src/selection.mjs +348 -0
- package/3rdparty/walkontable/src/settings.js +13 -15
- package/3rdparty/walkontable/src/settings.mjs +13 -15
- 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 +101 -33
- package/3rdparty/walkontable/src/table.mjs +102 -34
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/core.d.ts +0 -4
- package/core.js +24 -52
- package/core.mjs +24 -52
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/metaSchema.js +1 -8
- package/dataMap/metaManager/metaSchema.mjs +1 -8
- package/dist/handsontable.css +2 -7
- package/dist/handsontable.full.css +2 -7
- package/dist/handsontable.full.js +9101 -9413
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +123 -115
- package/dist/handsontable.js +8761 -9074
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +11 -3
- package/dist/languages/all.js +133 -0
- package/dist/languages/ar-AR.js +7 -0
- package/dist/languages/cs-CZ.js +7 -0
- package/dist/languages/de-CH.js +7 -0
- package/dist/languages/de-DE.js +7 -0
- package/dist/languages/en-US.js +7 -0
- package/dist/languages/es-MX.js +7 -0
- package/dist/languages/fr-FR.js +7 -0
- package/dist/languages/it-IT.js +7 -0
- package/dist/languages/ja-JP.js +7 -0
- package/dist/languages/ko-KR.js +7 -0
- package/dist/languages/lv-LV.js +7 -0
- package/dist/languages/nb-NO.js +7 -0
- package/dist/languages/nl-NL.js +7 -0
- package/dist/languages/pl-PL.js +7 -0
- package/dist/languages/pt-BR.js +7 -0
- package/dist/languages/ru-RU.js +7 -0
- package/dist/languages/sr-SP.js +7 -0
- package/dist/languages/zh-CN.js +7 -0
- package/dist/languages/zh-TW.js +7 -0
- package/editorManager.js +3 -7
- package/editorManager.mjs +3 -7
- package/editors/textEditor/textEditor.js +16 -3
- package/editors/textEditor/textEditor.mjs +17 -4
- package/helpers/dom/element.js +0 -11
- package/helpers/dom/element.mjs +0 -10
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/i18n/languages/ar-AR.js +7 -1
- package/i18n/languages/cs-CZ.js +7 -1
- package/i18n/languages/de-CH.js +7 -1
- package/i18n/languages/de-DE.js +7 -1
- package/i18n/languages/en-US.js +7 -1
- package/i18n/languages/es-MX.js +7 -1
- package/i18n/languages/fr-FR.js +7 -1
- package/i18n/languages/it-IT.js +7 -1
- package/i18n/languages/ja-JP.js +7 -1
- package/i18n/languages/ko-KR.js +7 -1
- package/i18n/languages/lv-LV.js +7 -1
- package/i18n/languages/nb-NO.js +7 -1
- package/i18n/languages/nl-NL.js +7 -1
- package/i18n/languages/pl-PL.js +7 -1
- package/i18n/languages/pt-BR.js +7 -1
- package/i18n/languages/ru-RU.js +7 -1
- package/i18n/languages/sr-SP.js +7 -1
- package/i18n/languages/zh-CN.js +7 -1
- package/i18n/languages/zh-TW.js +7 -1
- package/languages/all.js +133 -0
- package/languages/ar-AR.js +7 -0
- package/languages/cs-CZ.js +7 -0
- package/languages/de-CH.js +7 -0
- package/languages/de-DE.js +7 -0
- package/languages/en-US.js +7 -0
- package/languages/es-MX.js +7 -0
- package/languages/fr-FR.js +7 -0
- package/languages/index.js +133 -0
- package/languages/it-IT.js +7 -0
- package/languages/ja-JP.js +7 -0
- package/languages/ko-KR.js +7 -0
- package/languages/lv-LV.js +7 -0
- package/languages/nb-NO.js +7 -0
- package/languages/nl-NL.js +7 -0
- package/languages/pl-PL.js +7 -0
- package/languages/pt-BR.js +7 -0
- package/languages/ru-RU.js +7 -0
- package/languages/sr-SP.js +7 -0
- package/languages/zh-CN.js +7 -0
- package/languages/zh-TW.js +7 -0
- package/package.json +3 -2
- package/pluginHooks.js +17 -7
- package/pluginHooks.mjs +16 -4
- package/plugins/autoRowSize/autoRowSize.js +2 -2
- package/plugins/autoRowSize/autoRowSize.mjs +2 -2
- package/plugins/copyPaste/copyPaste.js +93 -12
- package/plugins/copyPaste/copyPaste.mjs +93 -12
- package/plugins/copyPaste/copyableRanges.js +25 -31
- package/plugins/copyPaste/copyableRanges.mjs +18 -24
- package/plugins/copyPaste/focusableElement.js +219 -0
- package/plugins/copyPaste/focusableElement.mjs +213 -0
- package/plugins/customBorders/customBorders.js +2 -6
- package/plugins/customBorders/customBorders.mjs +3 -7
- package/plugins/filters/filters.js +5 -0
- package/plugins/filters/filters.mjs +5 -0
- package/plugins/formulas/formulas.js +190 -168
- package/plugins/formulas/formulas.mjs +190 -168
- package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
- package/plugins/formulas/indexSyncer/index.js +225 -0
- package/plugins/formulas/indexSyncer/index.mjs +219 -0
- package/plugins/mergeCells/mergeCells.js +16 -0
- package/plugins/mergeCells/mergeCells.mjs +16 -0
- package/plugins/nestedHeaders/nestedHeaders.js +4 -3
- package/plugins/nestedHeaders/nestedHeaders.mjs +4 -3
- package/plugins/nestedHeaders/stateManager/headersTree.js +23 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +20 -23
- package/plugins/nestedHeaders/stateManager/index.js +3 -3
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
- package/plugins/registry.js +3 -1
- package/plugins/undoRedo/undoRedo.js +0 -1
- package/plugins/undoRedo/undoRedo.mjs +0 -1
- package/renderers/baseRenderer/baseRenderer.js +0 -3
- package/renderers/baseRenderer/baseRenderer.mjs +0 -3
- package/selection/highlight/constants.js +16 -0
- package/selection/highlight/constants.mjs +6 -0
- package/selection/highlight/highlight.js +133 -335
- package/selection/highlight/highlight.mjs +129 -325
- 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 +21 -12
- package/selection/highlight/visualSelection.mjs +21 -12
- package/selection/index.js +7 -4
- package/selection/index.mjs +3 -2
- package/selection/selection.js +46 -88
- package/selection/selection.mjs +44 -82
- package/settings.d.ts +0 -1
- package/tableView.js +66 -94
- package/tableView.mjs +66 -94
- package/translations/changesObservable/observable.js +41 -46
- package/translations/changesObservable/observable.mjs +36 -41
- package/translations/changesObservable/observer.js +1 -1
- package/translations/indexMapper.js +21 -0
- package/translations/indexMapper.mjs +21 -0
- package/utils/dataStructures/tree.js +15 -18
- package/utils/dataStructures/tree.mjs +15 -18
- package/utils/parseTable.js +5 -1
- package/utils/parseTable.mjs +5 -1
- 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 -334
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -328
- package/3rdparty/walkontable/src/selection/scanner.js +0 -363
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -359
- package/3rdparty/walkontable/src/selection/selection.js +0 -133
- package/3rdparty/walkontable/src/selection/selection.mjs +0 -127
- package/focusManager.d.ts +0 -12
- package/focusManager.js +0 -249
- package/focusManager.mjs +0 -245
- 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
@@ -2,14 +2,15 @@
|
|
2
2
|
|
3
3
|
require("core-js/modules/es.symbol.iterator.js");
|
4
4
|
require("core-js/modules/es.array.iterator.js");
|
5
|
-
require("core-js/modules/es.string.iterator.js");
|
6
5
|
require("core-js/modules/web.dom-collections.iterator.js");
|
7
6
|
require("core-js/modules/es.array.slice.js");
|
8
|
-
require("core-js/modules/es.array.from.js");
|
9
7
|
require("core-js/modules/es.regexp.exec.js");
|
10
8
|
exports.__esModule = true;
|
11
9
|
exports.default = void 0;
|
12
10
|
require("core-js/modules/es.function.name.js");
|
11
|
+
require("core-js/modules/es.array.from.js");
|
12
|
+
require("core-js/modules/es.string.iterator.js");
|
13
|
+
require("core-js/modules/es.array.includes.js");
|
13
14
|
require("core-js/modules/es.object.to-string.js");
|
14
15
|
require("core-js/modules/web.dom-collections.for-each.js");
|
15
16
|
require("core-js/modules/es.symbol.to-primitive.js");
|
@@ -55,32 +56,6 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
55
56
|
* @abstract
|
56
57
|
*/
|
57
58
|
var Table = /*#__PURE__*/function () {
|
58
|
-
/**
|
59
|
-
* The walkontable settings.
|
60
|
-
*
|
61
|
-
* @protected
|
62
|
-
* @type {Settings}
|
63
|
-
*/
|
64
|
-
|
65
|
-
/**
|
66
|
-
* Indicates if the table has height bigger than 0px.
|
67
|
-
*
|
68
|
-
* @type {boolean}
|
69
|
-
*/
|
70
|
-
|
71
|
-
/**
|
72
|
-
* Indicates if the table has width bigger than 0px.
|
73
|
-
*
|
74
|
-
* @type {boolean}
|
75
|
-
*/
|
76
|
-
|
77
|
-
/**
|
78
|
-
* Indicates if the table is visible. By visible, it means that the holder
|
79
|
-
* element has CSS 'display' property different than 'none'.
|
80
|
-
*
|
81
|
-
* @type {boolean}
|
82
|
-
*/
|
83
|
-
|
84
59
|
/**
|
85
60
|
*
|
86
61
|
* @abstract
|
@@ -93,13 +68,35 @@ var Table = /*#__PURE__*/function () {
|
|
93
68
|
function Table(dataAccessObject, facadeGetter, domBindings, wtSettings, name) {
|
94
69
|
var _this = this;
|
95
70
|
_classCallCheck(this, Table);
|
71
|
+
/**
|
72
|
+
* The walkontable settings.
|
73
|
+
*
|
74
|
+
* @protected
|
75
|
+
* @type {Settings}
|
76
|
+
*/
|
96
77
|
_defineProperty(this, "wtSettings", null);
|
97
78
|
_defineProperty(this, "domBindings", void 0);
|
98
79
|
_defineProperty(this, "TBODY", null);
|
99
80
|
_defineProperty(this, "THEAD", null);
|
100
81
|
_defineProperty(this, "COLGROUP", null);
|
82
|
+
/**
|
83
|
+
* Indicates if the table has height bigger than 0px.
|
84
|
+
*
|
85
|
+
* @type {boolean}
|
86
|
+
*/
|
101
87
|
_defineProperty(this, "hasTableHeight", true);
|
88
|
+
/**
|
89
|
+
* Indicates if the table has width bigger than 0px.
|
90
|
+
*
|
91
|
+
* @type {boolean}
|
92
|
+
*/
|
102
93
|
_defineProperty(this, "hasTableWidth", true);
|
94
|
+
/**
|
95
|
+
* Indicates if the table is visible. By visible, it means that the holder
|
96
|
+
* element has CSS 'display' property different than 'none'.
|
97
|
+
*
|
98
|
+
* @type {boolean}
|
99
|
+
*/
|
103
100
|
_defineProperty(this, "isTableVisible", false);
|
104
101
|
_defineProperty(this, "tableOffset", 0);
|
105
102
|
_defineProperty(this, "holderOffset", 0);
|
@@ -390,7 +387,7 @@ var Table = /*#__PURE__*/function () {
|
|
390
387
|
wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
|
391
388
|
wtOverlays.adjustElementsSize();
|
392
389
|
} else {
|
393
|
-
this.
|
390
|
+
this.refreshSelections(runFastDraw);
|
394
391
|
}
|
395
392
|
if (syncScroll) {
|
396
393
|
wtOverlays.syncScrollWithMaster();
|
@@ -482,6 +479,74 @@ var Table = /*#__PURE__*/function () {
|
|
482
479
|
}
|
483
480
|
}
|
484
481
|
|
482
|
+
/**
|
483
|
+
* @param {string} className The CSS class name to remove from the table cells.
|
484
|
+
*/
|
485
|
+
}, {
|
486
|
+
key: "removeClassFromCells",
|
487
|
+
value: function removeClassFromCells(className) {
|
488
|
+
var nodes = this.TABLE.querySelectorAll(".".concat(className));
|
489
|
+
for (var i = 0, len = nodes.length; i < len; i++) {
|
490
|
+
(0, _element.removeClass)(nodes[i], className);
|
491
|
+
}
|
492
|
+
}
|
493
|
+
|
494
|
+
/**
|
495
|
+
* Refresh the table selection by re-rendering Selection instances connected with that instance.
|
496
|
+
*
|
497
|
+
* @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
|
498
|
+
*/
|
499
|
+
}, {
|
500
|
+
key: "refreshSelections",
|
501
|
+
value: function refreshSelections(fastDraw) {
|
502
|
+
var wtSettings = this.wtSettings;
|
503
|
+
var selections = this.dataAccessObject.selections;
|
504
|
+
if (!selections) {
|
505
|
+
return;
|
506
|
+
}
|
507
|
+
var highlights = Array.from(selections);
|
508
|
+
var len = highlights.length;
|
509
|
+
if (fastDraw) {
|
510
|
+
var classesToRemove = [];
|
511
|
+
for (var i = 0; i < len; i++) {
|
512
|
+
var _highlights$i$setting = highlights[i].settings,
|
513
|
+
highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
|
514
|
+
highlightRowClassName = _highlights$i$setting.highlightRowClassName,
|
515
|
+
highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
|
516
|
+
var classNames = highlights[i].classNames;
|
517
|
+
var classNamesLength = classNames.length;
|
518
|
+
for (var j = 0; j < classNamesLength; j++) {
|
519
|
+
if (!classesToRemove.includes(classNames[j])) {
|
520
|
+
classesToRemove.push(classNames[j]);
|
521
|
+
}
|
522
|
+
}
|
523
|
+
if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
|
524
|
+
classesToRemove.push(highlightHeaderClassName);
|
525
|
+
}
|
526
|
+
if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
|
527
|
+
classesToRemove.push(highlightRowClassName);
|
528
|
+
}
|
529
|
+
if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
|
530
|
+
classesToRemove.push(highlightColumnClassName);
|
531
|
+
}
|
532
|
+
}
|
533
|
+
var additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
534
|
+
if (Array.isArray(additionalClassesToRemove)) {
|
535
|
+
for (var _i = 0; _i < additionalClassesToRemove.length; _i++) {
|
536
|
+
classesToRemove.push(additionalClassesToRemove[_i]);
|
537
|
+
}
|
538
|
+
}
|
539
|
+
var classesToRemoveLength = classesToRemove.length;
|
540
|
+
for (var _i2 = 0; _i2 < classesToRemoveLength; _i2++) {
|
541
|
+
// there was no rerender, so we need to remove classNames by ourselves
|
542
|
+
this.removeClassFromCells(classesToRemove[_i2]);
|
543
|
+
}
|
544
|
+
}
|
545
|
+
for (var _i3 = 0; _i3 < len; _i3++) {
|
546
|
+
highlights[_i3].draw(this.facadeGetter(), fastDraw);
|
547
|
+
}
|
548
|
+
}
|
549
|
+
|
485
550
|
/**
|
486
551
|
* Get cell element at coords.
|
487
552
|
* Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
|
@@ -615,14 +680,14 @@ var Table = /*#__PURE__*/function () {
|
|
615
680
|
key: "getRowHeader",
|
616
681
|
value: function getRowHeader(row) {
|
617
682
|
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
683
|
+
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
684
|
+
return;
|
685
|
+
}
|
618
686
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
619
687
|
if (level >= rowHeadersCount) {
|
620
688
|
return;
|
621
689
|
}
|
622
|
-
var
|
623
|
-
var visibleRow = renderedRow < 0 ? this.rowFilter.sourceRowToVisibleColHeadedRow(row) : renderedRow;
|
624
|
-
var parentElement = renderedRow < 0 ? this.THEAD : this.TBODY;
|
625
|
-
var TR = parentElement.childNodes[visibleRow];
|
690
|
+
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
626
691
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
|
627
692
|
}
|
628
693
|
|
@@ -635,6 +700,9 @@ var Table = /*#__PURE__*/function () {
|
|
635
700
|
}, {
|
636
701
|
key: "getRowHeaders",
|
637
702
|
value: function getRowHeaders(row) {
|
703
|
+
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
704
|
+
return [];
|
705
|
+
}
|
638
706
|
var THs = [];
|
639
707
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
640
708
|
for (var renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
|
@@ -10,6 +10,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
10
10
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
11
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
12
12
|
import "core-js/modules/es.function.name.js";
|
13
|
+
import "core-js/modules/es.array.from.js";
|
14
|
+
import "core-js/modules/es.string.iterator.js";
|
15
|
+
import "core-js/modules/es.array.includes.js";
|
13
16
|
import "core-js/modules/es.object.to-string.js";
|
14
17
|
import "core-js/modules/web.dom-collections.for-each.js";
|
15
18
|
import "core-js/modules/es.symbol.to-primitive.js";
|
@@ -19,10 +22,8 @@ import "core-js/modules/es.symbol.description.js";
|
|
19
22
|
import "core-js/modules/es.number.constructor.js";
|
20
23
|
import "core-js/modules/es.symbol.iterator.js";
|
21
24
|
import "core-js/modules/es.array.iterator.js";
|
22
|
-
import "core-js/modules/es.string.iterator.js";
|
23
25
|
import "core-js/modules/web.dom-collections.iterator.js";
|
24
26
|
import "core-js/modules/es.array.slice.js";
|
25
|
-
import "core-js/modules/es.array.from.js";
|
26
27
|
import "core-js/modules/es.regexp.exec.js";
|
27
28
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
28
29
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
@@ -30,7 +31,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
30
31
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
31
32
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
32
33
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
33
|
-
import { hasClass, index, offset, removeTextNodes, overlayContainsElement, closest, outerHeight, outerWidth, innerHeight, isVisible as _isVisible } from "../../../helpers/dom/element.mjs";
|
34
|
+
import { hasClass, index, offset, removeClass, removeTextNodes, overlayContainsElement, closest, outerHeight, outerWidth, innerHeight, isVisible as _isVisible } from "../../../helpers/dom/element.mjs";
|
34
35
|
import { isFunction } from "../../../helpers/function.mjs";
|
35
36
|
import ColumnFilter from "./filter/column.mjs";
|
36
37
|
import RowFilter from "./filter/row.mjs";
|
@@ -50,32 +51,6 @@ import { CLONE_TOP, CLONE_BOTTOM, CLONE_INLINE_START, CLONE_TOP_INLINE_START_COR
|
|
50
51
|
* @abstract
|
51
52
|
*/
|
52
53
|
var Table = /*#__PURE__*/function () {
|
53
|
-
/**
|
54
|
-
* The walkontable settings.
|
55
|
-
*
|
56
|
-
* @protected
|
57
|
-
* @type {Settings}
|
58
|
-
*/
|
59
|
-
|
60
|
-
/**
|
61
|
-
* Indicates if the table has height bigger than 0px.
|
62
|
-
*
|
63
|
-
* @type {boolean}
|
64
|
-
*/
|
65
|
-
|
66
|
-
/**
|
67
|
-
* Indicates if the table has width bigger than 0px.
|
68
|
-
*
|
69
|
-
* @type {boolean}
|
70
|
-
*/
|
71
|
-
|
72
|
-
/**
|
73
|
-
* Indicates if the table is visible. By visible, it means that the holder
|
74
|
-
* element has CSS 'display' property different than 'none'.
|
75
|
-
*
|
76
|
-
* @type {boolean}
|
77
|
-
*/
|
78
|
-
|
79
54
|
/**
|
80
55
|
*
|
81
56
|
* @abstract
|
@@ -88,13 +63,35 @@ var Table = /*#__PURE__*/function () {
|
|
88
63
|
function Table(dataAccessObject, facadeGetter, domBindings, wtSettings, name) {
|
89
64
|
var _this = this;
|
90
65
|
_classCallCheck(this, Table);
|
66
|
+
/**
|
67
|
+
* The walkontable settings.
|
68
|
+
*
|
69
|
+
* @protected
|
70
|
+
* @type {Settings}
|
71
|
+
*/
|
91
72
|
_defineProperty(this, "wtSettings", null);
|
92
73
|
_defineProperty(this, "domBindings", void 0);
|
93
74
|
_defineProperty(this, "TBODY", null);
|
94
75
|
_defineProperty(this, "THEAD", null);
|
95
76
|
_defineProperty(this, "COLGROUP", null);
|
77
|
+
/**
|
78
|
+
* Indicates if the table has height bigger than 0px.
|
79
|
+
*
|
80
|
+
* @type {boolean}
|
81
|
+
*/
|
96
82
|
_defineProperty(this, "hasTableHeight", true);
|
83
|
+
/**
|
84
|
+
* Indicates if the table has width bigger than 0px.
|
85
|
+
*
|
86
|
+
* @type {boolean}
|
87
|
+
*/
|
97
88
|
_defineProperty(this, "hasTableWidth", true);
|
89
|
+
/**
|
90
|
+
* Indicates if the table is visible. By visible, it means that the holder
|
91
|
+
* element has CSS 'display' property different than 'none'.
|
92
|
+
*
|
93
|
+
* @type {boolean}
|
94
|
+
*/
|
98
95
|
_defineProperty(this, "isTableVisible", false);
|
99
96
|
_defineProperty(this, "tableOffset", 0);
|
100
97
|
_defineProperty(this, "holderOffset", 0);
|
@@ -385,7 +382,7 @@ var Table = /*#__PURE__*/function () {
|
|
385
382
|
wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
|
386
383
|
wtOverlays.adjustElementsSize();
|
387
384
|
} else {
|
388
|
-
this.
|
385
|
+
this.refreshSelections(runFastDraw);
|
389
386
|
}
|
390
387
|
if (syncScroll) {
|
391
388
|
wtOverlays.syncScrollWithMaster();
|
@@ -477,6 +474,74 @@ var Table = /*#__PURE__*/function () {
|
|
477
474
|
}
|
478
475
|
}
|
479
476
|
|
477
|
+
/**
|
478
|
+
* @param {string} className The CSS class name to remove from the table cells.
|
479
|
+
*/
|
480
|
+
}, {
|
481
|
+
key: "removeClassFromCells",
|
482
|
+
value: function removeClassFromCells(className) {
|
483
|
+
var nodes = this.TABLE.querySelectorAll(".".concat(className));
|
484
|
+
for (var i = 0, len = nodes.length; i < len; i++) {
|
485
|
+
removeClass(nodes[i], className);
|
486
|
+
}
|
487
|
+
}
|
488
|
+
|
489
|
+
/**
|
490
|
+
* Refresh the table selection by re-rendering Selection instances connected with that instance.
|
491
|
+
*
|
492
|
+
* @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
|
493
|
+
*/
|
494
|
+
}, {
|
495
|
+
key: "refreshSelections",
|
496
|
+
value: function refreshSelections(fastDraw) {
|
497
|
+
var wtSettings = this.wtSettings;
|
498
|
+
var selections = this.dataAccessObject.selections;
|
499
|
+
if (!selections) {
|
500
|
+
return;
|
501
|
+
}
|
502
|
+
var highlights = Array.from(selections);
|
503
|
+
var len = highlights.length;
|
504
|
+
if (fastDraw) {
|
505
|
+
var classesToRemove = [];
|
506
|
+
for (var i = 0; i < len; i++) {
|
507
|
+
var _highlights$i$setting = highlights[i].settings,
|
508
|
+
highlightHeaderClassName = _highlights$i$setting.highlightHeaderClassName,
|
509
|
+
highlightRowClassName = _highlights$i$setting.highlightRowClassName,
|
510
|
+
highlightColumnClassName = _highlights$i$setting.highlightColumnClassName;
|
511
|
+
var classNames = highlights[i].classNames;
|
512
|
+
var classNamesLength = classNames.length;
|
513
|
+
for (var j = 0; j < classNamesLength; j++) {
|
514
|
+
if (!classesToRemove.includes(classNames[j])) {
|
515
|
+
classesToRemove.push(classNames[j]);
|
516
|
+
}
|
517
|
+
}
|
518
|
+
if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
|
519
|
+
classesToRemove.push(highlightHeaderClassName);
|
520
|
+
}
|
521
|
+
if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
|
522
|
+
classesToRemove.push(highlightRowClassName);
|
523
|
+
}
|
524
|
+
if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
|
525
|
+
classesToRemove.push(highlightColumnClassName);
|
526
|
+
}
|
527
|
+
}
|
528
|
+
var additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
529
|
+
if (Array.isArray(additionalClassesToRemove)) {
|
530
|
+
for (var _i = 0; _i < additionalClassesToRemove.length; _i++) {
|
531
|
+
classesToRemove.push(additionalClassesToRemove[_i]);
|
532
|
+
}
|
533
|
+
}
|
534
|
+
var classesToRemoveLength = classesToRemove.length;
|
535
|
+
for (var _i2 = 0; _i2 < classesToRemoveLength; _i2++) {
|
536
|
+
// there was no rerender, so we need to remove classNames by ourselves
|
537
|
+
this.removeClassFromCells(classesToRemove[_i2]);
|
538
|
+
}
|
539
|
+
}
|
540
|
+
for (var _i3 = 0; _i3 < len; _i3++) {
|
541
|
+
highlights[_i3].draw(this.facadeGetter(), fastDraw);
|
542
|
+
}
|
543
|
+
}
|
544
|
+
|
480
545
|
/**
|
481
546
|
* Get cell element at coords.
|
482
547
|
* Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
|
@@ -610,14 +675,14 @@ var Table = /*#__PURE__*/function () {
|
|
610
675
|
key: "getRowHeader",
|
611
676
|
value: function getRowHeader(row) {
|
612
677
|
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
678
|
+
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
679
|
+
return;
|
680
|
+
}
|
613
681
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
614
682
|
if (level >= rowHeadersCount) {
|
615
683
|
return;
|
616
684
|
}
|
617
|
-
var
|
618
|
-
var visibleRow = renderedRow < 0 ? this.rowFilter.sourceRowToVisibleColHeadedRow(row) : renderedRow;
|
619
|
-
var parentElement = renderedRow < 0 ? this.THEAD : this.TBODY;
|
620
|
-
var TR = parentElement.childNodes[visibleRow];
|
685
|
+
var TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
621
686
|
return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
|
622
687
|
}
|
623
688
|
|
@@ -630,6 +695,9 @@ var Table = /*#__PURE__*/function () {
|
|
630
695
|
}, {
|
631
696
|
key: "getRowHeaders",
|
632
697
|
value: function getRowHeaders(row) {
|
698
|
+
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
699
|
+
return [];
|
700
|
+
}
|
633
701
|
var THs = [];
|
634
702
|
var rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
635
703
|
for (var renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
|
package/base.js
CHANGED
@@ -16,9 +16,7 @@ exports.CellRange = _src.CellRange;
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
17
|
// FIXME: Bug in eslint-plugin-import: https://github.com/benmosher/eslint-plugin-import/issues/1883
|
18
18
|
/* eslint-disable import/named */
|
19
|
-
|
20
19
|
/* eslint-enable import/named */
|
21
|
-
|
22
20
|
// register default mandatory cell type for the Base package
|
23
21
|
(0, _registry2.registerCellType)(_textType.TextCellType);
|
24
22
|
|
@@ -46,8 +44,8 @@ Handsontable.hooks = _pluginHooks.default.getSingleton();
|
|
46
44
|
Handsontable.CellCoords = _src.CellCoords;
|
47
45
|
Handsontable.CellRange = _src.CellRange;
|
48
46
|
Handsontable.packageName = 'handsontable';
|
49
|
-
Handsontable.buildDate = "
|
50
|
-
Handsontable.version = "0.0.0-next-
|
47
|
+
Handsontable.buildDate = "10/05/2023 12:06:48";
|
48
|
+
Handsontable.version = "0.0.0-next-c73b24c-20230510";
|
51
49
|
Handsontable.languages = {
|
52
50
|
dictionaryKeys: _registry.dictionaryKeys,
|
53
51
|
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 = "0.0.0-next-
|
38
|
+
Handsontable.buildDate = "10/05/2023 12:07:05";
|
39
|
+
Handsontable.version = "0.0.0-next-c73b24c-20230510";
|
40
40
|
Handsontable.languages = {
|
41
41
|
dictionaryKeys: dictionaryKeys,
|
42
42
|
getLanguageDictionary: getLanguageDictionary,
|
package/core.d.ts
CHANGED
@@ -17,7 +17,6 @@ import { BaseValidator } from './validators/base';
|
|
17
17
|
import { Plugins } from './plugins';
|
18
18
|
import { CellType } from './cellTypes';
|
19
19
|
import { ShortcutManager } from './shortcuts';
|
20
|
-
import { FocusManager } from './focusManager';
|
21
20
|
|
22
21
|
type AlterActions = 'insert_row' | 'insert_row_above' | 'insert_row_below' |
|
23
22
|
'insert_col' | 'insert_col_start' | 'insert_col_end' |
|
@@ -46,8 +45,6 @@ export default class Core {
|
|
46
45
|
countSourceRows(): number;
|
47
46
|
countVisibleCols(): number;
|
48
47
|
countVisibleRows(): number;
|
49
|
-
countRowHeaders(): number;
|
50
|
-
countColHeaders(): number;
|
51
48
|
deselectCell(): void;
|
52
49
|
destroy(): void;
|
53
50
|
destroyEditor(revertOriginal?: boolean, prepareEditorIfNeeded?: boolean): void;
|
@@ -78,7 +75,6 @@ export default class Core {
|
|
78
75
|
getDataAtRowProp(row: number, prop: string): CellValue;
|
79
76
|
getDataType(rowFrom: number, columnFrom: number, rowTo: number, columnTo: number): CellType | 'mixed';
|
80
77
|
getDirectionFactor(): 1 | -1;
|
81
|
-
getFocusManager(): FocusManager;
|
82
78
|
getInstance(): Core;
|
83
79
|
getPlugin<T extends keyof Plugins>(pluginName: T): Plugins[T];
|
84
80
|
getPlugin(pluginName: string): Plugins['basePlugin'];
|
package/core.js
CHANGED
@@ -39,7 +39,6 @@ var _templateLiteralTag = require("./helpers/templateLiteralTag");
|
|
39
39
|
var _editorManager = _interopRequireDefault(require("./editorManager"));
|
40
40
|
var _eventManager = _interopRequireDefault(require("./eventManager"));
|
41
41
|
var _object = require("./helpers/object");
|
42
|
-
var _focusManager = _interopRequireDefault(require("./focusManager"));
|
43
42
|
var _array = require("./helpers/array");
|
44
43
|
var _parseTable = require("./utils/parseTable");
|
45
44
|
var _registry = require("./plugins/registry");
|
@@ -108,7 +107,7 @@ var deprecationWarns = new Set();
|
|
108
107
|
* :::
|
109
108
|
*
|
110
109
|
* ::: only-for react
|
111
|
-
* ```jsx
|
110
|
+
* ```jsx
|
112
111
|
* import { useRef } from 'react';
|
113
112
|
*
|
114
113
|
* const hotTableComponent = useRef(null);
|
@@ -140,7 +139,6 @@ function Core(rootElement, userSettings) {
|
|
140
139
|
var dataSource;
|
141
140
|
var grid;
|
142
141
|
var editorManager;
|
143
|
-
var focusManager;
|
144
142
|
var firstRun = true;
|
145
143
|
if ((0, _rootInstance.hasValidParameter)(rootInstanceSymbol)) {
|
146
144
|
(0, _rootInstance.registerAsRootInstance)(this);
|
@@ -265,6 +263,12 @@ function Core(rootElement, userSettings) {
|
|
265
263
|
* @type {IndexMapper}
|
266
264
|
*/
|
267
265
|
this.rowIndexMapper = new _translations.IndexMapper();
|
266
|
+
this.columnIndexMapper.addLocalHook('indexesSequenceChange', function (source) {
|
267
|
+
instance.runHooks('afterColumnSequenceChange', source);
|
268
|
+
});
|
269
|
+
this.rowIndexMapper.addLocalHook('indexesSequenceChange', function (source) {
|
270
|
+
instance.runHooks('afterRowSequenceChange', source);
|
271
|
+
});
|
268
272
|
dataSource = new _dataSource.default(instance);
|
269
273
|
if (!this.rootElement.id || this.rootElement.id.substring(0, 3) === 'ht_') {
|
270
274
|
this.rootElement.id = this.guid; // if root element does not have an id, assign a random id
|
@@ -311,12 +315,6 @@ function Core(rootElement, userSettings) {
|
|
311
315
|
countRowsTranslated: function countRowsTranslated() {
|
312
316
|
return _this.view.countRenderableRows();
|
313
317
|
},
|
314
|
-
countRowHeaders: function countRowHeaders() {
|
315
|
-
return _this.countRowHeaders();
|
316
|
-
},
|
317
|
-
countColHeaders: function countColHeaders() {
|
318
|
-
return _this.countColHeaders();
|
319
|
-
},
|
320
318
|
getShortcutManager: function getShortcutManager() {
|
321
319
|
return instance.getShortcutManager();
|
322
320
|
},
|
@@ -1115,7 +1113,6 @@ function Core(rootElement, userSettings) {
|
|
1115
1113
|
this.updateSettings(tableMeta, true);
|
1116
1114
|
this.view = new _tableView.default(this);
|
1117
1115
|
editorManager = _editorManager.default.getInstance(instance, tableMeta, selection);
|
1118
|
-
focusManager = new _focusManager.default(instance);
|
1119
1116
|
instance.runHooks('init');
|
1120
1117
|
this.forceFullRender = true; // used when data was changed
|
1121
1118
|
this.view.render();
|
@@ -2451,11 +2448,13 @@ function Core(rootElement, userSettings) {
|
|
2451
2448
|
};
|
2452
2449
|
|
2453
2450
|
/**
|
2454
|
-
*
|
2451
|
+
* Gets the value of the currently focused cell.
|
2452
|
+
*
|
2453
|
+
* For column headers and row headers, returns `null`.
|
2455
2454
|
*
|
2456
2455
|
* @memberof Core#
|
2457
2456
|
* @function getValue
|
2458
|
-
* @returns {*}
|
2457
|
+
* @returns {*} The value of the focused cell.
|
2459
2458
|
*/
|
2460
2459
|
this.getValue = function () {
|
2461
2460
|
var sel = instance.getSelectedLast();
|
@@ -2798,6 +2797,11 @@ function Core(rootElement, userSettings) {
|
|
2798
2797
|
* __Note__: This method does not participate in data transformation. If the visual data of the table is reordered,
|
2799
2798
|
* sorted or trimmed only physical indexes are correct.
|
2800
2799
|
*
|
2800
|
+
* __Note__: This method may return incorrect values for cells that contain
|
2801
|
+
* [formulas](@/guides/formulas/formula-calculation.md). This is because `getSourceData()`
|
2802
|
+
* operates on source data ([physical indexes](@/api/indexMapper.md)),
|
2803
|
+
* whereas formulas operate on visual data (visual indexes).
|
2804
|
+
*
|
2801
2805
|
* @memberof Core#
|
2802
2806
|
* @function getSourceData
|
2803
2807
|
* @param {number} [row] From physical row index.
|
@@ -3147,7 +3151,13 @@ function Core(rootElement, userSettings) {
|
|
3147
3151
|
};
|
3148
3152
|
|
3149
3153
|
/**
|
3150
|
-
* Checks if
|
3154
|
+
* Checks if your [data format](@/guides/getting-started/binding-to-data.md#compatible-data-types)
|
3155
|
+
* and [configuration options](@/guides/getting-started/configuration-options.md)
|
3156
|
+
* allow for changing the number of columns.
|
3157
|
+
*
|
3158
|
+
* Returns `false` when your data is an array of objects,
|
3159
|
+
* or when you use the [`columns`](@/api/options.md#columns) option.
|
3160
|
+
* Otherwise, returns `true`.
|
3151
3161
|
*
|
3152
3162
|
* @memberof Core#
|
3153
3163
|
* @function isColumnModificationAllowed
|
@@ -3713,30 +3723,6 @@ function Core(rootElement, userSettings) {
|
|
3713
3723
|
return instance.view._wt.drawn ? instance.view._wt.wtTable.getVisibleColumnsCount() : -1;
|
3714
3724
|
};
|
3715
3725
|
|
3716
|
-
/**
|
3717
|
-
* Returns the number of rendered row headers.
|
3718
|
-
*
|
3719
|
-
* @since 13.0.0
|
3720
|
-
* @memberof Core#
|
3721
|
-
* @function countRowHeaders
|
3722
|
-
* @returns {number} Number of row headers.
|
3723
|
-
*/
|
3724
|
-
this.countRowHeaders = function () {
|
3725
|
-
return this.view.getRowHeadersCount();
|
3726
|
-
};
|
3727
|
-
|
3728
|
-
/**
|
3729
|
-
* Returns the number of rendered column headers.
|
3730
|
-
*
|
3731
|
-
* @since 13.0.0
|
3732
|
-
* @memberof Core#
|
3733
|
-
* @function countColHeaders
|
3734
|
-
* @returns {number} Number of column headers.
|
3735
|
-
*/
|
3736
|
-
this.countColHeaders = function () {
|
3737
|
-
return this.view.getColumnHeadersCount();
|
3738
|
-
};
|
3739
|
-
|
3740
3726
|
/**
|
3741
3727
|
* Returns the number of empty rows. If the optional ending parameter is `true`, returns the
|
3742
3728
|
* number of empty rows at the bottom of the table.
|
@@ -4137,8 +4123,6 @@ function Core(rootElement, userSettings) {
|
|
4137
4123
|
if (datamap) {
|
4138
4124
|
datamap.destroy();
|
4139
4125
|
}
|
4140
|
-
instance.rowIndexMapper = null;
|
4141
|
-
instance.columnIndexMapper = null;
|
4142
4126
|
datamap = null;
|
4143
4127
|
grid = null;
|
4144
4128
|
selection = null;
|
@@ -4494,18 +4478,6 @@ function Core(rootElement, userSettings) {
|
|
4494
4478
|
this.getShortcutManager = function () {
|
4495
4479
|
return shortcutManager;
|
4496
4480
|
};
|
4497
|
-
|
4498
|
-
/**
|
4499
|
-
* Return the Focus Manager responsible for managing the browser's focus in the table.
|
4500
|
-
*
|
4501
|
-
* @memberof Core#
|
4502
|
-
* @since 13.0.0
|
4503
|
-
* @function getFocusManager
|
4504
|
-
* @returns {FocusManager}
|
4505
|
-
*/
|
4506
|
-
this.getFocusManager = function () {
|
4507
|
-
return focusManager;
|
4508
|
-
};
|
4509
4481
|
var gridContext = shortcutManager.addContext('grid');
|
4510
4482
|
var gridConfig = {
|
4511
4483
|
runOnlyIf: function runOnlyIf() {
|
@@ -4515,7 +4487,7 @@ function Core(rootElement, userSettings) {
|
|
4515
4487
|
};
|
4516
4488
|
shortcutManager.setActiveContextName('grid');
|
4517
4489
|
gridContext.addShortcuts([{
|
4518
|
-
keys: [['Control/Meta', 'A']
|
4490
|
+
keys: [['Control/Meta', 'A']],
|
4519
4491
|
callback: function callback() {
|
4520
4492
|
instance.selectAll();
|
4521
4493
|
}
|