handsontable 0.0.0-next-06a64be-20230621 → 0.0.0-next-d1c8e0e-20230621
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.d.ts +6 -1
- package/3rdparty/walkontable/src/cell/coords.js +61 -12
- package/3rdparty/walkontable/src/cell/coords.mjs +61 -12
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +44 -7
- package/3rdparty/walkontable/src/cell/range.mjs +44 -7
- 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 +7 -7
- package/3rdparty/walkontable/src/event.mjs +7 -7
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +10 -2
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -4
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
- package/3rdparty/walkontable/src/overlay/top.js +2 -4
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -4
- 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 +329 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +323 -0
- package/3rdparty/walkontable/src/selection/scanner.js +364 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +360 -0
- package/3rdparty/walkontable/src/selection/selection.js +133 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +127 -0
- 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 +7 -79
- package/3rdparty/walkontable/src/table.mjs +8 -80
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +5 -3
- package/core.js +127 -309
- package/core.mjs +127 -309
- package/dataMap/metaManager/metaSchema.js +19 -0
- package/dataMap/metaManager/metaSchema.mjs +19 -0
- package/dist/handsontable.css +8 -3
- package/dist/handsontable.full.css +8 -3
- package/dist/handsontable.full.js +13658 -10651
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +112 -112
- package/dist/handsontable.js +16566 -13559
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +4 -4
- package/editorManager.js +21 -94
- package/editorManager.mjs +26 -98
- package/editors/textEditor/textEditor.js +3 -11
- package/editors/textEditor/textEditor.mjs +4 -12
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/package.json +1 -1
- package/pluginHooks.d.ts +5 -1
- package/pluginHooks.js +89 -1
- package/pluginHooks.mjs +89 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +81 -24
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +81 -24
- package/plugins/columnSorting/columnSorting.js +50 -8
- package/plugins/columnSorting/columnSorting.mjs +49 -9
- package/plugins/columnSorting/index.js +4 -2
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/comments.js +11 -4
- package/plugins/comments/comments.mjs +11 -4
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +80 -29
- package/plugins/contextMenu/contextMenu.mjs +81 -30
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/utils.js +25 -16
- package/plugins/contextMenu/utils.mjs +24 -15
- package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
- package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +5 -1
- package/plugins/copyPaste/copyPaste.mjs +5 -1
- package/plugins/customBorders/customBorders.js +25 -53
- package/plugins/customBorders/customBorders.mjs +26 -54
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +94 -30
- package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
- package/plugins/filters/filters.js +62 -42
- package/plugins/filters/filters.mjs +61 -41
- package/plugins/mergeCells/mergeCells.js +5 -18
- package/plugins/mergeCells/mergeCells.mjs +5 -18
- package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
- package/plugins/nestedHeaders/nestedHeaders.js +132 -10
- package/plugins/nestedHeaders/nestedHeaders.mjs +132 -10
- package/plugins/nestedHeaders/stateManager/index.js +37 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
- package/plugins/nestedRows/nestedRows.js +52 -7
- package/plugins/nestedRows/nestedRows.mjs +52 -7
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +312 -89
- package/selection/highlight/highlight.mjs +302 -85
- 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 +31 -27
- package/selection/highlight/visualSelection.mjs +31 -27
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/mouseEventHandler.js +1 -1
- package/selection/mouseEventHandler.mjs +1 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +315 -181
- package/selection/selection.mjs +310 -180
- package/selection/transformation.js +233 -96
- package/selection/transformation.mjs +230 -93
- package/selection/utils.js +12 -36
- package/selection/utils.mjs +13 -36
- package/settings.d.ts +1 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +29 -0
- package/shortcutContexts/commands/editor/open.mjs +24 -0
- package/shortcutContexts/commands/emptySelectedCells.js +12 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/index.js +52 -0
- package/shortcutContexts/commands/index.mjs +48 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +6 -0
- package/shortcutContexts/constants.js +19 -0
- package/shortcutContexts/constants.mjs +12 -0
- package/shortcutContexts/editor.js +29 -0
- package/shortcutContexts/editor.mjs +25 -0
- package/shortcutContexts/grid.js +247 -0
- package/shortcutContexts/grid.mjs +243 -0
- package/shortcutContexts/index.js +29 -0
- package/shortcutContexts/index.mjs +15 -0
- package/shortcuts/manager.js +2 -0
- package/shortcuts/manager.mjs +2 -0
- package/shortcuts/recorder.js +2 -2
- package/shortcuts/recorder.mjs +2 -2
- package/shortcuts/utils.js +21 -5
- package/shortcuts/utils.mjs +20 -4
- package/tableView.js +58 -9
- package/tableView.mjs +58 -9
- package/translations/indexMapper.js +8 -9
- package/translations/indexMapper.mjs +8 -9
- package/3rdparty/walkontable/src/selection.js +0 -355
- package/3rdparty/walkontable/src/selection.mjs +0 -349
- package/selection/highlight/constants.js +0 -16
- package/selection/highlight/constants.mjs +0 -6
@@ -53,21 +53,6 @@ export function isSelectionDisabled(cell) {
|
|
53
53
|
return hasClass(cell, 'htSelectionDisabled');
|
54
54
|
}
|
55
55
|
|
56
|
-
/**
|
57
|
-
* @param {Core} hot The Handsontable instance.
|
58
|
-
* @returns {Array[]|null}
|
59
|
-
*/
|
60
|
-
export function getValidSelection(hot) {
|
61
|
-
var selected = hot.getSelected();
|
62
|
-
if (!selected) {
|
63
|
-
return null;
|
64
|
-
}
|
65
|
-
if (selected[0] < 0) {
|
66
|
-
return null;
|
67
|
-
}
|
68
|
-
return selected;
|
69
|
-
}
|
70
|
-
|
71
56
|
/**
|
72
57
|
* @param {string} className The full element class name to process.
|
73
58
|
* @param {string} alignment The slignment class name to compare with.
|
@@ -258,4 +243,28 @@ export function filterSeparators(items) {
|
|
258
243
|
result = popSeparators(result, separator);
|
259
244
|
result = removeDuplicatedSeparators(result);
|
260
245
|
return result;
|
246
|
+
}
|
247
|
+
|
248
|
+
/**
|
249
|
+
* Returns document offset based on the passed element. If the document objects between element and the
|
250
|
+
* base document are not the same the offset as top and left properties will be returned.
|
251
|
+
*
|
252
|
+
* @param {Element} elementToCheck The element to compare with Document object.
|
253
|
+
* @param {Document} baseDocument The base Document object.
|
254
|
+
* @returns {{ top: number, left: number }}
|
255
|
+
*/
|
256
|
+
export function getDocumentOffsetByElement(elementToCheck, baseDocument) {
|
257
|
+
var offset = {
|
258
|
+
top: 0,
|
259
|
+
left: 0
|
260
|
+
};
|
261
|
+
if (baseDocument !== elementToCheck.ownerDocument) {
|
262
|
+
var frameElement = baseDocument.defaultView.frameElement;
|
263
|
+
var _frameElement$getBoun = frameElement.getBoundingClientRect(),
|
264
|
+
top = _frameElement$getBoun.top,
|
265
|
+
left = _frameElement$getBoun.left;
|
266
|
+
offset.top = top;
|
267
|
+
offset.left = left;
|
268
|
+
}
|
269
|
+
return offset;
|
261
270
|
}
|
@@ -20,6 +20,13 @@ function copyItem(copyPastePlugin) {
|
|
20
20
|
if (this.countRows() === 0 || this.countCols() === 0) {
|
21
21
|
return true;
|
22
22
|
}
|
23
|
+
var range = this.getSelectedRangeLast();
|
24
|
+
if (!range) {
|
25
|
+
return true;
|
26
|
+
}
|
27
|
+
if (range.isSingleHeader()) {
|
28
|
+
return true;
|
29
|
+
}
|
23
30
|
var selected = this.getSelected();
|
24
31
|
|
25
32
|
// Disable for no selection or for non-contiguous selection.
|
@@ -16,6 +16,13 @@ export default function copyItem(copyPastePlugin) {
|
|
16
16
|
if (this.countRows() === 0 || this.countCols() === 0) {
|
17
17
|
return true;
|
18
18
|
}
|
19
|
+
var range = this.getSelectedRangeLast();
|
20
|
+
if (!range) {
|
21
|
+
return true;
|
22
|
+
}
|
23
|
+
if (range.isSingleHeader()) {
|
24
|
+
return true;
|
25
|
+
}
|
19
26
|
var selected = this.getSelected();
|
20
27
|
|
21
28
|
// Disable for no selection or for non-contiguous selection.
|
@@ -3,6 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.default = copyColumnHeadersOnlyItem;
|
5
5
|
var _constants = require("../../../i18n/constants");
|
6
|
+
var _number = require("../../../helpers/number");
|
6
7
|
/**
|
7
8
|
* @param {CopyPaste} copyPastePlugin The plugin instance.
|
8
9
|
* @returns {object}
|
@@ -12,7 +13,7 @@ function copyColumnHeadersOnlyItem(copyPastePlugin) {
|
|
12
13
|
key: 'copy_column_headers_only',
|
13
14
|
name: function name() {
|
14
15
|
var selectedRange = this.getSelectedRangeLast();
|
15
|
-
var nounForm = selectedRange ?
|
16
|
+
var nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
|
16
17
|
return this.getTranslatedPhrase(_constants.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY, nounForm);
|
17
18
|
},
|
18
19
|
callback: function callback() {
|
@@ -22,6 +23,13 @@ function copyColumnHeadersOnlyItem(copyPastePlugin) {
|
|
22
23
|
if (!this.hasColHeaders()) {
|
23
24
|
return true;
|
24
25
|
}
|
26
|
+
var range = this.getSelectedRangeLast();
|
27
|
+
if (!range) {
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
if (range.isSingleHeader()) {
|
31
|
+
return true;
|
32
|
+
}
|
25
33
|
var selected = this.getSelected();
|
26
34
|
|
27
35
|
// Disable for no selection or for non-contiguous selection.
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY } from "../../../i18n/constants.mjs";
|
2
|
+
import { clamp } from "../../../helpers/number.mjs";
|
2
3
|
/**
|
3
4
|
* @param {CopyPaste} copyPastePlugin The plugin instance.
|
4
5
|
* @returns {object}
|
@@ -8,7 +9,7 @@ export default function copyColumnHeadersOnlyItem(copyPastePlugin) {
|
|
8
9
|
key: 'copy_column_headers_only',
|
9
10
|
name: function name() {
|
10
11
|
var selectedRange = this.getSelectedRangeLast();
|
11
|
-
var nounForm = selectedRange ?
|
12
|
+
var nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
|
12
13
|
return this.getTranslatedPhrase(CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY, nounForm);
|
13
14
|
},
|
14
15
|
callback: function callback() {
|
@@ -18,6 +19,13 @@ export default function copyColumnHeadersOnlyItem(copyPastePlugin) {
|
|
18
19
|
if (!this.hasColHeaders()) {
|
19
20
|
return true;
|
20
21
|
}
|
22
|
+
var range = this.getSelectedRangeLast();
|
23
|
+
if (!range) {
|
24
|
+
return true;
|
25
|
+
}
|
26
|
+
if (range.isSingleHeader()) {
|
27
|
+
return true;
|
28
|
+
}
|
21
29
|
var selected = this.getSelected();
|
22
30
|
|
23
31
|
// Disable for no selection or for non-contiguous selection.
|
@@ -3,6 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.default = copyWithColumnGroupHeadersItem;
|
5
5
|
var _constants = require("../../../i18n/constants");
|
6
|
+
var _number = require("../../../helpers/number");
|
6
7
|
/**
|
7
8
|
* @param {CopyPaste} copyPastePlugin The plugin instance.
|
8
9
|
* @returns {object}
|
@@ -12,7 +13,7 @@ function copyWithColumnGroupHeadersItem(copyPastePlugin) {
|
|
12
13
|
key: 'copy_with_column_group_headers',
|
13
14
|
name: function name() {
|
14
15
|
var selectedRange = this.getSelectedRangeLast();
|
15
|
-
var nounForm = selectedRange ?
|
16
|
+
var nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
|
16
17
|
return this.getTranslatedPhrase(_constants.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS, nounForm);
|
17
18
|
},
|
18
19
|
callback: function callback() {
|
@@ -22,6 +23,13 @@ function copyWithColumnGroupHeadersItem(copyPastePlugin) {
|
|
22
23
|
if (!this.hasColHeaders() || !this.getSettings().nestedHeaders) {
|
23
24
|
return true;
|
24
25
|
}
|
26
|
+
var range = this.getSelectedRangeLast();
|
27
|
+
if (!range) {
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
if (range.isSingleHeader()) {
|
31
|
+
return true;
|
32
|
+
}
|
25
33
|
var selected = this.getSelected();
|
26
34
|
|
27
35
|
// Disable for no selection or for non-contiguous selection.
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS } from "../../../i18n/constants.mjs";
|
2
|
+
import { clamp } from "../../../helpers/number.mjs";
|
2
3
|
/**
|
3
4
|
* @param {CopyPaste} copyPastePlugin The plugin instance.
|
4
5
|
* @returns {object}
|
@@ -8,7 +9,7 @@ export default function copyWithColumnGroupHeadersItem(copyPastePlugin) {
|
|
8
9
|
key: 'copy_with_column_group_headers',
|
9
10
|
name: function name() {
|
10
11
|
var selectedRange = this.getSelectedRangeLast();
|
11
|
-
var nounForm = selectedRange ?
|
12
|
+
var nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
|
12
13
|
return this.getTranslatedPhrase(CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS, nounForm);
|
13
14
|
},
|
14
15
|
callback: function callback() {
|
@@ -18,6 +19,13 @@ export default function copyWithColumnGroupHeadersItem(copyPastePlugin) {
|
|
18
19
|
if (!this.hasColHeaders() || !this.getSettings().nestedHeaders) {
|
19
20
|
return true;
|
20
21
|
}
|
22
|
+
var range = this.getSelectedRangeLast();
|
23
|
+
if (!range) {
|
24
|
+
return true;
|
25
|
+
}
|
26
|
+
if (range.isSingleHeader()) {
|
27
|
+
return true;
|
28
|
+
}
|
21
29
|
var selected = this.getSelected();
|
22
30
|
|
23
31
|
// Disable for no selection or for non-contiguous selection.
|
@@ -3,6 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.default = copyWithColumnHeadersItem;
|
5
5
|
var _constants = require("../../../i18n/constants");
|
6
|
+
var _number = require("../../../helpers/number");
|
6
7
|
/**
|
7
8
|
* @param {CopyPaste} copyPastePlugin The plugin instance.
|
8
9
|
* @returns {object}
|
@@ -12,7 +13,7 @@ function copyWithColumnHeadersItem(copyPastePlugin) {
|
|
12
13
|
key: 'copy_with_column_headers',
|
13
14
|
name: function name() {
|
14
15
|
var selectedRange = this.getSelectedRangeLast();
|
15
|
-
var nounForm = selectedRange ?
|
16
|
+
var nounForm = selectedRange ? (0, _number.clamp)(selectedRange.getWidth() - 1, 0, 1) : 0;
|
16
17
|
return this.getTranslatedPhrase(_constants.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS, nounForm);
|
17
18
|
},
|
18
19
|
callback: function callback() {
|
@@ -22,6 +23,13 @@ function copyWithColumnHeadersItem(copyPastePlugin) {
|
|
22
23
|
if (!this.hasColHeaders()) {
|
23
24
|
return true;
|
24
25
|
}
|
26
|
+
var range = this.getSelectedRangeLast();
|
27
|
+
if (!range) {
|
28
|
+
return true;
|
29
|
+
}
|
30
|
+
if (range.isSingleHeader()) {
|
31
|
+
return true;
|
32
|
+
}
|
25
33
|
var selected = this.getSelected();
|
26
34
|
|
27
35
|
// Disable for no selection or for non-contiguous selection.
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS } from "../../../i18n/constants.mjs";
|
2
|
+
import { clamp } from "../../../helpers/number.mjs";
|
2
3
|
/**
|
3
4
|
* @param {CopyPaste} copyPastePlugin The plugin instance.
|
4
5
|
* @returns {object}
|
@@ -8,7 +9,7 @@ export default function copyWithColumnHeadersItem(copyPastePlugin) {
|
|
8
9
|
key: 'copy_with_column_headers',
|
9
10
|
name: function name() {
|
10
11
|
var selectedRange = this.getSelectedRangeLast();
|
11
|
-
var nounForm = selectedRange ?
|
12
|
+
var nounForm = selectedRange ? clamp(selectedRange.getWidth() - 1, 0, 1) : 0;
|
12
13
|
return this.getTranslatedPhrase(CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS, nounForm);
|
13
14
|
},
|
14
15
|
callback: function callback() {
|
@@ -18,6 +19,13 @@ export default function copyWithColumnHeadersItem(copyPastePlugin) {
|
|
18
19
|
if (!this.hasColHeaders()) {
|
19
20
|
return true;
|
20
21
|
}
|
22
|
+
var range = this.getSelectedRangeLast();
|
23
|
+
if (!range) {
|
24
|
+
return true;
|
25
|
+
}
|
26
|
+
if (range.isSingleHeader()) {
|
27
|
+
return true;
|
28
|
+
}
|
21
29
|
var selected = this.getSelected();
|
22
30
|
|
23
31
|
// Disable for no selection or for non-contiguous selection.
|
@@ -32,6 +32,13 @@ function cutItem(copyPastePlugin) {
|
|
32
32
|
if (this.countRows() === 0 || this.countCols() === 0) {
|
33
33
|
return true;
|
34
34
|
}
|
35
|
+
var range = this.getSelectedRangeLast();
|
36
|
+
if (!range) {
|
37
|
+
return true;
|
38
|
+
}
|
39
|
+
if (range.isSingleHeader()) {
|
40
|
+
return true;
|
41
|
+
}
|
35
42
|
var selected = this.getSelected();
|
36
43
|
|
37
44
|
// Disable for no selection or for non-contiquous selection.
|
@@ -16,6 +16,13 @@ export default function cutItem(copyPastePlugin) {
|
|
16
16
|
if (this.countRows() === 0 || this.countCols() === 0) {
|
17
17
|
return true;
|
18
18
|
}
|
19
|
+
var range = this.getSelectedRangeLast();
|
20
|
+
if (!range) {
|
21
|
+
return true;
|
22
|
+
}
|
23
|
+
if (range.isSingleHeader()) {
|
24
|
+
return true;
|
25
|
+
}
|
19
26
|
var selected = this.getSelected();
|
20
27
|
|
21
28
|
// Disable for no selection or for non-contiquous selection.
|
@@ -528,6 +528,10 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
528
528
|
if (!selectionRange) {
|
529
529
|
return;
|
530
530
|
}
|
531
|
+
if (selectionRange.isSingleHeader()) {
|
532
|
+
this.copyableRanges = [];
|
533
|
+
return;
|
534
|
+
}
|
531
535
|
_classPrivateFieldGet(this, _copyableRangesFactory).setSelectedRange(selectionRange);
|
532
536
|
var groupedRanges = new Map([['headers', null], ['cells', null]]);
|
533
537
|
if (_classPrivateFieldGet(this, _copyMode) === 'column-headers-only') {
|
@@ -756,7 +760,7 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
756
760
|
if (typeof pastedData === 'string') {
|
757
761
|
pastedData = (0, _SheetClip.parse)(pastedData);
|
758
762
|
}
|
759
|
-
if (pastedData && pastedData.length === 0) {
|
763
|
+
if (pastedData === void 0 || pastedData && pastedData.length === 0) {
|
760
764
|
return;
|
761
765
|
}
|
762
766
|
if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
|
@@ -521,6 +521,10 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
521
521
|
if (!selectionRange) {
|
522
522
|
return;
|
523
523
|
}
|
524
|
+
if (selectionRange.isSingleHeader()) {
|
525
|
+
this.copyableRanges = [];
|
526
|
+
return;
|
527
|
+
}
|
524
528
|
_classPrivateFieldGet(this, _copyableRangesFactory).setSelectedRange(selectionRange);
|
525
529
|
var groupedRanges = new Map([['headers', null], ['cells', null]]);
|
526
530
|
if (_classPrivateFieldGet(this, _copyMode) === 'column-headers-only') {
|
@@ -749,7 +753,7 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
749
753
|
if (typeof pastedData === 'string') {
|
750
754
|
pastedData = parse(pastedData);
|
751
755
|
}
|
752
|
-
if (pastedData && pastedData.length === 0) {
|
756
|
+
if (pastedData === void 0 || pastedData && pastedData.length === 0) {
|
753
757
|
return;
|
754
758
|
}
|
755
759
|
if (this.hot.runHooks('beforePaste', pastedData, this.copyableRanges) === false) {
|
@@ -9,11 +9,6 @@ require("core-js/modules/es.symbol.iterator.js");
|
|
9
9
|
require("core-js/modules/es.array.iterator.js");
|
10
10
|
require("core-js/modules/es.string.iterator.js");
|
11
11
|
require("core-js/modules/web.dom-collections.iterator.js");
|
12
|
-
require("core-js/modules/es.array.slice.js");
|
13
|
-
require("core-js/modules/es.regexp.to-string.js");
|
14
|
-
require("core-js/modules/es.function.name.js");
|
15
|
-
require("core-js/modules/es.array.from.js");
|
16
|
-
require("core-js/modules/es.regexp.exec.js");
|
17
12
|
require("core-js/modules/es.weak-map.js");
|
18
13
|
exports.__esModule = true;
|
19
14
|
exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.CustomBorders = void 0;
|
@@ -39,12 +34,6 @@ var _selection = require("../../selection");
|
|
39
34
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
40
35
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
41
36
|
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); }
|
42
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
43
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
44
|
-
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); }
|
45
|
-
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; }
|
46
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
47
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
48
37
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
49
38
|
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); } }
|
50
39
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -230,25 +219,11 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
230
219
|
var selectionType = (0, _selection.detectSelectionType)(selectionRanges);
|
231
220
|
var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
|
232
221
|
(0, _array.arrayEach)(selectionRanges, function (selection) {
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
columnEnd = _selectionSchemaNorma2[3];
|
239
|
-
var _loop = function _loop(row) {
|
240
|
-
var _loop2 = function _loop2(col) {
|
241
|
-
(0, _array.arrayEach)(borderKeys, function (borderKey) {
|
242
|
-
_this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
|
243
|
-
});
|
244
|
-
};
|
245
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
246
|
-
_loop2(col);
|
247
|
-
}
|
248
|
-
};
|
249
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
250
|
-
_loop(row);
|
251
|
-
}
|
222
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
223
|
+
(0, _array.arrayEach)(borderKeys, function (borderKey) {
|
224
|
+
_this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
|
225
|
+
});
|
226
|
+
});
|
252
227
|
});
|
253
228
|
|
254
229
|
/*
|
@@ -291,27 +266,13 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
291
266
|
var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
|
292
267
|
var selectedBorders = [];
|
293
268
|
(0, _array.arrayEach)(selectionRanges, function (selection) {
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
var _loop4 = function _loop4(col) {
|
302
|
-
(0, _array.arrayEach)(_this4.savedBorders, function (border) {
|
303
|
-
if (border.row === row && border.col === col) {
|
304
|
-
selectedBorders.push((0, _utils.denormalizeBorder)(border));
|
305
|
-
}
|
306
|
-
});
|
307
|
-
};
|
308
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
309
|
-
_loop4(col);
|
310
|
-
}
|
311
|
-
};
|
312
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
313
|
-
_loop3(row);
|
314
|
-
}
|
269
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
270
|
+
(0, _array.arrayEach)(_this4.savedBorders, function (border) {
|
271
|
+
if (border.row === row && border.col === col) {
|
272
|
+
selectedBorders.push((0, _utils.denormalizeBorder)(border));
|
273
|
+
}
|
274
|
+
});
|
275
|
+
});
|
315
276
|
});
|
316
277
|
return selectedBorders;
|
317
278
|
}
|
@@ -736,10 +697,12 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
736
697
|
}, {
|
737
698
|
key: "checkCustomSelectionsFromContextMenu",
|
738
699
|
value: function checkCustomSelectionsFromContextMenu(border, place, remove) {
|
700
|
+
var _this12 = this;
|
739
701
|
var check = false;
|
740
702
|
(0, _array.arrayEach)(this.hot.selection.highlight.customSelections, function (customSelection) {
|
741
703
|
if (border.id === customSelection.settings.id) {
|
742
|
-
|
704
|
+
var borders = _this12.hot.view._wt.selectionManager.getBorderInstances(customSelection);
|
705
|
+
(0, _array.arrayEach)(borders, function (borderObject) {
|
743
706
|
borderObject.toggleHiddenClass(place, remove); // TODO this also bad?
|
744
707
|
});
|
745
708
|
|
@@ -764,6 +727,7 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
764
727
|
}, {
|
765
728
|
key: "checkCustomSelections",
|
766
729
|
value: function checkCustomSelections(border, cellRange, place) {
|
730
|
+
var _this13 = this;
|
767
731
|
var hideCount = this.countHide(border);
|
768
732
|
var check = false;
|
769
733
|
if (hideCount === 4) {
|
@@ -775,7 +739,8 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
775
739
|
customSelection.visualCellRange = cellRange;
|
776
740
|
customSelection.commit();
|
777
741
|
if (place) {
|
778
|
-
|
742
|
+
var borders = _this13.hot.view._wt.selectionManager.getBorderInstances(customSelection);
|
743
|
+
(0, _array.arrayEach)(borders, function (borderObject) {
|
779
744
|
borderObject.changeBorderStyle(place, border);
|
780
745
|
});
|
781
746
|
}
|
@@ -849,6 +814,13 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
849
814
|
return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
|
850
815
|
},
|
851
816
|
disabled: function disabled() {
|
817
|
+
var range = this.getSelectedRangeLast();
|
818
|
+
if (!range) {
|
819
|
+
return true;
|
820
|
+
}
|
821
|
+
if (range.isSingleHeader()) {
|
822
|
+
return true;
|
823
|
+
}
|
852
824
|
return this.selection.isSelectedByCorner();
|
853
825
|
},
|
854
826
|
submenu: {
|
@@ -1,10 +1,4 @@
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
5
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
6
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
7
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
8
2
|
import "core-js/modules/es.array.concat.js";
|
9
3
|
import "core-js/modules/es.object.keys.js";
|
10
4
|
import "core-js/modules/es.object.assign.js";
|
@@ -25,11 +19,6 @@ import "core-js/modules/es.symbol.iterator.js";
|
|
25
19
|
import "core-js/modules/es.array.iterator.js";
|
26
20
|
import "core-js/modules/es.string.iterator.js";
|
27
21
|
import "core-js/modules/web.dom-collections.iterator.js";
|
28
|
-
import "core-js/modules/es.array.slice.js";
|
29
|
-
import "core-js/modules/es.regexp.to-string.js";
|
30
|
-
import "core-js/modules/es.function.name.js";
|
31
|
-
import "core-js/modules/es.array.from.js";
|
32
|
-
import "core-js/modules/es.regexp.exec.js";
|
33
22
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
34
23
|
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); } }
|
35
24
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -46,7 +35,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
46
35
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
47
36
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
48
37
|
import { BasePlugin } from "../base/index.mjs";
|
49
|
-
import { hasOwnProperty,
|
38
|
+
import { hasOwnProperty, deepClone } from "../../helpers/object.mjs";
|
50
39
|
import { rangeEach } from "../../helpers/number.mjs";
|
51
40
|
import { arrayEach, arrayReduce, arrayMap } from "../../helpers/array.mjs";
|
52
41
|
import * as C from "../../i18n/constants.mjs";
|
@@ -221,25 +210,11 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
221
210
|
var selectionType = detectSelectionType(selectionRanges);
|
222
211
|
var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
|
223
212
|
arrayEach(selectionRanges, function (selection) {
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
columnEnd = _selectionSchemaNorma2[3];
|
230
|
-
var _loop = function _loop(row) {
|
231
|
-
var _loop2 = function _loop2(col) {
|
232
|
-
arrayEach(borderKeys, function (borderKey) {
|
233
|
-
_this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
|
234
|
-
});
|
235
|
-
};
|
236
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
237
|
-
_loop2(col);
|
238
|
-
}
|
239
|
-
};
|
240
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
241
|
-
_loop(row);
|
242
|
-
}
|
213
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
214
|
+
arrayEach(borderKeys, function (borderKey) {
|
215
|
+
_this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
|
216
|
+
});
|
217
|
+
});
|
243
218
|
});
|
244
219
|
|
245
220
|
/*
|
@@ -282,27 +257,13 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
282
257
|
var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
|
283
258
|
var selectedBorders = [];
|
284
259
|
arrayEach(selectionRanges, function (selection) {
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
var _loop4 = function _loop4(col) {
|
293
|
-
arrayEach(_this4.savedBorders, function (border) {
|
294
|
-
if (border.row === row && border.col === col) {
|
295
|
-
selectedBorders.push(denormalizeBorder(border));
|
296
|
-
}
|
297
|
-
});
|
298
|
-
};
|
299
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
300
|
-
_loop4(col);
|
301
|
-
}
|
302
|
-
};
|
303
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
304
|
-
_loop3(row);
|
305
|
-
}
|
260
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
261
|
+
arrayEach(_this4.savedBorders, function (border) {
|
262
|
+
if (border.row === row && border.col === col) {
|
263
|
+
selectedBorders.push(denormalizeBorder(border));
|
264
|
+
}
|
265
|
+
});
|
266
|
+
});
|
306
267
|
});
|
307
268
|
return selectedBorders;
|
308
269
|
}
|
@@ -727,10 +688,12 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
727
688
|
}, {
|
728
689
|
key: "checkCustomSelectionsFromContextMenu",
|
729
690
|
value: function checkCustomSelectionsFromContextMenu(border, place, remove) {
|
691
|
+
var _this12 = this;
|
730
692
|
var check = false;
|
731
693
|
arrayEach(this.hot.selection.highlight.customSelections, function (customSelection) {
|
732
694
|
if (border.id === customSelection.settings.id) {
|
733
|
-
|
695
|
+
var borders = _this12.hot.view._wt.selectionManager.getBorderInstances(customSelection);
|
696
|
+
arrayEach(borders, function (borderObject) {
|
734
697
|
borderObject.toggleHiddenClass(place, remove); // TODO this also bad?
|
735
698
|
});
|
736
699
|
|
@@ -755,6 +718,7 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
755
718
|
}, {
|
756
719
|
key: "checkCustomSelections",
|
757
720
|
value: function checkCustomSelections(border, cellRange, place) {
|
721
|
+
var _this13 = this;
|
758
722
|
var hideCount = this.countHide(border);
|
759
723
|
var check = false;
|
760
724
|
if (hideCount === 4) {
|
@@ -766,7 +730,8 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
766
730
|
customSelection.visualCellRange = cellRange;
|
767
731
|
customSelection.commit();
|
768
732
|
if (place) {
|
769
|
-
|
733
|
+
var borders = _this13.hot.view._wt.selectionManager.getBorderInstances(customSelection);
|
734
|
+
arrayEach(borders, function (borderObject) {
|
770
735
|
borderObject.changeBorderStyle(place, border);
|
771
736
|
});
|
772
737
|
}
|
@@ -840,6 +805,13 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
840
805
|
return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
|
841
806
|
},
|
842
807
|
disabled: function disabled() {
|
808
|
+
var range = this.getSelectedRangeLast();
|
809
|
+
if (!range) {
|
810
|
+
return true;
|
811
|
+
}
|
812
|
+
if (range.isSingleHeader()) {
|
813
|
+
return true;
|
814
|
+
}
|
843
815
|
return this.selection.isSelectedByCorner();
|
844
816
|
},
|
845
817
|
submenu: {
|
@@ -18,7 +18,7 @@ export class DropdownMenu extends BasePlugin {
|
|
18
18
|
|
19
19
|
constructor(hotInstance: Core);
|
20
20
|
isEnabled(): boolean;
|
21
|
-
open(
|
21
|
+
open(position: { left: number, top: number } | Event, offset?: { above?: number, below?: number, left?: number, right?: number }): void;
|
22
22
|
close(): void;
|
23
23
|
executeCommand(commandName: string, ...params: any): void;
|
24
24
|
}
|