handsontable 12.3.3 → 12.4.0-next-ddbea0c-20230512
Sign up to get free protection for your applications and to get access to all the features.
- 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/core/_base.js +16 -20
- package/3rdparty/walkontable/src/core/_base.mjs +16 -20
- package/3rdparty/walkontable/src/event.js +4 -0
- package/3rdparty/walkontable/src/event.mjs +4 -0
- 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/CHANGELOG.md +14 -0
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/core.js +23 -6
- package/core.mjs +23 -6
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/metaSchema.js +9 -7
- package/dataMap/metaManager/metaSchema.mjs +9 -7
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +7364 -5992
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +256 -234
- package/dist/handsontable.js +4326 -3275
- 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/editors/autocompleteEditor/autocompleteEditor.js +8 -9
- package/editors/autocompleteEditor/autocompleteEditor.mjs +8 -9
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- 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/base/base.js +9 -10
- package/plugins/base/base.mjs +9 -10
- package/plugins/collapsibleColumns/collapsibleColumns.js +24 -7
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +24 -7
- package/plugins/copyPaste/copyPaste.js +92 -16
- package/plugins/copyPaste/copyPaste.mjs +92 -16
- package/plugins/copyPaste/copyableRanges.js +39 -39
- package/plugins/copyPaste/copyableRanges.mjs +32 -32
- package/plugins/customBorders/customBorders.d.ts +2 -0
- package/plugins/customBorders/customBorders.js +6 -7
- package/plugins/customBorders/customBorders.mjs +6 -7
- package/plugins/filters/filters.js +5 -0
- package/plugins/filters/filters.mjs +5 -0
- package/plugins/formulas/engine/register.js +9 -0
- package/plugins/formulas/engine/register.mjs +13 -4
- package/plugins/formulas/engine/settings.js +18 -3
- package/plugins/formulas/engine/settings.mjs +16 -3
- package/plugins/formulas/formulas.js +308 -162
- package/plugins/formulas/formulas.mjs +308 -163
- 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/formulas/utils.js +81 -0
- package/plugins/formulas/utils.mjs +74 -0
- package/plugins/hiddenColumns/hiddenColumns.js +12 -7
- package/plugins/hiddenColumns/hiddenColumns.mjs +12 -7
- package/plugins/hiddenRows/hiddenRows.js +12 -7
- package/plugins/hiddenRows/hiddenRows.mjs +12 -7
- package/plugins/manualRowMove/manualRowMove.js +26 -11
- package/plugins/manualRowMove/manualRowMove.mjs +27 -12
- package/plugins/nestedHeaders/nestedHeaders.js +26 -7
- package/plugins/nestedHeaders/nestedHeaders.mjs +26 -7
- package/plugins/nestedHeaders/stateManager/headersTree.js +23 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +20 -23
- package/plugins/nestedHeaders/stateManager/index.js +21 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +18 -0
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -0
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -0
- 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 +8 -1
- package/translations/changesObservable/observer.mjs +7 -0
- package/translations/indexMapper.js +21 -0
- package/translations/indexMapper.mjs +21 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -0
- package/utils/dataStructures/tree.js +15 -18
- package/utils/dataStructures/tree.mjs +15 -18
- package/utils/parseTable.js +5 -1
- package/utils/parseTable.mjs +5 -1
@@ -160,9 +160,33 @@ var CollapsibleColumns = /*#__PURE__*/function (_BasePlugin) {
|
|
160
160
|
args[_key] = arguments[_key];
|
161
161
|
}
|
162
162
|
_this = _super.call.apply(_super, [this].concat(args));
|
163
|
+
/**
|
164
|
+
* Cached reference to the NestedHeaders plugin.
|
165
|
+
*
|
166
|
+
* @private
|
167
|
+
* @type {NestedHeaders}
|
168
|
+
*/
|
163
169
|
_defineProperty(_assertThisInitialized(_this), "nestedHeadersPlugin", null);
|
170
|
+
/**
|
171
|
+
* Event manager instance reference.
|
172
|
+
*
|
173
|
+
* @private
|
174
|
+
* @type {EventManager}
|
175
|
+
*/
|
164
176
|
_defineProperty(_assertThisInitialized(_this), "eventManager", new _eventManager.default(_assertThisInitialized(_this)));
|
177
|
+
/**
|
178
|
+
* The NestedHeaders plugin StateManager instance.
|
179
|
+
*
|
180
|
+
* @private
|
181
|
+
* @type {StateManager}
|
182
|
+
*/
|
165
183
|
_defineProperty(_assertThisInitialized(_this), "headerStateManager", null);
|
184
|
+
/**
|
185
|
+
* Map of collapsed columns by the plugin.
|
186
|
+
*
|
187
|
+
* @private
|
188
|
+
* @type {HidingMap|null}
|
189
|
+
*/
|
166
190
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _collapsedColumnsMap, {
|
167
191
|
writable: true,
|
168
192
|
value: null
|
@@ -584,13 +608,6 @@ var CollapsibleColumns = /*#__PURE__*/function (_BasePlugin) {
|
|
584
608
|
get: function get() {
|
585
609
|
return [PLUGIN_KEY].concat(SETTING_KEYS);
|
586
610
|
}
|
587
|
-
|
588
|
-
/**
|
589
|
-
* Cached reference to the NestedHeaders plugin.
|
590
|
-
*
|
591
|
-
* @private
|
592
|
-
* @type {NestedHeaders}
|
593
|
-
*/
|
594
611
|
}]);
|
595
612
|
return CollapsibleColumns;
|
596
613
|
}(_base.BasePlugin);
|
@@ -153,9 +153,33 @@ export var CollapsibleColumns = /*#__PURE__*/function (_BasePlugin) {
|
|
153
153
|
args[_key] = arguments[_key];
|
154
154
|
}
|
155
155
|
_this = _super.call.apply(_super, [this].concat(args));
|
156
|
+
/**
|
157
|
+
* Cached reference to the NestedHeaders plugin.
|
158
|
+
*
|
159
|
+
* @private
|
160
|
+
* @type {NestedHeaders}
|
161
|
+
*/
|
156
162
|
_defineProperty(_assertThisInitialized(_this), "nestedHeadersPlugin", null);
|
163
|
+
/**
|
164
|
+
* Event manager instance reference.
|
165
|
+
*
|
166
|
+
* @private
|
167
|
+
* @type {EventManager}
|
168
|
+
*/
|
157
169
|
_defineProperty(_assertThisInitialized(_this), "eventManager", new EventManager(_assertThisInitialized(_this)));
|
170
|
+
/**
|
171
|
+
* The NestedHeaders plugin StateManager instance.
|
172
|
+
*
|
173
|
+
* @private
|
174
|
+
* @type {StateManager}
|
175
|
+
*/
|
158
176
|
_defineProperty(_assertThisInitialized(_this), "headerStateManager", null);
|
177
|
+
/**
|
178
|
+
* Map of collapsed columns by the plugin.
|
179
|
+
*
|
180
|
+
* @private
|
181
|
+
* @type {HidingMap|null}
|
182
|
+
*/
|
159
183
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _collapsedColumnsMap, {
|
160
184
|
writable: true,
|
161
185
|
value: null
|
@@ -577,13 +601,6 @@ export var CollapsibleColumns = /*#__PURE__*/function (_BasePlugin) {
|
|
577
601
|
get: function get() {
|
578
602
|
return [PLUGIN_KEY].concat(SETTING_KEYS);
|
579
603
|
}
|
580
|
-
|
581
|
-
/**
|
582
|
-
* Cached reference to the NestedHeaders plugin.
|
583
|
-
*
|
584
|
-
* @private
|
585
|
-
* @type {NestedHeaders}
|
586
|
-
*/
|
587
604
|
}]);
|
588
605
|
return CollapsibleColumns;
|
589
606
|
}(BasePlugin);
|
@@ -143,35 +143,115 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
143
143
|
args[_key] = arguments[_key];
|
144
144
|
}
|
145
145
|
_this = _super.call.apply(_super, [this].concat(args));
|
146
|
+
/**
|
147
|
+
* Counts how many column headers will be copied based on the passed range.
|
148
|
+
*
|
149
|
+
* @private
|
150
|
+
* @param {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>} ranges Array of objects with properties `startRow`, `startCol`, `endRow` and `endCol`.
|
151
|
+
* @returns {{ columnHeadersCount: number }} Returns an object with keys that holds
|
152
|
+
* information with the number of copied headers.
|
153
|
+
*/
|
146
154
|
_classPrivateMethodInitSpec(_assertThisInitialized(_this), _countCopiedHeaders);
|
155
|
+
/**
|
156
|
+
* The maximum number of columns than can be copied to the clipboard.
|
157
|
+
*
|
158
|
+
* @type {number}
|
159
|
+
* @default Infinity
|
160
|
+
*/
|
147
161
|
_defineProperty(_assertThisInitialized(_this), "columnsLimit", Infinity);
|
162
|
+
/**
|
163
|
+
* The maximum number of rows than can be copied to the clipboard.
|
164
|
+
*
|
165
|
+
* @type {number}
|
166
|
+
* @default Infinity
|
167
|
+
*/
|
148
168
|
_defineProperty(_assertThisInitialized(_this), "rowsLimit", Infinity);
|
169
|
+
/**
|
170
|
+
* When pasting:
|
171
|
+
* - `'overwrite'`: overwrite the currently-selected cells
|
172
|
+
* - `'shift_down'`: move currently-selected cells down
|
173
|
+
* - `'shift_right'`: move currently-selected cells to the right
|
174
|
+
*
|
175
|
+
* @type {string}
|
176
|
+
* @default 'overwrite'
|
177
|
+
*/
|
149
178
|
_defineProperty(_assertThisInitialized(_this), "pasteMode", 'overwrite');
|
179
|
+
/**
|
180
|
+
* The UI container for the secondary focusable element.
|
181
|
+
*
|
182
|
+
* @type {HTMLElement}
|
183
|
+
*/
|
150
184
|
_defineProperty(_assertThisInitialized(_this), "uiContainer", _this.hot.rootDocument.body);
|
185
|
+
/**
|
186
|
+
* Shows the "Copy with headers" item in the context menu and extends the context menu with the
|
187
|
+
* `'copy_with_column_headers'` option that can be used for creating custom menus arrangements.
|
188
|
+
*
|
189
|
+
* @type {boolean}
|
190
|
+
* @default false
|
191
|
+
*/
|
151
192
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnHeaders, {
|
152
193
|
writable: true,
|
153
194
|
value: false
|
154
195
|
});
|
196
|
+
/**
|
197
|
+
* Shows the "Copy with group headers" item in the context menu and extends the context menu with the
|
198
|
+
* `'copy_with_column_group headers'` option that can be used for creating custom menus arrangements.
|
199
|
+
*
|
200
|
+
* @type {boolean}
|
201
|
+
* @default false
|
202
|
+
*/
|
155
203
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnGroupHeaders, {
|
156
204
|
writable: true,
|
157
205
|
value: false
|
158
206
|
});
|
207
|
+
/**
|
208
|
+
* Shows the "Copy headers only" item in the context menu and extends the context menu with the
|
209
|
+
* `'copy_column_headers_only'` option that can be used for creating custom menus arrangements.
|
210
|
+
*
|
211
|
+
* @type {boolean}
|
212
|
+
* @default false
|
213
|
+
*/
|
159
214
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnHeadersOnly, {
|
160
215
|
writable: true,
|
161
216
|
value: false
|
162
217
|
});
|
218
|
+
/**
|
219
|
+
* Defines the data range to copy. Possible values:
|
220
|
+
* * `'cells-only'` Copy selected cells only;
|
221
|
+
* * `'column-headers-only'` Copy column headers only;
|
222
|
+
* * `'with-all-column-headers'` Copy cells with all column headers;
|
223
|
+
* * `'with-column-headers'` Copy cells with column headers;
|
224
|
+
*
|
225
|
+
* @type {'cells-only' | 'column-headers-only' | 'with-all-column-headers' | 'with-column-headers'}
|
226
|
+
*/
|
163
227
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _copyMode, {
|
164
228
|
writable: true,
|
165
229
|
value: 'cells-only'
|
166
230
|
});
|
231
|
+
/**
|
232
|
+
* Flag that is used to prevent copying when the native shortcut was not pressed.
|
233
|
+
*
|
234
|
+
* @type {boolean}
|
235
|
+
*/
|
167
236
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _isTriggeredByCopy, {
|
168
237
|
writable: true,
|
169
238
|
value: false
|
170
239
|
});
|
240
|
+
/**
|
241
|
+
* Flag that is used to prevent cutting when the native shortcut was not pressed.
|
242
|
+
*
|
243
|
+
* @type {boolean}
|
244
|
+
*/
|
171
245
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _isTriggeredByCut, {
|
172
246
|
writable: true,
|
173
247
|
value: false
|
174
248
|
});
|
249
|
+
/**
|
250
|
+
* Class that helps generate copyable ranges based on the current selection for different copy mode
|
251
|
+
* types.
|
252
|
+
*
|
253
|
+
* @type {CopyableRangesFactory}
|
254
|
+
*/
|
175
255
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _copyableRangesFactory, {
|
176
256
|
writable: true,
|
177
257
|
value: new _copyableRanges.CopyableRangesFactory({
|
@@ -192,7 +272,19 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
192
272
|
}
|
193
273
|
})
|
194
274
|
});
|
275
|
+
/**
|
276
|
+
* Ranges of the cells coordinates, which should be used to copy/cut/paste actions.
|
277
|
+
*
|
278
|
+
* @private
|
279
|
+
* @type {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>}
|
280
|
+
*/
|
195
281
|
_defineProperty(_assertThisInitialized(_this), "copyableRanges", []);
|
282
|
+
/**
|
283
|
+
* Provides focusable element to support IME and copy/paste/cut actions.
|
284
|
+
*
|
285
|
+
* @private
|
286
|
+
* @type {FocusableWrapper}
|
287
|
+
*/
|
196
288
|
_defineProperty(_assertThisInitialized(_this), "focusableElement", void 0);
|
197
289
|
return _this;
|
198
290
|
}
|
@@ -501,15 +593,6 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
501
593
|
var _this$hot$getActiveEd2;
|
502
594
|
return (_this$hot$getActiveEd2 = this.hot.getActiveEditor()) === null || _this$hot$getActiveEd2 === void 0 ? void 0 : _this$hot$getActiveEd2.isOpened();
|
503
595
|
}
|
504
|
-
|
505
|
-
/**
|
506
|
-
* Counts how many column headers will be copied based on the passed range.
|
507
|
-
*
|
508
|
-
* @private
|
509
|
-
* @param {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>} ranges Array of objects with properties `startRow`, `startCol`, `endRow` and `endCol`.
|
510
|
-
* @returns {{ columnHeadersCount: number }} Returns an object with keys that holds
|
511
|
-
* information with the number of copied headers.
|
512
|
-
*/
|
513
596
|
}, {
|
514
597
|
key: "populateValues",
|
515
598
|
value:
|
@@ -795,13 +878,6 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
795
878
|
get: function get() {
|
796
879
|
return PLUGIN_PRIORITY;
|
797
880
|
}
|
798
|
-
|
799
|
-
/**
|
800
|
-
* The maximum number of columns than can be copied to the clipboard.
|
801
|
-
*
|
802
|
-
* @type {number}
|
803
|
-
* @default Infinity
|
804
|
-
*/
|
805
881
|
}]);
|
806
882
|
return CopyPaste;
|
807
883
|
}(_base.BasePlugin);
|
@@ -136,35 +136,115 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
136
136
|
args[_key] = arguments[_key];
|
137
137
|
}
|
138
138
|
_this = _super.call.apply(_super, [this].concat(args));
|
139
|
+
/**
|
140
|
+
* Counts how many column headers will be copied based on the passed range.
|
141
|
+
*
|
142
|
+
* @private
|
143
|
+
* @param {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>} ranges Array of objects with properties `startRow`, `startCol`, `endRow` and `endCol`.
|
144
|
+
* @returns {{ columnHeadersCount: number }} Returns an object with keys that holds
|
145
|
+
* information with the number of copied headers.
|
146
|
+
*/
|
139
147
|
_classPrivateMethodInitSpec(_assertThisInitialized(_this), _countCopiedHeaders);
|
148
|
+
/**
|
149
|
+
* The maximum number of columns than can be copied to the clipboard.
|
150
|
+
*
|
151
|
+
* @type {number}
|
152
|
+
* @default Infinity
|
153
|
+
*/
|
140
154
|
_defineProperty(_assertThisInitialized(_this), "columnsLimit", Infinity);
|
155
|
+
/**
|
156
|
+
* The maximum number of rows than can be copied to the clipboard.
|
157
|
+
*
|
158
|
+
* @type {number}
|
159
|
+
* @default Infinity
|
160
|
+
*/
|
141
161
|
_defineProperty(_assertThisInitialized(_this), "rowsLimit", Infinity);
|
162
|
+
/**
|
163
|
+
* When pasting:
|
164
|
+
* - `'overwrite'`: overwrite the currently-selected cells
|
165
|
+
* - `'shift_down'`: move currently-selected cells down
|
166
|
+
* - `'shift_right'`: move currently-selected cells to the right
|
167
|
+
*
|
168
|
+
* @type {string}
|
169
|
+
* @default 'overwrite'
|
170
|
+
*/
|
142
171
|
_defineProperty(_assertThisInitialized(_this), "pasteMode", 'overwrite');
|
172
|
+
/**
|
173
|
+
* The UI container for the secondary focusable element.
|
174
|
+
*
|
175
|
+
* @type {HTMLElement}
|
176
|
+
*/
|
143
177
|
_defineProperty(_assertThisInitialized(_this), "uiContainer", _this.hot.rootDocument.body);
|
178
|
+
/**
|
179
|
+
* Shows the "Copy with headers" item in the context menu and extends the context menu with the
|
180
|
+
* `'copy_with_column_headers'` option that can be used for creating custom menus arrangements.
|
181
|
+
*
|
182
|
+
* @type {boolean}
|
183
|
+
* @default false
|
184
|
+
*/
|
144
185
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnHeaders, {
|
145
186
|
writable: true,
|
146
187
|
value: false
|
147
188
|
});
|
189
|
+
/**
|
190
|
+
* Shows the "Copy with group headers" item in the context menu and extends the context menu with the
|
191
|
+
* `'copy_with_column_group headers'` option that can be used for creating custom menus arrangements.
|
192
|
+
*
|
193
|
+
* @type {boolean}
|
194
|
+
* @default false
|
195
|
+
*/
|
148
196
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnGroupHeaders, {
|
149
197
|
writable: true,
|
150
198
|
value: false
|
151
199
|
});
|
200
|
+
/**
|
201
|
+
* Shows the "Copy headers only" item in the context menu and extends the context menu with the
|
202
|
+
* `'copy_column_headers_only'` option that can be used for creating custom menus arrangements.
|
203
|
+
*
|
204
|
+
* @type {boolean}
|
205
|
+
* @default false
|
206
|
+
*/
|
152
207
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _enableCopyColumnHeadersOnly, {
|
153
208
|
writable: true,
|
154
209
|
value: false
|
155
210
|
});
|
211
|
+
/**
|
212
|
+
* Defines the data range to copy. Possible values:
|
213
|
+
* * `'cells-only'` Copy selected cells only;
|
214
|
+
* * `'column-headers-only'` Copy column headers only;
|
215
|
+
* * `'with-all-column-headers'` Copy cells with all column headers;
|
216
|
+
* * `'with-column-headers'` Copy cells with column headers;
|
217
|
+
*
|
218
|
+
* @type {'cells-only' | 'column-headers-only' | 'with-all-column-headers' | 'with-column-headers'}
|
219
|
+
*/
|
156
220
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _copyMode, {
|
157
221
|
writable: true,
|
158
222
|
value: 'cells-only'
|
159
223
|
});
|
224
|
+
/**
|
225
|
+
* Flag that is used to prevent copying when the native shortcut was not pressed.
|
226
|
+
*
|
227
|
+
* @type {boolean}
|
228
|
+
*/
|
160
229
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _isTriggeredByCopy, {
|
161
230
|
writable: true,
|
162
231
|
value: false
|
163
232
|
});
|
233
|
+
/**
|
234
|
+
* Flag that is used to prevent cutting when the native shortcut was not pressed.
|
235
|
+
*
|
236
|
+
* @type {boolean}
|
237
|
+
*/
|
164
238
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _isTriggeredByCut, {
|
165
239
|
writable: true,
|
166
240
|
value: false
|
167
241
|
});
|
242
|
+
/**
|
243
|
+
* Class that helps generate copyable ranges based on the current selection for different copy mode
|
244
|
+
* types.
|
245
|
+
*
|
246
|
+
* @type {CopyableRangesFactory}
|
247
|
+
*/
|
168
248
|
_classPrivateFieldInitSpec(_assertThisInitialized(_this), _copyableRangesFactory, {
|
169
249
|
writable: true,
|
170
250
|
value: new CopyableRangesFactory({
|
@@ -185,7 +265,19 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
185
265
|
}
|
186
266
|
})
|
187
267
|
});
|
268
|
+
/**
|
269
|
+
* Ranges of the cells coordinates, which should be used to copy/cut/paste actions.
|
270
|
+
*
|
271
|
+
* @private
|
272
|
+
* @type {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>}
|
273
|
+
*/
|
188
274
|
_defineProperty(_assertThisInitialized(_this), "copyableRanges", []);
|
275
|
+
/**
|
276
|
+
* Provides focusable element to support IME and copy/paste/cut actions.
|
277
|
+
*
|
278
|
+
* @private
|
279
|
+
* @type {FocusableWrapper}
|
280
|
+
*/
|
189
281
|
_defineProperty(_assertThisInitialized(_this), "focusableElement", void 0);
|
190
282
|
return _this;
|
191
283
|
}
|
@@ -494,15 +586,6 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
494
586
|
var _this$hot$getActiveEd2;
|
495
587
|
return (_this$hot$getActiveEd2 = this.hot.getActiveEditor()) === null || _this$hot$getActiveEd2 === void 0 ? void 0 : _this$hot$getActiveEd2.isOpened();
|
496
588
|
}
|
497
|
-
|
498
|
-
/**
|
499
|
-
* Counts how many column headers will be copied based on the passed range.
|
500
|
-
*
|
501
|
-
* @private
|
502
|
-
* @param {Array<{startRow: number, startCol: number, endRow: number, endCol: number}>} ranges Array of objects with properties `startRow`, `startCol`, `endRow` and `endCol`.
|
503
|
-
* @returns {{ columnHeadersCount: number }} Returns an object with keys that holds
|
504
|
-
* information with the number of copied headers.
|
505
|
-
*/
|
506
589
|
}, {
|
507
590
|
key: "populateValues",
|
508
591
|
value:
|
@@ -788,13 +871,6 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
788
871
|
get: function get() {
|
789
872
|
return PLUGIN_PRIORITY;
|
790
873
|
}
|
791
|
-
|
792
|
-
/**
|
793
|
-
* The maximum number of columns than can be copied to the clipboard.
|
794
|
-
*
|
795
|
-
* @type {number}
|
796
|
-
* @default Infinity
|
797
|
-
*/
|
798
874
|
}]);
|
799
875
|
return CopyPaste;
|
800
876
|
}(BasePlugin);
|
@@ -33,6 +33,13 @@ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) {
|
|
33
33
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
34
34
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
35
35
|
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; } }
|
36
|
+
/**
|
37
|
+
* The utils class produces the selection ranges in the `{startRow, startCol, endRow, endCol}` format
|
38
|
+
* based on the current table selection. The CopyPaste plugin consumes that ranges to generate
|
39
|
+
* appropriate data ready to copy to the clipboard.
|
40
|
+
*
|
41
|
+
* @private
|
42
|
+
*/
|
36
43
|
var _selectedRange = /*#__PURE__*/new WeakMap();
|
37
44
|
var _countRows = /*#__PURE__*/new WeakMap();
|
38
45
|
var _countColumns = /*#__PURE__*/new WeakMap();
|
@@ -41,38 +48,7 @@ var _columnsLimit = /*#__PURE__*/new WeakMap();
|
|
41
48
|
var _countColumnHeaders = /*#__PURE__*/new WeakMap();
|
42
49
|
var _trimColumnsRange = /*#__PURE__*/new WeakSet();
|
43
50
|
var _trimRowsRange = /*#__PURE__*/new WeakSet();
|
44
|
-
/**
|
45
|
-
* The utils class produces the selection ranges in the `{startRow, startCol, endRow, endCol}` format
|
46
|
-
* based on the current table selection. The CopyPaste plugin consumes that ranges to generate
|
47
|
-
* appropriate data ready to copy to the clipboard.
|
48
|
-
*
|
49
|
-
* @private
|
50
|
-
*/
|
51
51
|
var CopyableRangesFactory = /*#__PURE__*/function () {
|
52
|
-
/**
|
53
|
-
* @type {CellRange}
|
54
|
-
*/
|
55
|
-
|
56
|
-
/**
|
57
|
-
* @type {function(): number}
|
58
|
-
*/
|
59
|
-
|
60
|
-
/**
|
61
|
-
* @type {function(): number}
|
62
|
-
*/
|
63
|
-
|
64
|
-
/**
|
65
|
-
* @type {function(): number}
|
66
|
-
*/
|
67
|
-
|
68
|
-
/**
|
69
|
-
* @type {function(): number}
|
70
|
-
*/
|
71
|
-
|
72
|
-
/**
|
73
|
-
* @type {function(): number}
|
74
|
-
*/
|
75
|
-
|
76
52
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
77
53
|
/**
|
78
54
|
* @param {{
|
@@ -90,28 +66,60 @@ var CopyableRangesFactory = /*#__PURE__*/function () {
|
|
90
66
|
columnsLimit = _ref.columnsLimit,
|
91
67
|
countColumnHeaders = _ref.countColumnHeaders;
|
92
68
|
_classCallCheck(this, CopyableRangesFactory);
|
69
|
+
/**
|
70
|
+
* Trimmed the rows range to the limit.
|
71
|
+
*
|
72
|
+
* @param {*} startRow The lowest row index in the range.
|
73
|
+
* @param {*} endRow The highest row index in the range.
|
74
|
+
* @returns {number} Returns trimmed row index if it exceeds the limit.
|
75
|
+
*/
|
93
76
|
_classPrivateMethodInitSpec(this, _trimRowsRange);
|
77
|
+
/**
|
78
|
+
* Trimmed the columns range to the limit.
|
79
|
+
*
|
80
|
+
* @param {*} startColumn The lowest column index in the range.
|
81
|
+
* @param {*} endColumn The highest column index in the range.
|
82
|
+
* @returns {number} Returns trimmed column index if it exceeds the limit.
|
83
|
+
*/
|
94
84
|
_classPrivateMethodInitSpec(this, _trimColumnsRange);
|
85
|
+
/**
|
86
|
+
* @type {CellRange}
|
87
|
+
*/
|
95
88
|
_classPrivateFieldInitSpec(this, _selectedRange, {
|
96
89
|
writable: true,
|
97
90
|
value: void 0
|
98
91
|
});
|
92
|
+
/**
|
93
|
+
* @type {function(): number}
|
94
|
+
*/
|
99
95
|
_classPrivateFieldInitSpec(this, _countRows, {
|
100
96
|
writable: true,
|
101
97
|
value: void 0
|
102
98
|
});
|
99
|
+
/**
|
100
|
+
* @type {function(): number}
|
101
|
+
*/
|
103
102
|
_classPrivateFieldInitSpec(this, _countColumns, {
|
104
103
|
writable: true,
|
105
104
|
value: void 0
|
106
105
|
});
|
106
|
+
/**
|
107
|
+
* @type {function(): number}
|
108
|
+
*/
|
107
109
|
_classPrivateFieldInitSpec(this, _rowsLimit, {
|
108
110
|
writable: true,
|
109
111
|
value: void 0
|
110
112
|
});
|
113
|
+
/**
|
114
|
+
* @type {function(): number}
|
115
|
+
*/
|
111
116
|
_classPrivateFieldInitSpec(this, _columnsLimit, {
|
112
117
|
writable: true,
|
113
118
|
value: void 0
|
114
119
|
});
|
120
|
+
/**
|
121
|
+
* @type {function(): number}
|
122
|
+
*/
|
115
123
|
_classPrivateFieldInitSpec(this, _countColumnHeaders, {
|
116
124
|
writable: true,
|
117
125
|
value: void 0
|
@@ -218,14 +226,6 @@ var CopyableRangesFactory = /*#__PURE__*/function () {
|
|
218
226
|
endCol: finalEndCol
|
219
227
|
};
|
220
228
|
}
|
221
|
-
|
222
|
-
/**
|
223
|
-
* Trimmed the columns range to the limit.
|
224
|
-
*
|
225
|
-
* @param {*} startColumn The lowest column index in the range.
|
226
|
-
* @param {*} endColumn The highest column index in the range.
|
227
|
-
* @returns {number} Returns trimmed column index if it exceeds the limit.
|
228
|
-
*/
|
229
229
|
}]);
|
230
230
|
return CopyableRangesFactory;
|
231
231
|
}();
|
@@ -44,30 +44,6 @@ var _countColumnHeaders = /*#__PURE__*/new WeakMap();
|
|
44
44
|
var _trimColumnsRange = /*#__PURE__*/new WeakSet();
|
45
45
|
var _trimRowsRange = /*#__PURE__*/new WeakSet();
|
46
46
|
export var CopyableRangesFactory = /*#__PURE__*/function () {
|
47
|
-
/**
|
48
|
-
* @type {CellRange}
|
49
|
-
*/
|
50
|
-
|
51
|
-
/**
|
52
|
-
* @type {function(): number}
|
53
|
-
*/
|
54
|
-
|
55
|
-
/**
|
56
|
-
* @type {function(): number}
|
57
|
-
*/
|
58
|
-
|
59
|
-
/**
|
60
|
-
* @type {function(): number}
|
61
|
-
*/
|
62
|
-
|
63
|
-
/**
|
64
|
-
* @type {function(): number}
|
65
|
-
*/
|
66
|
-
|
67
|
-
/**
|
68
|
-
* @type {function(): number}
|
69
|
-
*/
|
70
|
-
|
71
47
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
72
48
|
/**
|
73
49
|
* @param {{
|
@@ -85,28 +61,60 @@ export var CopyableRangesFactory = /*#__PURE__*/function () {
|
|
85
61
|
columnsLimit = _ref.columnsLimit,
|
86
62
|
countColumnHeaders = _ref.countColumnHeaders;
|
87
63
|
_classCallCheck(this, CopyableRangesFactory);
|
64
|
+
/**
|
65
|
+
* Trimmed the rows range to the limit.
|
66
|
+
*
|
67
|
+
* @param {*} startRow The lowest row index in the range.
|
68
|
+
* @param {*} endRow The highest row index in the range.
|
69
|
+
* @returns {number} Returns trimmed row index if it exceeds the limit.
|
70
|
+
*/
|
88
71
|
_classPrivateMethodInitSpec(this, _trimRowsRange);
|
72
|
+
/**
|
73
|
+
* Trimmed the columns range to the limit.
|
74
|
+
*
|
75
|
+
* @param {*} startColumn The lowest column index in the range.
|
76
|
+
* @param {*} endColumn The highest column index in the range.
|
77
|
+
* @returns {number} Returns trimmed column index if it exceeds the limit.
|
78
|
+
*/
|
89
79
|
_classPrivateMethodInitSpec(this, _trimColumnsRange);
|
80
|
+
/**
|
81
|
+
* @type {CellRange}
|
82
|
+
*/
|
90
83
|
_classPrivateFieldInitSpec(this, _selectedRange, {
|
91
84
|
writable: true,
|
92
85
|
value: void 0
|
93
86
|
});
|
87
|
+
/**
|
88
|
+
* @type {function(): number}
|
89
|
+
*/
|
94
90
|
_classPrivateFieldInitSpec(this, _countRows, {
|
95
91
|
writable: true,
|
96
92
|
value: void 0
|
97
93
|
});
|
94
|
+
/**
|
95
|
+
* @type {function(): number}
|
96
|
+
*/
|
98
97
|
_classPrivateFieldInitSpec(this, _countColumns, {
|
99
98
|
writable: true,
|
100
99
|
value: void 0
|
101
100
|
});
|
101
|
+
/**
|
102
|
+
* @type {function(): number}
|
103
|
+
*/
|
102
104
|
_classPrivateFieldInitSpec(this, _rowsLimit, {
|
103
105
|
writable: true,
|
104
106
|
value: void 0
|
105
107
|
});
|
108
|
+
/**
|
109
|
+
* @type {function(): number}
|
110
|
+
*/
|
106
111
|
_classPrivateFieldInitSpec(this, _columnsLimit, {
|
107
112
|
writable: true,
|
108
113
|
value: void 0
|
109
114
|
});
|
115
|
+
/**
|
116
|
+
* @type {function(): number}
|
117
|
+
*/
|
110
118
|
_classPrivateFieldInitSpec(this, _countColumnHeaders, {
|
111
119
|
writable: true,
|
112
120
|
value: void 0
|
@@ -213,14 +221,6 @@ export var CopyableRangesFactory = /*#__PURE__*/function () {
|
|
213
221
|
endCol: finalEndCol
|
214
222
|
};
|
215
223
|
}
|
216
|
-
|
217
|
-
/**
|
218
|
-
* Trimmed the columns range to the limit.
|
219
|
-
*
|
220
|
-
* @param {*} startColumn The lowest column index in the range.
|
221
|
-
* @param {*} endColumn The highest column index in the range.
|
222
|
-
* @returns {number} Returns trimmed column index if it exceeds the limit.
|
223
|
-
*/
|
224
224
|
}]);
|
225
225
|
return CopyableRangesFactory;
|
226
226
|
}();
|
@@ -14,6 +14,8 @@ export interface BorderRange {
|
|
14
14
|
};
|
15
15
|
}
|
16
16
|
export type DetailedSettings = (SimpleCellCoords | BorderRange) & {
|
17
|
+
start?: BorderOptions | string;
|
18
|
+
end?: BorderOptions | string;
|
17
19
|
left?: BorderOptions | string;
|
18
20
|
right?: BorderOptions | string;
|
19
21
|
top?: BorderOptions | string;
|
@@ -129,6 +129,12 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
129
129
|
args[_key] = arguments[_key];
|
130
130
|
}
|
131
131
|
_this = _super.call.apply(_super, [this].concat(args));
|
132
|
+
/**
|
133
|
+
* Saved borders.
|
134
|
+
*
|
135
|
+
* @private
|
136
|
+
* @type {Array}
|
137
|
+
*/
|
132
138
|
_defineProperty(_assertThisInitialized(_this), "savedBorders", []);
|
133
139
|
return _this;
|
134
140
|
}
|
@@ -879,13 +885,6 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
879
885
|
get: function get() {
|
880
886
|
return PLUGIN_PRIORITY;
|
881
887
|
}
|
882
|
-
|
883
|
-
/**
|
884
|
-
* Saved borders.
|
885
|
-
*
|
886
|
-
* @private
|
887
|
-
* @type {Array}
|
888
|
-
*/
|
889
888
|
}]);
|
890
889
|
return CustomBorders;
|
891
890
|
}(_base.BasePlugin);
|