handsontable 0.0.0-next-bfaf0f9-20230613 → 0.0.0-next-ac97c93-20230617
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
- package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
- package/3rdparty/walkontable/src/cell/coords.js +12 -61
- package/3rdparty/walkontable/src/cell/coords.mjs +12 -61
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
- package/3rdparty/walkontable/src/cell/range.js +7 -44
- package/3rdparty/walkontable/src/cell/range.mjs +7 -44
- package/3rdparty/walkontable/src/core/_base.js +3 -9
- package/3rdparty/walkontable/src/core/_base.mjs +3 -9
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +2 -3
- package/3rdparty/walkontable/src/core/core.mjs +2 -3
- package/3rdparty/walkontable/src/event.js +7 -7
- package/3rdparty/walkontable/src/event.mjs +7 -7
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +2 -10
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +4 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +4 -2
- package/3rdparty/walkontable/src/overlay/top.js +4 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +4 -2
- package/3rdparty/walkontable/src/selection.js +355 -0
- package/3rdparty/walkontable/src/selection.mjs +349 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
- package/3rdparty/walkontable/src/table.js +79 -7
- package/3rdparty/walkontable/src/table.mjs +80 -8
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/common.d.ts +1 -1
- package/core.d.ts +6 -9
- package/core.js +390 -235
- package/core.mjs +395 -240
- package/dataMap/metaManager/metaSchema.js +0 -19
- package/dataMap/metaManager/metaSchema.mjs +0 -19
- package/dist/handsontable.css +3 -8
- package/dist/handsontable.full.css +3 -8
- package/dist/handsontable.full.js +10172 -12934
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +112 -112
- package/dist/handsontable.js +13116 -15878
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +4 -4
- package/editorManager.js +82 -21
- package/editorManager.mjs +86 -26
- package/editors/textEditor/textEditor.js +11 -3
- package/editors/textEditor/textEditor.mjs +12 -4
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +0 -1
- package/helpers/number.js +0 -18
- package/helpers/number.mjs +0 -17
- package/package.json +1 -1
- package/pluginHooks.d.ts +1 -6
- package/pluginHooks.js +1 -100
- package/pluginHooks.mjs +1 -100
- package/plugins/autofill/autofill.js +1 -2
- package/plugins/autofill/autofill.mjs +2 -3
- package/plugins/autofill/utils.js +1 -39
- package/plugins/autofill/utils.mjs +0 -37
- package/plugins/copyPaste/copyPaste.js +1 -5
- package/plugins/copyPaste/copyPaste.mjs +1 -5
- package/plugins/customBorders/customBorders.js +53 -18
- package/plugins/customBorders/customBorders.mjs +54 -19
- package/plugins/mergeCells/mergeCells.js +18 -5
- package/plugins/mergeCells/mergeCells.mjs +18 -5
- package/plugins/nestedHeaders/nestedHeaders.js +10 -132
- package/plugins/nestedHeaders/nestedHeaders.mjs +10 -132
- package/plugins/nestedHeaders/stateManager/index.js +0 -37
- package/plugins/nestedHeaders/stateManager/index.mjs +0 -37
- package/plugins/nestedRows/nestedRows.js +7 -52
- package/plugins/nestedRows/nestedRows.mjs +7 -52
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/constants.js +16 -0
- package/selection/highlight/constants.mjs +6 -0
- package/selection/highlight/highlight.js +89 -312
- package/selection/highlight/highlight.mjs +85 -302
- package/selection/highlight/types/activeHeader.js +9 -10
- package/selection/highlight/types/activeHeader.mjs +8 -10
- package/selection/highlight/types/area.js +27 -12
- package/selection/highlight/types/area.mjs +30 -16
- package/selection/highlight/types/{focus.js → cell.js} +8 -5
- package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
- package/selection/highlight/types/customSelection.js +10 -7
- package/selection/highlight/types/customSelection.mjs +9 -7
- package/selection/highlight/types/fill.js +8 -5
- package/selection/highlight/types/fill.mjs +7 -5
- package/selection/highlight/types/header.js +20 -10
- package/selection/highlight/types/header.mjs +19 -10
- package/selection/highlight/types/{row.js → index.js} +31 -27
- package/selection/highlight/types/{row.mjs → index.mjs} +29 -24
- package/selection/highlight/visualSelection.js +27 -31
- package/selection/highlight/visualSelection.mjs +27 -31
- package/selection/index.js +7 -4
- package/selection/index.mjs +3 -2
- package/selection/mouseEventHandler.js +1 -1
- package/selection/mouseEventHandler.mjs +1 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +181 -315
- package/selection/selection.mjs +180 -310
- package/selection/transformation.js +96 -233
- package/selection/transformation.mjs +93 -230
- package/selection/utils.js +36 -12
- package/selection/utils.mjs +36 -13
- package/settings.d.ts +0 -1
- package/shortcuts/manager.js +0 -2
- package/shortcuts/manager.mjs +0 -2
- package/tableView.js +9 -58
- package/tableView.mjs +9 -58
- package/translations/indexMapper.js +7 -56
- package/translations/indexMapper.mjs +8 -56
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -18
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -13
- package/3rdparty/walkontable/src/selection/constants.js +0 -63
- package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
- package/3rdparty/walkontable/src/selection/index.js +0 -30
- package/3rdparty/walkontable/src/selection/index.mjs +0 -5
- package/3rdparty/walkontable/src/selection/manager.js +0 -329
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -323
- package/3rdparty/walkontable/src/selection/scanner.js +0 -364
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -360
- package/3rdparty/walkontable/src/selection/selection.js +0 -133
- package/3rdparty/walkontable/src/selection/selection.mjs +0 -127
- package/selection/highlight/types/areaLayered.js +0 -54
- package/selection/highlight/types/areaLayered.mjs +0 -49
- package/selection/highlight/types/column.js +0 -50
- package/selection/highlight/types/column.mjs +0 -45
- package/shortcutContexts/commands/editor/closeAndSave.js +0 -15
- package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -10
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -13
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
- package/shortcutContexts/commands/editor/fastOpen.js +0 -16
- package/shortcutContexts/commands/editor/fastOpen.mjs +0 -11
- package/shortcutContexts/commands/editor/index.js +0 -16
- package/shortcutContexts/commands/editor/index.mjs +0 -12
- package/shortcutContexts/commands/editor/open.js +0 -29
- package/shortcutContexts/commands/editor/open.mjs +0 -24
- package/shortcutContexts/commands/emptySelectedCells.js +0 -12
- package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
- package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -21
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -16
- package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
- package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -14
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -22
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -12
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -12
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -40
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -35
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -40
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -35
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -22
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -17
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -14
- package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -10
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -21
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -16
- package/shortcutContexts/commands/index.js +0 -52
- package/shortcutContexts/commands/index.mjs +0 -48
- package/shortcutContexts/commands/moveCellSelection/down.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -7
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -29
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
- package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/left.js +0 -11
- package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/right.js +0 -11
- package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -16
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -11
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -12
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -16
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -11
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -36
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -36
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -16
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -11
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -18
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/up.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -7
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -29
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -24
- package/shortcutContexts/commands/populateSelectedCellsData.js +0 -35
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -30
- package/shortcutContexts/commands/selectAll.js +0 -11
- package/shortcutContexts/commands/selectAll.mjs +0 -6
- package/shortcutContexts/constants.js +0 -19
- package/shortcutContexts/constants.mjs +0 -12
- package/shortcutContexts/editor.js +0 -29
- package/shortcutContexts/editor.mjs +0 -25
- package/shortcutContexts/grid.js +0 -244
- package/shortcutContexts/grid.mjs +0 -240
- package/shortcutContexts/index.js +0 -29
- package/shortcutContexts/index.mjs +0 -15
@@ -1,4 +1,10 @@
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
5
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
6
|
+
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; } }
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
2
8
|
import "core-js/modules/es.array.concat.js";
|
3
9
|
import "core-js/modules/es.object.keys.js";
|
4
10
|
import "core-js/modules/es.object.assign.js";
|
@@ -19,6 +25,11 @@ import "core-js/modules/es.symbol.iterator.js";
|
|
19
25
|
import "core-js/modules/es.array.iterator.js";
|
20
26
|
import "core-js/modules/es.string.iterator.js";
|
21
27
|
import "core-js/modules/web.dom-collections.iterator.js";
|
28
|
+
import "core-js/modules/es.array.slice.js";
|
29
|
+
import "core-js/modules/es.regexp.to-string.js";
|
30
|
+
import "core-js/modules/es.function.name.js";
|
31
|
+
import "core-js/modules/es.array.from.js";
|
32
|
+
import "core-js/modules/es.regexp.exec.js";
|
22
33
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
23
34
|
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); } }
|
24
35
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -35,7 +46,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
35
46
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
36
47
|
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); }
|
37
48
|
import { BasePlugin } from "../base/index.mjs";
|
38
|
-
import { hasOwnProperty, deepClone } from "../../helpers/object.mjs";
|
49
|
+
import { hasOwnProperty, objectEach, deepClone } from "../../helpers/object.mjs";
|
39
50
|
import { rangeEach } from "../../helpers/number.mjs";
|
40
51
|
import { arrayEach, arrayReduce, arrayMap } from "../../helpers/array.mjs";
|
41
52
|
import * as C from "../../i18n/constants.mjs";
|
@@ -210,11 +221,25 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
210
221
|
var selectionType = detectSelectionType(selectionRanges);
|
211
222
|
var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
|
212
223
|
arrayEach(selectionRanges, function (selection) {
|
213
|
-
selectionSchemaNormalizer(selection)
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
224
|
+
var _selectionSchemaNorma = selectionSchemaNormalizer(selection),
|
225
|
+
_selectionSchemaNorma2 = _slicedToArray(_selectionSchemaNorma, 4),
|
226
|
+
rowStart = _selectionSchemaNorma2[0],
|
227
|
+
columnStart = _selectionSchemaNorma2[1],
|
228
|
+
rowEnd = _selectionSchemaNorma2[2],
|
229
|
+
columnEnd = _selectionSchemaNorma2[3];
|
230
|
+
var _loop = function _loop(row) {
|
231
|
+
var _loop2 = function _loop2(col) {
|
232
|
+
arrayEach(borderKeys, function (borderKey) {
|
233
|
+
_this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
|
234
|
+
});
|
235
|
+
};
|
236
|
+
for (var col = columnStart; col <= columnEnd; col += 1) {
|
237
|
+
_loop2(col);
|
238
|
+
}
|
239
|
+
};
|
240
|
+
for (var row = rowStart; row <= rowEnd; row += 1) {
|
241
|
+
_loop(row);
|
242
|
+
}
|
218
243
|
});
|
219
244
|
|
220
245
|
/*
|
@@ -257,13 +282,27 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
257
282
|
var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
|
258
283
|
var selectedBorders = [];
|
259
284
|
arrayEach(selectionRanges, function (selection) {
|
260
|
-
selectionSchemaNormalizer(selection)
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
285
|
+
var _selectionSchemaNorma3 = selectionSchemaNormalizer(selection),
|
286
|
+
_selectionSchemaNorma4 = _slicedToArray(_selectionSchemaNorma3, 4),
|
287
|
+
rowStart = _selectionSchemaNorma4[0],
|
288
|
+
columnStart = _selectionSchemaNorma4[1],
|
289
|
+
rowEnd = _selectionSchemaNorma4[2],
|
290
|
+
columnEnd = _selectionSchemaNorma4[3];
|
291
|
+
var _loop3 = function _loop3(row) {
|
292
|
+
var _loop4 = function _loop4(col) {
|
293
|
+
arrayEach(_this4.savedBorders, function (border) {
|
294
|
+
if (border.row === row && border.col === col) {
|
295
|
+
selectedBorders.push(denormalizeBorder(border));
|
296
|
+
}
|
297
|
+
});
|
298
|
+
};
|
299
|
+
for (var col = columnStart; col <= columnEnd; col += 1) {
|
300
|
+
_loop4(col);
|
301
|
+
}
|
302
|
+
};
|
303
|
+
for (var row = rowStart; row <= rowEnd; row += 1) {
|
304
|
+
_loop3(row);
|
305
|
+
}
|
267
306
|
});
|
268
307
|
return selectedBorders;
|
269
308
|
}
|
@@ -688,12 +727,10 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
688
727
|
}, {
|
689
728
|
key: "checkCustomSelectionsFromContextMenu",
|
690
729
|
value: function checkCustomSelectionsFromContextMenu(border, place, remove) {
|
691
|
-
var _this12 = this;
|
692
730
|
var check = false;
|
693
731
|
arrayEach(this.hot.selection.highlight.customSelections, function (customSelection) {
|
694
732
|
if (border.id === customSelection.settings.id) {
|
695
|
-
|
696
|
-
arrayEach(borders, function (borderObject) {
|
733
|
+
objectEach(customSelection.instanceBorders, function (borderObject) {
|
697
734
|
borderObject.toggleHiddenClass(place, remove); // TODO this also bad?
|
698
735
|
});
|
699
736
|
|
@@ -718,7 +755,6 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
718
755
|
}, {
|
719
756
|
key: "checkCustomSelections",
|
720
757
|
value: function checkCustomSelections(border, cellRange, place) {
|
721
|
-
var _this13 = this;
|
722
758
|
var hideCount = this.countHide(border);
|
723
759
|
var check = false;
|
724
760
|
if (hideCount === 4) {
|
@@ -730,8 +766,7 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
730
766
|
customSelection.visualCellRange = cellRange;
|
731
767
|
customSelection.commit();
|
732
768
|
if (place) {
|
733
|
-
|
734
|
-
arrayEach(borders, function (borderObject) {
|
769
|
+
objectEach(customSelection.instanceBorders, function (borderObject) {
|
735
770
|
borderObject.changeBorderStyle(place, border);
|
736
771
|
});
|
737
772
|
}
|
@@ -243,6 +243,9 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
243
243
|
this.addHook('afterDrawSelection', function () {
|
244
244
|
return _this2.onAfterDrawSelection.apply(_this2, arguments);
|
245
245
|
});
|
246
|
+
this.addHook('beforeRemoveCellClassNames', function () {
|
247
|
+
return _this2.onBeforeRemoveCellClassNames.apply(_this2, arguments);
|
248
|
+
});
|
246
249
|
this.addHook('beforeUndoStackChange', function (action, source) {
|
247
250
|
if (source === 'MergeCells') {
|
248
251
|
return false;
|
@@ -659,11 +662,8 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
659
662
|
gridContext.addShortcut({
|
660
663
|
keys: [['Control', 'm']],
|
661
664
|
callback: function callback() {
|
662
|
-
|
663
|
-
|
664
|
-
_this7.toggleMerge(range);
|
665
|
-
_this7.hot.render();
|
666
|
-
}
|
665
|
+
_this7.toggleMerge(_this7.hot.getSelectedRangeLast());
|
666
|
+
_this7.hot.render();
|
667
667
|
},
|
668
668
|
runOnlyIf: function runOnlyIf(event) {
|
669
669
|
return !event.altKey;
|
@@ -1340,6 +1340,19 @@ var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1340
1340
|
}
|
1341
1341
|
return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
|
1342
1342
|
}
|
1343
|
+
|
1344
|
+
/**
|
1345
|
+
* `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
|
1346
|
+
*
|
1347
|
+
* @private
|
1348
|
+
* @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
|
1349
|
+
* all the cells in the table.
|
1350
|
+
*/
|
1351
|
+
}, {
|
1352
|
+
key: "onBeforeRemoveCellClassNames",
|
1353
|
+
value: function onBeforeRemoveCellClassNames() {
|
1354
|
+
return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
|
1355
|
+
}
|
1343
1356
|
}], [{
|
1344
1357
|
key: "PLUGIN_KEY",
|
1345
1358
|
get: function get() {
|
@@ -236,6 +236,9 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
236
236
|
this.addHook('afterDrawSelection', function () {
|
237
237
|
return _this2.onAfterDrawSelection.apply(_this2, arguments);
|
238
238
|
});
|
239
|
+
this.addHook('beforeRemoveCellClassNames', function () {
|
240
|
+
return _this2.onBeforeRemoveCellClassNames.apply(_this2, arguments);
|
241
|
+
});
|
239
242
|
this.addHook('beforeUndoStackChange', function (action, source) {
|
240
243
|
if (source === 'MergeCells') {
|
241
244
|
return false;
|
@@ -652,11 +655,8 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
652
655
|
gridContext.addShortcut({
|
653
656
|
keys: [['Control', 'm']],
|
654
657
|
callback: function callback() {
|
655
|
-
|
656
|
-
|
657
|
-
_this7.toggleMerge(range);
|
658
|
-
_this7.hot.render();
|
659
|
-
}
|
658
|
+
_this7.toggleMerge(_this7.hot.getSelectedRangeLast());
|
659
|
+
_this7.hot.render();
|
660
660
|
},
|
661
661
|
runOnlyIf: function runOnlyIf(event) {
|
662
662
|
return !event.altKey;
|
@@ -1333,6 +1333,19 @@ export var MergeCells = /*#__PURE__*/function (_BasePlugin) {
|
|
1333
1333
|
}
|
1334
1334
|
return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
|
1335
1335
|
}
|
1336
|
+
|
1337
|
+
/**
|
1338
|
+
* `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
|
1339
|
+
*
|
1340
|
+
* @private
|
1341
|
+
* @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
|
1342
|
+
* all the cells in the table.
|
1343
|
+
*/
|
1344
|
+
}, {
|
1345
|
+
key: "onBeforeRemoveCellClassNames",
|
1346
|
+
value: function onBeforeRemoveCellClassNames() {
|
1347
|
+
return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
|
1348
|
+
}
|
1336
1349
|
}], [{
|
1337
1350
|
key: "PLUGIN_KEY",
|
1338
1351
|
get: function get() {
|
@@ -25,8 +25,8 @@ require("core-js/modules/es.weak-map.js");
|
|
25
25
|
require("core-js/modules/web.dom-collections.iterator.js");
|
26
26
|
var _element = require("../../helpers/dom/element");
|
27
27
|
var _number = require("../../helpers/number");
|
28
|
-
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
29
28
|
var _event = require("../../helpers/dom/event");
|
29
|
+
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
30
30
|
var _console = require("../../helpers/console");
|
31
31
|
var _selection = require("../../selection");
|
32
32
|
var _base = require("../base");
|
@@ -201,12 +201,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
201
201
|
this.addHook('beforeOnCellMouseOver', function () {
|
202
202
|
return _this2.onBeforeOnCellMouseOver.apply(_this2, arguments);
|
203
203
|
});
|
204
|
-
this.addHook('modifyTransformStart', function () {
|
205
|
-
return _this2.onModifyTransformStart.apply(_this2, arguments);
|
206
|
-
});
|
207
|
-
this.addHook('afterSelection', function () {
|
208
|
-
return _this2.updateFocusHighlightPosition();
|
209
|
-
});
|
210
204
|
this.addHook('afterGetColumnHeaderRenderers', function (array) {
|
211
205
|
return _this2.onAfterGetColumnHeaderRenderers(array);
|
212
206
|
});
|
@@ -222,18 +216,9 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
222
216
|
this.addHook('beforeCopy', function () {
|
223
217
|
return _this2.onBeforeCopy.apply(_this2, arguments);
|
224
218
|
});
|
225
|
-
this.addHook('beforeSelectColumns', function () {
|
226
|
-
return _this2.onBeforeSelectColumns.apply(_this2, arguments);
|
227
|
-
});
|
228
219
|
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
229
220
|
return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
|
230
221
|
});
|
231
|
-
this.hot.columnIndexMapper.addLocalHook('cacheUpdated', function () {
|
232
|
-
return _this2.updateFocusHighlightPosition();
|
233
|
-
});
|
234
|
-
this.hot.rowIndexMapper.addLocalHook('cacheUpdated', function () {
|
235
|
-
return _this2.updateFocusHighlightPosition();
|
236
|
-
});
|
237
222
|
_get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
|
238
223
|
this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
|
239
224
|
}
|
@@ -455,34 +440,6 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
455
440
|
return this.hot.getColHeader(visualColumnIndex, headerLevel);
|
456
441
|
}
|
457
442
|
|
458
|
-
/**
|
459
|
-
* Updates the selection focus highlight position to point to the nested header root element (TH)
|
460
|
-
* even when the logical coordinates point in-between the header.
|
461
|
-
*
|
462
|
-
* @private
|
463
|
-
*/
|
464
|
-
}, {
|
465
|
-
key: "updateFocusHighlightPosition",
|
466
|
-
value: function updateFocusHighlightPosition() {
|
467
|
-
var _this$hot;
|
468
|
-
var selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
|
469
|
-
if (!selection) {
|
470
|
-
return;
|
471
|
-
}
|
472
|
-
var highlight = selection.highlight;
|
473
|
-
var isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
|
474
|
-
if (isNestedHeadersRange) {
|
475
|
-
var columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
|
476
|
-
var focusHighlight = this.hot.selection.highlight.getFocus();
|
477
|
-
|
478
|
-
// Correct the highlight/focus selection to highlight the correct TH element
|
479
|
-
focusHighlight.visualCellRange.highlight.col = columnIndex;
|
480
|
-
focusHighlight.visualCellRange.from.col = columnIndex;
|
481
|
-
focusHighlight.visualCellRange.to.col = columnIndex;
|
482
|
-
focusHighlight.commit();
|
483
|
-
}
|
484
|
-
}
|
485
|
-
|
486
443
|
/**
|
487
444
|
* Allows to control which header DOM element will be used to highlight.
|
488
445
|
*
|
@@ -499,7 +456,8 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
499
456
|
if (!headerNodeData) {
|
500
457
|
return visualColumn;
|
501
458
|
}
|
502
|
-
var
|
459
|
+
var classNames = highlightMeta.classNames,
|
460
|
+
columnCursor = highlightMeta.columnCursor,
|
503
461
|
selectionType = highlightMeta.selectionType,
|
504
462
|
selectionWidth = highlightMeta.selectionWidth;
|
505
463
|
var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
|
@@ -511,8 +469,8 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
511
469
|
}
|
512
470
|
} else if (selectionType === _selection.ACTIVE_HEADER_TYPE) {
|
513
471
|
if (colspan > selectionWidth - columnCursor || !isRoot) {
|
514
|
-
//
|
515
|
-
|
472
|
+
// Reset the class names array so the generated TH element won't be modified.
|
473
|
+
classNames.length = 0;
|
516
474
|
}
|
517
475
|
}
|
518
476
|
return visualColumn;
|
@@ -643,7 +601,7 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
643
601
|
}, {
|
644
602
|
key: "onBeforeOnCellMouseOver",
|
645
603
|
value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
646
|
-
var _this$
|
604
|
+
var _this$hot;
|
647
605
|
if (!this.hot.view.isMouseDown()) {
|
648
606
|
return;
|
649
607
|
}
|
@@ -664,93 +622,13 @@ var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
664
622
|
controller.cell = true;
|
665
623
|
var columnsToSelect = [];
|
666
624
|
if (coords.col < from.col) {
|
667
|
-
columnsToSelect.push(bottomEndCoords.col, columnIndex
|
625
|
+
columnsToSelect.push(bottomEndCoords.col, columnIndex);
|
668
626
|
} else if (coords.col > from.col) {
|
669
|
-
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1
|
627
|
+
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1);
|
670
628
|
} else {
|
671
|
-
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1
|
672
|
-
}
|
673
|
-
(_this$hot2 = this.hot).selectColumns.apply(_this$hot2, columnsToSelect);
|
674
|
-
}
|
675
|
-
|
676
|
-
/**
|
677
|
-
* `modifyTransformStart` hook is called every time the keyboard navigation is used.
|
678
|
-
*
|
679
|
-
* @private
|
680
|
-
* @param {object} delta The transformation delta.
|
681
|
-
*/
|
682
|
-
}, {
|
683
|
-
key: "onModifyTransformStart",
|
684
|
-
value: function onModifyTransformStart(delta) {
|
685
|
-
var _this$hot$getSelected = this.hot.getSelectedRangeLast(),
|
686
|
-
highlight = _this$hot$getSelected.highlight;
|
687
|
-
var nextCoords = this.hot._createCellCoords(highlight.row + delta.row, highlight.col + delta.col);
|
688
|
-
var isNestedHeadersRange = nextCoords.isHeader() && nextCoords.col >= 0;
|
689
|
-
if (!isNestedHeadersRange) {
|
690
|
-
return;
|
691
|
-
}
|
692
|
-
var visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
|
693
|
-
var visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
|
694
|
-
if (delta.col < 0) {
|
695
|
-
var nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
|
696
|
-
var notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
|
697
|
-
if (notHiddenColumnIndex === null) {
|
698
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
699
|
-
// be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
|
700
|
-
delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
|
701
|
-
} else {
|
702
|
-
delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
|
703
|
-
}
|
704
|
-
} else if (delta.col > 0) {
|
705
|
-
var _nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
|
706
|
-
var _notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(_nextColumn, 1);
|
707
|
-
if (_notHiddenColumnIndex === null) {
|
708
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
709
|
-
// be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
|
710
|
-
delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
|
711
|
-
} else {
|
712
|
-
delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, _notHiddenColumnIndex) - 1, 1);
|
713
|
-
}
|
714
|
-
}
|
715
|
-
}
|
716
|
-
|
717
|
-
/**
|
718
|
-
* The hook observes the column selection from the Selection API and modifies the column range to
|
719
|
-
* ensure that the whole nested column will be covered.
|
720
|
-
*
|
721
|
-
* @private
|
722
|
-
* @param {*} from The coords object where the selection starts.
|
723
|
-
* @param {*} to The coords object where the selection ends.
|
724
|
-
*/
|
725
|
-
}, {
|
726
|
-
key: "onBeforeSelectColumns",
|
727
|
-
value: function onBeforeSelectColumns(from, to) {
|
728
|
-
var headerLevel = from.row;
|
729
|
-
var startNodeData = this._getHeaderTreeNodeDataByCoords({
|
730
|
-
row: headerLevel,
|
731
|
-
col: from.col
|
732
|
-
});
|
733
|
-
var endNodeData = this._getHeaderTreeNodeDataByCoords({
|
734
|
-
row: headerLevel,
|
735
|
-
col: to.col
|
736
|
-
});
|
737
|
-
if (to.col < from.col) {
|
738
|
-
// Column selection from right to left
|
739
|
-
if (startNodeData) {
|
740
|
-
from.col = startNodeData.columnIndex + startNodeData.origColspan - 1;
|
741
|
-
}
|
742
|
-
if (endNodeData) {
|
743
|
-
to.col = endNodeData.columnIndex;
|
744
|
-
}
|
745
|
-
} else if (to.col >= from.col) {
|
746
|
-
// Column selection from left to right or a single column selection
|
747
|
-
if (startNodeData) {
|
748
|
-
from.col = startNodeData.columnIndex;
|
749
|
-
}
|
750
|
-
if (endNodeData) {
|
751
|
-
to.col = endNodeData.columnIndex + endNodeData.origColspan - 1;
|
752
|
-
}
|
629
|
+
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
|
753
630
|
}
|
631
|
+
(_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
|
754
632
|
}
|
755
633
|
|
756
634
|
/**
|
@@ -45,8 +45,8 @@ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!priva
|
|
45
45
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
46
46
|
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
47
47
|
import { isNumeric } from "../../helpers/number.mjs";
|
48
|
-
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
49
48
|
import { isLeftClick, isRightClick } from "../../helpers/dom/event.mjs";
|
49
|
+
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
50
50
|
import { warn } from "../../helpers/console.mjs";
|
51
51
|
import { ACTIVE_HEADER_TYPE, HEADER_TYPE } from "../../selection/index.mjs";
|
52
52
|
import { BasePlugin } from "../base/index.mjs";
|
@@ -194,12 +194,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
194
194
|
this.addHook('beforeOnCellMouseOver', function () {
|
195
195
|
return _this2.onBeforeOnCellMouseOver.apply(_this2, arguments);
|
196
196
|
});
|
197
|
-
this.addHook('modifyTransformStart', function () {
|
198
|
-
return _this2.onModifyTransformStart.apply(_this2, arguments);
|
199
|
-
});
|
200
|
-
this.addHook('afterSelection', function () {
|
201
|
-
return _this2.updateFocusHighlightPosition();
|
202
|
-
});
|
203
197
|
this.addHook('afterGetColumnHeaderRenderers', function (array) {
|
204
198
|
return _this2.onAfterGetColumnHeaderRenderers(array);
|
205
199
|
});
|
@@ -215,18 +209,9 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
215
209
|
this.addHook('beforeCopy', function () {
|
216
210
|
return _this2.onBeforeCopy.apply(_this2, arguments);
|
217
211
|
});
|
218
|
-
this.addHook('beforeSelectColumns', function () {
|
219
|
-
return _this2.onBeforeSelectColumns.apply(_this2, arguments);
|
220
|
-
});
|
221
212
|
this.addHook('afterViewportColumnCalculatorOverride', function () {
|
222
213
|
return _this2.onAfterViewportColumnCalculatorOverride.apply(_this2, arguments);
|
223
214
|
});
|
224
|
-
this.hot.columnIndexMapper.addLocalHook('cacheUpdated', function () {
|
225
|
-
return _this2.updateFocusHighlightPosition();
|
226
|
-
});
|
227
|
-
this.hot.rowIndexMapper.addLocalHook('cacheUpdated', function () {
|
228
|
-
return _this2.updateFocusHighlightPosition();
|
229
|
-
});
|
230
215
|
_get(_getPrototypeOf(NestedHeaders.prototype), "enablePlugin", this).call(this);
|
231
216
|
this.updatePlugin(); // @TODO: Workaround for broken plugin initialization abstraction.
|
232
217
|
}
|
@@ -448,34 +433,6 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
448
433
|
return this.hot.getColHeader(visualColumnIndex, headerLevel);
|
449
434
|
}
|
450
435
|
|
451
|
-
/**
|
452
|
-
* Updates the selection focus highlight position to point to the nested header root element (TH)
|
453
|
-
* even when the logical coordinates point in-between the header.
|
454
|
-
*
|
455
|
-
* @private
|
456
|
-
*/
|
457
|
-
}, {
|
458
|
-
key: "updateFocusHighlightPosition",
|
459
|
-
value: function updateFocusHighlightPosition() {
|
460
|
-
var _this$hot;
|
461
|
-
var selection = (_this$hot = this.hot) === null || _this$hot === void 0 ? void 0 : _this$hot.getSelectedRangeLast();
|
462
|
-
if (!selection) {
|
463
|
-
return;
|
464
|
-
}
|
465
|
-
var highlight = selection.highlight;
|
466
|
-
var isNestedHeadersRange = highlight.isHeader() && highlight.col >= 0;
|
467
|
-
if (isNestedHeadersRange) {
|
468
|
-
var columnIndex = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(highlight.row, highlight.col);
|
469
|
-
var focusHighlight = this.hot.selection.highlight.getFocus();
|
470
|
-
|
471
|
-
// Correct the highlight/focus selection to highlight the correct TH element
|
472
|
-
focusHighlight.visualCellRange.highlight.col = columnIndex;
|
473
|
-
focusHighlight.visualCellRange.from.col = columnIndex;
|
474
|
-
focusHighlight.visualCellRange.to.col = columnIndex;
|
475
|
-
focusHighlight.commit();
|
476
|
-
}
|
477
|
-
}
|
478
|
-
|
479
436
|
/**
|
480
437
|
* Allows to control which header DOM element will be used to highlight.
|
481
438
|
*
|
@@ -492,7 +449,8 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
492
449
|
if (!headerNodeData) {
|
493
450
|
return visualColumn;
|
494
451
|
}
|
495
|
-
var
|
452
|
+
var classNames = highlightMeta.classNames,
|
453
|
+
columnCursor = highlightMeta.columnCursor,
|
496
454
|
selectionType = highlightMeta.selectionType,
|
497
455
|
selectionWidth = highlightMeta.selectionWidth;
|
498
456
|
var _classPrivateFieldGet4 = _classPrivateFieldGet(this, _stateManager).getHeaderSettings(headerLevel, visualColumn),
|
@@ -504,8 +462,8 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
504
462
|
}
|
505
463
|
} else if (selectionType === ACTIVE_HEADER_TYPE) {
|
506
464
|
if (colspan > selectionWidth - columnCursor || !isRoot) {
|
507
|
-
//
|
508
|
-
|
465
|
+
// Reset the class names array so the generated TH element won't be modified.
|
466
|
+
classNames.length = 0;
|
509
467
|
}
|
510
468
|
}
|
511
469
|
return visualColumn;
|
@@ -636,7 +594,7 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
636
594
|
}, {
|
637
595
|
key: "onBeforeOnCellMouseOver",
|
638
596
|
value: function onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
639
|
-
var _this$
|
597
|
+
var _this$hot;
|
640
598
|
if (!this.hot.view.isMouseDown()) {
|
641
599
|
return;
|
642
600
|
}
|
@@ -657,93 +615,13 @@ export var NestedHeaders = /*#__PURE__*/function (_BasePlugin) {
|
|
657
615
|
controller.cell = true;
|
658
616
|
var columnsToSelect = [];
|
659
617
|
if (coords.col < from.col) {
|
660
|
-
columnsToSelect.push(bottomEndCoords.col, columnIndex
|
618
|
+
columnsToSelect.push(bottomEndCoords.col, columnIndex);
|
661
619
|
} else if (coords.col > from.col) {
|
662
|
-
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1
|
620
|
+
columnsToSelect.push(topStartCoords.col, columnIndex + origColspan - 1);
|
663
621
|
} else {
|
664
|
-
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1
|
665
|
-
}
|
666
|
-
(_this$hot2 = this.hot).selectColumns.apply(_this$hot2, columnsToSelect);
|
667
|
-
}
|
668
|
-
|
669
|
-
/**
|
670
|
-
* `modifyTransformStart` hook is called every time the keyboard navigation is used.
|
671
|
-
*
|
672
|
-
* @private
|
673
|
-
* @param {object} delta The transformation delta.
|
674
|
-
*/
|
675
|
-
}, {
|
676
|
-
key: "onModifyTransformStart",
|
677
|
-
value: function onModifyTransformStart(delta) {
|
678
|
-
var _this$hot$getSelected = this.hot.getSelectedRangeLast(),
|
679
|
-
highlight = _this$hot$getSelected.highlight;
|
680
|
-
var nextCoords = this.hot._createCellCoords(highlight.row + delta.row, highlight.col + delta.col);
|
681
|
-
var isNestedHeadersRange = nextCoords.isHeader() && nextCoords.col >= 0;
|
682
|
-
if (!isNestedHeadersRange) {
|
683
|
-
return;
|
684
|
-
}
|
685
|
-
var visualColumnIndexStart = _classPrivateFieldGet(this, _stateManager).findLeftMostColumnIndex(nextCoords.row, nextCoords.col);
|
686
|
-
var visualColumnIndexEnd = _classPrivateFieldGet(this, _stateManager).findRightMostColumnIndex(nextCoords.row, nextCoords.col);
|
687
|
-
if (delta.col < 0) {
|
688
|
-
var nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexStart - 1 : visualColumnIndexEnd;
|
689
|
-
var notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(nextColumn, -1);
|
690
|
-
if (notHiddenColumnIndex === null) {
|
691
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
692
|
-
// be processed by the selection Transformer class as a move selection to the previous row (if autoWrapRow is enabled).
|
693
|
-
delta.col = -this.hot.view.countRenderableColumnsInRange(0, highlight.col);
|
694
|
-
} else {
|
695
|
-
delta.col = -Math.max(this.hot.view.countRenderableColumnsInRange(notHiddenColumnIndex, highlight.col) - 1, 1);
|
696
|
-
}
|
697
|
-
} else if (delta.col > 0) {
|
698
|
-
var _nextColumn = highlight.col >= visualColumnIndexStart && highlight.col <= visualColumnIndexEnd ? visualColumnIndexEnd + 1 : visualColumnIndexStart;
|
699
|
-
var _notHiddenColumnIndex = this.hot.columnIndexMapper.getNearestNotHiddenIndex(_nextColumn, 1);
|
700
|
-
if (_notHiddenColumnIndex === null) {
|
701
|
-
// There are no visible columns anymore, so move the selection out of the table edge. This will
|
702
|
-
// be processed by the selection Transformer class as a move selection to the next row (if autoWrapRow is enabled).
|
703
|
-
delta.col = this.hot.view.countRenderableColumnsInRange(highlight.col, this.hot.countCols());
|
704
|
-
} else {
|
705
|
-
delta.col = Math.max(this.hot.view.countRenderableColumnsInRange(highlight.col, _notHiddenColumnIndex) - 1, 1);
|
706
|
-
}
|
707
|
-
}
|
708
|
-
}
|
709
|
-
|
710
|
-
/**
|
711
|
-
* The hook observes the column selection from the Selection API and modifies the column range to
|
712
|
-
* ensure that the whole nested column will be covered.
|
713
|
-
*
|
714
|
-
* @private
|
715
|
-
* @param {*} from The coords object where the selection starts.
|
716
|
-
* @param {*} to The coords object where the selection ends.
|
717
|
-
*/
|
718
|
-
}, {
|
719
|
-
key: "onBeforeSelectColumns",
|
720
|
-
value: function onBeforeSelectColumns(from, to) {
|
721
|
-
var headerLevel = from.row;
|
722
|
-
var startNodeData = this._getHeaderTreeNodeDataByCoords({
|
723
|
-
row: headerLevel,
|
724
|
-
col: from.col
|
725
|
-
});
|
726
|
-
var endNodeData = this._getHeaderTreeNodeDataByCoords({
|
727
|
-
row: headerLevel,
|
728
|
-
col: to.col
|
729
|
-
});
|
730
|
-
if (to.col < from.col) {
|
731
|
-
// Column selection from right to left
|
732
|
-
if (startNodeData) {
|
733
|
-
from.col = startNodeData.columnIndex + startNodeData.origColspan - 1;
|
734
|
-
}
|
735
|
-
if (endNodeData) {
|
736
|
-
to.col = endNodeData.columnIndex;
|
737
|
-
}
|
738
|
-
} else if (to.col >= from.col) {
|
739
|
-
// Column selection from left to right or a single column selection
|
740
|
-
if (startNodeData) {
|
741
|
-
from.col = startNodeData.columnIndex;
|
742
|
-
}
|
743
|
-
if (endNodeData) {
|
744
|
-
to.col = endNodeData.columnIndex + endNodeData.origColspan - 1;
|
745
|
-
}
|
622
|
+
columnsToSelect.push(columnIndex, columnIndex + origColspan - 1);
|
746
623
|
}
|
624
|
+
(_this$hot = this.hot).selectColumns.apply(_this$hot, columnsToSelect);
|
747
625
|
}
|
748
626
|
|
749
627
|
/**
|
@@ -416,43 +416,6 @@ var StateManager = /*#__PURE__*/function () {
|
|
416
416
|
return stepBackColumn;
|
417
417
|
}
|
418
418
|
|
419
|
-
/**
|
420
|
-
* The method is helpful in cases where the column index targets in-between currently
|
421
|
-
* collapsed column. In that case, the method returns the right-most column index
|
422
|
-
* where the nested header ends.
|
423
|
-
*
|
424
|
-
* @param {number} headerLevel Header level (there is support for negative and positive values).
|
425
|
-
* @param {number} columnIndex A visual column index.
|
426
|
-
* @returns {number}
|
427
|
-
*/
|
428
|
-
}, {
|
429
|
-
key: "findRightMostColumnIndex",
|
430
|
-
value: function findRightMostColumnIndex(headerLevel, columnIndex) {
|
431
|
-
var _this$getHeaderSettin3;
|
432
|
-
var _ref4 = (_this$getHeaderSettin3 = this.getHeaderSettings(headerLevel, columnIndex)) !== null && _this$getHeaderSettin3 !== void 0 ? _this$getHeaderSettin3 : {
|
433
|
-
isRoot: true,
|
434
|
-
origColspan: 1
|
435
|
-
},
|
436
|
-
isRoot = _ref4.isRoot,
|
437
|
-
origColspan = _ref4.origColspan;
|
438
|
-
if (isRoot) {
|
439
|
-
return columnIndex + origColspan - 1;
|
440
|
-
}
|
441
|
-
var stepForthColumn = columnIndex + 1;
|
442
|
-
while (stepForthColumn < this.getColumnsCount()) {
|
443
|
-
var _this$getHeaderSettin4;
|
444
|
-
var _ref5 = (_this$getHeaderSettin4 = this.getHeaderSettings(headerLevel, stepForthColumn)) !== null && _this$getHeaderSettin4 !== void 0 ? _this$getHeaderSettin4 : {
|
445
|
-
isRoot: true
|
446
|
-
},
|
447
|
-
isRootNode = _ref5.isRoot;
|
448
|
-
if (isRootNode) {
|
449
|
-
break;
|
450
|
-
}
|
451
|
-
stepForthColumn += 1;
|
452
|
-
}
|
453
|
-
return stepForthColumn - 1;
|
454
|
-
}
|
455
|
-
|
456
419
|
/**
|
457
420
|
* Gets a total number of headers levels.
|
458
421
|
*
|