handsontable 0.0.0-next-a1e4b4f-20230628 → 0.0.0-next-e697250-20230707
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 -28
- package/3rdparty/walkontable/src/cell/coords.mjs +50 -28
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +69 -36
- package/3rdparty/walkontable/src/cell/range.mjs +68 -35
- package/3rdparty/walkontable/src/event.js +3 -5
- package/3rdparty/walkontable/src/event.mjs +3 -5
- package/3rdparty/walkontable/src/overlay/_base.js +6 -7
- package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/top.js +6 -7
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
- package/3rdparty/walkontable/src/overlays.js +55 -64
- package/3rdparty/walkontable/src/overlays.mjs +55 -64
- package/3rdparty/walkontable/src/renderer/table.js +0 -2
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -2
- package/3rdparty/walkontable/src/scroll.js +20 -23
- package/3rdparty/walkontable/src/scroll.mjs +20 -23
- package/3rdparty/walkontable/src/selection/border/border.js +1 -0
- package/3rdparty/walkontable/src/selection/border/border.mjs +1 -0
- package/3rdparty/walkontable/src/selection/manager.js +40 -45
- package/3rdparty/walkontable/src/selection/manager.mjs +33 -38
- package/3rdparty/walkontable/src/selection/scanner.js +5 -4
- package/3rdparty/walkontable/src/selection/scanner.mjs +1 -0
- package/3rdparty/walkontable/src/settings.js +13 -15
- package/3rdparty/walkontable/src/settings.mjs +13 -15
- package/3rdparty/walkontable/src/table.js +23 -26
- package/3rdparty/walkontable/src/table.mjs +23 -26
- package/CHANGELOG.md +56 -0
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/common.d.ts +1 -1
- package/core.d.ts +7 -9
- package/core.js +241 -439
- package/core.mjs +245 -443
- package/dataMap/dataMap.js +1 -0
- package/dataMap/dataMap.mjs +1 -0
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/lazyFactoryMap.js +1 -0
- package/dataMap/metaManager/lazyFactoryMap.mjs +1 -0
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +33 -24
- package/dataMap/metaManager/metaSchema.mjs +33 -24
- package/dist/handsontable.css +25 -3
- package/dist/handsontable.full.css +25 -3
- package/dist/handsontable.full.js +14539 -11358
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +137 -125
- package/dist/handsontable.js +31414 -28455
- package/dist/handsontable.min.css +5 -5
- package/dist/handsontable.min.js +11 -3
- package/dist/languages/all.js +133 -0
- package/dist/languages/ar-AR.js +7 -0
- package/dist/languages/cs-CZ.js +7 -0
- package/dist/languages/de-CH.js +7 -0
- package/dist/languages/de-DE.js +7 -0
- package/dist/languages/en-US.js +7 -0
- package/dist/languages/es-MX.js +7 -0
- package/dist/languages/fr-FR.js +7 -0
- package/dist/languages/it-IT.js +7 -0
- package/dist/languages/ja-JP.js +7 -0
- package/dist/languages/ko-KR.js +7 -0
- package/dist/languages/lv-LV.js +7 -0
- package/dist/languages/nb-NO.js +7 -0
- package/dist/languages/nl-NL.js +7 -0
- package/dist/languages/pl-PL.js +7 -0
- package/dist/languages/pt-BR.js +7 -0
- package/dist/languages/ru-RU.js +7 -0
- package/dist/languages/sr-SP.js +7 -0
- package/dist/languages/zh-CN.js +7 -0
- package/dist/languages/zh-TW.js +7 -0
- package/editorManager.js +19 -89
- package/editorManager.mjs +24 -93
- package/editors/baseEditor/baseEditor.js +1 -0
- package/editors/baseEditor/baseEditor.mjs +1 -0
- package/editors/textEditor/textEditor.js +14 -20
- package/editors/textEditor/textEditor.mjs +16 -22
- package/helpers/dom/element.js +0 -11
- package/helpers/dom/element.mjs +0 -10
- 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/helpers/object.js +2 -0
- package/helpers/object.mjs +2 -0
- package/i18n/languages/ar-AR.js +7 -1
- package/i18n/languages/cs-CZ.js +7 -1
- package/i18n/languages/de-CH.js +7 -1
- package/i18n/languages/de-DE.js +7 -1
- package/i18n/languages/en-US.js +7 -1
- package/i18n/languages/es-MX.js +7 -1
- package/i18n/languages/fr-FR.js +7 -1
- package/i18n/languages/it-IT.js +7 -1
- package/i18n/languages/ja-JP.js +7 -1
- package/i18n/languages/ko-KR.js +7 -1
- package/i18n/languages/lv-LV.js +7 -1
- package/i18n/languages/nb-NO.js +7 -1
- package/i18n/languages/nl-NL.js +7 -1
- package/i18n/languages/pl-PL.js +7 -1
- package/i18n/languages/pt-BR.js +7 -1
- package/i18n/languages/ru-RU.js +7 -1
- package/i18n/languages/sr-SP.js +7 -1
- package/i18n/languages/zh-CN.js +7 -1
- package/i18n/languages/zh-TW.js +7 -1
- package/languages/all.js +133 -0
- package/languages/ar-AR.js +7 -0
- package/languages/cs-CZ.js +7 -0
- package/languages/de-CH.js +7 -0
- package/languages/de-DE.js +7 -0
- package/languages/en-US.js +7 -0
- package/languages/es-MX.js +7 -0
- package/languages/fr-FR.js +7 -0
- package/languages/index.js +133 -0
- package/languages/it-IT.js +7 -0
- package/languages/ja-JP.js +7 -0
- package/languages/ko-KR.js +7 -0
- package/languages/lv-LV.js +7 -0
- package/languages/nb-NO.js +7 -0
- package/languages/nl-NL.js +7 -0
- package/languages/pl-PL.js +7 -0
- package/languages/pt-BR.js +7 -0
- package/languages/ru-RU.js +7 -0
- package/languages/sr-SP.js +7 -0
- package/languages/zh-CN.js +7 -0
- package/languages/zh-TW.js +7 -0
- package/package.json +3 -2
- package/pluginHooks.d.ts +8 -2
- package/pluginHooks.js +116 -18
- package/pluginHooks.mjs +115 -15
- package/plugins/autoColumnSize/autoColumnSize.js +1 -0
- package/plugins/autoColumnSize/autoColumnSize.mjs +1 -0
- package/plugins/autoRowSize/autoRowSize.js +3 -2
- package/plugins/autoRowSize/autoRowSize.mjs +3 -2
- package/plugins/autofill/autofill.js +2 -2
- package/plugins/autofill/autofill.mjs +3 -3
- package/plugins/autofill/utils.js +1 -39
- package/plugins/autofill/utils.mjs +0 -37
- package/plugins/base/base.js +1 -0
- package/plugins/base/base.mjs +1 -0
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -0
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +1 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +82 -24
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +82 -24
- package/plugins/columnSorting/columnSorting.js +51 -8
- package/plugins/columnSorting/columnSorting.mjs +50 -9
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/index.js +4 -2
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/columnSorting/rootComparator.js +1 -0
- package/plugins/columnSorting/rootComparator.mjs +1 -0
- package/plugins/comments/commentEditor.js +1 -0
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +289 -224
- package/plugins/comments/comments.mjs +297 -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 +81 -29
- package/plugins/contextMenu/contextMenu.mjs +82 -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 +8 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +6 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +8 -5
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +6 -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 +100 -14
- package/plugins/copyPaste/copyPaste.mjs +100 -14
- package/plugins/copyPaste/copyableRanges.js +25 -31
- package/plugins/copyPaste/copyableRanges.mjs +18 -24
- package/plugins/copyPaste/focusableElement.js +219 -0
- package/plugins/copyPaste/focusableElement.mjs +213 -0
- package/plugins/customBorders/customBorders.d.ts +2 -0
- package/plugins/customBorders/customBorders.js +19 -50
- package/plugins/customBorders/customBorders.mjs +19 -50
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +94 -30
- package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
- package/plugins/exportFile/dataProvider.js +1 -0
- package/plugins/exportFile/dataProvider.mjs +1 -0
- package/plugins/filters/component/value.js +1 -0
- package/plugins/filters/component/value.mjs +1 -0
- package/plugins/filters/condition/beginsWith.js +1 -0
- package/plugins/filters/condition/beginsWith.mjs +1 -0
- package/plugins/filters/condition/between.js +1 -0
- package/plugins/filters/condition/between.mjs +1 -0
- package/plugins/filters/condition/byValue.js +1 -0
- package/plugins/filters/condition/byValue.mjs +1 -0
- package/plugins/filters/condition/contains.js +1 -0
- package/plugins/filters/condition/contains.mjs +1 -0
- package/plugins/filters/condition/date/after.js +1 -0
- package/plugins/filters/condition/date/after.mjs +1 -0
- package/plugins/filters/condition/date/before.js +1 -0
- package/plugins/filters/condition/date/before.mjs +1 -0
- package/plugins/filters/condition/endsWith.js +1 -0
- package/plugins/filters/condition/endsWith.mjs +1 -0
- package/plugins/filters/condition/equal.js +1 -0
- package/plugins/filters/condition/equal.mjs +1 -0
- package/plugins/filters/condition/greaterThan.js +1 -0
- package/plugins/filters/condition/greaterThan.mjs +1 -0
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -0
- package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
- package/plugins/filters/condition/lessThan.js +1 -0
- package/plugins/filters/condition/lessThan.mjs +1 -0
- package/plugins/filters/condition/lessThanOrEqual.js +1 -0
- package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
- package/plugins/filters/conditionCollection.js +1 -0
- package/plugins/filters/conditionCollection.mjs +1 -0
- package/plugins/filters/filters.js +68 -42
- package/plugins/filters/filters.mjs +67 -41
- package/plugins/filters/ui/multipleSelect.js +1 -0
- package/plugins/filters/ui/multipleSelect.mjs +1 -0
- package/plugins/formulas/formulas.js +191 -168
- package/plugins/formulas/formulas.mjs +191 -168
- package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
- package/plugins/formulas/indexSyncer/index.js +225 -0
- package/plugins/formulas/indexSyncer/index.mjs +219 -0
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -0
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +1 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +1 -0
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -0
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +1 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
- package/plugins/manualColumnResize/manualColumnResize.js +36 -5
- package/plugins/manualColumnResize/manualColumnResize.mjs +36 -5
- package/plugins/manualRowMove/manualRowMove.js +31 -12
- package/plugins/manualRowMove/manualRowMove.mjs +32 -13
- package/plugins/manualRowResize/manualRowResize.js +40 -9
- package/plugins/manualRowResize/manualRowResize.mjs +40 -9
- package/plugins/mergeCells/calculations/autofill.js +1 -0
- package/plugins/mergeCells/calculations/autofill.mjs +1 -0
- package/plugins/mergeCells/cellsCollection.js +1 -0
- package/plugins/mergeCells/cellsCollection.mjs +1 -0
- package/plugins/mergeCells/mergeCells.js +6 -2
- package/plugins/mergeCells/mergeCells.mjs +6 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
- package/plugins/multiColumnSorting/rootComparator.js +1 -0
- package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
- package/plugins/nestedHeaders/nestedHeaders.js +129 -6
- package/plugins/nestedHeaders/nestedHeaders.mjs +129 -6
- package/plugins/nestedHeaders/stateManager/headersTree.js +24 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -23
- package/plugins/nestedHeaders/stateManager/index.js +40 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
- package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
- package/plugins/nestedRows/data/dataManager.js +1 -0
- package/plugins/nestedRows/data/dataManager.mjs +1 -0
- package/plugins/nestedRows/nestedRows.js +53 -7
- package/plugins/nestedRows/nestedRows.mjs +53 -7
- package/plugins/nestedRows/ui/collapsing.js +1 -0
- package/plugins/nestedRows/ui/collapsing.mjs +1 -0
- package/plugins/nestedRows/utils/rowMoveController.js +1 -0
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -0
- package/plugins/persistentState/storage.js +1 -0
- package/plugins/persistentState/storage.mjs +1 -0
- package/plugins/registry.js +4 -1
- package/plugins/registry.mjs +1 -0
- package/plugins/undoRedo/undoRedo.js +1 -1
- package/plugins/undoRedo/undoRedo.mjs +1 -1
- package/renderers/baseRenderer/baseRenderer.js +0 -3
- package/renderers/baseRenderer/baseRenderer.mjs +0 -3
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +120 -98
- package/selection/highlight/highlight.mjs +118 -96
- package/selection/highlight/visualSelection.js +30 -17
- package/selection/highlight/visualSelection.mjs +30 -17
- 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 +246 -153
- package/selection/selection.mjs +247 -154
- package/selection/transformation.js +233 -96
- package/selection/transformation.mjs +230 -93
- package/selection/utils.js +12 -35
- package/selection/utils.mjs +13 -35
- package/settings.d.ts +2 -1
- 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 +53 -0
- package/shortcutContexts/commands/index.mjs +49 -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/scrollToFocusedCell.js +38 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +33 -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 +252 -0
- package/shortcutContexts/grid.mjs +248 -0
- package/shortcutContexts/index.js +29 -0
- package/shortcutContexts/index.mjs +15 -0
- package/shortcuts/context.js +1 -0
- package/shortcuts/context.mjs +1 -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 +112 -82
- package/tableView.mjs +112 -82
- package/translations/changesObservable/observable.js +41 -46
- package/translations/changesObservable/observable.mjs +36 -41
- package/translations/changesObservable/observer.js +1 -1
- package/translations/indexMapper.d.ts +0 -2
- package/translations/indexMapper.js +38 -64
- package/translations/indexMapper.mjs +39 -64
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/indexesSequence.js +1 -0
- package/translations/maps/utils/indexesSequence.mjs +1 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/tree.js +16 -18
- package/utils/dataStructures/tree.mjs +16 -18
- package/utils/dataStructures/uniqueMap.js +1 -0
- package/utils/dataStructures/uniqueMap.mjs +1 -0
- package/utils/dataStructures/uniqueSet.js +1 -0
- package/utils/dataStructures/uniqueSet.mjs +1 -0
- package/utils/ghostTable.js +1 -0
- package/utils/ghostTable.mjs +1 -0
- package/utils/parseTable.js +5 -1
- package/utils/parseTable.mjs +5 -1
- package/utils/staticRegister.js +1 -0
- package/utils/staticRegister.mjs +1 -0
- package/focusManager.d.ts +0 -12
- package/focusManager.js +0 -275
- package/focusManager.mjs +0 -270
@@ -0,0 +1,252 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
exports.shortcutsGridContext = shortcutsGridContext;
|
5
|
+
var _mixed = require("../helpers/mixed");
|
6
|
+
var _constants = require("./constants");
|
7
|
+
var _commands = require("./commands");
|
8
|
+
/**
|
9
|
+
* The context that defines shortcut list available for selected cell or cells.
|
10
|
+
*
|
11
|
+
* @param {Handsontable} hot The Handsontable instance.
|
12
|
+
*/
|
13
|
+
function shortcutsGridContext(hot) {
|
14
|
+
var context = hot.getShortcutManager().addContext('grid');
|
15
|
+
var commandsPool = (0, _commands.createKeyboardShortcutCommandsPool)(hot);
|
16
|
+
var config = {
|
17
|
+
runOnlyIf: function runOnlyIf() {
|
18
|
+
var _hot$getSettings = hot.getSettings(),
|
19
|
+
navigableHeaders = _hot$getSettings.navigableHeaders;
|
20
|
+
return (0, _mixed.isDefined)(hot.getSelected()) && (navigableHeaders || !navigableHeaders && hot.countRenderedRows() > 0 && hot.countRenderedCols() > 0);
|
21
|
+
},
|
22
|
+
group: _constants.GRID_GROUP
|
23
|
+
};
|
24
|
+
context.addShortcuts([{
|
25
|
+
keys: [['F2']],
|
26
|
+
callback: function callback(event) {
|
27
|
+
return commandsPool.editorFastOpen(event);
|
28
|
+
}
|
29
|
+
}, {
|
30
|
+
keys: [['Enter'], ['Enter', 'Shift']],
|
31
|
+
callback: function callback(event, keys) {
|
32
|
+
return commandsPool.editorOpen(event, keys);
|
33
|
+
}
|
34
|
+
}, {
|
35
|
+
keys: [['Backspace'], ['Delete']],
|
36
|
+
callback: function callback() {
|
37
|
+
return commandsPool.emptySelectedCells();
|
38
|
+
}
|
39
|
+
}], {
|
40
|
+
group: _constants.EDITOR_EDIT_GROUP,
|
41
|
+
runOnlyIf: function runOnlyIf() {
|
42
|
+
return (0, _mixed.isDefined)(hot.getSelected());
|
43
|
+
}
|
44
|
+
});
|
45
|
+
context.addShortcuts([{
|
46
|
+
keys: [['Control/Meta', 'A'], ['Control/Meta', 'Shift', 'Space']],
|
47
|
+
callback: function callback() {
|
48
|
+
return commandsPool.selectAll();
|
49
|
+
}
|
50
|
+
}, {
|
51
|
+
keys: [['Control/Meta', 'Enter']],
|
52
|
+
callback: function callback() {
|
53
|
+
return commandsPool.populateSelectedCellsData();
|
54
|
+
},
|
55
|
+
runOnlyIf: function runOnlyIf() {
|
56
|
+
return !hot.getSelectedRangeLast().highlight.isHeader() && hot.getSelectedRangeLast().getCellsCount() > 1;
|
57
|
+
}
|
58
|
+
}, {
|
59
|
+
keys: [['Control', 'Space']],
|
60
|
+
captureCtrl: true,
|
61
|
+
callback: function callback() {
|
62
|
+
return commandsPool.extendCellsSelectionToColumns();
|
63
|
+
}
|
64
|
+
}, {
|
65
|
+
keys: [['Shift', 'Space']],
|
66
|
+
stopPropagation: true,
|
67
|
+
callback: function callback() {
|
68
|
+
return commandsPool.extendCellsSelectionToRows();
|
69
|
+
}
|
70
|
+
}, {
|
71
|
+
keys: [['ArrowUp']],
|
72
|
+
callback: function callback() {
|
73
|
+
return commandsPool.moveCellSelectionUp();
|
74
|
+
}
|
75
|
+
}, {
|
76
|
+
keys: [['ArrowUp', 'Control/Meta']],
|
77
|
+
captureCtrl: true,
|
78
|
+
callback: function callback() {
|
79
|
+
return commandsPool.moveCellSelectionToMostTop();
|
80
|
+
}
|
81
|
+
}, {
|
82
|
+
keys: [['ArrowUp', 'Shift']],
|
83
|
+
callback: function callback() {
|
84
|
+
return commandsPool.extendCellsSelectionUp();
|
85
|
+
}
|
86
|
+
}, {
|
87
|
+
keys: [['ArrowUp', 'Shift', 'Control/Meta']],
|
88
|
+
captureCtrl: true,
|
89
|
+
callback: function callback() {
|
90
|
+
return commandsPool.extendCellsSelectionToMostTop();
|
91
|
+
},
|
92
|
+
runOnlyIf: function runOnlyIf() {
|
93
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
94
|
+
}
|
95
|
+
}, {
|
96
|
+
keys: [['ArrowDown']],
|
97
|
+
callback: function callback() {
|
98
|
+
return commandsPool.moveCellSelectionDown();
|
99
|
+
}
|
100
|
+
}, {
|
101
|
+
keys: [['ArrowDown', 'Control/Meta']],
|
102
|
+
captureCtrl: true,
|
103
|
+
callback: function callback() {
|
104
|
+
return commandsPool.moveCellSelectionToMostBottom();
|
105
|
+
}
|
106
|
+
}, {
|
107
|
+
keys: [['ArrowDown', 'Shift']],
|
108
|
+
callback: function callback() {
|
109
|
+
return commandsPool.extendCellsSelectionDown();
|
110
|
+
}
|
111
|
+
}, {
|
112
|
+
keys: [['ArrowDown', 'Shift', 'Control/Meta']],
|
113
|
+
captureCtrl: true,
|
114
|
+
callback: function callback() {
|
115
|
+
return commandsPool.extendCellsSelectionToMostBottom();
|
116
|
+
},
|
117
|
+
runOnlyIf: function runOnlyIf() {
|
118
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
119
|
+
}
|
120
|
+
}, {
|
121
|
+
keys: [['ArrowLeft']],
|
122
|
+
callback: function callback() {
|
123
|
+
return commandsPool.moveCellSelectionLeft();
|
124
|
+
}
|
125
|
+
}, {
|
126
|
+
keys: [['ArrowLeft', 'Control/Meta']],
|
127
|
+
captureCtrl: true,
|
128
|
+
callback: function callback() {
|
129
|
+
return commandsPool.moveCellSelectionToMostLeft();
|
130
|
+
}
|
131
|
+
}, {
|
132
|
+
keys: [['ArrowLeft', 'Shift']],
|
133
|
+
callback: function callback() {
|
134
|
+
return commandsPool.extendCellsSelectionLeft();
|
135
|
+
}
|
136
|
+
}, {
|
137
|
+
keys: [['ArrowLeft', 'Shift', 'Control/Meta']],
|
138
|
+
captureCtrl: true,
|
139
|
+
callback: function callback() {
|
140
|
+
return commandsPool.extendCellsSelectionToMostLeft();
|
141
|
+
},
|
142
|
+
runOnlyIf: function runOnlyIf() {
|
143
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
144
|
+
}
|
145
|
+
}, {
|
146
|
+
keys: [['ArrowRight']],
|
147
|
+
callback: function callback() {
|
148
|
+
return commandsPool.moveCellSelectionRight();
|
149
|
+
}
|
150
|
+
}, {
|
151
|
+
keys: [['ArrowRight', 'Control/Meta']],
|
152
|
+
captureCtrl: true,
|
153
|
+
callback: function callback() {
|
154
|
+
return commandsPool.moveCellSelectionToMostRight();
|
155
|
+
}
|
156
|
+
}, {
|
157
|
+
keys: [['ArrowRight', 'Shift']],
|
158
|
+
callback: function callback() {
|
159
|
+
return commandsPool.extendCellsSelectionRight();
|
160
|
+
}
|
161
|
+
}, {
|
162
|
+
keys: [['ArrowRight', 'Shift', 'Control/Meta']],
|
163
|
+
captureCtrl: true,
|
164
|
+
callback: function callback() {
|
165
|
+
return commandsPool.extendCellsSelectionToMostRight();
|
166
|
+
},
|
167
|
+
runOnlyIf: function runOnlyIf() {
|
168
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
169
|
+
}
|
170
|
+
}, {
|
171
|
+
keys: [['Home']],
|
172
|
+
captureCtrl: true,
|
173
|
+
callback: function callback() {
|
174
|
+
return commandsPool.moveCellSelectionToMostInlineStart();
|
175
|
+
},
|
176
|
+
runOnlyIf: function runOnlyIf() {
|
177
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
178
|
+
}
|
179
|
+
}, {
|
180
|
+
keys: [['Home', 'Shift']],
|
181
|
+
callback: function callback() {
|
182
|
+
return commandsPool.extendCellsSelectionToMostInlineStart();
|
183
|
+
}
|
184
|
+
}, {
|
185
|
+
keys: [['Home', 'Control/Meta']],
|
186
|
+
captureCtrl: true,
|
187
|
+
callback: function callback() {
|
188
|
+
return commandsPool.moveCellSelectionToMostTopInlineStart();
|
189
|
+
},
|
190
|
+
runOnlyIf: function runOnlyIf() {
|
191
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
192
|
+
}
|
193
|
+
}, {
|
194
|
+
keys: [['End']],
|
195
|
+
captureCtrl: true,
|
196
|
+
callback: function callback() {
|
197
|
+
return commandsPool.moveCellSelectionToMostInlineEnd();
|
198
|
+
},
|
199
|
+
runOnlyIf: function runOnlyIf() {
|
200
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
201
|
+
}
|
202
|
+
}, {
|
203
|
+
keys: [['End', 'Shift']],
|
204
|
+
callback: function callback() {
|
205
|
+
return commandsPool.extendCellsSelectionToMostInlineEnd();
|
206
|
+
}
|
207
|
+
}, {
|
208
|
+
keys: [['End', 'Control/Meta']],
|
209
|
+
captureCtrl: true,
|
210
|
+
callback: function callback() {
|
211
|
+
return commandsPool.moveCellSelectionToMostBottomInlineEnd();
|
212
|
+
},
|
213
|
+
runOnlyIf: function runOnlyIf() {
|
214
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
215
|
+
}
|
216
|
+
}, {
|
217
|
+
keys: [['PageUp']],
|
218
|
+
callback: function callback() {
|
219
|
+
return commandsPool.moveCellSelectionUpByViewportHight();
|
220
|
+
}
|
221
|
+
}, {
|
222
|
+
keys: [['PageUp', 'Shift']],
|
223
|
+
callback: function callback() {
|
224
|
+
return commandsPool.extendCellsSelectionUpByViewportHeight();
|
225
|
+
}
|
226
|
+
}, {
|
227
|
+
keys: [['PageDown']],
|
228
|
+
callback: function callback() {
|
229
|
+
return commandsPool.moveCellSelectionDownByViewportHeight();
|
230
|
+
}
|
231
|
+
}, {
|
232
|
+
keys: [['PageDown', 'Shift']],
|
233
|
+
callback: function callback() {
|
234
|
+
return commandsPool.extendCellsSelectionDownByViewportHeight();
|
235
|
+
}
|
236
|
+
}, {
|
237
|
+
keys: [['Tab']],
|
238
|
+
callback: function callback() {
|
239
|
+
return commandsPool.moveCellSelectionInlineStart();
|
240
|
+
}
|
241
|
+
}, {
|
242
|
+
keys: [['Shift', 'Tab']],
|
243
|
+
callback: function callback() {
|
244
|
+
return commandsPool.moveCellSelectionInlineEnd();
|
245
|
+
}
|
246
|
+
}, {
|
247
|
+
keys: [['Control/Meta', 'Backspace']],
|
248
|
+
callback: function callback() {
|
249
|
+
return commandsPool.scrollToFocusedCell();
|
250
|
+
}
|
251
|
+
}], config);
|
252
|
+
}
|
@@ -0,0 +1,248 @@
|
|
1
|
+
import { isDefined } from "../helpers/mixed.mjs";
|
2
|
+
import { GRID_GROUP, EDITOR_EDIT_GROUP } from "./constants.mjs";
|
3
|
+
import { createKeyboardShortcutCommandsPool } from "./commands/index.mjs";
|
4
|
+
/**
|
5
|
+
* The context that defines shortcut list available for selected cell or cells.
|
6
|
+
*
|
7
|
+
* @param {Handsontable} hot The Handsontable instance.
|
8
|
+
*/
|
9
|
+
export function shortcutsGridContext(hot) {
|
10
|
+
var context = hot.getShortcutManager().addContext('grid');
|
11
|
+
var commandsPool = createKeyboardShortcutCommandsPool(hot);
|
12
|
+
var config = {
|
13
|
+
runOnlyIf: function runOnlyIf() {
|
14
|
+
var _hot$getSettings = hot.getSettings(),
|
15
|
+
navigableHeaders = _hot$getSettings.navigableHeaders;
|
16
|
+
return isDefined(hot.getSelected()) && (navigableHeaders || !navigableHeaders && hot.countRenderedRows() > 0 && hot.countRenderedCols() > 0);
|
17
|
+
},
|
18
|
+
group: GRID_GROUP
|
19
|
+
};
|
20
|
+
context.addShortcuts([{
|
21
|
+
keys: [['F2']],
|
22
|
+
callback: function callback(event) {
|
23
|
+
return commandsPool.editorFastOpen(event);
|
24
|
+
}
|
25
|
+
}, {
|
26
|
+
keys: [['Enter'], ['Enter', 'Shift']],
|
27
|
+
callback: function callback(event, keys) {
|
28
|
+
return commandsPool.editorOpen(event, keys);
|
29
|
+
}
|
30
|
+
}, {
|
31
|
+
keys: [['Backspace'], ['Delete']],
|
32
|
+
callback: function callback() {
|
33
|
+
return commandsPool.emptySelectedCells();
|
34
|
+
}
|
35
|
+
}], {
|
36
|
+
group: EDITOR_EDIT_GROUP,
|
37
|
+
runOnlyIf: function runOnlyIf() {
|
38
|
+
return isDefined(hot.getSelected());
|
39
|
+
}
|
40
|
+
});
|
41
|
+
context.addShortcuts([{
|
42
|
+
keys: [['Control/Meta', 'A'], ['Control/Meta', 'Shift', 'Space']],
|
43
|
+
callback: function callback() {
|
44
|
+
return commandsPool.selectAll();
|
45
|
+
}
|
46
|
+
}, {
|
47
|
+
keys: [['Control/Meta', 'Enter']],
|
48
|
+
callback: function callback() {
|
49
|
+
return commandsPool.populateSelectedCellsData();
|
50
|
+
},
|
51
|
+
runOnlyIf: function runOnlyIf() {
|
52
|
+
return !hot.getSelectedRangeLast().highlight.isHeader() && hot.getSelectedRangeLast().getCellsCount() > 1;
|
53
|
+
}
|
54
|
+
}, {
|
55
|
+
keys: [['Control', 'Space']],
|
56
|
+
captureCtrl: true,
|
57
|
+
callback: function callback() {
|
58
|
+
return commandsPool.extendCellsSelectionToColumns();
|
59
|
+
}
|
60
|
+
}, {
|
61
|
+
keys: [['Shift', 'Space']],
|
62
|
+
stopPropagation: true,
|
63
|
+
callback: function callback() {
|
64
|
+
return commandsPool.extendCellsSelectionToRows();
|
65
|
+
}
|
66
|
+
}, {
|
67
|
+
keys: [['ArrowUp']],
|
68
|
+
callback: function callback() {
|
69
|
+
return commandsPool.moveCellSelectionUp();
|
70
|
+
}
|
71
|
+
}, {
|
72
|
+
keys: [['ArrowUp', 'Control/Meta']],
|
73
|
+
captureCtrl: true,
|
74
|
+
callback: function callback() {
|
75
|
+
return commandsPool.moveCellSelectionToMostTop();
|
76
|
+
}
|
77
|
+
}, {
|
78
|
+
keys: [['ArrowUp', 'Shift']],
|
79
|
+
callback: function callback() {
|
80
|
+
return commandsPool.extendCellsSelectionUp();
|
81
|
+
}
|
82
|
+
}, {
|
83
|
+
keys: [['ArrowUp', 'Shift', 'Control/Meta']],
|
84
|
+
captureCtrl: true,
|
85
|
+
callback: function callback() {
|
86
|
+
return commandsPool.extendCellsSelectionToMostTop();
|
87
|
+
},
|
88
|
+
runOnlyIf: function runOnlyIf() {
|
89
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
90
|
+
}
|
91
|
+
}, {
|
92
|
+
keys: [['ArrowDown']],
|
93
|
+
callback: function callback() {
|
94
|
+
return commandsPool.moveCellSelectionDown();
|
95
|
+
}
|
96
|
+
}, {
|
97
|
+
keys: [['ArrowDown', 'Control/Meta']],
|
98
|
+
captureCtrl: true,
|
99
|
+
callback: function callback() {
|
100
|
+
return commandsPool.moveCellSelectionToMostBottom();
|
101
|
+
}
|
102
|
+
}, {
|
103
|
+
keys: [['ArrowDown', 'Shift']],
|
104
|
+
callback: function callback() {
|
105
|
+
return commandsPool.extendCellsSelectionDown();
|
106
|
+
}
|
107
|
+
}, {
|
108
|
+
keys: [['ArrowDown', 'Shift', 'Control/Meta']],
|
109
|
+
captureCtrl: true,
|
110
|
+
callback: function callback() {
|
111
|
+
return commandsPool.extendCellsSelectionToMostBottom();
|
112
|
+
},
|
113
|
+
runOnlyIf: function runOnlyIf() {
|
114
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByColumnHeader());
|
115
|
+
}
|
116
|
+
}, {
|
117
|
+
keys: [['ArrowLeft']],
|
118
|
+
callback: function callback() {
|
119
|
+
return commandsPool.moveCellSelectionLeft();
|
120
|
+
}
|
121
|
+
}, {
|
122
|
+
keys: [['ArrowLeft', 'Control/Meta']],
|
123
|
+
captureCtrl: true,
|
124
|
+
callback: function callback() {
|
125
|
+
return commandsPool.moveCellSelectionToMostLeft();
|
126
|
+
}
|
127
|
+
}, {
|
128
|
+
keys: [['ArrowLeft', 'Shift']],
|
129
|
+
callback: function callback() {
|
130
|
+
return commandsPool.extendCellsSelectionLeft();
|
131
|
+
}
|
132
|
+
}, {
|
133
|
+
keys: [['ArrowLeft', 'Shift', 'Control/Meta']],
|
134
|
+
captureCtrl: true,
|
135
|
+
callback: function callback() {
|
136
|
+
return commandsPool.extendCellsSelectionToMostLeft();
|
137
|
+
},
|
138
|
+
runOnlyIf: function runOnlyIf() {
|
139
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
140
|
+
}
|
141
|
+
}, {
|
142
|
+
keys: [['ArrowRight']],
|
143
|
+
callback: function callback() {
|
144
|
+
return commandsPool.moveCellSelectionRight();
|
145
|
+
}
|
146
|
+
}, {
|
147
|
+
keys: [['ArrowRight', 'Control/Meta']],
|
148
|
+
captureCtrl: true,
|
149
|
+
callback: function callback() {
|
150
|
+
return commandsPool.moveCellSelectionToMostRight();
|
151
|
+
}
|
152
|
+
}, {
|
153
|
+
keys: [['ArrowRight', 'Shift']],
|
154
|
+
callback: function callback() {
|
155
|
+
return commandsPool.extendCellsSelectionRight();
|
156
|
+
}
|
157
|
+
}, {
|
158
|
+
keys: [['ArrowRight', 'Shift', 'Control/Meta']],
|
159
|
+
captureCtrl: true,
|
160
|
+
callback: function callback() {
|
161
|
+
return commandsPool.extendCellsSelectionToMostRight();
|
162
|
+
},
|
163
|
+
runOnlyIf: function runOnlyIf() {
|
164
|
+
return !(hot.selection.isSelectedByCorner() || hot.selection.isSelectedByRowHeader());
|
165
|
+
}
|
166
|
+
}, {
|
167
|
+
keys: [['Home']],
|
168
|
+
captureCtrl: true,
|
169
|
+
callback: function callback() {
|
170
|
+
return commandsPool.moveCellSelectionToMostInlineStart();
|
171
|
+
},
|
172
|
+
runOnlyIf: function runOnlyIf() {
|
173
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
174
|
+
}
|
175
|
+
}, {
|
176
|
+
keys: [['Home', 'Shift']],
|
177
|
+
callback: function callback() {
|
178
|
+
return commandsPool.extendCellsSelectionToMostInlineStart();
|
179
|
+
}
|
180
|
+
}, {
|
181
|
+
keys: [['Home', 'Control/Meta']],
|
182
|
+
captureCtrl: true,
|
183
|
+
callback: function callback() {
|
184
|
+
return commandsPool.moveCellSelectionToMostTopInlineStart();
|
185
|
+
},
|
186
|
+
runOnlyIf: function runOnlyIf() {
|
187
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
188
|
+
}
|
189
|
+
}, {
|
190
|
+
keys: [['End']],
|
191
|
+
captureCtrl: true,
|
192
|
+
callback: function callback() {
|
193
|
+
return commandsPool.moveCellSelectionToMostInlineEnd();
|
194
|
+
},
|
195
|
+
runOnlyIf: function runOnlyIf() {
|
196
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
197
|
+
}
|
198
|
+
}, {
|
199
|
+
keys: [['End', 'Shift']],
|
200
|
+
callback: function callback() {
|
201
|
+
return commandsPool.extendCellsSelectionToMostInlineEnd();
|
202
|
+
}
|
203
|
+
}, {
|
204
|
+
keys: [['End', 'Control/Meta']],
|
205
|
+
captureCtrl: true,
|
206
|
+
callback: function callback() {
|
207
|
+
return commandsPool.moveCellSelectionToMostBottomInlineEnd();
|
208
|
+
},
|
209
|
+
runOnlyIf: function runOnlyIf() {
|
210
|
+
return hot.view.isMainTableNotFullyCoveredByOverlays();
|
211
|
+
}
|
212
|
+
}, {
|
213
|
+
keys: [['PageUp']],
|
214
|
+
callback: function callback() {
|
215
|
+
return commandsPool.moveCellSelectionUpByViewportHight();
|
216
|
+
}
|
217
|
+
}, {
|
218
|
+
keys: [['PageUp', 'Shift']],
|
219
|
+
callback: function callback() {
|
220
|
+
return commandsPool.extendCellsSelectionUpByViewportHeight();
|
221
|
+
}
|
222
|
+
}, {
|
223
|
+
keys: [['PageDown']],
|
224
|
+
callback: function callback() {
|
225
|
+
return commandsPool.moveCellSelectionDownByViewportHeight();
|
226
|
+
}
|
227
|
+
}, {
|
228
|
+
keys: [['PageDown', 'Shift']],
|
229
|
+
callback: function callback() {
|
230
|
+
return commandsPool.extendCellsSelectionDownByViewportHeight();
|
231
|
+
}
|
232
|
+
}, {
|
233
|
+
keys: [['Tab']],
|
234
|
+
callback: function callback() {
|
235
|
+
return commandsPool.moveCellSelectionInlineStart();
|
236
|
+
}
|
237
|
+
}, {
|
238
|
+
keys: [['Shift', 'Tab']],
|
239
|
+
callback: function callback() {
|
240
|
+
return commandsPool.moveCellSelectionInlineEnd();
|
241
|
+
}
|
242
|
+
}, {
|
243
|
+
keys: [['Control/Meta', 'Backspace']],
|
244
|
+
callback: function callback() {
|
245
|
+
return commandsPool.scrollToFocusedCell();
|
246
|
+
}
|
247
|
+
}], config);
|
248
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
require("core-js/modules/es.object.keys.js");
|
4
|
+
exports.__esModule = true;
|
5
|
+
var _exportNames = {
|
6
|
+
registerAllShortcutContexts: true
|
7
|
+
};
|
8
|
+
exports.registerAllShortcutContexts = registerAllShortcutContexts;
|
9
|
+
require("core-js/modules/es.object.to-string.js");
|
10
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
11
|
+
var _editor = require("./editor");
|
12
|
+
var _grid = require("./grid");
|
13
|
+
var _constants = require("./constants");
|
14
|
+
Object.keys(_constants).forEach(function (key) {
|
15
|
+
if (key === "default" || key === "__esModule") return;
|
16
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
17
|
+
if (key in exports && exports[key] === _constants[key]) return;
|
18
|
+
exports[key] = _constants[key];
|
19
|
+
});
|
20
|
+
/**
|
21
|
+
* Register all shortcut contexts.
|
22
|
+
*
|
23
|
+
* @param {Handsontable} hotInstance The Handsontable instance.
|
24
|
+
*/
|
25
|
+
function registerAllShortcutContexts(hotInstance) {
|
26
|
+
[_editor.shortcutsEditorContext, _grid.shortcutsGridContext].forEach(function (context) {
|
27
|
+
return context(hotInstance);
|
28
|
+
});
|
29
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import "core-js/modules/es.object.to-string.js";
|
2
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
3
|
+
import { shortcutsEditorContext } from "./editor.mjs";
|
4
|
+
import { shortcutsGridContext } from "./grid.mjs";
|
5
|
+
export * from "./constants.mjs";
|
6
|
+
/**
|
7
|
+
* Register all shortcut contexts.
|
8
|
+
*
|
9
|
+
* @param {Handsontable} hotInstance The Handsontable instance.
|
10
|
+
*/
|
11
|
+
export function registerAllShortcutContexts(hotInstance) {
|
12
|
+
[shortcutsEditorContext, shortcutsGridContext].forEach(function (context) {
|
13
|
+
return context(hotInstance);
|
14
|
+
});
|
15
|
+
}
|
package/shortcuts/context.js
CHANGED
@@ -5,6 +5,7 @@ require("core-js/modules/es.symbol.js");
|
|
5
5
|
require("core-js/modules/es.symbol.description.js");
|
6
6
|
require("core-js/modules/es.symbol.iterator.js");
|
7
7
|
require("core-js/modules/es.string.iterator.js");
|
8
|
+
require("core-js/modules/es.regexp.to-string.js");
|
8
9
|
require("core-js/modules/es.function.name.js");
|
9
10
|
require("core-js/modules/es.array.from.js");
|
10
11
|
require("core-js/modules/es.regexp.exec.js");
|
package/shortcuts/context.mjs
CHANGED
@@ -3,6 +3,7 @@ import "core-js/modules/es.symbol.js";
|
|
3
3
|
import "core-js/modules/es.symbol.description.js";
|
4
4
|
import "core-js/modules/es.symbol.iterator.js";
|
5
5
|
import "core-js/modules/es.string.iterator.js";
|
6
|
+
import "core-js/modules/es.regexp.to-string.js";
|
6
7
|
import "core-js/modules/es.function.name.js";
|
7
8
|
import "core-js/modules/es.array.from.js";
|
8
9
|
import "core-js/modules/es.regexp.exec.js";
|
package/shortcuts/manager.js
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.createShortcutManager = void 0;
|
5
5
|
var _uniqueMap = require("../utils/dataStructures/uniqueMap");
|
6
|
+
var _event = require("../helpers/dom/event");
|
6
7
|
var _context = require("./context");
|
7
8
|
var _recorder = require("./recorder");
|
8
9
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -126,6 +127,7 @@ var createShortcutManager = function createShortcutManager(_ref) {
|
|
126
127
|
event.preventDefault();
|
127
128
|
}
|
128
129
|
if (stopPropagation) {
|
130
|
+
(0, _event.stopImmediatePropagation)(event);
|
129
131
|
event.stopPropagation();
|
130
132
|
}
|
131
133
|
if (isExecutionCancelled) {
|
package/shortcuts/manager.mjs
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { createUniqueMap } from "../utils/dataStructures/uniqueMap.mjs";
|
2
|
+
import { stopImmediatePropagation } from "../helpers/dom/event.mjs";
|
2
3
|
import { createContext } from "./context.mjs";
|
3
4
|
import { useRecorder } from "./recorder.mjs";
|
4
5
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -121,6 +122,7 @@ export var createShortcutManager = function createShortcutManager(_ref) {
|
|
121
122
|
event.preventDefault();
|
122
123
|
}
|
123
124
|
if (stopPropagation) {
|
125
|
+
stopImmediatePropagation(event);
|
124
126
|
event.stopPropagation();
|
125
127
|
}
|
126
128
|
if (isExecutionCancelled) {
|
package/shortcuts/recorder.js
CHANGED
@@ -88,7 +88,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
88
88
|
if (event.keyCode === 229 || result === false || (0, _event.isImmediatePropagationStopped)(event)) {
|
89
89
|
return;
|
90
90
|
}
|
91
|
-
var pressedKey = (0, _utils.normalizeEventKey)(event
|
91
|
+
var pressedKey = (0, _utils.normalizeEventKey)(event);
|
92
92
|
var extraModifierKeys = [];
|
93
93
|
if (isModifierKey(pressedKey)) {
|
94
94
|
modifierKeysObserver.press(pressedKey);
|
@@ -114,7 +114,7 @@ function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDown, call
|
|
114
114
|
if (handleEvent(event) === false) {
|
115
115
|
return;
|
116
116
|
}
|
117
|
-
var pressedKey = (0, _utils.normalizeEventKey)(event
|
117
|
+
var pressedKey = (0, _utils.normalizeEventKey)(event);
|
118
118
|
if (isModifierKey(pressedKey) === false) {
|
119
119
|
return;
|
120
120
|
}
|
package/shortcuts/recorder.mjs
CHANGED
@@ -84,7 +84,7 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
|
|
84
84
|
if (event.keyCode === 229 || result === false || isImmediatePropagationStopped(event)) {
|
85
85
|
return;
|
86
86
|
}
|
87
|
-
var pressedKey = normalizeEventKey(event
|
87
|
+
var pressedKey = normalizeEventKey(event);
|
88
88
|
var extraModifierKeys = [];
|
89
89
|
if (isModifierKey(pressedKey)) {
|
90
90
|
modifierKeysObserver.press(pressedKey);
|
@@ -110,7 +110,7 @@ export function useRecorder(ownerWindow, handleEvent, beforeKeyDown, afterKeyDow
|
|
110
110
|
if (handleEvent(event) === false) {
|
111
111
|
return;
|
112
112
|
}
|
113
|
-
var pressedKey = normalizeEventKey(event
|
113
|
+
var pressedKey = normalizeEventKey(event);
|
114
114
|
if (isModifierKey(pressedKey) === false) {
|
115
115
|
return;
|
116
116
|
}
|
package/shortcuts/utils.js
CHANGED
@@ -10,6 +10,10 @@ require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
10
|
require("core-js/modules/es.array.join.js");
|
11
11
|
require("core-js/modules/es.array.sort.js");
|
12
12
|
require("core-js/modules/es.array.map.js");
|
13
|
+
require("core-js/modules/es.regexp.constructor.js");
|
14
|
+
require("core-js/modules/es.regexp.exec.js");
|
15
|
+
require("core-js/modules/es.regexp.to-string.js");
|
16
|
+
require("core-js/modules/es.string.replace.js");
|
13
17
|
// This file handles key-name discrepancies between browsers.
|
14
18
|
// For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
|
15
19
|
var mappings = new Map([[' ', 'space'],
|
@@ -46,13 +50,25 @@ var getKeysList = function getKeysList(normalizedKeys) {
|
|
46
50
|
};
|
47
51
|
|
48
52
|
/**
|
49
|
-
*
|
53
|
+
* The regex tests if the event.code matches to the pattern and it's used to extract letters and digits from
|
54
|
+
* the string.
|
55
|
+
*/
|
56
|
+
exports.getKeysList = getKeysList;
|
57
|
+
var codeToKeyRegExp = new RegExp('^(?:Key|Digit)([A-Z0-9])$');
|
58
|
+
|
59
|
+
/**
|
60
|
+
* Normalizes a keyboard event key value to a key before its modification. When the keyboard event
|
61
|
+
* is triggered with Alt, Control or Shift keys the `key` property contains modified key e.g. for Alt+L
|
62
|
+
* it will be `ł`. But that value is only valid for polish keyboard layout. To fix that limitations, for
|
63
|
+
* letters and digits the value is taken from the `code` property which holds original value before
|
64
|
+
* transformation.
|
50
65
|
*
|
51
|
-
* @param {
|
66
|
+
* @param {Event} event The KeyboardEvent object.
|
52
67
|
* @returns {string}
|
53
68
|
*/
|
54
|
-
|
55
|
-
var
|
56
|
-
|
69
|
+
var normalizeEventKey = function normalizeEventKey(_ref) {
|
70
|
+
var key = _ref.key,
|
71
|
+
code = _ref.code;
|
72
|
+
return (codeToKeyRegExp.test(code) ? code.replace(codeToKeyRegExp, '$1') : key).toLowerCase();
|
57
73
|
};
|
58
74
|
exports.normalizeEventKey = normalizeEventKey;
|