handsontable 0.0.0-next-a01036f-20230508 → 0.0.0-next-48677e7-20230509
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/cell/coords.js +40 -13
- package/3rdparty/walkontable/src/cell/coords.mjs +40 -13
- package/3rdparty/walkontable/src/cell/range.js +29 -25
- package/3rdparty/walkontable/src/cell/range.mjs +28 -24
- package/3rdparty/walkontable/src/core/_base.js +9 -3
- package/3rdparty/walkontable/src/core/_base.mjs +9 -3
- 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 +3 -2
- package/3rdparty/walkontable/src/core/core.mjs +3 -2
- package/3rdparty/walkontable/src/event.js +12 -10
- package/3rdparty/walkontable/src/event.mjs +12 -10
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +10 -2
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +8 -7
- package/3rdparty/walkontable/src/overlay/_base.mjs +8 -7
- package/3rdparty/walkontable/src/overlay/bottom.js +7 -6
- package/3rdparty/walkontable/src/overlay/bottom.mjs +7 -6
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -4
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
- package/3rdparty/walkontable/src/overlay/top.js +9 -10
- package/3rdparty/walkontable/src/overlay/top.mjs +9 -10
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +12 -10
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +12 -10
- package/3rdparty/walkontable/src/overlays.js +64 -55
- package/3rdparty/walkontable/src/overlays.mjs +64 -55
- package/3rdparty/walkontable/src/renderer/table.js +2 -0
- package/3rdparty/walkontable/src/renderer/table.mjs +2 -0
- package/3rdparty/walkontable/src/scroll.js +23 -20
- package/3rdparty/walkontable/src/scroll.mjs +23 -20
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +18 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +13 -0
- package/3rdparty/walkontable/src/selection/constants.js +63 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +30 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +334 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +328 -0
- package/3rdparty/walkontable/src/selection/scanner.js +363 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +359 -0
- package/3rdparty/walkontable/src/selection/selection.js +133 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +127 -0
- package/3rdparty/walkontable/src/settings.js +15 -13
- package/3rdparty/walkontable/src/settings.mjs +15 -13
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table.js +33 -101
- package/3rdparty/walkontable/src/table.mjs +34 -102
- package/base.js +4 -2
- package/base.mjs +2 -2
- package/core.d.ts +4 -0
- package/core.js +52 -19
- package/core.mjs +52 -19
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/metaSchema.js +8 -1
- package/dataMap/metaManager/metaSchema.mjs +8 -1
- package/dist/handsontable.css +7 -2
- package/dist/handsontable.full.css +7 -2
- package/dist/handsontable.full.js +9413 -9096
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +115 -123
- package/dist/handsontable.js +9501 -9183
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +3 -11
- package/dist/languages/all.js +0 -133
- package/dist/languages/ar-AR.js +0 -7
- package/dist/languages/cs-CZ.js +0 -7
- package/dist/languages/de-CH.js +0 -7
- package/dist/languages/de-DE.js +0 -7
- package/dist/languages/en-US.js +0 -7
- package/dist/languages/es-MX.js +0 -7
- package/dist/languages/fr-FR.js +0 -7
- package/dist/languages/it-IT.js +0 -7
- package/dist/languages/ja-JP.js +0 -7
- package/dist/languages/ko-KR.js +0 -7
- package/dist/languages/lv-LV.js +0 -7
- package/dist/languages/nb-NO.js +0 -7
- package/dist/languages/nl-NL.js +0 -7
- package/dist/languages/pl-PL.js +0 -7
- package/dist/languages/pt-BR.js +0 -7
- package/dist/languages/ru-RU.js +0 -7
- package/dist/languages/sr-SP.js +0 -7
- package/dist/languages/zh-CN.js +0 -7
- package/dist/languages/zh-TW.js +0 -7
- package/editorManager.js +7 -3
- package/editorManager.mjs +7 -3
- package/editors/textEditor/textEditor.js +3 -16
- package/editors/textEditor/textEditor.mjs +4 -17
- package/focusManager.d.ts +12 -0
- package/focusManager.js +249 -0
- package/focusManager.mjs +245 -0
- package/helpers/dom/element.js +11 -0
- package/helpers/dom/element.mjs +10 -0
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/i18n/languages/ar-AR.js +1 -7
- package/i18n/languages/cs-CZ.js +1 -7
- package/i18n/languages/de-CH.js +1 -7
- package/i18n/languages/de-DE.js +1 -7
- package/i18n/languages/en-US.js +1 -7
- package/i18n/languages/es-MX.js +1 -7
- package/i18n/languages/fr-FR.js +1 -7
- package/i18n/languages/it-IT.js +1 -7
- package/i18n/languages/ja-JP.js +1 -7
- package/i18n/languages/ko-KR.js +1 -7
- package/i18n/languages/lv-LV.js +1 -7
- package/i18n/languages/nb-NO.js +1 -7
- package/i18n/languages/nl-NL.js +1 -7
- package/i18n/languages/pl-PL.js +1 -7
- package/i18n/languages/pt-BR.js +1 -7
- package/i18n/languages/ru-RU.js +1 -7
- package/i18n/languages/sr-SP.js +1 -7
- package/i18n/languages/zh-CN.js +1 -7
- package/i18n/languages/zh-TW.js +1 -7
- package/languages/all.js +0 -133
- package/languages/ar-AR.js +0 -7
- package/languages/cs-CZ.js +0 -7
- package/languages/de-CH.js +0 -7
- package/languages/de-DE.js +0 -7
- package/languages/en-US.js +0 -7
- package/languages/es-MX.js +0 -7
- package/languages/fr-FR.js +0 -7
- package/languages/index.js +0 -133
- package/languages/it-IT.js +0 -7
- package/languages/ja-JP.js +0 -7
- package/languages/ko-KR.js +0 -7
- package/languages/lv-LV.js +0 -7
- package/languages/nb-NO.js +0 -7
- package/languages/nl-NL.js +0 -7
- package/languages/pl-PL.js +0 -7
- package/languages/pt-BR.js +0 -7
- package/languages/ru-RU.js +0 -7
- package/languages/sr-SP.js +0 -7
- package/languages/zh-CN.js +0 -7
- package/languages/zh-TW.js +0 -7
- package/package.json +2 -3
- package/pluginHooks.js +7 -17
- package/pluginHooks.mjs +4 -16
- package/plugins/autoRowSize/autoRowSize.js +2 -2
- package/plugins/autoRowSize/autoRowSize.mjs +2 -2
- package/plugins/copyPaste/copyPaste.js +12 -93
- package/plugins/copyPaste/copyPaste.mjs +12 -93
- package/plugins/copyPaste/copyableRanges.js +31 -25
- package/plugins/copyPaste/copyableRanges.mjs +24 -18
- package/plugins/customBorders/customBorders.js +6 -2
- package/plugins/customBorders/customBorders.mjs +7 -3
- package/plugins/filters/filters.js +0 -5
- package/plugins/filters/filters.mjs +0 -5
- package/plugins/formulas/formulas.js +168 -190
- package/plugins/formulas/formulas.mjs +168 -190
- package/plugins/mergeCells/mergeCells.js +0 -16
- package/plugins/mergeCells/mergeCells.mjs +0 -16
- package/plugins/nestedHeaders/nestedHeaders.js +3 -4
- package/plugins/nestedHeaders/nestedHeaders.mjs +3 -4
- package/plugins/nestedHeaders/stateManager/headersTree.js +26 -23
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +23 -20
- package/plugins/nestedHeaders/stateManager/index.js +3 -3
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +0 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +35 -30
- package/plugins/nestedHeaders/utils/ghostTable.mjs +35 -30
- package/plugins/registry.js +1 -3
- package/plugins/undoRedo/undoRedo.js +1 -0
- package/plugins/undoRedo/undoRedo.mjs +1 -0
- package/renderers/baseRenderer/baseRenderer.js +3 -0
- package/renderers/baseRenderer/baseRenderer.mjs +3 -0
- package/selection/highlight/highlight.js +335 -133
- package/selection/highlight/highlight.mjs +325 -129
- package/selection/highlight/types/activeHeader.js +10 -9
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +12 -27
- package/selection/highlight/types/area.mjs +16 -30
- package/selection/highlight/types/areaLayered.js +54 -0
- package/selection/highlight/types/areaLayered.mjs +49 -0
- package/selection/highlight/types/column.js +50 -0
- package/selection/highlight/types/column.mjs +45 -0
- package/selection/highlight/types/customSelection.js +7 -10
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -8
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -8
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +10 -20
- package/selection/highlight/types/header.mjs +10 -19
- package/selection/highlight/types/{index.js → row.js} +27 -31
- package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
- package/selection/highlight/visualSelection.js +12 -21
- package/selection/highlight/visualSelection.mjs +12 -21
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/selection.js +88 -46
- package/selection/selection.mjs +82 -44
- package/settings.d.ts +1 -0
- package/tableView.js +94 -66
- package/tableView.mjs +94 -66
- package/translations/changesObservable/observable.js +46 -41
- package/translations/changesObservable/observable.mjs +41 -36
- package/translations/changesObservable/observer.js +1 -1
- package/translations/indexMapper.js +0 -21
- package/translations/indexMapper.mjs +0 -21
- package/utils/dataStructures/tree.js +18 -15
- package/utils/dataStructures/tree.mjs +18 -15
- package/utils/parseTable.js +1 -5
- package/utils/parseTable.mjs +1 -5
- package/3rdparty/walkontable/src/selection.js +0 -354
- package/3rdparty/walkontable/src/selection.mjs +0 -348
- package/plugins/copyPaste/focusableElement.js +0 -219
- package/plugins/copyPaste/focusableElement.mjs +0 -213
- package/plugins/formulas/indexSyncer/axisSyncer.js +0 -379
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -374
- package/plugins/formulas/indexSyncer/index.js +0 -225
- package/plugins/formulas/indexSyncer/index.mjs +0 -219
- package/selection/highlight/constants.js +0 -16
- package/selection/highlight/constants.mjs +0 -6
@@ -21,33 +21,36 @@ import { innerHeight, innerWidth, getScrollLeft, getScrollTop, offset } from "..
|
|
21
21
|
* @class Scroll
|
22
22
|
*/
|
23
23
|
var Scroll = /*#__PURE__*/function () {
|
24
|
+
/**
|
25
|
+
* The data access object.
|
26
|
+
*
|
27
|
+
* @protected
|
28
|
+
* @type {ScrollDao}
|
29
|
+
*/
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Holds the last column reached by the scroll, which determines the scroll snapping direction
|
33
|
+
* (left or right) for a next horizontal scroll.
|
34
|
+
*
|
35
|
+
* @protected
|
36
|
+
* @type {number}
|
37
|
+
*/
|
38
|
+
|
39
|
+
/**
|
40
|
+
* Holds the last row reached by the scroll, which determines the scroll snapping direction
|
41
|
+
* (top or bottom) for a next vertical scroll.
|
42
|
+
*
|
43
|
+
* @protected
|
44
|
+
* @type {number}
|
45
|
+
*/
|
46
|
+
|
24
47
|
/**
|
25
48
|
* @param {ScrollDao} dataAccessObject Tha data access object.
|
26
49
|
*/
|
27
50
|
function Scroll(dataAccessObject) {
|
28
51
|
_classCallCheck(this, Scroll);
|
29
|
-
/**
|
30
|
-
* The data access object.
|
31
|
-
*
|
32
|
-
* @protected
|
33
|
-
* @type {ScrollDao}
|
34
|
-
*/
|
35
52
|
_defineProperty(this, "dataAccessObject", void 0);
|
36
|
-
/**
|
37
|
-
* Holds the last column reached by the scroll, which determines the scroll snapping direction
|
38
|
-
* (left or right) for a next horizontal scroll.
|
39
|
-
*
|
40
|
-
* @protected
|
41
|
-
* @type {number}
|
42
|
-
*/
|
43
53
|
_defineProperty(this, "lastScrolledColumnPos", -1);
|
44
|
-
/**
|
45
|
-
* Holds the last row reached by the scroll, which determines the scroll snapping direction
|
46
|
-
* (top or bottom) for a next vertical scroll.
|
47
|
-
*
|
48
|
-
* @protected
|
49
|
-
* @type {number}
|
50
|
-
*/
|
51
54
|
_defineProperty(this, "lastScrolledRowPos", -1);
|
52
55
|
this.dataAccessObject = dataAccessObject;
|
53
56
|
}
|
@@ -17,10 +17,11 @@ require("core-js/modules/es.symbol.js");
|
|
17
17
|
require("core-js/modules/es.symbol.description.js");
|
18
18
|
require("core-js/modules/es.object.to-string.js");
|
19
19
|
require("core-js/modules/es.number.constructor.js");
|
20
|
-
var _element = require("
|
21
|
-
var _event = require("
|
22
|
-
var _object = require("
|
23
|
-
var _browser = require("
|
20
|
+
var _element = require("../../../../../helpers/dom/element");
|
21
|
+
var _event = require("../../../../../helpers/dom/event");
|
22
|
+
var _object = require("../../../../../helpers/object");
|
23
|
+
var _browser = require("../../../../../helpers/browser");
|
24
|
+
var _constants = require("./constants");
|
24
25
|
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); }
|
25
26
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
26
27
|
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."); }
|
@@ -63,13 +64,7 @@ var Border = /*#__PURE__*/function () {
|
|
63
64
|
this.bottomStyle = null;
|
64
65
|
this.startStyle = null;
|
65
66
|
this.endStyle = null;
|
66
|
-
this.cornerDefaultStyle =
|
67
|
-
width: '6px',
|
68
|
-
height: '6px',
|
69
|
-
borderWidth: '1px',
|
70
|
-
borderStyle: 'solid',
|
71
|
-
borderColor: '#FFF'
|
72
|
-
};
|
67
|
+
this.cornerDefaultStyle = _constants.CORNER_DEFAULT_STYLE;
|
73
68
|
// Offset to moving the corner to be centered relative to the grid.
|
74
69
|
this.cornerCenterPointOffset = -(parseInt(this.cornerDefaultStyle.width, 10) / 2);
|
75
70
|
this.corner = null;
|
@@ -298,7 +293,7 @@ var Border = /*#__PURE__*/function () {
|
|
298
293
|
}, {
|
299
294
|
key: "isPartRange",
|
300
295
|
value: function isPartRange(row, col) {
|
301
|
-
var areaSelection = this.wot.
|
296
|
+
var areaSelection = this.wot.selectionManager.getAreaSelection();
|
302
297
|
if (areaSelection.cellRange) {
|
303
298
|
if (row !== areaSelection.cellRange.to.row || col !== areaSelection.cellRange.to.col) {
|
304
299
|
return true;
|
@@ -25,10 +25,11 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
25
25
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
26
26
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
27
27
|
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); }
|
28
|
-
import { addClass, hasClass, removeClass, getComputedStyle, getTrimmingContainer, innerWidth, innerHeight, offset, outerHeight, outerWidth } from "
|
29
|
-
import { stopImmediatePropagation } from "
|
30
|
-
import { objectEach } from "
|
31
|
-
import { isMobileBrowser } from "
|
28
|
+
import { addClass, hasClass, removeClass, getComputedStyle, getTrimmingContainer, innerWidth, innerHeight, offset, outerHeight, outerWidth } from "../../../../../helpers/dom/element.mjs";
|
29
|
+
import { stopImmediatePropagation } from "../../../../../helpers/dom/event.mjs";
|
30
|
+
import { objectEach } from "../../../../../helpers/object.mjs";
|
31
|
+
import { isMobileBrowser } from "../../../../../helpers/browser.mjs";
|
32
|
+
import { CORNER_DEFAULT_STYLE } from "./constants.mjs";
|
32
33
|
/**
|
33
34
|
*
|
34
35
|
*/
|
@@ -59,13 +60,7 @@ var Border = /*#__PURE__*/function () {
|
|
59
60
|
this.bottomStyle = null;
|
60
61
|
this.startStyle = null;
|
61
62
|
this.endStyle = null;
|
62
|
-
this.cornerDefaultStyle =
|
63
|
-
width: '6px',
|
64
|
-
height: '6px',
|
65
|
-
borderWidth: '1px',
|
66
|
-
borderStyle: 'solid',
|
67
|
-
borderColor: '#FFF'
|
68
|
-
};
|
63
|
+
this.cornerDefaultStyle = CORNER_DEFAULT_STYLE;
|
69
64
|
// Offset to moving the corner to be centered relative to the grid.
|
70
65
|
this.cornerCenterPointOffset = -(parseInt(this.cornerDefaultStyle.width, 10) / 2);
|
71
66
|
this.corner = null;
|
@@ -294,7 +289,7 @@ var Border = /*#__PURE__*/function () {
|
|
294
289
|
}, {
|
295
290
|
key: "isPartRange",
|
296
291
|
value: function isPartRange(row, col) {
|
297
|
-
var areaSelection = this.wot.
|
292
|
+
var areaSelection = this.wot.selectionManager.getAreaSelection();
|
298
293
|
if (areaSelection.cellRange) {
|
299
294
|
if (row !== areaSelection.cellRange.to.row || col !== areaSelection.cellRange.to.col) {
|
300
295
|
return true;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
exports.CORNER_DEFAULT_STYLE = void 0;
|
5
|
+
require("core-js/modules/es.object.freeze.js");
|
6
|
+
/**
|
7
|
+
* Default border corner style.
|
8
|
+
*
|
9
|
+
* @type {object}
|
10
|
+
*/
|
11
|
+
var CORNER_DEFAULT_STYLE = Object.freeze({
|
12
|
+
width: '6px',
|
13
|
+
height: '6px',
|
14
|
+
borderWidth: '1px',
|
15
|
+
borderStyle: 'solid',
|
16
|
+
borderColor: '#FFF'
|
17
|
+
});
|
18
|
+
exports.CORNER_DEFAULT_STYLE = CORNER_DEFAULT_STYLE;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import "core-js/modules/es.object.freeze.js";
|
2
|
+
/**
|
3
|
+
* Default border corner style.
|
4
|
+
*
|
5
|
+
* @type {object}
|
6
|
+
*/
|
7
|
+
export var CORNER_DEFAULT_STYLE = Object.freeze({
|
8
|
+
width: '6px',
|
9
|
+
height: '6px',
|
10
|
+
borderWidth: '1px',
|
11
|
+
borderStyle: 'solid',
|
12
|
+
borderColor: '#FFF'
|
13
|
+
});
|
@@ -0,0 +1,63 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
exports.ROW_TYPE = exports.HEADER_TYPE = exports.FOCUS_TYPE = exports.FILL_TYPE = exports.CUSTOM_SELECTION_TYPE = exports.COLUMN_TYPE = exports.AREA_TYPE = exports.ACTIVE_HEADER_TYPE = void 0;
|
5
|
+
/**
|
6
|
+
* Selection type that is visible only if the row or column header is clicked. If that happened
|
7
|
+
* all row or column header layers are highlighted.
|
8
|
+
*
|
9
|
+
* @type {string}
|
10
|
+
*/
|
11
|
+
var ACTIVE_HEADER_TYPE = 'active-header';
|
12
|
+
/**
|
13
|
+
* Selection type that is visible only if the a cell or cells are clicked. If that happened
|
14
|
+
* only the most closest to the cells row or column header is highlighted.
|
15
|
+
*
|
16
|
+
* @type {string}
|
17
|
+
*/
|
18
|
+
exports.ACTIVE_HEADER_TYPE = ACTIVE_HEADER_TYPE;
|
19
|
+
var HEADER_TYPE = 'header';
|
20
|
+
/**
|
21
|
+
* Selection type that is visible when a cell or cells are clicked. The selected cells are
|
22
|
+
* highlighted.
|
23
|
+
*
|
24
|
+
* @type {string}
|
25
|
+
*/
|
26
|
+
exports.HEADER_TYPE = HEADER_TYPE;
|
27
|
+
var AREA_TYPE = 'area';
|
28
|
+
/**
|
29
|
+
* Selection type defines a cell that follows the user (keyboard navigation).
|
30
|
+
*
|
31
|
+
* @type {string}
|
32
|
+
*/
|
33
|
+
exports.AREA_TYPE = AREA_TYPE;
|
34
|
+
var FOCUS_TYPE = 'focus';
|
35
|
+
/**
|
36
|
+
* Selection type defines borders for the autofill functionality.
|
37
|
+
*
|
38
|
+
* @type {string}
|
39
|
+
*/
|
40
|
+
exports.FOCUS_TYPE = FOCUS_TYPE;
|
41
|
+
var FILL_TYPE = 'fill';
|
42
|
+
/**
|
43
|
+
* Selection type defines highlights for the `currentRowClassName` option.
|
44
|
+
*
|
45
|
+
* @type {string}
|
46
|
+
*/
|
47
|
+
exports.FILL_TYPE = FILL_TYPE;
|
48
|
+
var ROW_TYPE = 'row';
|
49
|
+
/**
|
50
|
+
* Selection type defines highlights for the `currentColumnClassName` option.
|
51
|
+
*
|
52
|
+
* @type {string}
|
53
|
+
*/
|
54
|
+
exports.ROW_TYPE = ROW_TYPE;
|
55
|
+
var COLUMN_TYPE = 'column';
|
56
|
+
/**
|
57
|
+
* Selection type defines highlights managed by the CustomBorders plugin.
|
58
|
+
*
|
59
|
+
* @type {string}
|
60
|
+
*/
|
61
|
+
exports.COLUMN_TYPE = COLUMN_TYPE;
|
62
|
+
var CUSTOM_SELECTION_TYPE = 'custom-selection';
|
63
|
+
exports.CUSTOM_SELECTION_TYPE = CUSTOM_SELECTION_TYPE;
|
@@ -0,0 +1,51 @@
|
|
1
|
+
/**
|
2
|
+
* Selection type that is visible only if the row or column header is clicked. If that happened
|
3
|
+
* all row or column header layers are highlighted.
|
4
|
+
*
|
5
|
+
* @type {string}
|
6
|
+
*/
|
7
|
+
export var ACTIVE_HEADER_TYPE = 'active-header';
|
8
|
+
/**
|
9
|
+
* Selection type that is visible only if the a cell or cells are clicked. If that happened
|
10
|
+
* only the most closest to the cells row or column header is highlighted.
|
11
|
+
*
|
12
|
+
* @type {string}
|
13
|
+
*/
|
14
|
+
export var HEADER_TYPE = 'header';
|
15
|
+
/**
|
16
|
+
* Selection type that is visible when a cell or cells are clicked. The selected cells are
|
17
|
+
* highlighted.
|
18
|
+
*
|
19
|
+
* @type {string}
|
20
|
+
*/
|
21
|
+
export var AREA_TYPE = 'area';
|
22
|
+
/**
|
23
|
+
* Selection type defines a cell that follows the user (keyboard navigation).
|
24
|
+
*
|
25
|
+
* @type {string}
|
26
|
+
*/
|
27
|
+
export var FOCUS_TYPE = 'focus';
|
28
|
+
/**
|
29
|
+
* Selection type defines borders for the autofill functionality.
|
30
|
+
*
|
31
|
+
* @type {string}
|
32
|
+
*/
|
33
|
+
export var FILL_TYPE = 'fill';
|
34
|
+
/**
|
35
|
+
* Selection type defines highlights for the `currentRowClassName` option.
|
36
|
+
*
|
37
|
+
* @type {string}
|
38
|
+
*/
|
39
|
+
export var ROW_TYPE = 'row';
|
40
|
+
/**
|
41
|
+
* Selection type defines highlights for the `currentColumnClassName` option.
|
42
|
+
*
|
43
|
+
* @type {string}
|
44
|
+
*/
|
45
|
+
export var COLUMN_TYPE = 'column';
|
46
|
+
/**
|
47
|
+
* Selection type defines highlights managed by the CustomBorders plugin.
|
48
|
+
*
|
49
|
+
* @type {string}
|
50
|
+
*/
|
51
|
+
export var CUSTOM_SELECTION_TYPE = 'custom-selection';
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
require("core-js/modules/es.object.to-string.js");
|
4
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
5
|
+
require("core-js/modules/es.object.keys.js");
|
6
|
+
exports.__esModule = true;
|
7
|
+
var _exportNames = {
|
8
|
+
SelectionManager: true,
|
9
|
+
Selection: true
|
10
|
+
};
|
11
|
+
exports.SelectionManager = void 0;
|
12
|
+
var _selection = _interopRequireDefault(require("./selection"));
|
13
|
+
exports.Selection = _selection.default;
|
14
|
+
var _constants = require("./constants");
|
15
|
+
Object.keys(_constants).forEach(function (key) {
|
16
|
+
if (key === "default" || key === "__esModule") return;
|
17
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
18
|
+
if (key in exports && exports[key] === _constants[key]) return;
|
19
|
+
exports[key] = _constants[key];
|
20
|
+
});
|
21
|
+
var _constants2 = require("./border/constants");
|
22
|
+
Object.keys(_constants2).forEach(function (key) {
|
23
|
+
if (key === "default" || key === "__esModule") return;
|
24
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
25
|
+
if (key in exports && exports[key] === _constants2[key]) return;
|
26
|
+
exports[key] = _constants2[key];
|
27
|
+
});
|
28
|
+
var _manager = require("./manager");
|
29
|
+
exports.SelectionManager = _manager.SelectionManager;
|
30
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -0,0 +1,334 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
4
|
+
require("core-js/modules/es.date.to-primitive.js");
|
5
|
+
require("core-js/modules/es.symbol.js");
|
6
|
+
require("core-js/modules/es.symbol.description.js");
|
7
|
+
require("core-js/modules/es.number.constructor.js");
|
8
|
+
require("core-js/modules/es.symbol.iterator.js");
|
9
|
+
require("core-js/modules/es.array.slice.js");
|
10
|
+
require("core-js/modules/es.function.name.js");
|
11
|
+
require("core-js/modules/es.regexp.exec.js");
|
12
|
+
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); }
|
13
|
+
exports.__esModule = true;
|
14
|
+
exports.SelectionManager = void 0;
|
15
|
+
require("core-js/modules/es.array.iterator.js");
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
17
|
+
require("core-js/modules/es.string.iterator.js");
|
18
|
+
require("core-js/modules/es.weak-map.js");
|
19
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
20
|
+
require("core-js/modules/es.weak-set.js");
|
21
|
+
require("core-js/modules/es.map.js");
|
22
|
+
require("core-js/modules/es.set.js");
|
23
|
+
require("core-js/modules/es.array.from.js");
|
24
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
25
|
+
require("core-js/modules/es.array.flat.js");
|
26
|
+
require("core-js/modules/es.array.unscopables.flat.js");
|
27
|
+
require("core-js/modules/es.array.map.js");
|
28
|
+
require("core-js/modules/es.array.concat.js");
|
29
|
+
var _element = require("../../../../helpers/dom/element");
|
30
|
+
var _scanner2 = require("./scanner");
|
31
|
+
var _border2 = _interopRequireDefault(require("./border/border"));
|
32
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
33
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
34
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
35
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
36
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
37
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
38
|
+
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."); }
|
39
|
+
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); }
|
40
|
+
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; }
|
41
|
+
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; } }
|
42
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
43
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
44
|
+
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); } }
|
45
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
46
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
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); }
|
48
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
49
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
50
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
51
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
52
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
53
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
54
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
55
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
56
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
57
|
+
var _activeOverlaysWot = /*#__PURE__*/new WeakMap();
|
58
|
+
var _selections = /*#__PURE__*/new WeakMap();
|
59
|
+
var _scanner = /*#__PURE__*/new WeakMap();
|
60
|
+
var _appliedClasses = /*#__PURE__*/new WeakMap();
|
61
|
+
var _destroyListeners = /*#__PURE__*/new WeakMap();
|
62
|
+
var _selectionBorders = /*#__PURE__*/new WeakMap();
|
63
|
+
var _resetCells = /*#__PURE__*/new WeakSet();
|
64
|
+
/**
|
65
|
+
* Module responsible for rendering selections (CSS classes) and borders based on the
|
66
|
+
* collection of the Selection instances provided throughout the `selections` Walkontable
|
67
|
+
* setting.
|
68
|
+
*
|
69
|
+
* @private
|
70
|
+
*/
|
71
|
+
var SelectionManager = /*#__PURE__*/function () {
|
72
|
+
/**
|
73
|
+
* The overlay's Walkontable instance that are currently processed.
|
74
|
+
*
|
75
|
+
* @type {Walkontable}
|
76
|
+
*/
|
77
|
+
|
78
|
+
/**
|
79
|
+
* The Highlight instance that holds Selections instances within it.
|
80
|
+
*
|
81
|
+
* @type {Highlight|null}
|
82
|
+
*/
|
83
|
+
|
84
|
+
/**
|
85
|
+
* The SelectionScanner allows to scan and collect the cell and header elements that matches
|
86
|
+
* to the coords defined in the selections.
|
87
|
+
*
|
88
|
+
* @type {SelectionScanner}
|
89
|
+
*/
|
90
|
+
|
91
|
+
/**
|
92
|
+
* The Map tracks applied CSS classes. It's used to reset the elements state to their initial state.
|
93
|
+
*
|
94
|
+
* @type {WeakMap}
|
95
|
+
*/
|
96
|
+
|
97
|
+
/**
|
98
|
+
* The Map tracks applied "destroy" listeners for Selection instances.
|
99
|
+
*
|
100
|
+
* @type {WeakMap}
|
101
|
+
*/
|
102
|
+
|
103
|
+
/**
|
104
|
+
* The Map holds references to Border classes for Selection instances which requires that when
|
105
|
+
* the "border" setting is defined.
|
106
|
+
*
|
107
|
+
* @type {Map}
|
108
|
+
*/
|
109
|
+
|
110
|
+
function SelectionManager(selections) {
|
111
|
+
_classCallCheck(this, SelectionManager);
|
112
|
+
/**
|
113
|
+
* Resets the elements to their initial state (remove the CSS classes that are added in the
|
114
|
+
* previous render cycle).
|
115
|
+
*/
|
116
|
+
_classPrivateMethodInitSpec(this, _resetCells);
|
117
|
+
_classPrivateFieldInitSpec(this, _activeOverlaysWot, {
|
118
|
+
writable: true,
|
119
|
+
value: void 0
|
120
|
+
});
|
121
|
+
_classPrivateFieldInitSpec(this, _selections, {
|
122
|
+
writable: true,
|
123
|
+
value: void 0
|
124
|
+
});
|
125
|
+
_classPrivateFieldInitSpec(this, _scanner, {
|
126
|
+
writable: true,
|
127
|
+
value: new _scanner2.SelectionScanner()
|
128
|
+
});
|
129
|
+
_classPrivateFieldInitSpec(this, _appliedClasses, {
|
130
|
+
writable: true,
|
131
|
+
value: new WeakMap()
|
132
|
+
});
|
133
|
+
_classPrivateFieldInitSpec(this, _destroyListeners, {
|
134
|
+
writable: true,
|
135
|
+
value: new WeakSet()
|
136
|
+
});
|
137
|
+
_classPrivateFieldInitSpec(this, _selectionBorders, {
|
138
|
+
writable: true,
|
139
|
+
value: new Map()
|
140
|
+
});
|
141
|
+
_classPrivateFieldSet(this, _selections, selections);
|
142
|
+
}
|
143
|
+
|
144
|
+
/**
|
145
|
+
* Sets the active Walkontable instance.
|
146
|
+
*
|
147
|
+
* @param {Walkontable} activeWot The overlays or master Walkontable instance.
|
148
|
+
* @returns {SelectionManager}
|
149
|
+
*/
|
150
|
+
_createClass(SelectionManager, [{
|
151
|
+
key: "setActiveOverlay",
|
152
|
+
value: function setActiveOverlay(activeWot) {
|
153
|
+
_classPrivateFieldSet(this, _activeOverlaysWot, activeWot);
|
154
|
+
_classPrivateFieldGet(this, _scanner).setActiveOverlay(_classPrivateFieldGet(this, _activeOverlaysWot));
|
155
|
+
if (!_classPrivateFieldGet(this, _appliedClasses).has(_classPrivateFieldGet(this, _activeOverlaysWot))) {
|
156
|
+
_classPrivateFieldGet(this, _appliedClasses).set(_classPrivateFieldGet(this, _activeOverlaysWot), new Set());
|
157
|
+
}
|
158
|
+
return this;
|
159
|
+
}
|
160
|
+
|
161
|
+
/**
|
162
|
+
* Gets the Selection instance of the "focus" type.
|
163
|
+
*
|
164
|
+
* @returns {Selection|null}
|
165
|
+
*/
|
166
|
+
}, {
|
167
|
+
key: "getFocusSelection",
|
168
|
+
value: function getFocusSelection() {
|
169
|
+
return _classPrivateFieldGet(this, _selections) !== null ? _classPrivateFieldGet(this, _selections).getFocus() : null;
|
170
|
+
}
|
171
|
+
|
172
|
+
/**
|
173
|
+
* Gets the Selection instance of the "area" type.
|
174
|
+
*
|
175
|
+
* @returns {Selection|null}
|
176
|
+
*/
|
177
|
+
}, {
|
178
|
+
key: "getAreaSelection",
|
179
|
+
value: function getAreaSelection() {
|
180
|
+
return _classPrivateFieldGet(this, _selections) !== null ? _classPrivateFieldGet(this, _selections).createLayeredArea() : null;
|
181
|
+
}
|
182
|
+
|
183
|
+
/**
|
184
|
+
* Gets the Border instance associated with Selection instance.
|
185
|
+
*
|
186
|
+
* @param {Selection} selection The selection instance.
|
187
|
+
* @returns {Border|null} Returns the Border instance (new for each overlay Walkontable instance).
|
188
|
+
*/
|
189
|
+
}, {
|
190
|
+
key: "getBorderInstance",
|
191
|
+
value: function getBorderInstance(selection) {
|
192
|
+
if (!selection.settings.border) {
|
193
|
+
return null;
|
194
|
+
}
|
195
|
+
if (_classPrivateFieldGet(this, _selectionBorders).has(selection)) {
|
196
|
+
var borders = _classPrivateFieldGet(this, _selectionBorders).get(selection);
|
197
|
+
if (borders.has(_classPrivateFieldGet(this, _activeOverlaysWot))) {
|
198
|
+
return borders.get(_classPrivateFieldGet(this, _activeOverlaysWot));
|
199
|
+
}
|
200
|
+
var _border = new _border2.default(_classPrivateFieldGet(this, _activeOverlaysWot), selection.settings);
|
201
|
+
borders.set(_classPrivateFieldGet(this, _activeOverlaysWot), _border);
|
202
|
+
return _border;
|
203
|
+
}
|
204
|
+
var border = new _border2.default(_classPrivateFieldGet(this, _activeOverlaysWot), selection.settings);
|
205
|
+
_classPrivateFieldGet(this, _selectionBorders).set(selection, new Map([[_classPrivateFieldGet(this, _activeOverlaysWot), border]]));
|
206
|
+
return border;
|
207
|
+
}
|
208
|
+
|
209
|
+
/**
|
210
|
+
* Gets all Border instances associated with Selection instance for all overlays.
|
211
|
+
*
|
212
|
+
* @param {Selection} selection The selection instance.
|
213
|
+
* @returns {Border[]}
|
214
|
+
*/
|
215
|
+
}, {
|
216
|
+
key: "getBorderInstances",
|
217
|
+
value: function getBorderInstances(selection) {
|
218
|
+
var _classPrivateFieldGet2, _classPrivateFieldGet3;
|
219
|
+
return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _selectionBorders).get(selection)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.values()) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : []);
|
220
|
+
}
|
221
|
+
|
222
|
+
/**
|
223
|
+
* Destroys the Border instance associated with Selection instance.
|
224
|
+
*
|
225
|
+
* @param {Selection} selection The selection instance.
|
226
|
+
*/
|
227
|
+
}, {
|
228
|
+
key: "destroyBorders",
|
229
|
+
value: function destroyBorders(selection) {
|
230
|
+
_classPrivateFieldGet(this, _selectionBorders).get(selection).forEach(function (border) {
|
231
|
+
return border.destroy();
|
232
|
+
});
|
233
|
+
_classPrivateFieldGet(this, _selectionBorders).delete(selection);
|
234
|
+
}
|
235
|
+
|
236
|
+
/**
|
237
|
+
* Renders all the selections (add CSS classes to cells and draw borders).
|
238
|
+
*
|
239
|
+
* @param {boolean} fastDraw Indicates the render cycle type (fast/slow).
|
240
|
+
*/
|
241
|
+
}, {
|
242
|
+
key: "render",
|
243
|
+
value: function render(fastDraw) {
|
244
|
+
var _this = this;
|
245
|
+
if (_classPrivateFieldGet(this, _selections) === null) {
|
246
|
+
return;
|
247
|
+
}
|
248
|
+
if (fastDraw) {
|
249
|
+
// there was no rerender, so we need to remove classNames by ourselves
|
250
|
+
_classPrivateMethodGet(this, _resetCells, _resetCells2).call(this);
|
251
|
+
}
|
252
|
+
var selections = Array.from(_classPrivateFieldGet(this, _selections));
|
253
|
+
var classNamesMap = new Map();
|
254
|
+
var _loop = function _loop() {
|
255
|
+
var selection = selections[i];
|
256
|
+
var _selection$settings = selection.settings,
|
257
|
+
className = _selection$settings.className,
|
258
|
+
createLayers = _selection$settings.createLayers,
|
259
|
+
selectionType = _selection$settings.selectionType;
|
260
|
+
if (!_classPrivateFieldGet(_this, _destroyListeners).has(selection)) {
|
261
|
+
_classPrivateFieldGet(_this, _destroyListeners).add(selection);
|
262
|
+
selection.addLocalHook('destroy', function () {
|
263
|
+
return _this.destroyBorders(selection);
|
264
|
+
});
|
265
|
+
}
|
266
|
+
var borderInstance = _this.getBorderInstance(selection);
|
267
|
+
if (selection.isEmpty()) {
|
268
|
+
borderInstance === null || borderInstance === void 0 ? void 0 : borderInstance.disappear();
|
269
|
+
return "continue"; // eslint-disable-line no-continue
|
270
|
+
}
|
271
|
+
if (className) {
|
272
|
+
var elements = _classPrivateFieldGet(_this, _scanner).setActiveSelection(selection).scan();
|
273
|
+
elements.forEach(function (element) {
|
274
|
+
if (classNamesMap.has(element)) {
|
275
|
+
var classNamesLayers = classNamesMap.get(element);
|
276
|
+
if (classNamesLayers.has(className) && createLayers === true) {
|
277
|
+
classNamesLayers.set(className, classNamesLayers.get(className) + 1);
|
278
|
+
} else {
|
279
|
+
classNamesLayers.set(className, 1);
|
280
|
+
}
|
281
|
+
} else {
|
282
|
+
classNamesMap.set(element, new Map([[className, 1]]));
|
283
|
+
}
|
284
|
+
});
|
285
|
+
}
|
286
|
+
var corners = selection.getCorners();
|
287
|
+
_classPrivateFieldGet(_this, _activeOverlaysWot).getSetting('onBeforeDrawBorders', corners, selectionType);
|
288
|
+
borderInstance === null || borderInstance === void 0 ? void 0 : borderInstance.appear(corners);
|
289
|
+
};
|
290
|
+
for (var i = 0; i < selections.length; i++) {
|
291
|
+
var _ret = _loop();
|
292
|
+
if (_ret === "continue") continue;
|
293
|
+
}
|
294
|
+
classNamesMap.forEach(function (classNamesLayers, element) {
|
295
|
+
var classNames = Array.from(classNamesLayers).map(function (_ref) {
|
296
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
297
|
+
className = _ref2[0],
|
298
|
+
occurrenceCount = _ref2[1];
|
299
|
+
if (occurrenceCount === 1) {
|
300
|
+
return className;
|
301
|
+
}
|
302
|
+
return [className].concat(_toConsumableArray(Array.from({
|
303
|
+
length: occurrenceCount - 1
|
304
|
+
}, function (_, i) {
|
305
|
+
return "".concat(className, "-").concat(i + 1);
|
306
|
+
})));
|
307
|
+
}).flat();
|
308
|
+
classNames.forEach(function (className) {
|
309
|
+
return _classPrivateFieldGet(_this, _appliedClasses).get(_classPrivateFieldGet(_this, _activeOverlaysWot)).add(className);
|
310
|
+
});
|
311
|
+
(0, _element.addClass)(element, classNames);
|
312
|
+
});
|
313
|
+
}
|
314
|
+
}]);
|
315
|
+
return SelectionManager;
|
316
|
+
}();
|
317
|
+
exports.SelectionManager = SelectionManager;
|
318
|
+
function _resetCells2() {
|
319
|
+
var _this2 = this;
|
320
|
+
var appliedOverlaysClasses = _classPrivateFieldGet(this, _appliedClasses).get(_classPrivateFieldGet(this, _activeOverlaysWot));
|
321
|
+
var classesToRemove = _classPrivateFieldGet(this, _activeOverlaysWot).wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
322
|
+
if (Array.isArray(classesToRemove)) {
|
323
|
+
for (var i = 0; i < classesToRemove.length; i++) {
|
324
|
+
appliedOverlaysClasses.add(classesToRemove[i]);
|
325
|
+
}
|
326
|
+
}
|
327
|
+
appliedOverlaysClasses.forEach(function (className) {
|
328
|
+
var nodes = _classPrivateFieldGet(_this2, _activeOverlaysWot).wtTable.TABLE.querySelectorAll(".".concat(className));
|
329
|
+
for (var _i2 = 0, len = nodes.length; _i2 < len; _i2++) {
|
330
|
+
(0, _element.removeClass)(nodes[_i2], className);
|
331
|
+
}
|
332
|
+
});
|
333
|
+
appliedOverlaysClasses.clear();
|
334
|
+
}
|