handsontable 0.0.0-next-2b3d6d8-20230623 → 0.0.0-next-c3d199b-20230626
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/CHANGELOG.md +0 -31
- 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 +15283 -12109
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +115 -115
- package/dist/handsontable.js +23364 -20190
- 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 +2 -2
- package/helpers/mixed.mjs +2 -2
- 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/commentEditor.js +1 -0
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +263 -224
- package/plugins/comments/comments.mjs +271 -234
- package/plugins/comments/contextMenuItem/addEditComment.js +51 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +63 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +55 -0
- package/plugins/comments/contextMenuItem/removeComment.js +48 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- 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 +6 -2
- package/plugins/copyPaste/copyPaste.mjs +6 -2
- 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/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 +63 -11
- package/tableView.mjs +63 -11
- package/translations/indexMapper.d.ts +2 -0
- 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
@@ -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') {
|
@@ -731,7 +735,7 @@ var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
731
735
|
}, {
|
732
736
|
key: "onPaste",
|
733
737
|
value: function onPaste(event) {
|
734
|
-
if (!this.hot.isListening() || this.isEditorOpened()) {
|
738
|
+
if (!this.hot.isListening() || this.isEditorOpened() || !this.hot.getSelected()) {
|
735
739
|
return;
|
736
740
|
}
|
737
741
|
if (event && event.preventDefault) {
|
@@ -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') {
|
@@ -724,7 +728,7 @@ export var CopyPaste = /*#__PURE__*/function (_BasePlugin) {
|
|
724
728
|
}, {
|
725
729
|
key: "onPaste",
|
726
730
|
value: function onPaste(event) {
|
727
|
-
if (!this.hot.isListening() || this.isEditorOpened()) {
|
731
|
+
if (!this.hot.isListening() || this.isEditorOpened() || !this.hot.getSelected()) {
|
728
732
|
return;
|
729
733
|
}
|
730
734
|
if (event && event.preventDefault) {
|
@@ -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
|
}
|
@@ -22,7 +22,9 @@ require("core-js/modules/es.object.set-prototype-of.js");
|
|
22
22
|
require("core-js/modules/es.object.get-prototype-of.js");
|
23
23
|
var _base = require("../base");
|
24
24
|
var _array = require("../../helpers/array");
|
25
|
+
var _object = require("../../helpers/object");
|
25
26
|
var _commandExecutor = _interopRequireDefault(require("../contextMenu/commandExecutor"));
|
27
|
+
var _utils = require("../contextMenu/utils");
|
26
28
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
27
29
|
var _element = require("../../helpers/dom/element");
|
28
30
|
var _itemsFactory = _interopRequireDefault(require("../contextMenu/itemsFactory"));
|
@@ -54,6 +56,7 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
|
|
54
56
|
var PLUGIN_PRIORITY = 230;
|
55
57
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
56
58
|
var BUTTON_CLASS_NAME = 'changeType';
|
59
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
57
60
|
|
58
61
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
59
62
|
/**
|
@@ -182,6 +185,7 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
182
185
|
if (typeof settings.callback === 'function') {
|
183
186
|
this.commandExecutor.setCommonCallback(settings.callback);
|
184
187
|
}
|
188
|
+
this.registerShortcuts();
|
185
189
|
_get(_getPrototypeOf(DropdownMenu.prototype), "enablePlugin", this).call(this);
|
186
190
|
this.callOnPluginsReady(function () {
|
187
191
|
_this2.hot.runHooks('afterDropdownMenuDefaultOptions', predefinedItems);
|
@@ -245,9 +249,71 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
245
249
|
if (this.menu) {
|
246
250
|
this.menu.destroy();
|
247
251
|
}
|
252
|
+
this.unregisterShortcuts();
|
248
253
|
_get(_getPrototypeOf(DropdownMenu.prototype), "disablePlugin", this).call(this);
|
249
254
|
}
|
250
255
|
|
256
|
+
/**
|
257
|
+
* Register shortcuts responsible for toggling dropdown menu.
|
258
|
+
*
|
259
|
+
* @private
|
260
|
+
*/
|
261
|
+
}, {
|
262
|
+
key: "registerShortcuts",
|
263
|
+
value: function registerShortcuts() {
|
264
|
+
var _this3 = this;
|
265
|
+
var context = this.hot.getShortcutManager().getContext('grid');
|
266
|
+
var callback = function callback() {
|
267
|
+
var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
|
268
|
+
highlight = _this3$hot$getSelecte.highlight;
|
269
|
+
if ((highlight.isHeader() && highlight.row === -1 || highlight.isCell()) && highlight.col >= 0) {
|
270
|
+
_this3.hot.selectColumns(highlight.col, highlight.col, -1);
|
271
|
+
var _this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast(),
|
272
|
+
from = _this3$hot$getSelecte2.from;
|
273
|
+
var offset = (0, _utils.getDocumentOffsetByElement)(_this3.menu.container, _this3.hot.rootDocument);
|
274
|
+
var target = _this3.hot.getCell(-1, from.col, true);
|
275
|
+
var rect = target.getBoundingClientRect();
|
276
|
+
_this3.open({
|
277
|
+
left: rect.left + offset.left,
|
278
|
+
top: rect.top + target.offsetHeight + offset.top
|
279
|
+
}, {
|
280
|
+
left: rect.width
|
281
|
+
});
|
282
|
+
_this3.hot._registerTimeout(function () {
|
283
|
+
_this3.menu.selectFirstCell();
|
284
|
+
});
|
285
|
+
}
|
286
|
+
};
|
287
|
+
context.addShortcuts([{
|
288
|
+
keys: [['Shift', 'Alt', 'ArrowDown'], ['Shift', 'Enter']],
|
289
|
+
callback: callback,
|
290
|
+
runOnlyIf: function runOnlyIf() {
|
291
|
+
var _this3$hot$getSelecte3;
|
292
|
+
return ((_this3$hot$getSelecte3 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte3 === void 0 ? void 0 : _this3$hot$getSelecte3.highlight.isHeader()) && !_this3.menu.isOpened();
|
293
|
+
},
|
294
|
+
group: SHORTCUTS_GROUP
|
295
|
+
}, {
|
296
|
+
keys: [['Shift', 'Alt', 'ArrowDown']],
|
297
|
+
callback: callback,
|
298
|
+
runOnlyIf: function runOnlyIf() {
|
299
|
+
var _this3$hot$getSelecte4;
|
300
|
+
return ((_this3$hot$getSelecte4 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte4 === void 0 ? void 0 : _this3$hot$getSelecte4.highlight.isCell()) && !_this3.menu.isOpened();
|
301
|
+
},
|
302
|
+
group: SHORTCUTS_GROUP
|
303
|
+
}]);
|
304
|
+
}
|
305
|
+
|
306
|
+
/**
|
307
|
+
* Unregister shortcuts responsible for toggling dropdown menu.
|
308
|
+
*
|
309
|
+
* @private
|
310
|
+
*/
|
311
|
+
}, {
|
312
|
+
key: "unregisterShortcuts",
|
313
|
+
value: function unregisterShortcuts() {
|
314
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
315
|
+
}
|
316
|
+
|
251
317
|
/**
|
252
318
|
* Registers the DOM listeners.
|
253
319
|
*
|
@@ -256,33 +322,42 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
256
322
|
}, {
|
257
323
|
key: "registerEvents",
|
258
324
|
value: function registerEvents() {
|
259
|
-
var
|
325
|
+
var _this4 = this;
|
260
326
|
this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
|
261
|
-
return
|
327
|
+
return _this4.onTableClick(event);
|
262
328
|
});
|
263
329
|
}
|
264
330
|
|
265
331
|
/**
|
266
332
|
* Opens menu and re-position it based on the passed coordinates.
|
267
333
|
*
|
268
|
-
* @param {
|
269
|
-
*
|
270
|
-
*
|
271
|
-
*
|
272
|
-
*
|
334
|
+
* @param {{ top: number, left: number }|Event} position An object with `top` and `left` properties
|
335
|
+
* which contains coordinates relative to the browsers viewport (without included scroll offsets).
|
336
|
+
* Or if the native event is passed the menu will be positioned based on the `pageX` and `pageY`
|
337
|
+
* coordinates.
|
338
|
+
* @param {{ above: number, below: number, left: number, right: number }} offset An object allows applying
|
339
|
+
* the offset to the menu position.
|
273
340
|
* @fires Hooks#beforeDropdownMenuShow
|
274
341
|
* @fires Hooks#afterDropdownMenuShow
|
275
342
|
*/
|
276
343
|
}, {
|
277
344
|
key: "open",
|
278
345
|
value: function open(position) {
|
279
|
-
|
346
|
+
var _this$menu,
|
347
|
+
_this5 = this;
|
348
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
349
|
+
above: 0,
|
350
|
+
below: 0,
|
351
|
+
left: 0,
|
352
|
+
right: 0
|
353
|
+
};
|
354
|
+
if ((_this$menu = this.menu) !== null && _this$menu !== void 0 && _this$menu.isOpened()) {
|
280
355
|
return;
|
281
356
|
}
|
282
357
|
this.menu.open();
|
283
|
-
|
284
|
-
|
285
|
-
}
|
358
|
+
(0, _object.objectEach)(offset, function (value, key) {
|
359
|
+
_this5.menu.setOffset(key, value);
|
360
|
+
});
|
286
361
|
this.menu.setPosition(position);
|
287
362
|
}
|
288
363
|
|
@@ -292,10 +367,8 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
292
367
|
}, {
|
293
368
|
key: "close",
|
294
369
|
value: function close() {
|
295
|
-
|
296
|
-
|
297
|
-
}
|
298
|
-
this.menu.close();
|
370
|
+
var _this$menu2;
|
371
|
+
(_this$menu2 = this.menu) === null || _this$menu2 === void 0 ? void 0 : _this$menu2.close();
|
299
372
|
}
|
300
373
|
|
301
374
|
/**
|
@@ -367,23 +440,14 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
367
440
|
key: "onTableClick",
|
368
441
|
value: function onTableClick(event) {
|
369
442
|
event.stopPropagation();
|
370
|
-
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)
|
371
|
-
var
|
372
|
-
var offsetLeft = 0;
|
373
|
-
if (this.hot.rootDocument !== this.menu.container.ownerDocument) {
|
374
|
-
var frameElement = this.hot.rootWindow.frameElement;
|
375
|
-
var _frameElement$getBoun = frameElement.getBoundingClientRect(),
|
376
|
-
top = _frameElement$getBoun.top,
|
377
|
-
left = _frameElement$getBoun.left;
|
378
|
-
offsetTop = top;
|
379
|
-
offsetLeft = left;
|
380
|
-
}
|
443
|
+
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)) {
|
444
|
+
var offset = (0, _utils.getDocumentOffsetByElement)(this.menu.container, this.hot.rootDocument);
|
381
445
|
var rect = event.target.getBoundingClientRect();
|
382
446
|
this.open({
|
383
|
-
left: rect.left +
|
384
|
-
top: rect.top + event.target.offsetHeight + 3 +
|
385
|
-
|
386
|
-
|
447
|
+
left: rect.left + offset.left,
|
448
|
+
top: rect.top + event.target.offsetHeight + 3 + offset.top
|
449
|
+
}, {
|
450
|
+
left: rect.width
|
387
451
|
});
|
388
452
|
}
|
389
453
|
}
|