handsontable 0.0.0-next-3be5fb5-20230427 → 0.0.0-next-aad186f-20230428
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/cell/coords.js +13 -16
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -16
- package/3rdparty/walkontable/src/cell/range.js +25 -29
- package/3rdparty/walkontable/src/cell/range.mjs +24 -28
- package/3rdparty/walkontable/src/overlay/_base.js +6 -7
- package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/top.js +6 -7
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
- package/3rdparty/walkontable/src/overlays.js +55 -64
- package/3rdparty/walkontable/src/overlays.mjs +55 -64
- package/3rdparty/walkontable/src/scroll.js +20 -23
- package/3rdparty/walkontable/src/scroll.mjs +20 -23
- package/3rdparty/walkontable/src/settings.js +13 -15
- package/3rdparty/walkontable/src/settings.mjs +13 -15
- package/3rdparty/walkontable/src/table.js +22 -26
- package/3rdparty/walkontable/src/table.mjs +22 -26
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/core.js +7 -3
- package/core.mjs +7 -3
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +2453 -1877
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +113 -105
- package/dist/handsontable.js +2215 -1640
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +11 -3
- package/dist/languages/all.js +133 -0
- package/dist/languages/ar-AR.js +7 -0
- package/dist/languages/cs-CZ.js +7 -0
- package/dist/languages/de-CH.js +7 -0
- package/dist/languages/de-DE.js +7 -0
- package/dist/languages/en-US.js +7 -0
- package/dist/languages/es-MX.js +7 -0
- package/dist/languages/fr-FR.js +7 -0
- package/dist/languages/it-IT.js +7 -0
- package/dist/languages/ja-JP.js +7 -0
- package/dist/languages/ko-KR.js +7 -0
- package/dist/languages/lv-LV.js +7 -0
- package/dist/languages/nb-NO.js +7 -0
- package/dist/languages/nl-NL.js +7 -0
- package/dist/languages/pl-PL.js +7 -0
- package/dist/languages/pt-BR.js +7 -0
- package/dist/languages/ru-RU.js +7 -0
- package/dist/languages/sr-SP.js +7 -0
- package/dist/languages/zh-CN.js +7 -0
- package/dist/languages/zh-TW.js +7 -0
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/i18n/languages/ar-AR.js +7 -1
- package/i18n/languages/cs-CZ.js +7 -1
- package/i18n/languages/de-CH.js +7 -1
- package/i18n/languages/de-DE.js +7 -1
- package/i18n/languages/en-US.js +7 -1
- package/i18n/languages/es-MX.js +7 -1
- package/i18n/languages/fr-FR.js +7 -1
- package/i18n/languages/it-IT.js +7 -1
- package/i18n/languages/ja-JP.js +7 -1
- package/i18n/languages/ko-KR.js +7 -1
- package/i18n/languages/lv-LV.js +7 -1
- package/i18n/languages/nb-NO.js +7 -1
- package/i18n/languages/nl-NL.js +7 -1
- package/i18n/languages/pl-PL.js +7 -1
- package/i18n/languages/pt-BR.js +7 -1
- package/i18n/languages/ru-RU.js +7 -1
- package/i18n/languages/sr-SP.js +7 -1
- package/i18n/languages/zh-CN.js +7 -1
- package/i18n/languages/zh-TW.js +7 -1
- package/languages/all.js +133 -0
- package/languages/ar-AR.js +7 -0
- package/languages/cs-CZ.js +7 -0
- package/languages/de-CH.js +7 -0
- package/languages/de-DE.js +7 -0
- package/languages/en-US.js +7 -0
- package/languages/es-MX.js +7 -0
- package/languages/fr-FR.js +7 -0
- package/languages/index.js +133 -0
- package/languages/it-IT.js +7 -0
- package/languages/ja-JP.js +7 -0
- package/languages/ko-KR.js +7 -0
- package/languages/lv-LV.js +7 -0
- package/languages/nb-NO.js +7 -0
- package/languages/nl-NL.js +7 -0
- package/languages/pl-PL.js +7 -0
- package/languages/pt-BR.js +7 -0
- package/languages/ru-RU.js +7 -0
- package/languages/sr-SP.js +7 -0
- package/languages/zh-CN.js +7 -0
- package/languages/zh-TW.js +7 -0
- package/package.json +3 -2
- package/pluginHooks.js +16 -6
- package/pluginHooks.mjs +15 -3
- package/plugins/autoRowSize/autoRowSize.js +2 -2
- package/plugins/autoRowSize/autoRowSize.mjs +2 -2
- package/plugins/copyPaste/copyableRanges.js +25 -31
- package/plugins/copyPaste/copyableRanges.mjs +18 -24
- package/plugins/formulas/formulas.js +139 -134
- package/plugins/formulas/formulas.mjs +139 -134
- package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
- package/plugins/formulas/indexSyncer/index.js +225 -0
- package/plugins/formulas/indexSyncer/index.mjs +219 -0
- package/plugins/nestedHeaders/stateManager/headersTree.js +23 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +20 -23
- package/plugins/nestedHeaders/stateManager/index.js +3 -3
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
- package/plugins/registry.js +3 -1
- package/plugins/undoRedo/undoRedo.js +0 -1
- package/plugins/undoRedo/undoRedo.mjs +0 -1
- package/selection/highlight/visualSelection.js +5 -6
- package/selection/highlight/visualSelection.mjs +5 -6
- package/tableView.js +62 -72
- package/tableView.mjs +62 -72
- package/translations/changesObservable/observable.js +41 -46
- package/translations/changesObservable/observable.mjs +36 -41
- package/translations/changesObservable/observer.js +1 -1
- package/translations/indexMapper.js +21 -0
- package/translations/indexMapper.mjs +21 -0
- package/utils/dataStructures/tree.js +15 -18
- package/utils/dataStructures/tree.mjs +15 -18
|
@@ -0,0 +1,219 @@
|
|
|
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-map.js";
|
|
6
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
7
|
+
import "core-js/modules/es.symbol.to-primitive.js";
|
|
8
|
+
import "core-js/modules/es.date.to-primitive.js";
|
|
9
|
+
import "core-js/modules/es.symbol.js";
|
|
10
|
+
import "core-js/modules/es.symbol.description.js";
|
|
11
|
+
import "core-js/modules/es.number.constructor.js";
|
|
12
|
+
import "core-js/modules/es.symbol.iterator.js";
|
|
13
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
14
|
+
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); } }
|
|
15
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
17
|
+
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); }
|
|
18
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
19
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
20
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
|
21
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
|
22
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
|
23
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
|
24
|
+
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; } }
|
|
25
|
+
import AxisSyncer from "./axisSyncer.mjs";
|
|
26
|
+
/**
|
|
27
|
+
* @private
|
|
28
|
+
* @class IndexSyncer
|
|
29
|
+
* @description
|
|
30
|
+
*
|
|
31
|
+
* Indexes synchronizer responsible for providing logic for syncing actions done on indexes for HOT to actions performed
|
|
32
|
+
* on HF's.
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
var _rowIndexSyncer = /*#__PURE__*/new WeakMap();
|
|
36
|
+
var _columnIndexSyncer = /*#__PURE__*/new WeakMap();
|
|
37
|
+
var _postponeAction = /*#__PURE__*/new WeakMap();
|
|
38
|
+
var _isPerformingUndo = /*#__PURE__*/new WeakMap();
|
|
39
|
+
var _isPerformingRedo = /*#__PURE__*/new WeakMap();
|
|
40
|
+
var _engine = /*#__PURE__*/new WeakMap();
|
|
41
|
+
var _sheetId = /*#__PURE__*/new WeakMap();
|
|
42
|
+
var IndexSyncer = /*#__PURE__*/function () {
|
|
43
|
+
function IndexSyncer(rowIndexMapper, columnIndexMapper, postponeAction) {
|
|
44
|
+
_classCallCheck(this, IndexSyncer);
|
|
45
|
+
/**
|
|
46
|
+
* Indexes synchronizer for the axis of the rows.
|
|
47
|
+
*
|
|
48
|
+
* @private
|
|
49
|
+
* @type {AxisSyncer}
|
|
50
|
+
*/
|
|
51
|
+
_classPrivateFieldInitSpec(this, _rowIndexSyncer, {
|
|
52
|
+
writable: true,
|
|
53
|
+
value: void 0
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Indexes synchronizer for the axis of the columns.
|
|
57
|
+
*
|
|
58
|
+
* @private
|
|
59
|
+
* @type {AxisSyncer}
|
|
60
|
+
*/
|
|
61
|
+
_classPrivateFieldInitSpec(this, _columnIndexSyncer, {
|
|
62
|
+
writable: true,
|
|
63
|
+
value: void 0
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Method which will postpone execution of some action (needed when synchronization endpoint isn't setup yet).
|
|
67
|
+
*
|
|
68
|
+
* @private
|
|
69
|
+
* @type {Function}
|
|
70
|
+
*/
|
|
71
|
+
_classPrivateFieldInitSpec(this, _postponeAction, {
|
|
72
|
+
writable: true,
|
|
73
|
+
value: void 0
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Flag informing whether undo is already performed (we don't perform synchronization in such case).
|
|
77
|
+
*
|
|
78
|
+
* @private
|
|
79
|
+
* @type {boolean}
|
|
80
|
+
*/
|
|
81
|
+
_classPrivateFieldInitSpec(this, _isPerformingUndo, {
|
|
82
|
+
writable: true,
|
|
83
|
+
value: false
|
|
84
|
+
});
|
|
85
|
+
/**
|
|
86
|
+
* Flag informing whether redo is already performed (we don't perform synchronization in such case).
|
|
87
|
+
*
|
|
88
|
+
* @private
|
|
89
|
+
* @type {boolean}
|
|
90
|
+
*/
|
|
91
|
+
_classPrivateFieldInitSpec(this, _isPerformingRedo, {
|
|
92
|
+
writable: true,
|
|
93
|
+
value: false
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* The HF's engine instance which will be synced.
|
|
97
|
+
*
|
|
98
|
+
* @private
|
|
99
|
+
* @type {HyperFormula|null}
|
|
100
|
+
*/
|
|
101
|
+
_classPrivateFieldInitSpec(this, _engine, {
|
|
102
|
+
writable: true,
|
|
103
|
+
value: null
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* HyperFormula's sheet name.
|
|
107
|
+
*
|
|
108
|
+
* @private
|
|
109
|
+
* @type {string|null}
|
|
110
|
+
*/
|
|
111
|
+
_classPrivateFieldInitSpec(this, _sheetId, {
|
|
112
|
+
writable: true,
|
|
113
|
+
value: null
|
|
114
|
+
});
|
|
115
|
+
_classPrivateFieldSet(this, _rowIndexSyncer, new AxisSyncer('row', rowIndexMapper, this));
|
|
116
|
+
_classPrivateFieldSet(this, _columnIndexSyncer, new AxisSyncer('column', columnIndexMapper, this));
|
|
117
|
+
_classPrivateFieldSet(this, _postponeAction, postponeAction);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Gets index synchronizer for a particular axis.
|
|
122
|
+
*
|
|
123
|
+
* @param {'row'|'column'} indexType Type of indexes.
|
|
124
|
+
* @returns {AxisSyncer}
|
|
125
|
+
*/
|
|
126
|
+
_createClass(IndexSyncer, [{
|
|
127
|
+
key: "getForAxis",
|
|
128
|
+
value: function getForAxis(indexType) {
|
|
129
|
+
if (indexType === 'row') {
|
|
130
|
+
return _classPrivateFieldGet(this, _rowIndexSyncer);
|
|
131
|
+
}
|
|
132
|
+
return _classPrivateFieldGet(this, _columnIndexSyncer);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Sets flag informing whether an undo action is already performed (we don't execute synchronization in such case).
|
|
137
|
+
*
|
|
138
|
+
* @param {boolean} flagValue Boolean value for the flag.
|
|
139
|
+
*/
|
|
140
|
+
}, {
|
|
141
|
+
key: "setPerformUndo",
|
|
142
|
+
value: function setPerformUndo(flagValue) {
|
|
143
|
+
_classPrivateFieldSet(this, _isPerformingUndo, flagValue);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Sets flag informing whether a redo action is already performed (we don't execute synchronization in such case).
|
|
148
|
+
*
|
|
149
|
+
* @param {boolean} flagValue Boolean value for the flag.
|
|
150
|
+
*/
|
|
151
|
+
}, {
|
|
152
|
+
key: "setPerformRedo",
|
|
153
|
+
value: function setPerformRedo(flagValue) {
|
|
154
|
+
_classPrivateFieldSet(this, _isPerformingRedo, flagValue);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Gets information whether redo or undo action is already performed (we don't execute synchronization in such case).
|
|
159
|
+
*
|
|
160
|
+
* @private
|
|
161
|
+
* @returns {boolean}
|
|
162
|
+
*/
|
|
163
|
+
}, {
|
|
164
|
+
key: "isPerformingUndoRedo",
|
|
165
|
+
value: function isPerformingUndoRedo() {
|
|
166
|
+
return _classPrivateFieldGet(this, _isPerformingUndo) || _classPrivateFieldGet(this, _isPerformingRedo);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Gets HyperFormula's sheet id.
|
|
171
|
+
*
|
|
172
|
+
* @returns {string|null}
|
|
173
|
+
*/
|
|
174
|
+
}, {
|
|
175
|
+
key: "getSheetId",
|
|
176
|
+
value: function getSheetId() {
|
|
177
|
+
return _classPrivateFieldGet(this, _sheetId);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Gets engine instance that will be used for handled instance of Handsontable.
|
|
182
|
+
*
|
|
183
|
+
* @type {HyperFormula|null}
|
|
184
|
+
*/
|
|
185
|
+
}, {
|
|
186
|
+
key: "getEngine",
|
|
187
|
+
value: function getEngine() {
|
|
188
|
+
return _classPrivateFieldGet(this, _engine);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Gets method which will postpone execution of some action (needed when synchronization endpoint isn't setup yet).
|
|
193
|
+
*
|
|
194
|
+
* @returns {Function}
|
|
195
|
+
*/
|
|
196
|
+
}, {
|
|
197
|
+
key: "getPostponeAction",
|
|
198
|
+
value: function getPostponeAction() {
|
|
199
|
+
return _classPrivateFieldGet(this, _postponeAction);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Setups a synchronization endpoint.
|
|
204
|
+
*
|
|
205
|
+
* @param {HyperFormula|null} engine The HF's engine instance which will be synced.
|
|
206
|
+
* @param {string|null} sheetId HyperFormula's sheet name.
|
|
207
|
+
*/
|
|
208
|
+
}, {
|
|
209
|
+
key: "setupSyncEndpoint",
|
|
210
|
+
value: function setupSyncEndpoint(engine, sheetId) {
|
|
211
|
+
_classPrivateFieldSet(this, _engine, engine);
|
|
212
|
+
_classPrivateFieldSet(this, _sheetId, sheetId);
|
|
213
|
+
_classPrivateFieldGet(this, _rowIndexSyncer).init();
|
|
214
|
+
_classPrivateFieldGet(this, _columnIndexSyncer).init();
|
|
215
|
+
}
|
|
216
|
+
}]);
|
|
217
|
+
return IndexSyncer;
|
|
218
|
+
}();
|
|
219
|
+
export default IndexSyncer;
|
|
@@ -48,9 +48,6 @@ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) {
|
|
|
48
48
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
|
49
49
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
|
50
50
|
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; } }
|
|
51
|
-
var _rootNodes = /*#__PURE__*/new WeakMap();
|
|
52
|
-
var _rootsIndex = /*#__PURE__*/new WeakMap();
|
|
53
|
-
var _sourceSettings = /*#__PURE__*/new WeakMap();
|
|
54
51
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
|
55
52
|
/**
|
|
56
53
|
* @private
|
|
@@ -87,40 +84,40 @@ var _sourceSettings = /*#__PURE__*/new WeakMap();
|
|
|
87
84
|
*
|
|
88
85
|
*/
|
|
89
86
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
|
87
|
+
var _rootNodes = /*#__PURE__*/new WeakMap();
|
|
88
|
+
var _rootsIndex = /*#__PURE__*/new WeakMap();
|
|
89
|
+
var _sourceSettings = /*#__PURE__*/new WeakMap();
|
|
90
90
|
var HeadersTree = /*#__PURE__*/function () {
|
|
91
|
-
/**
|
|
92
|
-
* The collection of nested headers settings structured into trees. The root trees are stored
|
|
93
|
-
* under the visual column index.
|
|
94
|
-
*
|
|
95
|
-
* @private
|
|
96
|
-
* @type {Map<number, TreeNode>}
|
|
97
|
-
*/
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* A map that translates the visual column indexes that intersect the range
|
|
101
|
-
* defined by the header colspan width to the root index.
|
|
102
|
-
*
|
|
103
|
-
* @private
|
|
104
|
-
* @type {Map<number, number>}
|
|
105
|
-
*/
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* The instance of the SourceSettings class.
|
|
109
|
-
*
|
|
110
|
-
* @private
|
|
111
|
-
* @type {SourceSettings}
|
|
112
|
-
*/
|
|
113
|
-
|
|
114
91
|
function HeadersTree(sourceSettings) {
|
|
115
92
|
_classCallCheck(this, HeadersTree);
|
|
93
|
+
/**
|
|
94
|
+
* The collection of nested headers settings structured into trees. The root trees are stored
|
|
95
|
+
* under the visual column index.
|
|
96
|
+
*
|
|
97
|
+
* @private
|
|
98
|
+
* @type {Map<number, TreeNode>}
|
|
99
|
+
*/
|
|
116
100
|
_classPrivateFieldInitSpec(this, _rootNodes, {
|
|
117
101
|
writable: true,
|
|
118
102
|
value: new Map()
|
|
119
103
|
});
|
|
104
|
+
/**
|
|
105
|
+
* A map that translates the visual column indexes that intersect the range
|
|
106
|
+
* defined by the header colspan width to the root index.
|
|
107
|
+
*
|
|
108
|
+
* @private
|
|
109
|
+
* @type {Map<number, number>}
|
|
110
|
+
*/
|
|
120
111
|
_classPrivateFieldInitSpec(this, _rootsIndex, {
|
|
121
112
|
writable: true,
|
|
122
113
|
value: new Map()
|
|
123
114
|
});
|
|
115
|
+
/**
|
|
116
|
+
* The instance of the SourceSettings class.
|
|
117
|
+
*
|
|
118
|
+
* @private
|
|
119
|
+
* @type {SourceSettings}
|
|
120
|
+
*/
|
|
124
121
|
_classPrivateFieldInitSpec(this, _sourceSettings, {
|
|
125
122
|
writable: true,
|
|
126
123
|
value: null
|
|
@@ -83,39 +83,36 @@ var _rootNodes = /*#__PURE__*/new WeakMap();
|
|
|
83
83
|
var _rootsIndex = /*#__PURE__*/new WeakMap();
|
|
84
84
|
var _sourceSettings = /*#__PURE__*/new WeakMap();
|
|
85
85
|
var HeadersTree = /*#__PURE__*/function () {
|
|
86
|
-
/**
|
|
87
|
-
* The collection of nested headers settings structured into trees. The root trees are stored
|
|
88
|
-
* under the visual column index.
|
|
89
|
-
*
|
|
90
|
-
* @private
|
|
91
|
-
* @type {Map<number, TreeNode>}
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* A map that translates the visual column indexes that intersect the range
|
|
96
|
-
* defined by the header colspan width to the root index.
|
|
97
|
-
*
|
|
98
|
-
* @private
|
|
99
|
-
* @type {Map<number, number>}
|
|
100
|
-
*/
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* The instance of the SourceSettings class.
|
|
104
|
-
*
|
|
105
|
-
* @private
|
|
106
|
-
* @type {SourceSettings}
|
|
107
|
-
*/
|
|
108
|
-
|
|
109
86
|
function HeadersTree(sourceSettings) {
|
|
110
87
|
_classCallCheck(this, HeadersTree);
|
|
88
|
+
/**
|
|
89
|
+
* The collection of nested headers settings structured into trees. The root trees are stored
|
|
90
|
+
* under the visual column index.
|
|
91
|
+
*
|
|
92
|
+
* @private
|
|
93
|
+
* @type {Map<number, TreeNode>}
|
|
94
|
+
*/
|
|
111
95
|
_classPrivateFieldInitSpec(this, _rootNodes, {
|
|
112
96
|
writable: true,
|
|
113
97
|
value: new Map()
|
|
114
98
|
});
|
|
99
|
+
/**
|
|
100
|
+
* A map that translates the visual column indexes that intersect the range
|
|
101
|
+
* defined by the header colspan width to the root index.
|
|
102
|
+
*
|
|
103
|
+
* @private
|
|
104
|
+
* @type {Map<number, number>}
|
|
105
|
+
*/
|
|
115
106
|
_classPrivateFieldInitSpec(this, _rootsIndex, {
|
|
116
107
|
writable: true,
|
|
117
108
|
value: new Map()
|
|
118
109
|
});
|
|
110
|
+
/**
|
|
111
|
+
* The instance of the SourceSettings class.
|
|
112
|
+
*
|
|
113
|
+
* @private
|
|
114
|
+
* @type {SourceSettings}
|
|
115
|
+
*/
|
|
119
116
|
_classPrivateFieldInitSpec(this, _sourceSettings, {
|
|
120
117
|
writable: true,
|
|
121
118
|
value: null
|
|
@@ -45,9 +45,6 @@ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.
|
|
|
45
45
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
|
46
46
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
|
47
47
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
|
48
|
-
var _sourceSettings = /*#__PURE__*/new WeakMap();
|
|
49
|
-
var _headersTree = /*#__PURE__*/new WeakMap();
|
|
50
|
-
var _stateMatrix = /*#__PURE__*/new WeakMap();
|
|
51
48
|
/**
|
|
52
49
|
* The state manager is a source of truth for nested headers configuration.
|
|
53
50
|
* The state generation process is divided into three stages.
|
|
@@ -76,6 +73,9 @@ var _stateMatrix = /*#__PURE__*/new WeakMap();
|
|
|
76
73
|
*
|
|
77
74
|
* @class StateManager
|
|
78
75
|
*/
|
|
76
|
+
var _sourceSettings = /*#__PURE__*/new WeakMap();
|
|
77
|
+
var _headersTree = /*#__PURE__*/new WeakMap();
|
|
78
|
+
var _stateMatrix = /*#__PURE__*/new WeakMap();
|
|
79
79
|
var StateManager = /*#__PURE__*/function () {
|
|
80
80
|
function StateManager() {
|
|
81
81
|
_classCallCheck(this, StateManager);
|
|
@@ -10,6 +10,7 @@ require("core-js/modules/es.string.includes.js");
|
|
|
10
10
|
var _array = require("../../../helpers/array");
|
|
11
11
|
var _utils = require("./utils");
|
|
12
12
|
var _excluded = ["crossHiddenColumns"];
|
|
13
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
|
13
14
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
14
15
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
15
16
|
/**
|
|
@@ -24,7 +24,7 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
|
|
|
24
24
|
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); }
|
|
25
25
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
26
26
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
27
|
-
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; }
|
|
27
|
+
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; } /* eslint-disable jsdoc/require-description-complete-sentence */
|
|
28
28
|
/**
|
|
29
29
|
* A function that normalizes user-defined settings into one predictable
|
|
30
30
|
* structure. Currently, the developer can declare nested headers by passing
|
|
@@ -29,47 +29,42 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
29
29
|
* @private
|
|
30
30
|
*/
|
|
31
31
|
var GhostTable = /*#__PURE__*/function () {
|
|
32
|
-
/**
|
|
33
|
-
* Reference to the Handsontable instance.
|
|
34
|
-
*
|
|
35
|
-
* @private
|
|
36
|
-
* @type {Handsontable}
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* The function for retrieving the nested headers settings.
|
|
41
|
-
*
|
|
42
|
-
* @private
|
|
43
|
-
* @type {Function}
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* The value that holds information about the number of the nested header layers (header rows).
|
|
48
|
-
*
|
|
49
|
-
* @private
|
|
50
|
-
* @type {number}
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Temporary element created to get minimal headers widths.
|
|
55
|
-
*
|
|
56
|
-
* @private
|
|
57
|
-
* @type {*}
|
|
58
|
-
*/
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
|
62
|
-
*
|
|
63
|
-
* @private
|
|
64
|
-
* @type {PhysicalIndexToValueMap}
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
32
|
function GhostTable(hot, nestedHeaderSettingsGetter) {
|
|
68
33
|
_classCallCheck(this, GhostTable);
|
|
34
|
+
/**
|
|
35
|
+
* Reference to the Handsontable instance.
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
* @type {Handsontable}
|
|
39
|
+
*/
|
|
69
40
|
_defineProperty(this, "hot", void 0);
|
|
41
|
+
/**
|
|
42
|
+
* The function for retrieving the nested headers settings.
|
|
43
|
+
*
|
|
44
|
+
* @private
|
|
45
|
+
* @type {Function}
|
|
46
|
+
*/
|
|
70
47
|
_defineProperty(this, "nestedHeaderSettingsGetter", void 0);
|
|
48
|
+
/**
|
|
49
|
+
* The value that holds information about the number of the nested header layers (header rows).
|
|
50
|
+
*
|
|
51
|
+
* @private
|
|
52
|
+
* @type {number}
|
|
53
|
+
*/
|
|
71
54
|
_defineProperty(this, "layersCount", 0);
|
|
55
|
+
/**
|
|
56
|
+
* Temporary element created to get minimal headers widths.
|
|
57
|
+
*
|
|
58
|
+
* @private
|
|
59
|
+
* @type {*}
|
|
60
|
+
*/
|
|
72
61
|
_defineProperty(this, "container", void 0);
|
|
62
|
+
/**
|
|
63
|
+
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
|
64
|
+
*
|
|
65
|
+
* @private
|
|
66
|
+
* @type {PhysicalIndexToValueMap}
|
|
67
|
+
*/
|
|
73
68
|
_defineProperty(this, "widthsMap", void 0);
|
|
74
69
|
this.hot = hot;
|
|
75
70
|
this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
|
|
@@ -25,47 +25,42 @@ import { fastInnerHTML } from "../../../helpers/dom/element.mjs";
|
|
|
25
25
|
* @private
|
|
26
26
|
*/
|
|
27
27
|
var GhostTable = /*#__PURE__*/function () {
|
|
28
|
-
/**
|
|
29
|
-
* Reference to the Handsontable instance.
|
|
30
|
-
*
|
|
31
|
-
* @private
|
|
32
|
-
* @type {Handsontable}
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* The function for retrieving the nested headers settings.
|
|
37
|
-
*
|
|
38
|
-
* @private
|
|
39
|
-
* @type {Function}
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* The value that holds information about the number of the nested header layers (header rows).
|
|
44
|
-
*
|
|
45
|
-
* @private
|
|
46
|
-
* @type {number}
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Temporary element created to get minimal headers widths.
|
|
51
|
-
*
|
|
52
|
-
* @private
|
|
53
|
-
* @type {*}
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
|
58
|
-
*
|
|
59
|
-
* @private
|
|
60
|
-
* @type {PhysicalIndexToValueMap}
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
28
|
function GhostTable(hot, nestedHeaderSettingsGetter) {
|
|
64
29
|
_classCallCheck(this, GhostTable);
|
|
30
|
+
/**
|
|
31
|
+
* Reference to the Handsontable instance.
|
|
32
|
+
*
|
|
33
|
+
* @private
|
|
34
|
+
* @type {Handsontable}
|
|
35
|
+
*/
|
|
65
36
|
_defineProperty(this, "hot", void 0);
|
|
37
|
+
/**
|
|
38
|
+
* The function for retrieving the nested headers settings.
|
|
39
|
+
*
|
|
40
|
+
* @private
|
|
41
|
+
* @type {Function}
|
|
42
|
+
*/
|
|
66
43
|
_defineProperty(this, "nestedHeaderSettingsGetter", void 0);
|
|
44
|
+
/**
|
|
45
|
+
* The value that holds information about the number of the nested header layers (header rows).
|
|
46
|
+
*
|
|
47
|
+
* @private
|
|
48
|
+
* @type {number}
|
|
49
|
+
*/
|
|
67
50
|
_defineProperty(this, "layersCount", 0);
|
|
51
|
+
/**
|
|
52
|
+
* Temporary element created to get minimal headers widths.
|
|
53
|
+
*
|
|
54
|
+
* @private
|
|
55
|
+
* @type {*}
|
|
56
|
+
*/
|
|
68
57
|
_defineProperty(this, "container", void 0);
|
|
58
|
+
/**
|
|
59
|
+
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
|
60
|
+
*
|
|
61
|
+
* @private
|
|
62
|
+
* @type {PhysicalIndexToValueMap}
|
|
63
|
+
*/
|
|
69
64
|
_defineProperty(this, "widthsMap", void 0);
|
|
70
65
|
this.hot = hot;
|
|
71
66
|
this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
|
package/plugins/registry.js
CHANGED
|
@@ -30,7 +30,9 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
|
|
|
30
30
|
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); }
|
|
31
31
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
32
32
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
33
|
-
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; }
|
|
33
|
+
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; } /**
|
|
34
|
+
* Utility to register plugins and common namespace for keeping the reference to all plugins classes.
|
|
35
|
+
*/
|
|
34
36
|
var ERROR_PLUGIN_REGISTERED = function ERROR_PLUGIN_REGISTERED(pluginName) {
|
|
35
37
|
return "There is already registered \"".concat(pluginName, "\" plugin.");
|
|
36
38
|
};
|
|
@@ -591,7 +591,6 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
|
591
591
|
});
|
|
592
592
|
});
|
|
593
593
|
instance.setSourceDataAtCell(changes, void 0, void 0, 'UndoRedo.undo');
|
|
594
|
-
instance.columnIndexMapper.insertIndexes(ascendingIndexes[0], ascendingIndexes.length);
|
|
595
594
|
if (typeof this.headers !== 'undefined') {
|
|
596
595
|
(0, _array.arrayEach)(sortedHeaders, function (headerData, columnIndex) {
|
|
597
596
|
instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
|
|
@@ -585,7 +585,6 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
|
585
585
|
});
|
|
586
586
|
});
|
|
587
587
|
instance.setSourceDataAtCell(changes, void 0, void 0, 'UndoRedo.undo');
|
|
588
|
-
instance.columnIndexMapper.insertIndexes(ascendingIndexes[0], ascendingIndexes.length);
|
|
589
588
|
if (typeof this.headers !== 'undefined') {
|
|
590
589
|
arrayEach(sortedHeaders, function (headerData, columnIndex) {
|
|
591
590
|
instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
|
|
@@ -37,16 +37,15 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
37
37
|
var VisualSelection = /*#__PURE__*/function (_Selection) {
|
|
38
38
|
_inherits(VisualSelection, _Selection);
|
|
39
39
|
var _super = _createSuper(VisualSelection);
|
|
40
|
-
/**
|
|
41
|
-
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
|
42
|
-
*
|
|
43
|
-
* @type {null|CellRange}
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
40
|
function VisualSelection(settings, visualCellRange) {
|
|
47
41
|
var _this;
|
|
48
42
|
_classCallCheck(this, VisualSelection);
|
|
49
43
|
_this = _super.call(this, settings, null);
|
|
44
|
+
/**
|
|
45
|
+
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
|
46
|
+
*
|
|
47
|
+
* @type {null|CellRange}
|
|
48
|
+
*/
|
|
50
49
|
_defineProperty(_assertThisInitialized(_this), "visualCellRange", null);
|
|
51
50
|
_this.visualCellRange = visualCellRange || null;
|
|
52
51
|
_this.commit();
|
|
@@ -33,16 +33,15 @@ import { Selection } from "./../../3rdparty/walkontable/src/index.mjs";
|
|
|
33
33
|
var VisualSelection = /*#__PURE__*/function (_Selection) {
|
|
34
34
|
_inherits(VisualSelection, _Selection);
|
|
35
35
|
var _super = _createSuper(VisualSelection);
|
|
36
|
-
/**
|
|
37
|
-
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
|
38
|
-
*
|
|
39
|
-
* @type {null|CellRange}
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
36
|
function VisualSelection(settings, visualCellRange) {
|
|
43
37
|
var _this;
|
|
44
38
|
_classCallCheck(this, VisualSelection);
|
|
45
39
|
_this = _super.call(this, settings, null);
|
|
40
|
+
/**
|
|
41
|
+
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
|
42
|
+
*
|
|
43
|
+
* @type {null|CellRange}
|
|
44
|
+
*/
|
|
46
45
|
_defineProperty(_assertThisInitialized(_this), "visualCellRange", null);
|
|
47
46
|
_this.visualCellRange = visualCellRange || null;
|
|
48
47
|
_this.commit();
|