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
@@ -1,213 +0,0 @@
|
|
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
|
-
import "core-js/modules/es.array.iterator.js";
|
3
|
-
import "core-js/modules/es.object.to-string.js";
|
4
|
-
import "core-js/modules/es.string.iterator.js";
|
5
|
-
import "core-js/modules/es.weak-set.js";
|
6
|
-
import "core-js/modules/web.dom-collections.iterator.js";
|
7
|
-
import "core-js/modules/es.weak-map.js";
|
8
|
-
import "core-js/modules/es.symbol.to-primitive.js";
|
9
|
-
import "core-js/modules/es.date.to-primitive.js";
|
10
|
-
import "core-js/modules/es.symbol.js";
|
11
|
-
import "core-js/modules/es.symbol.description.js";
|
12
|
-
import "core-js/modules/es.number.constructor.js";
|
13
|
-
import "core-js/modules/es.symbol.iterator.js";
|
14
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
15
|
-
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); } }
|
16
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
17
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
18
|
-
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); }
|
19
|
-
import EventManager from "../../eventManager.mjs";
|
20
|
-
import localHooks from "../../mixins/localHooks.mjs";
|
21
|
-
import { mixin } from "../../helpers/object.mjs";
|
22
|
-
import { isMobileBrowser } from "../../helpers/browser.mjs";
|
23
|
-
import { selectElementIfAllowed } from "../../helpers/dom/element.mjs";
|
24
|
-
/**
|
25
|
-
* @private
|
26
|
-
* @class FocusableWrapper
|
27
|
-
*/
|
28
|
-
var FocusableWrapper = /*#__PURE__*/function () {
|
29
|
-
function FocusableWrapper(container) {
|
30
|
-
_classCallCheck(this, FocusableWrapper);
|
31
|
-
this.rootDocument = container.defaultView ? container : container.ownerDocument;
|
32
|
-
/**
|
33
|
-
* The main/operational focusable element.
|
34
|
-
*
|
35
|
-
* @type {HTMLElement}
|
36
|
-
*/
|
37
|
-
this.mainElement = null;
|
38
|
-
/**
|
39
|
-
* Instance of EventManager.
|
40
|
-
*
|
41
|
-
* @type {EventManager}
|
42
|
-
*/
|
43
|
-
this.eventManager = new EventManager(this);
|
44
|
-
/**
|
45
|
-
* An object for tracking information about event listeners attached to the focusable element.
|
46
|
-
*
|
47
|
-
* @type {WeakSet}
|
48
|
-
*/
|
49
|
-
this.listenersCount = new WeakSet();
|
50
|
-
/**
|
51
|
-
* Parent for an focusable element.
|
52
|
-
*
|
53
|
-
* @type {HTMLElement}
|
54
|
-
*/
|
55
|
-
this.container = container;
|
56
|
-
}
|
57
|
-
|
58
|
-
/**
|
59
|
-
* Switch to the secondary focusable element. Used when no any main focusable element is provided.
|
60
|
-
*/
|
61
|
-
_createClass(FocusableWrapper, [{
|
62
|
-
key: "useSecondaryElement",
|
63
|
-
value: function useSecondaryElement() {
|
64
|
-
var el = createOrGetSecondaryElement(this.container);
|
65
|
-
if (!this.listenersCount.has(el)) {
|
66
|
-
this.listenersCount.add(el);
|
67
|
-
forwardEventsToLocalHooks(this.eventManager, el, this);
|
68
|
-
}
|
69
|
-
this.mainElement = el;
|
70
|
-
}
|
71
|
-
|
72
|
-
/**
|
73
|
-
* Switch to the main focusable element.
|
74
|
-
*
|
75
|
-
* @param {HTMLElement} element The DOM element.
|
76
|
-
*/
|
77
|
-
}, {
|
78
|
-
key: "setFocusableElement",
|
79
|
-
value: function setFocusableElement(element) {
|
80
|
-
if (!this.listenersCount.has(element)) {
|
81
|
-
this.listenersCount.add(element);
|
82
|
-
forwardEventsToLocalHooks(this.eventManager, element, this);
|
83
|
-
}
|
84
|
-
this.mainElement = element;
|
85
|
-
}
|
86
|
-
|
87
|
-
/**
|
88
|
-
* Get currently set focusable element.
|
89
|
-
*
|
90
|
-
* @returns {HTMLElement}
|
91
|
-
*/
|
92
|
-
}, {
|
93
|
-
key: "getFocusableElement",
|
94
|
-
value: function getFocusableElement() {
|
95
|
-
return this.mainElement;
|
96
|
-
}
|
97
|
-
|
98
|
-
/**
|
99
|
-
* Set focus to the focusable element.
|
100
|
-
*/
|
101
|
-
}, {
|
102
|
-
key: "focus",
|
103
|
-
value: function focus() {
|
104
|
-
// Add an empty space to texarea. It is necessary for safari to enable "copy" command from menu bar.
|
105
|
-
this.mainElement.value = ' ';
|
106
|
-
if (!isMobileBrowser()) {
|
107
|
-
selectElementIfAllowed(this.mainElement);
|
108
|
-
}
|
109
|
-
}
|
110
|
-
}]);
|
111
|
-
return FocusableWrapper;
|
112
|
-
}();
|
113
|
-
mixin(FocusableWrapper, localHooks);
|
114
|
-
var refCounter = new WeakMap();
|
115
|
-
|
116
|
-
/**
|
117
|
-
* Create and return the FocusableWrapper instance.
|
118
|
-
*
|
119
|
-
* @param {HTMLElement} container The container element, holder for focusable elements.
|
120
|
-
* @returns {FocusableWrapper}
|
121
|
-
*/
|
122
|
-
function createElement(container) {
|
123
|
-
var focusableWrapper = new FocusableWrapper(container);
|
124
|
-
var counter = refCounter.get(container);
|
125
|
-
counter = isNaN(counter) ? 0 : counter;
|
126
|
-
refCounter.set(container, counter + 1);
|
127
|
-
return focusableWrapper;
|
128
|
-
}
|
129
|
-
|
130
|
-
/**
|
131
|
-
* Deactivate the FocusableWrapper instance.
|
132
|
-
*
|
133
|
-
* @param {FocusableWrapper} wrapper The instance of the FocusableWrapper class.
|
134
|
-
*/
|
135
|
-
function deactivateElement(wrapper) {
|
136
|
-
wrapper.eventManager.clear();
|
137
|
-
}
|
138
|
-
var runLocalHooks = function runLocalHooks(eventName, subject) {
|
139
|
-
return function (event) {
|
140
|
-
return subject.runLocalHooks(eventName, event);
|
141
|
-
};
|
142
|
-
};
|
143
|
-
|
144
|
-
/**
|
145
|
-
* Register copy/cut/paste events and forward their actions to the subject local hooks system.
|
146
|
-
*
|
147
|
-
* @param {EventManager} eventManager The instance of the EventManager class.
|
148
|
-
* @param {HTMLElement} element The element on which the listeners are mounted.
|
149
|
-
* @param {FocusableWrapper} subject The subject object for local hooks.
|
150
|
-
*/
|
151
|
-
function forwardEventsToLocalHooks(eventManager, element, subject) {
|
152
|
-
eventManager.addEventListener(element, 'copy', runLocalHooks('copy', subject));
|
153
|
-
eventManager.addEventListener(element, 'cut', runLocalHooks('cut', subject));
|
154
|
-
eventManager.addEventListener(element, 'paste', runLocalHooks('paste', subject));
|
155
|
-
}
|
156
|
-
var secondaryElements = new WeakMap();
|
157
|
-
|
158
|
-
/**
|
159
|
-
* Create and attach newly created focusable element to the DOM.
|
160
|
-
*
|
161
|
-
* @param {HTMLElement} container The container element, holder for focusable elements.
|
162
|
-
* @returns {HTMLElement}
|
163
|
-
*/
|
164
|
-
function createOrGetSecondaryElement(container) {
|
165
|
-
var secondaryElement = secondaryElements.get(container);
|
166
|
-
if (secondaryElement) {
|
167
|
-
if (!secondaryElement.parentElement) {
|
168
|
-
container.appendChild(secondaryElement);
|
169
|
-
}
|
170
|
-
return secondaryElement;
|
171
|
-
}
|
172
|
-
var doc = container.defaultView ? container : container.ownerDocument;
|
173
|
-
var element = doc.createElement('textarea');
|
174
|
-
secondaryElements.set(container, element);
|
175
|
-
element.setAttribute('data-hot-input', ''); // Makes the element recognizable by Hot as its own component's element.
|
176
|
-
element.className = 'HandsontableCopyPaste';
|
177
|
-
element.tabIndex = -1;
|
178
|
-
element.autocomplete = 'off';
|
179
|
-
element.wrap = 'hard';
|
180
|
-
element.value = ' ';
|
181
|
-
container.appendChild(element);
|
182
|
-
return element;
|
183
|
-
}
|
184
|
-
|
185
|
-
/**
|
186
|
-
* Destroy the FocusableWrapper instance.
|
187
|
-
*
|
188
|
-
* @param {FocusableWrapper} wrapper The instance of the FocusableWrapper class.
|
189
|
-
*/
|
190
|
-
function destroyElement(wrapper) {
|
191
|
-
if (!(wrapper instanceof FocusableWrapper)) {
|
192
|
-
return;
|
193
|
-
}
|
194
|
-
var counter = refCounter.get(wrapper.container);
|
195
|
-
counter = isNaN(counter) ? 0 : counter;
|
196
|
-
if (counter > 0) {
|
197
|
-
counter -= 1;
|
198
|
-
}
|
199
|
-
deactivateElement(wrapper);
|
200
|
-
if (counter <= 0) {
|
201
|
-
counter = 0;
|
202
|
-
|
203
|
-
// Detach secondary element from the DOM.
|
204
|
-
var secondaryElement = secondaryElements.get(wrapper.container);
|
205
|
-
if (secondaryElement && secondaryElement.parentNode) {
|
206
|
-
secondaryElement.parentNode.removeChild(secondaryElement);
|
207
|
-
secondaryElements.delete(wrapper.container);
|
208
|
-
}
|
209
|
-
wrapper.mainElement = null;
|
210
|
-
}
|
211
|
-
refCounter.set(wrapper.container, counter);
|
212
|
-
}
|
213
|
-
export { createElement, deactivateElement, destroyElement };
|
@@ -1,379 +0,0 @@
|
|
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
|
-
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); }
|
10
|
-
exports.__esModule = true;
|
11
|
-
exports.default = void 0;
|
12
|
-
require("core-js/modules/es.array.map.js");
|
13
|
-
require("core-js/modules/es.array.index-of.js");
|
14
|
-
require("core-js/modules/es.object.to-string.js");
|
15
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
16
|
-
require("core-js/modules/es.array.filter.js");
|
17
|
-
require("core-js/modules/es.array.from.js");
|
18
|
-
require("core-js/modules/es.string.iterator.js");
|
19
|
-
require("core-js/modules/es.array.iterator.js");
|
20
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
21
|
-
require("core-js/modules/es.array.includes.js");
|
22
|
-
require("core-js/modules/es.string.includes.js");
|
23
|
-
require("core-js/modules/es.array.slice.js");
|
24
|
-
require("core-js/modules/es.weak-map.js");
|
25
|
-
var _string = require("../../../helpers/string");
|
26
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
27
|
-
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); } }
|
28
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
29
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
30
|
-
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); }
|
31
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
32
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
33
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
34
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
35
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
36
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
37
|
-
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; } }
|
38
|
-
/**
|
39
|
-
* @private
|
40
|
-
* @class IndexSyncer
|
41
|
-
* @description
|
42
|
-
*
|
43
|
-
* Indexes synchronizer responsible for providing logic for particular axis. It respects an idea to represent trimmed
|
44
|
-
* elements in HF's engine to perform formulas calculations on them. It also provides method for translation from visual
|
45
|
-
* row/column indexes to HF's row/column indexes.
|
46
|
-
*/
|
47
|
-
var _axis = /*#__PURE__*/new WeakMap();
|
48
|
-
var _indexMapper = /*#__PURE__*/new WeakMap();
|
49
|
-
var _indexSyncer = /*#__PURE__*/new WeakMap();
|
50
|
-
var _indexesSequence = /*#__PURE__*/new WeakMap();
|
51
|
-
var _movedIndexes = /*#__PURE__*/new WeakMap();
|
52
|
-
var _finalIndex = /*#__PURE__*/new WeakMap();
|
53
|
-
var _removedIndexes = /*#__PURE__*/new WeakMap();
|
54
|
-
var AxisSyncer = /*#__PURE__*/function () {
|
55
|
-
function AxisSyncer(axis, indexMapper, indexSyncer) {
|
56
|
-
_classCallCheck(this, AxisSyncer);
|
57
|
-
/**
|
58
|
-
* The axis for which the actions are performed.
|
59
|
-
*
|
60
|
-
* @private
|
61
|
-
* @type {'row'|'column'}
|
62
|
-
*/
|
63
|
-
_classPrivateFieldInitSpec(this, _axis, {
|
64
|
-
writable: true,
|
65
|
-
value: void 0
|
66
|
-
});
|
67
|
-
/**
|
68
|
-
* Reference to index mapper.
|
69
|
-
*
|
70
|
-
* @private
|
71
|
-
* @type {IndexMapper}
|
72
|
-
*/
|
73
|
-
_classPrivateFieldInitSpec(this, _indexMapper, {
|
74
|
-
writable: true,
|
75
|
-
value: void 0
|
76
|
-
});
|
77
|
-
/**
|
78
|
-
* The index synchronizer for both axis (is storing some more general information).
|
79
|
-
*
|
80
|
-
* @private
|
81
|
-
* @type {IndexSyncer}
|
82
|
-
*/
|
83
|
-
_classPrivateFieldInitSpec(this, _indexSyncer, {
|
84
|
-
writable: true,
|
85
|
-
value: void 0
|
86
|
-
});
|
87
|
-
/**
|
88
|
-
* Sequence of physical indexes stored for watching changes and calculating some transformations.
|
89
|
-
*
|
90
|
-
* @private
|
91
|
-
* @type {Array<number>}
|
92
|
-
*/
|
93
|
-
_classPrivateFieldInitSpec(this, _indexesSequence, {
|
94
|
-
writable: true,
|
95
|
-
value: []
|
96
|
-
});
|
97
|
-
/**
|
98
|
-
* List of moved HF indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
99
|
-
*
|
100
|
-
* @private
|
101
|
-
* @type {Array<number>}
|
102
|
-
*/
|
103
|
-
_classPrivateFieldInitSpec(this, _movedIndexes, {
|
104
|
-
writable: true,
|
105
|
-
value: []
|
106
|
-
});
|
107
|
-
/**
|
108
|
-
* Final HF's place where to move indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
109
|
-
*
|
110
|
-
* @private
|
111
|
-
* @type {number|undefined}
|
112
|
-
*/
|
113
|
-
_classPrivateFieldInitSpec(this, _finalIndex, {
|
114
|
-
writable: true,
|
115
|
-
value: void 0
|
116
|
-
});
|
117
|
-
/**
|
118
|
-
* List of removed HF indexes, stored before performing removal on HOT to calculate transformation needed on HF's engine.
|
119
|
-
*
|
120
|
-
* @private
|
121
|
-
* @type {Array<number>}
|
122
|
-
*/
|
123
|
-
_classPrivateFieldInitSpec(this, _removedIndexes, {
|
124
|
-
writable: true,
|
125
|
-
value: []
|
126
|
-
});
|
127
|
-
_classPrivateFieldSet(this, _axis, axis);
|
128
|
-
_classPrivateFieldSet(this, _indexMapper, indexMapper);
|
129
|
-
_classPrivateFieldSet(this, _indexSyncer, indexSyncer);
|
130
|
-
}
|
131
|
-
|
132
|
-
/**
|
133
|
-
* Sets removed HF indexes (it should be done right before performing move on HOT).
|
134
|
-
*
|
135
|
-
* @param {Array<number>} removedIndexes List of removed physical indexes.
|
136
|
-
* @returns {Array<number>} List of removed visual indexes.
|
137
|
-
*/
|
138
|
-
_createClass(AxisSyncer, [{
|
139
|
-
key: "setRemovedHfIndexes",
|
140
|
-
value: function setRemovedHfIndexes(removedIndexes) {
|
141
|
-
var _this = this;
|
142
|
-
_classPrivateFieldSet(this, _removedIndexes, removedIndexes.map(function (physicalIndex) {
|
143
|
-
var visualIndex = _classPrivateFieldGet(_this, _indexMapper).getVisualFromPhysicalIndex(physicalIndex);
|
144
|
-
return _this.getHfIndexFromVisualIndex(visualIndex);
|
145
|
-
}));
|
146
|
-
return _classPrivateFieldGet(this, _removedIndexes);
|
147
|
-
}
|
148
|
-
|
149
|
-
/**
|
150
|
-
* Gets removed HF indexes (right before performing removal on HOT).
|
151
|
-
*
|
152
|
-
* @returns {Array<number>} List of removed HF indexes.
|
153
|
-
*/
|
154
|
-
}, {
|
155
|
-
key: "getRemovedHfIndexes",
|
156
|
-
value: function getRemovedHfIndexes() {
|
157
|
-
return _classPrivateFieldGet(this, _removedIndexes);
|
158
|
-
}
|
159
|
-
|
160
|
-
/**
|
161
|
-
* Gets corresponding HyperFormula index for particular visual index. It's respecting the idea that HF's engine
|
162
|
-
* is fed also with trimmed indexes (business requirements for formula result calculation also for trimmed elements).
|
163
|
-
*
|
164
|
-
* @param {number} visualIndex Visual index.
|
165
|
-
* @returns {number}
|
166
|
-
*/
|
167
|
-
}, {
|
168
|
-
key: "getHfIndexFromVisualIndex",
|
169
|
-
value: function getHfIndexFromVisualIndex(visualIndex) {
|
170
|
-
var indexesSequence = _classPrivateFieldGet(this, _indexMapper).getIndexesSequence();
|
171
|
-
var notTrimmedIndexes = _classPrivateFieldGet(this, _indexMapper).getNotTrimmedIndexes();
|
172
|
-
return indexesSequence.indexOf(notTrimmedIndexes[visualIndex]);
|
173
|
-
}
|
174
|
-
|
175
|
-
/**
|
176
|
-
* Synchronizes moves done on HOT to HF engine (based on previously calculated positions).
|
177
|
-
*
|
178
|
-
* @private
|
179
|
-
* @param {Array<{from: number, to: number}>} moves Calculated HF's move positions.
|
180
|
-
*/
|
181
|
-
}, {
|
182
|
-
key: "syncMoves",
|
183
|
-
value: function syncMoves(moves) {
|
184
|
-
var _this2 = this;
|
185
|
-
var NUMBER_OF_MOVED_INDEXES = 1;
|
186
|
-
var SYNC_MOVE_METHOD_NAME = "move".concat((0, _string.toUpperCaseFirst)(_classPrivateFieldGet(this, _axis)), "s");
|
187
|
-
_classPrivateFieldGet(this, _indexSyncer).getEngine().batch(function () {
|
188
|
-
moves.forEach(function (move) {
|
189
|
-
var moveToTheSamePosition = move.from !== move.to;
|
190
|
-
// Moving from left to right (or top to bottom) to a line (drop index) right after already moved element.
|
191
|
-
var anotherMoveWithoutEffect = move.from + 1 !== move.to;
|
192
|
-
if (moveToTheSamePosition && anotherMoveWithoutEffect) {
|
193
|
-
_classPrivateFieldGet(_this2, _indexSyncer).getEngine()[SYNC_MOVE_METHOD_NAME](_classPrivateFieldGet(_this2, _indexSyncer).getSheetId(), move.from, NUMBER_OF_MOVED_INDEXES, move.to);
|
194
|
-
}
|
195
|
-
});
|
196
|
-
});
|
197
|
-
}
|
198
|
-
|
199
|
-
/**
|
200
|
-
* Stores information about performed HOT moves for purpose of calculating where to move HF elements.
|
201
|
-
*
|
202
|
-
* @param {Array<number>} movedVisualIndexes Sequence of moved visual indexes for certain axis.
|
203
|
-
* @param {number} visualFinalIndex Final visual place where to move HOT indexes.
|
204
|
-
* @param {boolean} movePossible Indicates if it's possible to move HOT indexes to the desired position.
|
205
|
-
*/
|
206
|
-
}, {
|
207
|
-
key: "storeMovesInformation",
|
208
|
-
value: function storeMovesInformation(movedVisualIndexes, visualFinalIndex, movePossible) {
|
209
|
-
var _this3 = this;
|
210
|
-
if (movePossible === false) {
|
211
|
-
return;
|
212
|
-
}
|
213
|
-
_classPrivateFieldSet(this, _movedIndexes, movedVisualIndexes.map(function (index) {
|
214
|
-
return _this3.getHfIndexFromVisualIndex(index);
|
215
|
-
}));
|
216
|
-
_classPrivateFieldSet(this, _finalIndex, this.getHfIndexFromVisualIndex(visualFinalIndex));
|
217
|
-
}
|
218
|
-
|
219
|
-
/**
|
220
|
-
* Gets first position where to move element (respecting the fact that some element will be sooner or later
|
221
|
-
* taken out of the dataset in order to move them).
|
222
|
-
*
|
223
|
-
* @param {Array<number>} movedHfIndexes Sequence of moved HF indexes for certain axis.
|
224
|
-
* @param {number} finalHfIndex Final HF place where to move rows.
|
225
|
-
* @returns {number} HF's index informing where to move the first element.
|
226
|
-
* @private
|
227
|
-
*/
|
228
|
-
}, {
|
229
|
-
key: "getMoveLine",
|
230
|
-
value: function getMoveLine(movedHfIndexes, finalHfIndex) {
|
231
|
-
var numberOfElements = _classPrivateFieldGet(this, _indexMapper).getNumberOfIndexes();
|
232
|
-
var notMovedElements = Array.from(Array(numberOfElements).keys()).filter(function (index) {
|
233
|
-
return movedHfIndexes.includes(index) === false;
|
234
|
-
});
|
235
|
-
if (finalHfIndex === 0) {
|
236
|
-
var _notMovedElements$fin;
|
237
|
-
return (_notMovedElements$fin = notMovedElements[finalHfIndex]) !== null && _notMovedElements$fin !== void 0 ? _notMovedElements$fin : 0; // Moving before the first dataset's element.
|
238
|
-
}
|
239
|
-
|
240
|
-
return notMovedElements[finalHfIndex - 1] + 1; // Moving before another element.
|
241
|
-
}
|
242
|
-
|
243
|
-
/**
|
244
|
-
* Gets initially calculated HF's move positions.
|
245
|
-
*
|
246
|
-
* @private
|
247
|
-
* @param {Array<number>} movedHfIndexes Sequence of moved HF indexes for certain axis.
|
248
|
-
* @param {number} finalHfIndex Final HF place where to move rows.
|
249
|
-
* @returns {Array<{from: number, to: number}>} Initially calculated HF's move positions.
|
250
|
-
*/
|
251
|
-
}, {
|
252
|
-
key: "getInitiallyCalculatedMoves",
|
253
|
-
value: function getInitiallyCalculatedMoves(movedHfIndexes, finalHfIndex) {
|
254
|
-
var moveLine = this.getMoveLine(movedHfIndexes, finalHfIndex);
|
255
|
-
var moves = [];
|
256
|
-
movedHfIndexes.forEach(function (movedHfIndex) {
|
257
|
-
var move = {
|
258
|
-
from: movedHfIndex,
|
259
|
-
to: moveLine
|
260
|
-
};
|
261
|
-
moves.forEach(function (previouslyMovedIndex) {
|
262
|
-
var isMovingFromEndToStart = previouslyMovedIndex.from > previouslyMovedIndex.to;
|
263
|
-
var isMovingElementBefore = previouslyMovedIndex.to <= move.from;
|
264
|
-
var isMovingAfterElement = previouslyMovedIndex.from > move.from;
|
265
|
-
if (isMovingAfterElement && isMovingElementBefore && isMovingFromEndToStart) {
|
266
|
-
move.from += 1;
|
267
|
-
}
|
268
|
-
});
|
269
|
-
|
270
|
-
// Moved element from right to left (or bottom to top).
|
271
|
-
if (move.from >= moveLine) {
|
272
|
-
moveLine += 1;
|
273
|
-
}
|
274
|
-
moves.push(move);
|
275
|
-
});
|
276
|
-
return moves;
|
277
|
-
}
|
278
|
-
|
279
|
-
/**
|
280
|
-
* Gets finally calculated HF's move positions (after adjusting).
|
281
|
-
*
|
282
|
-
* @private
|
283
|
-
* @param {Array<{from: number, to: number}>} moves Initially calculated HF's move positions.
|
284
|
-
* @returns {Array<{from: number, to: number}>} Finally calculated HF's move positions (after adjusting).
|
285
|
-
*/
|
286
|
-
}, {
|
287
|
-
key: "adjustedCalculatedMoves",
|
288
|
-
value: function adjustedCalculatedMoves(moves) {
|
289
|
-
moves.forEach(function (move, index) {
|
290
|
-
var nextMoved = moves.slice(index + 1);
|
291
|
-
nextMoved.forEach(function (nextMovedIndex) {
|
292
|
-
var isMovingFromStartToEnd = nextMovedIndex.from < nextMovedIndex.to;
|
293
|
-
if (nextMovedIndex.from > move.from && isMovingFromStartToEnd) {
|
294
|
-
nextMovedIndex.from -= 1;
|
295
|
-
}
|
296
|
-
});
|
297
|
-
});
|
298
|
-
return moves;
|
299
|
-
}
|
300
|
-
|
301
|
-
/**
|
302
|
-
* Calculating where to move HF elements and performing already calculated moves.
|
303
|
-
*
|
304
|
-
* @param {boolean} movePossible Indicates if it was possible to move HOT indexes to the desired position.
|
305
|
-
* @param {boolean} orderChanged Indicates if order of HOT indexes was changed by move.
|
306
|
-
*/
|
307
|
-
}, {
|
308
|
-
key: "calculateAndSyncMoves",
|
309
|
-
value: function calculateAndSyncMoves(movePossible, orderChanged) {
|
310
|
-
var _this4 = this;
|
311
|
-
if (_classPrivateFieldGet(this, _indexSyncer).isPerformingUndoRedo()) {
|
312
|
-
return;
|
313
|
-
}
|
314
|
-
if (movePossible === false || orderChanged === false) {
|
315
|
-
return;
|
316
|
-
}
|
317
|
-
var calculatedMoves = this.adjustedCalculatedMoves(this.getInitiallyCalculatedMoves(_classPrivateFieldGet(this, _movedIndexes), _classPrivateFieldGet(this, _finalIndex)));
|
318
|
-
if (_classPrivateFieldGet(this, _indexSyncer).getSheetId() === null) {
|
319
|
-
_classPrivateFieldGet(this, _indexSyncer).getPostponeAction(function () {
|
320
|
-
return _this4.syncMoves(calculatedMoves);
|
321
|
-
});
|
322
|
-
} else {
|
323
|
-
this.syncMoves(calculatedMoves);
|
324
|
-
}
|
325
|
-
}
|
326
|
-
|
327
|
-
/**
|
328
|
-
* Gets callback for hook triggered after performing change of indexes order.
|
329
|
-
*
|
330
|
-
* @returns {Function}
|
331
|
-
*/
|
332
|
-
}, {
|
333
|
-
key: "getIndexesChangeSyncMethod",
|
334
|
-
value: function getIndexesChangeSyncMethod() {
|
335
|
-
var _this5 = this;
|
336
|
-
var SYNC_ORDER_CHANGE_METHOD_NAME = "set".concat((0, _string.toUpperCaseFirst)(_classPrivateFieldGet(this, _axis)), "Order");
|
337
|
-
return function (source) {
|
338
|
-
if (_classPrivateFieldGet(_this5, _indexSyncer).isPerformingUndoRedo()) {
|
339
|
-
return;
|
340
|
-
}
|
341
|
-
var newSequence = _classPrivateFieldGet(_this5, _indexMapper).getIndexesSequence();
|
342
|
-
if (source === 'update') {
|
343
|
-
var relativeTransformation = _classPrivateFieldGet(_this5, _indexesSequence).map(function (index) {
|
344
|
-
return newSequence.indexOf(index);
|
345
|
-
});
|
346
|
-
var sheetDimensions = _classPrivateFieldGet(_this5, _indexSyncer).getEngine().getSheetDimensions(_classPrivateFieldGet(_this5, _indexSyncer).getSheetId());
|
347
|
-
var sizeForAxis;
|
348
|
-
if (_classPrivateFieldGet(_this5, _axis) === 'row') {
|
349
|
-
sizeForAxis = sheetDimensions.height;
|
350
|
-
} else {
|
351
|
-
sizeForAxis = sheetDimensions.width;
|
352
|
-
}
|
353
|
-
var numberOfReorganisedIndexes = relativeTransformation.length;
|
354
|
-
|
355
|
-
// Sheet dimension can be changed by HF's engine for purpose of calculating values. It extends dependency
|
356
|
-
// graph to calculate values outside of a defined dataset. This part of code could be removed after resolving
|
357
|
-
// feature request from HF issue board (handsontable/hyperformula#1179).
|
358
|
-
for (var i = numberOfReorganisedIndexes; i < sizeForAxis; i += 1) {
|
359
|
-
relativeTransformation.push(i);
|
360
|
-
}
|
361
|
-
_classPrivateFieldGet(_this5, _indexSyncer).getEngine()[SYNC_ORDER_CHANGE_METHOD_NAME](_classPrivateFieldGet(_this5, _indexSyncer).getSheetId(), relativeTransformation);
|
362
|
-
}
|
363
|
-
_classPrivateFieldSet(_this5, _indexesSequence, newSequence);
|
364
|
-
};
|
365
|
-
}
|
366
|
-
|
367
|
-
/**
|
368
|
-
* Initialize the AxisSyncer.
|
369
|
-
*/
|
370
|
-
}, {
|
371
|
-
key: "init",
|
372
|
-
value: function init() {
|
373
|
-
_classPrivateFieldSet(this, _indexesSequence, _classPrivateFieldGet(this, _indexMapper).getIndexesSequence());
|
374
|
-
}
|
375
|
-
}]);
|
376
|
-
return AxisSyncer;
|
377
|
-
}();
|
378
|
-
var _default = AxisSyncer;
|
379
|
-
exports.default = _default;
|