handsontable 0.0.0-next-9059914-20231025 → 0.0.0-next-cecf979-20231026
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 +50 -11
- package/3rdparty/walkontable/src/cell/coords.mjs +50 -11
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +38 -7
- package/3rdparty/walkontable/src/cell/range.mjs +38 -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 +12 -10
- package/3rdparty/walkontable/src/event.mjs +12 -10
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +10 -2
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +13 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +14 -3
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
- package/3rdparty/walkontable/src/overlay/top.js +2 -6
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
- package/3rdparty/walkontable/src/renderer/cells.js +10 -0
- package/3rdparty/walkontable/src/renderer/cells.mjs +11 -1
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +10 -0
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +11 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +5 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +5 -0
- package/3rdparty/walkontable/src/renderer/rows.js +13 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +13 -0
- package/3rdparty/walkontable/src/renderer/table.js +9 -0
- package/3rdparty/walkontable/src/renderer/table.mjs +9 -0
- package/3rdparty/walkontable/src/scroll.js +2 -0
- package/3rdparty/walkontable/src/scroll.mjs +2 -0
- 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 +16 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
- package/3rdparty/walkontable/src/selection/constants.js +62 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +26 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +274 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +269 -0
- package/3rdparty/walkontable/src/selection/scanner.js +270 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
- package/3rdparty/walkontable/src/selection/selection.js +101 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
- package/3rdparty/walkontable/src/settings.js +13 -4
- package/3rdparty/walkontable/src/settings.mjs +13 -4
- 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 +19 -78
- package/3rdparty/walkontable/src/table.mjs +20 -79
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +2 -2
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +2 -2
- package/cellTypes/handsontableType/handsontableType.mjs +2 -2
- package/cellTypes/index.d.ts +3 -0
- package/cellTypes/index.js +4 -0
- package/cellTypes/index.mjs +3 -1
- package/cellTypes/selectType/index.d.ts +1 -0
- package/cellTypes/selectType/index.js +6 -0
- package/cellTypes/selectType/index.mjs +1 -0
- package/cellTypes/selectType/selectType.d.ts +14 -0
- package/cellTypes/selectType/selectType.js +13 -0
- package/cellTypes/selectType/selectType.mjs +8 -0
- package/core/focusCatcher/focusDetector.js +63 -0
- package/core/focusCatcher/focusDetector.mjs +59 -0
- package/core/focusCatcher/index.js +142 -0
- package/core/focusCatcher/index.mjs +138 -0
- package/core/index.js +9 -0
- package/core/index.mjs +1 -0
- package/core.d.ts +9 -4
- package/core.js +285 -327
- package/core.mjs +285 -327
- package/dataMap/metaManager/metaSchema.js +65 -0
- package/dataMap/metaManager/metaSchema.mjs +65 -0
- package/dataMap/metaManager/mods/extendMetaProperties.js +7 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -1
- package/dataMap/replaceData.js +5 -0
- package/dataMap/replaceData.mjs +5 -0
- package/dist/handsontable.css +51 -15
- package/dist/handsontable.full.css +51 -15
- package/dist/handsontable.full.js +13360 -7840
- package/dist/handsontable.full.min.css +7 -7
- package/dist/handsontable.full.min.js +136 -136
- package/dist/handsontable.js +20955 -15435
- package/dist/handsontable.min.css +6 -6
- package/dist/handsontable.min.js +24 -24
- package/dist/languages/all.js +6 -2
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/en-US.js +3 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/pl-PL.js +3 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/editorManager.js +15 -87
- package/editorManager.mjs +16 -87
- package/editors/autocompleteEditor/autocompleteEditor.js +53 -2
- package/editors/autocompleteEditor/autocompleteEditor.mjs +54 -3
- package/editors/dateEditor/dateEditor.js +26 -7
- package/editors/dateEditor/dateEditor.mjs +27 -8
- package/editors/handsontableEditor/handsontableEditor.js +9 -1
- package/editors/handsontableEditor/handsontableEditor.mjs +10 -2
- package/editors/textEditor/textEditor.js +19 -27
- package/editors/textEditor/textEditor.mjs +22 -30
- package/focusManager.d.ts +12 -0
- package/focusManager.js +265 -0
- package/focusManager.mjs +261 -0
- package/helpers/a11y.js +79 -0
- package/helpers/a11y.mjs +38 -0
- package/helpers/dom/element.js +188 -9
- package/helpers/dom/element.mjs +182 -9
- 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/i18n/constants.js +7 -1
- package/i18n/constants.mjs +4 -1
- package/i18n/languages/en-US.js +3 -1
- package/i18n/languages/en-US.mjs +3 -1
- package/i18n/languages/pl-PL.js +3 -1
- package/i18n/languages/pl-PL.mjs +3 -1
- package/languages/all.js +6 -2
- package/languages/en-US.js +3 -1
- package/languages/en-US.mjs +3 -1
- package/languages/index.js +6 -2
- package/languages/pl-PL.js +3 -1
- package/languages/pl-PL.mjs +3 -1
- package/package.json +21 -1
- package/pluginHooks.d.ts +12 -1
- package/pluginHooks.js +152 -1
- package/pluginHooks.mjs +152 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +74 -4
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +75 -5
- package/plugins/columnSorting/columnSorting.js +43 -0
- package/plugins/columnSorting/columnSorting.mjs +44 -3
- package/plugins/columnSorting/index.js +3 -1
- 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 +252 -189
- package/plugins/comments/comments.mjs +251 -190
- package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
- package/plugins/comments/contextMenuItem/removeComment.js +38 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- package/plugins/contextMenu/commandExecutor.js +2 -3
- package/plugins/contextMenu/commandExecutor.mjs +2 -3
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +75 -36
- package/plugins/contextMenu/contextMenu.mjs +74 -35
- package/plugins/contextMenu/itemsFactory.js +2 -3
- package/plugins/contextMenu/itemsFactory.mjs +3 -4
- package/plugins/contextMenu/{cursor.mjs → menu/cursor.js} +6 -4
- package/plugins/contextMenu/{cursor.js → menu/cursor.mjs} +4 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
- package/plugins/contextMenu/menu/index.js +9 -0
- package/plugins/contextMenu/menu/index.mjs +1 -0
- package/plugins/contextMenu/{menu.js → menu/menu.js} +145 -421
- package/plugins/contextMenu/{menu.mjs → menu/menu.mjs} +146 -422
- package/plugins/contextMenu/menu/menuItemRenderer.js +58 -0
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +54 -0
- package/plugins/contextMenu/menu/navigator.js +27 -0
- package/plugins/contextMenu/menu/navigator.mjs +23 -0
- package/plugins/contextMenu/menu/positioner.js +213 -0
- package/plugins/contextMenu/menu/positioner.mjs +209 -0
- package/plugins/contextMenu/menu/shortcuts.js +114 -0
- package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
- package/plugins/contextMenu/menu/utils.js +177 -0
- package/plugins/contextMenu/menu/utils.mjs +163 -0
- 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.js → predefinedItems/index.js} +14 -14
- package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
- 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 +35 -151
- package/plugins/contextMenu/utils.mjs +35 -144
- 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 +127 -78
- package/plugins/copyPaste/copyPaste.mjs +128 -79
- package/plugins/customBorders/customBorders.js +23 -20
- package/plugins/customBorders/customBorders.mjs +24 -21
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +127 -40
- package/plugins/dropdownMenu/dropdownMenu.mjs +126 -39
- package/plugins/filters/component/_base.js +23 -8
- package/plugins/filters/component/_base.mjs +23 -8
- package/plugins/filters/component/actionBar.js +29 -27
- package/plugins/filters/component/actionBar.mjs +26 -23
- package/plugins/filters/component/condition.js +46 -59
- package/plugins/filters/component/condition.mjs +40 -52
- package/plugins/filters/component/operators.js +21 -22
- package/plugins/filters/component/operators.mjs +18 -18
- package/plugins/filters/component/value.js +35 -26
- package/plugins/filters/component/value.mjs +32 -22
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/filters.js +106 -62
- package/plugins/filters/filters.mjs +99 -55
- package/plugins/filters/menu/focusController.js +123 -0
- package/plugins/filters/menu/focusController.mjs +119 -0
- package/plugins/filters/menu/focusNavigator.js +30 -0
- package/plugins/filters/menu/focusNavigator.mjs +26 -0
- package/plugins/filters/ui/_base.js +35 -13
- package/plugins/filters/ui/_base.mjs +35 -13
- package/plugins/filters/ui/input.js +43 -32
- package/plugins/filters/ui/input.mjs +42 -30
- package/plugins/filters/ui/link.js +44 -12
- package/plugins/filters/ui/link.mjs +44 -11
- package/plugins/filters/ui/multipleSelect.js +234 -129
- package/plugins/filters/ui/multipleSelect.mjs +232 -127
- package/plugins/filters/ui/radioInput.js +42 -18
- package/plugins/filters/ui/radioInput.mjs +42 -17
- package/plugins/filters/ui/select.js +144 -75
- package/plugins/filters/ui/select.mjs +142 -72
- package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
- package/plugins/hiddenRows/hiddenRows.mjs +1 -1
- package/plugins/manualColumnMove/manualColumnMove.js +3 -1
- package/plugins/manualColumnMove/manualColumnMove.mjs +3 -1
- package/plugins/mergeCells/mergeCells.js +5 -16
- package/plugins/mergeCells/mergeCells.mjs +5 -16
- package/plugins/multiColumnSorting/multiColumnSorting.js +37 -2
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +37 -2
- package/plugins/nestedHeaders/nestedHeaders.js +240 -10
- package/plugins/nestedHeaders/nestedHeaders.mjs +241 -11
- package/plugins/nestedHeaders/stateManager/index.js +102 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
- package/plugins/nestedRows/nestedRows.js +41 -0
- package/plugins/nestedRows/nestedRows.mjs +41 -0
- package/plugins/nestedRows/ui/headers.js +11 -0
- package/plugins/nestedRows/ui/headers.mjs +12 -1
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +8 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
- package/renderers/baseRenderer/baseRenderer.js +17 -0
- package/renderers/baseRenderer/baseRenderer.mjs +18 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
- package/renderers/dateRenderer/dateRenderer.js +29 -0
- package/renderers/dateRenderer/dateRenderer.mjs +24 -0
- package/renderers/dateRenderer/index.d.ts +1 -0
- package/renderers/dateRenderer/index.js +6 -0
- package/renderers/dateRenderer/index.mjs +1 -0
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
- package/renderers/handsontableRenderer/handsontableRenderer.js +29 -0
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
- package/renderers/handsontableRenderer/index.d.ts +1 -0
- package/renderers/handsontableRenderer/index.js +6 -0
- package/renderers/handsontableRenderer/index.mjs +1 -0
- package/renderers/index.d.ts +9 -0
- package/renderers/selectRenderer/index.d.ts +1 -0
- package/renderers/selectRenderer/index.js +6 -0
- package/renderers/selectRenderer/index.mjs +1 -0
- package/renderers/selectRenderer/selectRenderer.d.ts +5 -0
- package/renderers/selectRenderer/selectRenderer.js +27 -0
- package/renderers/selectRenderer/selectRenderer.mjs +22 -0
- package/selection/highlight/highlight.js +256 -71
- package/selection/highlight/highlight.mjs +250 -71
- package/selection/highlight/types/activeHeader.js +10 -8
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +6 -18
- package/selection/highlight/types/area.mjs +6 -18
- package/selection/highlight/types/areaLayered.js +31 -0
- package/selection/highlight/types/areaLayered.mjs +26 -0
- package/selection/highlight/types/column.js +27 -0
- package/selection/highlight/types/column.mjs +22 -0
- package/selection/highlight/types/customSelection.js +7 -9
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -7
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -7
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +9 -18
- package/selection/highlight/types/header.mjs +9 -18
- package/selection/highlight/types/row.js +27 -0
- package/selection/highlight/types/row.mjs +22 -0
- 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 +7 -1
- package/selection/mouseEventHandler.mjs +7 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +321 -152
- package/selection/selection.mjs +318 -151
- package/selection/transformation.js +232 -90
- package/selection/transformation.mjs +232 -90
- package/selection/utils.js +15 -21
- package/selection/utils.mjs +16 -21
- package/settings.d.ts +4 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +12 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +12 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +27 -0
- package/shortcutContexts/commands/editor/open.mjs +23 -0
- package/shortcutContexts/commands/emptySelectedCells.js +11 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +25 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +21 -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 +11 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +25 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +21 -0
- package/shortcutContexts/commands/index.js +35 -0
- package/shortcutContexts/commands/index.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +33 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +10 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +10 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +19 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +21 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +19 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +33 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +35 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
- package/shortcutContexts/commands/selectAll.js +12 -0
- package/shortcutContexts/commands/selectAll.mjs +8 -0
- package/shortcutContexts/constants.js +13 -0
- package/shortcutContexts/constants.mjs +8 -0
- package/shortcutContexts/editor.js +25 -0
- package/shortcutContexts/editor.mjs +21 -0
- package/shortcutContexts/grid.js +163 -0
- package/shortcutContexts/grid.mjs +159 -0
- package/shortcutContexts/index.js +24 -0
- package/shortcutContexts/index.mjs +11 -0
- package/shortcuts/context.d.ts +1 -0
- package/shortcuts/context.js +23 -4
- package/shortcuts/context.mjs +23 -5
- package/shortcuts/manager.js +25 -7
- package/shortcuts/manager.mjs +26 -7
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +19 -5
- package/shortcuts/utils.mjs +18 -4
- package/tableView.js +111 -13
- package/tableView.mjs +112 -14
- package/utils/paginator.js +151 -0
- package/utils/paginator.mjs +147 -0
- package/3rdparty/walkontable/src/selection.js +0 -295
- package/3rdparty/walkontable/src/selection.mjs +0 -290
- package/plugins/contextMenu/predefinedItems.mjs +0 -68
- package/plugins/copyPaste/focusableElement.js +0 -186
- package/plugins/copyPaste/focusableElement.mjs +0 -180
- package/selection/highlight/constants.js +0 -15
- package/selection/highlight/constants.mjs +0 -6
- package/selection/highlight/types/index.js +0 -35
- package/selection/highlight/types/index.mjs +0 -31
@@ -1,45 +1,121 @@
|
|
1
|
-
import
|
1
|
+
import "core-js/modules/es.error.cause.js";
|
2
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
6
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
7
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
8
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
9
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
10
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
11
|
+
import { Menu } from "../../../plugins/contextMenu/menu/index.mjs";
|
2
12
|
import { clone, extend } from "../../../helpers/object.mjs";
|
3
13
|
import { arrayEach } from "../../../helpers/array.mjs";
|
4
14
|
import * as C from "../../../i18n/constants.mjs";
|
5
|
-
import { SEPARATOR } from "../../../plugins/contextMenu/predefinedItems.mjs";
|
6
|
-
import BaseUI from "./_base.mjs";
|
7
|
-
const privatePool = new WeakMap();
|
8
|
-
|
15
|
+
import { SEPARATOR } from "../../../plugins/contextMenu/predefinedItems/index.mjs";
|
16
|
+
import { BaseUI } from "./_base.mjs";
|
9
17
|
/**
|
10
18
|
* @private
|
11
19
|
* @class SelectUI
|
12
20
|
*/
|
13
|
-
|
21
|
+
var _menu = /*#__PURE__*/new WeakMap();
|
22
|
+
var _items = /*#__PURE__*/new WeakMap();
|
23
|
+
var _caption = /*#__PURE__*/new WeakMap();
|
24
|
+
var _captionElement = /*#__PURE__*/new WeakMap();
|
25
|
+
var _dropdown = /*#__PURE__*/new WeakMap();
|
26
|
+
var _onMenuSelect = /*#__PURE__*/new WeakSet();
|
27
|
+
var _onMenuClosed = /*#__PURE__*/new WeakSet();
|
28
|
+
var _onClick = /*#__PURE__*/new WeakSet();
|
29
|
+
export class SelectUI extends BaseUI {
|
14
30
|
static get DEFAULTS() {
|
15
31
|
return clone({
|
16
32
|
className: 'htUISelect',
|
17
|
-
wrapIt: false
|
33
|
+
wrapIt: false,
|
34
|
+
tabIndex: -1
|
18
35
|
});
|
19
36
|
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Instance of {@link Menu}.
|
40
|
+
*
|
41
|
+
* @type {Menu}
|
42
|
+
*/
|
43
|
+
|
20
44
|
constructor(hotInstance, options) {
|
21
45
|
super(hotInstance, extend(SelectUI.DEFAULTS, options));
|
22
|
-
privatePool.set(this, {});
|
23
46
|
/**
|
24
|
-
*
|
47
|
+
* On element click listener.
|
25
48
|
*
|
26
|
-
* @
|
49
|
+
* @private
|
27
50
|
*/
|
28
|
-
this
|
51
|
+
_classPrivateMethodInitSpec(this, _onClick);
|
52
|
+
/**
|
53
|
+
* On menu closed listener.
|
54
|
+
*/
|
55
|
+
_classPrivateMethodInitSpec(this, _onMenuClosed);
|
56
|
+
/**
|
57
|
+
* On menu selected listener.
|
58
|
+
*
|
59
|
+
* @param {object} command Selected item.
|
60
|
+
*/
|
61
|
+
_classPrivateMethodInitSpec(this, _onMenuSelect);
|
62
|
+
_classPrivateFieldInitSpec(this, _menu, {
|
63
|
+
writable: true,
|
64
|
+
value: null
|
65
|
+
});
|
29
66
|
/**
|
30
67
|
* List of available select options.
|
31
68
|
*
|
32
69
|
* @type {Array}
|
33
70
|
*/
|
34
|
-
this
|
71
|
+
_classPrivateFieldInitSpec(this, _items, {
|
72
|
+
writable: true,
|
73
|
+
value: []
|
74
|
+
});
|
75
|
+
/**
|
76
|
+
* The reference to the BaseUI instance of the caption.
|
77
|
+
*
|
78
|
+
* @type {BaseUI}
|
79
|
+
*/
|
80
|
+
_classPrivateFieldInitSpec(this, _caption, {
|
81
|
+
writable: true,
|
82
|
+
value: void 0
|
83
|
+
});
|
84
|
+
/**
|
85
|
+
* The reference to the table caption element.
|
86
|
+
*
|
87
|
+
* @type {HTMLTableCaptionElement}
|
88
|
+
*/
|
89
|
+
_classPrivateFieldInitSpec(this, _captionElement, {
|
90
|
+
writable: true,
|
91
|
+
value: void 0
|
92
|
+
});
|
93
|
+
/**
|
94
|
+
* The reference to the BaseUI instance of the dropdown.
|
95
|
+
*
|
96
|
+
* @type {BaseUI}
|
97
|
+
*/
|
98
|
+
_classPrivateFieldInitSpec(this, _dropdown, {
|
99
|
+
writable: true,
|
100
|
+
value: void 0
|
101
|
+
});
|
35
102
|
this.registerHooks();
|
36
103
|
}
|
37
104
|
|
105
|
+
/**
|
106
|
+
* Gets the instance of the Menu.
|
107
|
+
*
|
108
|
+
* @returns {Menu}
|
109
|
+
*/
|
110
|
+
getMenu() {
|
111
|
+
return _classPrivateFieldGet(this, _menu);
|
112
|
+
}
|
113
|
+
|
38
114
|
/**
|
39
115
|
* Register all necessary hooks.
|
40
116
|
*/
|
41
117
|
registerHooks() {
|
42
|
-
this.addLocalHook('click', () => this.
|
118
|
+
this.addLocalHook('click', () => _classPrivateMethodGet(this, _onClick, _onClick2).call(this));
|
43
119
|
}
|
44
120
|
|
45
121
|
/**
|
@@ -48,9 +124,9 @@ class SelectUI extends BaseUI {
|
|
48
124
|
* @param {Array} items Array of objects with required keys `key` and `name`.
|
49
125
|
*/
|
50
126
|
setItems(items) {
|
51
|
-
this
|
52
|
-
if (this
|
53
|
-
this.
|
127
|
+
_classPrivateFieldSet(this, _items, this.translateNames(items));
|
128
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
129
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
54
130
|
}
|
55
131
|
}
|
56
132
|
|
@@ -72,26 +148,25 @@ class SelectUI extends BaseUI {
|
|
72
148
|
*/
|
73
149
|
build() {
|
74
150
|
super.build();
|
75
|
-
this
|
151
|
+
_classPrivateFieldSet(this, _menu, new Menu(this.hot, {
|
76
152
|
className: 'htSelectUI htFiltersConditionsMenu',
|
77
153
|
keepInViewport: false,
|
78
154
|
standalone: true,
|
79
155
|
container: this.options.menuContainer
|
80
|
-
});
|
81
|
-
this.
|
156
|
+
}));
|
157
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
82
158
|
const caption = new BaseUI(this.hot, {
|
83
159
|
className: 'htUISelectCaption'
|
84
160
|
});
|
85
161
|
const dropdown = new BaseUI(this.hot, {
|
86
162
|
className: 'htUISelectDropdown'
|
87
163
|
});
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
priv.dropdown = dropdown;
|
164
|
+
_classPrivateFieldSet(this, _caption, caption);
|
165
|
+
_classPrivateFieldSet(this, _captionElement, caption.element);
|
166
|
+
_classPrivateFieldSet(this, _dropdown, dropdown);
|
92
167
|
arrayEach([caption, dropdown], element => this._element.appendChild(element.element));
|
93
|
-
this.
|
94
|
-
this.
|
168
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
169
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
95
170
|
this.update();
|
96
171
|
}
|
97
172
|
|
@@ -106,9 +181,9 @@ class SelectUI extends BaseUI {
|
|
106
181
|
if (this.options.value) {
|
107
182
|
conditionName = this.options.value.name;
|
108
183
|
} else {
|
109
|
-
conditionName = this.
|
184
|
+
conditionName = _classPrivateFieldGet(this, _menu).hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
|
110
185
|
}
|
111
|
-
|
186
|
+
_classPrivateFieldGet(this, _captionElement).textContent = conditionName;
|
112
187
|
super.update();
|
113
188
|
}
|
114
189
|
|
@@ -117,14 +192,25 @@ class SelectUI extends BaseUI {
|
|
117
192
|
*/
|
118
193
|
openOptions() {
|
119
194
|
const rect = this.element.getBoundingClientRect();
|
120
|
-
if (this
|
121
|
-
this.
|
122
|
-
this.
|
195
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
196
|
+
_classPrivateFieldGet(this, _menu).open();
|
197
|
+
_classPrivateFieldGet(this, _menu).setPosition({
|
123
198
|
left: this.hot.isLtr() ? rect.left - 5 : rect.left - 31,
|
124
199
|
top: rect.top - 1,
|
125
200
|
width: rect.width,
|
126
201
|
height: rect.height
|
127
202
|
});
|
203
|
+
_classPrivateFieldGet(this, _menu).getNavigator().toFirstItem();
|
204
|
+
_classPrivateFieldGet(this, _menu).getKeyboardShortcutsCtrl().addCustomShortcuts([{
|
205
|
+
keys: [['Tab'], ['Shift', 'Tab']],
|
206
|
+
callback: event => {
|
207
|
+
this.closeOptions();
|
208
|
+
this.runLocalHooks('tabKeydown', event);
|
209
|
+
}
|
210
|
+
}, {
|
211
|
+
keys: [['Control/Meta', 'A']],
|
212
|
+
callback: () => false
|
213
|
+
}]);
|
128
214
|
}
|
129
215
|
}
|
130
216
|
|
@@ -132,62 +218,46 @@ class SelectUI extends BaseUI {
|
|
132
218
|
* Close select dropdown menu.
|
133
219
|
*/
|
134
220
|
closeOptions() {
|
135
|
-
if (this
|
136
|
-
this.
|
221
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
222
|
+
_classPrivateFieldGet(this, _menu).close();
|
137
223
|
}
|
138
224
|
}
|
139
225
|
|
140
226
|
/**
|
141
|
-
*
|
142
|
-
*
|
143
|
-
* @private
|
144
|
-
* @param {object} command Selected item.
|
227
|
+
* Focus element.
|
145
228
|
*/
|
146
|
-
|
147
|
-
if (
|
148
|
-
this.
|
149
|
-
this.update();
|
150
|
-
this.runLocalHooks('select', this.options.value);
|
229
|
+
focus() {
|
230
|
+
if (this.isBuilt()) {
|
231
|
+
this.element.focus();
|
151
232
|
}
|
152
233
|
}
|
153
|
-
|
154
|
-
/**
|
155
|
-
* On menu closed listener.
|
156
|
-
*
|
157
|
-
* @private
|
158
|
-
*/
|
159
|
-
onMenuClosed() {
|
160
|
-
this.runLocalHooks('afterClose');
|
161
|
-
}
|
162
|
-
|
163
|
-
/**
|
164
|
-
* On element click listener.
|
165
|
-
*
|
166
|
-
* @private
|
167
|
-
*/
|
168
|
-
onClick() {
|
169
|
-
this.openOptions();
|
170
|
-
}
|
171
|
-
|
172
234
|
/**
|
173
235
|
* Destroy instance.
|
174
236
|
*/
|
175
237
|
destroy() {
|
176
|
-
if (this
|
177
|
-
this.
|
178
|
-
this
|
238
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
239
|
+
_classPrivateFieldGet(this, _menu).destroy();
|
240
|
+
_classPrivateFieldSet(this, _menu, null);
|
179
241
|
}
|
180
|
-
|
181
|
-
|
182
|
-
dropdown
|
183
|
-
} = privatePool.get(this);
|
184
|
-
if (caption) {
|
185
|
-
caption.destroy();
|
242
|
+
if (_classPrivateFieldGet(this, _caption)) {
|
243
|
+
_classPrivateFieldGet(this, _caption).destroy();
|
186
244
|
}
|
187
|
-
if (
|
188
|
-
|
245
|
+
if (_classPrivateFieldGet(this, _dropdown)) {
|
246
|
+
_classPrivateFieldGet(this, _dropdown).destroy();
|
189
247
|
}
|
190
248
|
super.destroy();
|
191
249
|
}
|
192
250
|
}
|
193
|
-
|
251
|
+
function _onMenuSelect2(command) {
|
252
|
+
if (command.name !== SEPARATOR) {
|
253
|
+
this.options.value = command;
|
254
|
+
this.update();
|
255
|
+
this.runLocalHooks('select', this.options.value);
|
256
|
+
}
|
257
|
+
}
|
258
|
+
function _onMenuClosed2() {
|
259
|
+
this.runLocalHooks('afterClose');
|
260
|
+
}
|
261
|
+
function _onClick2() {
|
262
|
+
this.openOptions();
|
263
|
+
}
|
@@ -13,7 +13,7 @@ import { rangeEach } from "../../helpers/number.mjs";
|
|
13
13
|
import { arrayEach, arrayMap, arrayReduce } from "../../helpers/array.mjs";
|
14
14
|
import { isObject } from "../../helpers/object.mjs";
|
15
15
|
import { isUndefined } from "../../helpers/mixed.mjs";
|
16
|
-
import { SEPARATOR } from "../contextMenu/predefinedItems.mjs";
|
16
|
+
import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
|
17
17
|
import Hooks from "../../pluginHooks.mjs";
|
18
18
|
import hideColumnItem from "./contextMenuItem/hideColumn.mjs";
|
19
19
|
import showColumnItem from "./contextMenuItem/showColumn.mjs";
|
@@ -13,7 +13,7 @@ import { rangeEach } from "../../helpers/number.mjs";
|
|
13
13
|
import { arrayEach, arrayMap, arrayReduce } from "../../helpers/array.mjs";
|
14
14
|
import { isObject } from "../../helpers/object.mjs";
|
15
15
|
import { isUndefined } from "../../helpers/mixed.mjs";
|
16
|
-
import { SEPARATOR } from "../contextMenu/predefinedItems.mjs";
|
16
|
+
import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
|
17
17
|
import Hooks from "../../pluginHooks.mjs";
|
18
18
|
import hideRowItem from "./contextMenuItem/hideRow.mjs";
|
19
19
|
import showRowItem from "./contextMenuItem/showRow.mjs";
|
@@ -387,7 +387,9 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
387
387
|
const priv = privatePool.get(this);
|
388
388
|
const firstVisible = this.hot.view.getFirstFullyVisibleColumn();
|
389
389
|
if (this.isFixedColumnsStart(priv.hoveredColumn) && firstVisible > 0) {
|
390
|
-
this.hot.scrollViewportTo(
|
390
|
+
this.hot.scrollViewportTo({
|
391
|
+
col: this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1)
|
392
|
+
});
|
391
393
|
}
|
392
394
|
const wtTable = this.hot.view._wt.wtTable;
|
393
395
|
const scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
|
@@ -381,7 +381,9 @@ export class ManualColumnMove extends BasePlugin {
|
|
381
381
|
const priv = privatePool.get(this);
|
382
382
|
const firstVisible = this.hot.view.getFirstFullyVisibleColumn();
|
383
383
|
if (this.isFixedColumnsStart(priv.hoveredColumn) && firstVisible > 0) {
|
384
|
-
this.hot.scrollViewportTo(
|
384
|
+
this.hot.scrollViewportTo({
|
385
|
+
col: this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1)
|
386
|
+
});
|
385
387
|
}
|
386
388
|
const wtTable = this.hot.view._wt.wtTable;
|
387
389
|
const scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
|
@@ -188,9 +188,6 @@ class MergeCells extends _base.BasePlugin {
|
|
188
188
|
this.addHook('afterDrawSelection', function () {
|
189
189
|
return _this.onAfterDrawSelection(...arguments);
|
190
190
|
});
|
191
|
-
this.addHook('beforeRemoveCellClassNames', function () {
|
192
|
-
return _this.onBeforeRemoveCellClassNames(...arguments);
|
193
|
-
});
|
194
191
|
this.addHook('beforeUndoStackChange', (action, source) => {
|
195
192
|
if (source === 'MergeCells') {
|
196
193
|
return false;
|
@@ -575,8 +572,11 @@ class MergeCells extends _base.BasePlugin {
|
|
575
572
|
gridContext.addShortcut({
|
576
573
|
keys: [['Control', 'm']],
|
577
574
|
callback: () => {
|
578
|
-
this.
|
579
|
-
|
575
|
+
const range = this.hot.getSelectedRangeLast();
|
576
|
+
if (range && !range.isSingleHeader()) {
|
577
|
+
this.toggleMerge(range);
|
578
|
+
this.hot.render();
|
579
|
+
}
|
580
580
|
},
|
581
581
|
runOnlyIf: event => !event.altKey,
|
582
582
|
// right ALT in some systems triggers ALT+CTRL
|
@@ -1199,16 +1199,5 @@ class MergeCells extends _base.BasePlugin {
|
|
1199
1199
|
}
|
1200
1200
|
return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
|
1201
1201
|
}
|
1202
|
-
|
1203
|
-
/**
|
1204
|
-
* `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
|
1205
|
-
*
|
1206
|
-
* @private
|
1207
|
-
* @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
|
1208
|
-
* all the cells in the table.
|
1209
|
-
*/
|
1210
|
-
onBeforeRemoveCellClassNames() {
|
1211
|
-
return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
|
1212
|
-
}
|
1213
1202
|
}
|
1214
1203
|
exports.MergeCells = MergeCells;
|
@@ -182,9 +182,6 @@ export class MergeCells extends BasePlugin {
|
|
182
182
|
this.addHook('afterDrawSelection', function () {
|
183
183
|
return _this.onAfterDrawSelection(...arguments);
|
184
184
|
});
|
185
|
-
this.addHook('beforeRemoveCellClassNames', function () {
|
186
|
-
return _this.onBeforeRemoveCellClassNames(...arguments);
|
187
|
-
});
|
188
185
|
this.addHook('beforeUndoStackChange', (action, source) => {
|
189
186
|
if (source === 'MergeCells') {
|
190
187
|
return false;
|
@@ -569,8 +566,11 @@ export class MergeCells extends BasePlugin {
|
|
569
566
|
gridContext.addShortcut({
|
570
567
|
keys: [['Control', 'm']],
|
571
568
|
callback: () => {
|
572
|
-
this.
|
573
|
-
|
569
|
+
const range = this.hot.getSelectedRangeLast();
|
570
|
+
if (range && !range.isSingleHeader()) {
|
571
|
+
this.toggleMerge(range);
|
572
|
+
this.hot.render();
|
573
|
+
}
|
574
574
|
},
|
575
575
|
runOnlyIf: event => !event.altKey,
|
576
576
|
// right ALT in some systems triggers ALT+CTRL
|
@@ -1193,15 +1193,4 @@ export class MergeCells extends BasePlugin {
|
|
1193
1193
|
}
|
1194
1194
|
return this.selectionCalculations.getSelectedMergedCellClassName(currentRow, currentColumn, cornersOfSelection, layerLevel);
|
1195
1195
|
}
|
1196
|
-
|
1197
|
-
/**
|
1198
|
-
* `beforeRemoveCellClassNames` hook callback. Used to remove additional class name from all cells in the table.
|
1199
|
-
*
|
1200
|
-
* @private
|
1201
|
-
* @returns {string[]} An `Array` of `String`s. Each of these strings will act like class names to be removed from
|
1202
|
-
* all the cells in the table.
|
1203
|
-
*/
|
1204
|
-
onBeforeRemoveCellClassNames() {
|
1205
|
-
return this.selectionCalculations.getSelectedMergedCellClassNameToRemove();
|
1206
|
-
}
|
1207
1196
|
}
|
@@ -12,8 +12,8 @@ const PLUGIN_KEY = 'multiColumnSorting';
|
|
12
12
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
13
13
|
const PLUGIN_PRIORITY = 170;
|
14
14
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
15
|
-
const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
16
15
|
const CONFLICTED_PLUGIN_KEY = 'columnSorting';
|
16
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
17
17
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
18
18
|
|
19
19
|
/**
|
@@ -113,6 +113,41 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
|
|
113
113
|
super.disablePlugin();
|
114
114
|
}
|
115
115
|
|
116
|
+
/**
|
117
|
+
* Register shortcuts responsible for toggling column sorting functionality.
|
118
|
+
*
|
119
|
+
* @private
|
120
|
+
*/
|
121
|
+
registerShortcuts() {
|
122
|
+
super.registerShortcuts();
|
123
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
124
|
+
keys: [['Shift', 'Enter']],
|
125
|
+
callback: () => {
|
126
|
+
const {
|
127
|
+
highlight
|
128
|
+
} = this.hot.getSelectedRangeLast();
|
129
|
+
if (highlight.row === -1 && highlight.col >= 0) {
|
130
|
+
this.sort(this.getNextSortConfig(highlight.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
|
131
|
+
}
|
132
|
+
},
|
133
|
+
runOnlyIf: () => {
|
134
|
+
var _this$hot$getSelected;
|
135
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
136
|
+
},
|
137
|
+
group: SHORTCUTS_GROUP
|
138
|
+
});
|
139
|
+
}
|
140
|
+
|
141
|
+
/**
|
142
|
+
* Unregister shortcuts responsible for toggling column sorting functionality.
|
143
|
+
*
|
144
|
+
* @private
|
145
|
+
*/
|
146
|
+
unregisterShortcuts() {
|
147
|
+
super.unregisterShortcuts();
|
148
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
149
|
+
}
|
150
|
+
|
116
151
|
/**
|
117
152
|
* Sorts the table by chosen columns and orders.
|
118
153
|
*
|
@@ -262,7 +297,7 @@ class MultiColumnSorting extends _columnSorting.ColumnSorting {
|
|
262
297
|
if (this.hot.getShortcutManager().isCtrlPressed()) {
|
263
298
|
this.hot.deselectCell();
|
264
299
|
this.hot.selectColumns(coords.col);
|
265
|
-
this.sort(this.getNextSortConfig(coords.col, APPEND_COLUMN_CONFIG_STRATEGY));
|
300
|
+
this.sort(this.getNextSortConfig(coords.col, _columnSorting.APPEND_COLUMN_CONFIG_STRATEGY));
|
266
301
|
} else {
|
267
302
|
this.sort(this.getColumnNextConfig(coords.col));
|
268
303
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ColumnSorting } from "../columnSorting/index.mjs";
|
1
|
+
import { APPEND_COLUMN_CONFIG_STRATEGY, ColumnSorting } from "../columnSorting/index.mjs";
|
2
2
|
import { registerRootComparator } from "../columnSorting/sortService/index.mjs";
|
3
3
|
import { wasHeaderClickedProperly } from "../columnSorting/utils.mjs";
|
4
4
|
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
@@ -7,8 +7,8 @@ import { warnAboutPluginsConflict } from "./utils.mjs";
|
|
7
7
|
import { getClassesToAdd, getClassesToRemove } from "./domHelpers.mjs";
|
8
8
|
export const PLUGIN_KEY = 'multiColumnSorting';
|
9
9
|
export const PLUGIN_PRIORITY = 170;
|
10
|
-
const APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
11
10
|
const CONFLICTED_PLUGIN_KEY = 'columnSorting';
|
11
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
12
12
|
registerRootComparator(PLUGIN_KEY, rootComparator);
|
13
13
|
|
14
14
|
/**
|
@@ -108,6 +108,41 @@ export class MultiColumnSorting extends ColumnSorting {
|
|
108
108
|
super.disablePlugin();
|
109
109
|
}
|
110
110
|
|
111
|
+
/**
|
112
|
+
* Register shortcuts responsible for toggling column sorting functionality.
|
113
|
+
*
|
114
|
+
* @private
|
115
|
+
*/
|
116
|
+
registerShortcuts() {
|
117
|
+
super.registerShortcuts();
|
118
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
119
|
+
keys: [['Shift', 'Enter']],
|
120
|
+
callback: () => {
|
121
|
+
const {
|
122
|
+
highlight
|
123
|
+
} = this.hot.getSelectedRangeLast();
|
124
|
+
if (highlight.row === -1 && highlight.col >= 0) {
|
125
|
+
this.sort(this.getNextSortConfig(highlight.col, APPEND_COLUMN_CONFIG_STRATEGY));
|
126
|
+
}
|
127
|
+
},
|
128
|
+
runOnlyIf: () => {
|
129
|
+
var _this$hot$getSelected;
|
130
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
131
|
+
},
|
132
|
+
group: SHORTCUTS_GROUP
|
133
|
+
});
|
134
|
+
}
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Unregister shortcuts responsible for toggling column sorting functionality.
|
138
|
+
*
|
139
|
+
* @private
|
140
|
+
*/
|
141
|
+
unregisterShortcuts() {
|
142
|
+
super.unregisterShortcuts();
|
143
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
144
|
+
}
|
145
|
+
|
111
146
|
/**
|
112
147
|
* Sorts the table by chosen columns and orders.
|
113
148
|
*
|