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
@@ -9,10 +9,6 @@ require("core-js/modules/es.symbol.iterator.js");
|
|
9
9
|
require("core-js/modules/es.array.iterator.js");
|
10
10
|
require("core-js/modules/es.string.iterator.js");
|
11
11
|
require("core-js/modules/web.dom-collections.iterator.js");
|
12
|
-
require("core-js/modules/es.array.slice.js");
|
13
|
-
require("core-js/modules/es.function.name.js");
|
14
|
-
require("core-js/modules/es.array.from.js");
|
15
|
-
require("core-js/modules/es.regexp.exec.js");
|
16
12
|
require("core-js/modules/es.weak-map.js");
|
17
13
|
exports.__esModule = true;
|
18
14
|
exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.CustomBorders = void 0;
|
@@ -38,12 +34,6 @@ var _selection = require("../../selection");
|
|
38
34
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
39
35
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
40
36
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
41
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
42
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
43
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
44
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
45
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
46
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
47
37
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
48
38
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
49
39
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -229,25 +219,11 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
229
219
|
var selectionType = (0, _selection.detectSelectionType)(selectionRanges);
|
230
220
|
var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
|
231
221
|
(0, _array.arrayEach)(selectionRanges, function (selection) {
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
columnEnd = _selectionSchemaNorma2[3];
|
238
|
-
var _loop = function _loop(row) {
|
239
|
-
var _loop2 = function _loop2(col) {
|
240
|
-
(0, _array.arrayEach)(borderKeys, function (borderKey) {
|
241
|
-
_this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
|
242
|
-
});
|
243
|
-
};
|
244
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
245
|
-
_loop2(col);
|
246
|
-
}
|
247
|
-
};
|
248
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
249
|
-
_loop(row);
|
250
|
-
}
|
222
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
223
|
+
(0, _array.arrayEach)(borderKeys, function (borderKey) {
|
224
|
+
_this3.prepareBorderFromCustomAdded(row, col, normBorder, (0, _utils.toInlinePropName)(borderKey));
|
225
|
+
});
|
226
|
+
});
|
251
227
|
});
|
252
228
|
|
253
229
|
/*
|
@@ -290,27 +266,13 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
290
266
|
var selectionSchemaNormalizer = (0, _selection.normalizeSelectionFactory)(selectionType);
|
291
267
|
var selectedBorders = [];
|
292
268
|
(0, _array.arrayEach)(selectionRanges, function (selection) {
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
var _loop4 = function _loop4(col) {
|
301
|
-
(0, _array.arrayEach)(_this4.savedBorders, function (border) {
|
302
|
-
if (border.row === row && border.col === col) {
|
303
|
-
selectedBorders.push((0, _utils.denormalizeBorder)(border));
|
304
|
-
}
|
305
|
-
});
|
306
|
-
};
|
307
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
308
|
-
_loop4(col);
|
309
|
-
}
|
310
|
-
};
|
311
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
312
|
-
_loop3(row);
|
313
|
-
}
|
269
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
270
|
+
(0, _array.arrayEach)(_this4.savedBorders, function (border) {
|
271
|
+
if (border.row === row && border.col === col) {
|
272
|
+
selectedBorders.push((0, _utils.denormalizeBorder)(border));
|
273
|
+
}
|
274
|
+
});
|
275
|
+
});
|
314
276
|
});
|
315
277
|
return selectedBorders;
|
316
278
|
}
|
@@ -852,6 +814,13 @@ var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
852
814
|
return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
|
853
815
|
},
|
854
816
|
disabled: function disabled() {
|
817
|
+
var range = this.getSelectedRangeLast();
|
818
|
+
if (!range) {
|
819
|
+
return true;
|
820
|
+
}
|
821
|
+
if (range.isSingleHeader()) {
|
822
|
+
return true;
|
823
|
+
}
|
855
824
|
return this.selection.isSelectedByCorner();
|
856
825
|
},
|
857
826
|
submenu: {
|
@@ -1,10 +1,4 @@
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
2
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
4
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
5
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
6
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
7
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
8
2
|
import "core-js/modules/es.array.concat.js";
|
9
3
|
import "core-js/modules/es.object.keys.js";
|
10
4
|
import "core-js/modules/es.object.assign.js";
|
@@ -25,10 +19,6 @@ import "core-js/modules/es.symbol.iterator.js";
|
|
25
19
|
import "core-js/modules/es.array.iterator.js";
|
26
20
|
import "core-js/modules/es.string.iterator.js";
|
27
21
|
import "core-js/modules/web.dom-collections.iterator.js";
|
28
|
-
import "core-js/modules/es.array.slice.js";
|
29
|
-
import "core-js/modules/es.function.name.js";
|
30
|
-
import "core-js/modules/es.array.from.js";
|
31
|
-
import "core-js/modules/es.regexp.exec.js";
|
32
22
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
33
23
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
34
24
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
@@ -220,25 +210,11 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
220
210
|
var selectionType = detectSelectionType(selectionRanges);
|
221
211
|
var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
|
222
212
|
arrayEach(selectionRanges, function (selection) {
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
columnEnd = _selectionSchemaNorma2[3];
|
229
|
-
var _loop = function _loop(row) {
|
230
|
-
var _loop2 = function _loop2(col) {
|
231
|
-
arrayEach(borderKeys, function (borderKey) {
|
232
|
-
_this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
|
233
|
-
});
|
234
|
-
};
|
235
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
236
|
-
_loop2(col);
|
237
|
-
}
|
238
|
-
};
|
239
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
240
|
-
_loop(row);
|
241
|
-
}
|
213
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
214
|
+
arrayEach(borderKeys, function (borderKey) {
|
215
|
+
_this3.prepareBorderFromCustomAdded(row, col, normBorder, toInlinePropName(borderKey));
|
216
|
+
});
|
217
|
+
});
|
242
218
|
});
|
243
219
|
|
244
220
|
/*
|
@@ -281,27 +257,13 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
281
257
|
var selectionSchemaNormalizer = normalizeSelectionFactory(selectionType);
|
282
258
|
var selectedBorders = [];
|
283
259
|
arrayEach(selectionRanges, function (selection) {
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
var _loop4 = function _loop4(col) {
|
292
|
-
arrayEach(_this4.savedBorders, function (border) {
|
293
|
-
if (border.row === row && border.col === col) {
|
294
|
-
selectedBorders.push(denormalizeBorder(border));
|
295
|
-
}
|
296
|
-
});
|
297
|
-
};
|
298
|
-
for (var col = columnStart; col <= columnEnd; col += 1) {
|
299
|
-
_loop4(col);
|
300
|
-
}
|
301
|
-
};
|
302
|
-
for (var row = rowStart; row <= rowEnd; row += 1) {
|
303
|
-
_loop3(row);
|
304
|
-
}
|
260
|
+
selectionSchemaNormalizer(selection).forAll(function (row, col) {
|
261
|
+
arrayEach(_this4.savedBorders, function (border) {
|
262
|
+
if (border.row === row && border.col === col) {
|
263
|
+
selectedBorders.push(denormalizeBorder(border));
|
264
|
+
}
|
265
|
+
});
|
266
|
+
});
|
305
267
|
});
|
306
268
|
return selectedBorders;
|
307
269
|
}
|
@@ -843,6 +805,13 @@ export var CustomBorders = /*#__PURE__*/function (_BasePlugin) {
|
|
843
805
|
return this.getTranslatedPhrase(C.CONTEXTMENU_ITEMS_BORDERS);
|
844
806
|
},
|
845
807
|
disabled: function disabled() {
|
808
|
+
var range = this.getSelectedRangeLast();
|
809
|
+
if (!range) {
|
810
|
+
return true;
|
811
|
+
}
|
812
|
+
if (range.isSingleHeader()) {
|
813
|
+
return true;
|
814
|
+
}
|
846
815
|
return this.selection.isSelectedByCorner();
|
847
816
|
},
|
848
817
|
submenu: {
|
@@ -18,7 +18,7 @@ export class DropdownMenu extends BasePlugin {
|
|
18
18
|
|
19
19
|
constructor(hotInstance: Core);
|
20
20
|
isEnabled(): boolean;
|
21
|
-
open(
|
21
|
+
open(position: { left: number, top: number } | Event, offset?: { above?: number, below?: number, left?: number, right?: number }): void;
|
22
22
|
close(): void;
|
23
23
|
executeCommand(commandName: string, ...params: any): void;
|
24
24
|
}
|
@@ -22,7 +22,9 @@ require("core-js/modules/es.object.set-prototype-of.js");
|
|
22
22
|
require("core-js/modules/es.object.get-prototype-of.js");
|
23
23
|
var _base = require("../base");
|
24
24
|
var _array = require("../../helpers/array");
|
25
|
+
var _object = require("../../helpers/object");
|
25
26
|
var _commandExecutor = _interopRequireDefault(require("../contextMenu/commandExecutor"));
|
27
|
+
var _utils = require("../contextMenu/utils");
|
26
28
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
27
29
|
var _element = require("../../helpers/dom/element");
|
28
30
|
var _itemsFactory = _interopRequireDefault(require("../contextMenu/itemsFactory"));
|
@@ -54,6 +56,7 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
|
|
54
56
|
var PLUGIN_PRIORITY = 230;
|
55
57
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
56
58
|
var BUTTON_CLASS_NAME = 'changeType';
|
59
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
57
60
|
|
58
61
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
59
62
|
/**
|
@@ -182,6 +185,7 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
182
185
|
if (typeof settings.callback === 'function') {
|
183
186
|
this.commandExecutor.setCommonCallback(settings.callback);
|
184
187
|
}
|
188
|
+
this.registerShortcuts();
|
185
189
|
_get(_getPrototypeOf(DropdownMenu.prototype), "enablePlugin", this).call(this);
|
186
190
|
this.callOnPluginsReady(function () {
|
187
191
|
_this2.hot.runHooks('afterDropdownMenuDefaultOptions', predefinedItems);
|
@@ -245,9 +249,71 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
245
249
|
if (this.menu) {
|
246
250
|
this.menu.destroy();
|
247
251
|
}
|
252
|
+
this.unregisterShortcuts();
|
248
253
|
_get(_getPrototypeOf(DropdownMenu.prototype), "disablePlugin", this).call(this);
|
249
254
|
}
|
250
255
|
|
256
|
+
/**
|
257
|
+
* Register shortcuts responsible for toggling dropdown menu.
|
258
|
+
*
|
259
|
+
* @private
|
260
|
+
*/
|
261
|
+
}, {
|
262
|
+
key: "registerShortcuts",
|
263
|
+
value: function registerShortcuts() {
|
264
|
+
var _this3 = this;
|
265
|
+
var context = this.hot.getShortcutManager().getContext('grid');
|
266
|
+
var callback = function callback() {
|
267
|
+
var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
|
268
|
+
highlight = _this3$hot$getSelecte.highlight;
|
269
|
+
if ((highlight.isHeader() && highlight.row === -1 || highlight.isCell()) && highlight.col >= 0) {
|
270
|
+
_this3.hot.selectColumns(highlight.col, highlight.col, -1);
|
271
|
+
var _this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast(),
|
272
|
+
from = _this3$hot$getSelecte2.from;
|
273
|
+
var offset = (0, _utils.getDocumentOffsetByElement)(_this3.menu.container, _this3.hot.rootDocument);
|
274
|
+
var target = _this3.hot.getCell(-1, from.col, true);
|
275
|
+
var rect = target.getBoundingClientRect();
|
276
|
+
_this3.open({
|
277
|
+
left: rect.left + offset.left,
|
278
|
+
top: rect.top + target.offsetHeight + offset.top
|
279
|
+
}, {
|
280
|
+
left: rect.width
|
281
|
+
});
|
282
|
+
_this3.hot._registerTimeout(function () {
|
283
|
+
_this3.menu.selectFirstCell();
|
284
|
+
});
|
285
|
+
}
|
286
|
+
};
|
287
|
+
context.addShortcuts([{
|
288
|
+
keys: [['Shift', 'Alt', 'ArrowDown'], ['Shift', 'Enter']],
|
289
|
+
callback: callback,
|
290
|
+
runOnlyIf: function runOnlyIf() {
|
291
|
+
var _this3$hot$getSelecte3;
|
292
|
+
return ((_this3$hot$getSelecte3 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte3 === void 0 ? void 0 : _this3$hot$getSelecte3.highlight.isHeader()) && !_this3.menu.isOpened();
|
293
|
+
},
|
294
|
+
group: SHORTCUTS_GROUP
|
295
|
+
}, {
|
296
|
+
keys: [['Shift', 'Alt', 'ArrowDown']],
|
297
|
+
callback: callback,
|
298
|
+
runOnlyIf: function runOnlyIf() {
|
299
|
+
var _this3$hot$getSelecte4;
|
300
|
+
return ((_this3$hot$getSelecte4 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte4 === void 0 ? void 0 : _this3$hot$getSelecte4.highlight.isCell()) && !_this3.menu.isOpened();
|
301
|
+
},
|
302
|
+
group: SHORTCUTS_GROUP
|
303
|
+
}]);
|
304
|
+
}
|
305
|
+
|
306
|
+
/**
|
307
|
+
* Unregister shortcuts responsible for toggling dropdown menu.
|
308
|
+
*
|
309
|
+
* @private
|
310
|
+
*/
|
311
|
+
}, {
|
312
|
+
key: "unregisterShortcuts",
|
313
|
+
value: function unregisterShortcuts() {
|
314
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
315
|
+
}
|
316
|
+
|
251
317
|
/**
|
252
318
|
* Registers the DOM listeners.
|
253
319
|
*
|
@@ -256,33 +322,42 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
256
322
|
}, {
|
257
323
|
key: "registerEvents",
|
258
324
|
value: function registerEvents() {
|
259
|
-
var
|
325
|
+
var _this4 = this;
|
260
326
|
this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
|
261
|
-
return
|
327
|
+
return _this4.onTableClick(event);
|
262
328
|
});
|
263
329
|
}
|
264
330
|
|
265
331
|
/**
|
266
332
|
* Opens menu and re-position it based on the passed coordinates.
|
267
333
|
*
|
268
|
-
* @param {
|
269
|
-
*
|
270
|
-
*
|
271
|
-
*
|
272
|
-
*
|
334
|
+
* @param {{ top: number, left: number }|Event} position An object with `top` and `left` properties
|
335
|
+
* which contains coordinates relative to the browsers viewport (without included scroll offsets).
|
336
|
+
* Or if the native event is passed the menu will be positioned based on the `pageX` and `pageY`
|
337
|
+
* coordinates.
|
338
|
+
* @param {{ above: number, below: number, left: number, right: number }} offset An object allows applying
|
339
|
+
* the offset to the menu position.
|
273
340
|
* @fires Hooks#beforeDropdownMenuShow
|
274
341
|
* @fires Hooks#afterDropdownMenuShow
|
275
342
|
*/
|
276
343
|
}, {
|
277
344
|
key: "open",
|
278
345
|
value: function open(position) {
|
279
|
-
|
346
|
+
var _this$menu,
|
347
|
+
_this5 = this;
|
348
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
349
|
+
above: 0,
|
350
|
+
below: 0,
|
351
|
+
left: 0,
|
352
|
+
right: 0
|
353
|
+
};
|
354
|
+
if ((_this$menu = this.menu) !== null && _this$menu !== void 0 && _this$menu.isOpened()) {
|
280
355
|
return;
|
281
356
|
}
|
282
357
|
this.menu.open();
|
283
|
-
|
284
|
-
|
285
|
-
}
|
358
|
+
(0, _object.objectEach)(offset, function (value, key) {
|
359
|
+
_this5.menu.setOffset(key, value);
|
360
|
+
});
|
286
361
|
this.menu.setPosition(position);
|
287
362
|
}
|
288
363
|
|
@@ -292,10 +367,8 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
292
367
|
}, {
|
293
368
|
key: "close",
|
294
369
|
value: function close() {
|
295
|
-
|
296
|
-
|
297
|
-
}
|
298
|
-
this.menu.close();
|
370
|
+
var _this$menu2;
|
371
|
+
(_this$menu2 = this.menu) === null || _this$menu2 === void 0 ? void 0 : _this$menu2.close();
|
299
372
|
}
|
300
373
|
|
301
374
|
/**
|
@@ -367,23 +440,14 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
367
440
|
key: "onTableClick",
|
368
441
|
value: function onTableClick(event) {
|
369
442
|
event.stopPropagation();
|
370
|
-
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)
|
371
|
-
var
|
372
|
-
var offsetLeft = 0;
|
373
|
-
if (this.hot.rootDocument !== this.menu.container.ownerDocument) {
|
374
|
-
var frameElement = this.hot.rootWindow.frameElement;
|
375
|
-
var _frameElement$getBoun = frameElement.getBoundingClientRect(),
|
376
|
-
top = _frameElement$getBoun.top,
|
377
|
-
left = _frameElement$getBoun.left;
|
378
|
-
offsetTop = top;
|
379
|
-
offsetLeft = left;
|
380
|
-
}
|
443
|
+
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)) {
|
444
|
+
var offset = (0, _utils.getDocumentOffsetByElement)(this.menu.container, this.hot.rootDocument);
|
381
445
|
var rect = event.target.getBoundingClientRect();
|
382
446
|
this.open({
|
383
|
-
left: rect.left +
|
384
|
-
top: rect.top + event.target.offsetHeight + 3 +
|
385
|
-
|
386
|
-
|
447
|
+
left: rect.left + offset.left,
|
448
|
+
top: rect.top + event.target.offsetHeight + 3 + offset.top
|
449
|
+
}, {
|
450
|
+
left: rect.width
|
387
451
|
});
|
388
452
|
}
|
389
453
|
}
|
@@ -32,7 +32,9 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
32
32
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
33
33
|
import { BasePlugin } from "../base/index.mjs";
|
34
34
|
import { arrayEach } from "../../helpers/array.mjs";
|
35
|
+
import { objectEach } from "../../helpers/object.mjs";
|
35
36
|
import CommandExecutor from "../contextMenu/commandExecutor.mjs";
|
37
|
+
import { getDocumentOffsetByElement } from "../contextMenu/utils.mjs";
|
36
38
|
import EventManager from "../../eventManager.mjs";
|
37
39
|
import { hasClass } from "../../helpers/dom/element.mjs";
|
38
40
|
import ItemsFactory from "../contextMenu/itemsFactory.mjs";
|
@@ -47,6 +49,7 @@ Hooks.getSingleton().register('afterDropdownMenuExecute');
|
|
47
49
|
export var PLUGIN_KEY = 'dropdownMenu';
|
48
50
|
export var PLUGIN_PRIORITY = 230;
|
49
51
|
var BUTTON_CLASS_NAME = 'changeType';
|
52
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
50
53
|
|
51
54
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
52
55
|
/**
|
@@ -176,6 +179,7 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
176
179
|
if (typeof settings.callback === 'function') {
|
177
180
|
this.commandExecutor.setCommonCallback(settings.callback);
|
178
181
|
}
|
182
|
+
this.registerShortcuts();
|
179
183
|
_get(_getPrototypeOf(DropdownMenu.prototype), "enablePlugin", this).call(this);
|
180
184
|
this.callOnPluginsReady(function () {
|
181
185
|
_this2.hot.runHooks('afterDropdownMenuDefaultOptions', predefinedItems);
|
@@ -239,9 +243,71 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
239
243
|
if (this.menu) {
|
240
244
|
this.menu.destroy();
|
241
245
|
}
|
246
|
+
this.unregisterShortcuts();
|
242
247
|
_get(_getPrototypeOf(DropdownMenu.prototype), "disablePlugin", this).call(this);
|
243
248
|
}
|
244
249
|
|
250
|
+
/**
|
251
|
+
* Register shortcuts responsible for toggling dropdown menu.
|
252
|
+
*
|
253
|
+
* @private
|
254
|
+
*/
|
255
|
+
}, {
|
256
|
+
key: "registerShortcuts",
|
257
|
+
value: function registerShortcuts() {
|
258
|
+
var _this3 = this;
|
259
|
+
var context = this.hot.getShortcutManager().getContext('grid');
|
260
|
+
var callback = function callback() {
|
261
|
+
var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
|
262
|
+
highlight = _this3$hot$getSelecte.highlight;
|
263
|
+
if ((highlight.isHeader() && highlight.row === -1 || highlight.isCell()) && highlight.col >= 0) {
|
264
|
+
_this3.hot.selectColumns(highlight.col, highlight.col, -1);
|
265
|
+
var _this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast(),
|
266
|
+
from = _this3$hot$getSelecte2.from;
|
267
|
+
var offset = getDocumentOffsetByElement(_this3.menu.container, _this3.hot.rootDocument);
|
268
|
+
var target = _this3.hot.getCell(-1, from.col, true);
|
269
|
+
var rect = target.getBoundingClientRect();
|
270
|
+
_this3.open({
|
271
|
+
left: rect.left + offset.left,
|
272
|
+
top: rect.top + target.offsetHeight + offset.top
|
273
|
+
}, {
|
274
|
+
left: rect.width
|
275
|
+
});
|
276
|
+
_this3.hot._registerTimeout(function () {
|
277
|
+
_this3.menu.selectFirstCell();
|
278
|
+
});
|
279
|
+
}
|
280
|
+
};
|
281
|
+
context.addShortcuts([{
|
282
|
+
keys: [['Shift', 'Alt', 'ArrowDown'], ['Shift', 'Enter']],
|
283
|
+
callback: callback,
|
284
|
+
runOnlyIf: function runOnlyIf() {
|
285
|
+
var _this3$hot$getSelecte3;
|
286
|
+
return ((_this3$hot$getSelecte3 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte3 === void 0 ? void 0 : _this3$hot$getSelecte3.highlight.isHeader()) && !_this3.menu.isOpened();
|
287
|
+
},
|
288
|
+
group: SHORTCUTS_GROUP
|
289
|
+
}, {
|
290
|
+
keys: [['Shift', 'Alt', 'ArrowDown']],
|
291
|
+
callback: callback,
|
292
|
+
runOnlyIf: function runOnlyIf() {
|
293
|
+
var _this3$hot$getSelecte4;
|
294
|
+
return ((_this3$hot$getSelecte4 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte4 === void 0 ? void 0 : _this3$hot$getSelecte4.highlight.isCell()) && !_this3.menu.isOpened();
|
295
|
+
},
|
296
|
+
group: SHORTCUTS_GROUP
|
297
|
+
}]);
|
298
|
+
}
|
299
|
+
|
300
|
+
/**
|
301
|
+
* Unregister shortcuts responsible for toggling dropdown menu.
|
302
|
+
*
|
303
|
+
* @private
|
304
|
+
*/
|
305
|
+
}, {
|
306
|
+
key: "unregisterShortcuts",
|
307
|
+
value: function unregisterShortcuts() {
|
308
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
309
|
+
}
|
310
|
+
|
245
311
|
/**
|
246
312
|
* Registers the DOM listeners.
|
247
313
|
*
|
@@ -250,33 +316,42 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
250
316
|
}, {
|
251
317
|
key: "registerEvents",
|
252
318
|
value: function registerEvents() {
|
253
|
-
var
|
319
|
+
var _this4 = this;
|
254
320
|
this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
|
255
|
-
return
|
321
|
+
return _this4.onTableClick(event);
|
256
322
|
});
|
257
323
|
}
|
258
324
|
|
259
325
|
/**
|
260
326
|
* Opens menu and re-position it based on the passed coordinates.
|
261
327
|
*
|
262
|
-
* @param {
|
263
|
-
*
|
264
|
-
*
|
265
|
-
*
|
266
|
-
*
|
328
|
+
* @param {{ top: number, left: number }|Event} position An object with `top` and `left` properties
|
329
|
+
* which contains coordinates relative to the browsers viewport (without included scroll offsets).
|
330
|
+
* Or if the native event is passed the menu will be positioned based on the `pageX` and `pageY`
|
331
|
+
* coordinates.
|
332
|
+
* @param {{ above: number, below: number, left: number, right: number }} offset An object allows applying
|
333
|
+
* the offset to the menu position.
|
267
334
|
* @fires Hooks#beforeDropdownMenuShow
|
268
335
|
* @fires Hooks#afterDropdownMenuShow
|
269
336
|
*/
|
270
337
|
}, {
|
271
338
|
key: "open",
|
272
339
|
value: function open(position) {
|
273
|
-
|
340
|
+
var _this$menu,
|
341
|
+
_this5 = this;
|
342
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
343
|
+
above: 0,
|
344
|
+
below: 0,
|
345
|
+
left: 0,
|
346
|
+
right: 0
|
347
|
+
};
|
348
|
+
if ((_this$menu = this.menu) !== null && _this$menu !== void 0 && _this$menu.isOpened()) {
|
274
349
|
return;
|
275
350
|
}
|
276
351
|
this.menu.open();
|
277
|
-
|
278
|
-
|
279
|
-
}
|
352
|
+
objectEach(offset, function (value, key) {
|
353
|
+
_this5.menu.setOffset(key, value);
|
354
|
+
});
|
280
355
|
this.menu.setPosition(position);
|
281
356
|
}
|
282
357
|
|
@@ -286,10 +361,8 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
286
361
|
}, {
|
287
362
|
key: "close",
|
288
363
|
value: function close() {
|
289
|
-
|
290
|
-
|
291
|
-
}
|
292
|
-
this.menu.close();
|
364
|
+
var _this$menu2;
|
365
|
+
(_this$menu2 = this.menu) === null || _this$menu2 === void 0 ? void 0 : _this$menu2.close();
|
293
366
|
}
|
294
367
|
|
295
368
|
/**
|
@@ -361,23 +434,14 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
361
434
|
key: "onTableClick",
|
362
435
|
value: function onTableClick(event) {
|
363
436
|
event.stopPropagation();
|
364
|
-
if (hasClass(event.target, BUTTON_CLASS_NAME)
|
365
|
-
var
|
366
|
-
var offsetLeft = 0;
|
367
|
-
if (this.hot.rootDocument !== this.menu.container.ownerDocument) {
|
368
|
-
var frameElement = this.hot.rootWindow.frameElement;
|
369
|
-
var _frameElement$getBoun = frameElement.getBoundingClientRect(),
|
370
|
-
top = _frameElement$getBoun.top,
|
371
|
-
left = _frameElement$getBoun.left;
|
372
|
-
offsetTop = top;
|
373
|
-
offsetLeft = left;
|
374
|
-
}
|
437
|
+
if (hasClass(event.target, BUTTON_CLASS_NAME)) {
|
438
|
+
var offset = getDocumentOffsetByElement(this.menu.container, this.hot.rootDocument);
|
375
439
|
var rect = event.target.getBoundingClientRect();
|
376
440
|
this.open({
|
377
|
-
left: rect.left +
|
378
|
-
top: rect.top + event.target.offsetHeight + 3 +
|
379
|
-
|
380
|
-
|
441
|
+
left: rect.left + offset.left,
|
442
|
+
top: rect.top + event.target.offsetHeight + 3 + offset.top
|
443
|
+
}, {
|
444
|
+
left: rect.width
|
381
445
|
});
|
382
446
|
}
|
383
447
|
}
|
@@ -5,6 +5,7 @@ require("core-js/modules/es.array.iterator.js");
|
|
5
5
|
require("core-js/modules/es.string.iterator.js");
|
6
6
|
require("core-js/modules/web.dom-collections.iterator.js");
|
7
7
|
require("core-js/modules/es.array.slice.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");
|
@@ -9,6 +9,7 @@ import "core-js/modules/es.array.iterator.js";
|
|
9
9
|
import "core-js/modules/es.string.iterator.js";
|
10
10
|
import "core-js/modules/web.dom-collections.iterator.js";
|
11
11
|
import "core-js/modules/es.array.slice.js";
|
12
|
+
import "core-js/modules/es.regexp.to-string.js";
|
12
13
|
import "core-js/modules/es.function.name.js";
|
13
14
|
import "core-js/modules/es.array.from.js";
|
14
15
|
import "core-js/modules/es.regexp.exec.js";
|
@@ -14,6 +14,7 @@ require("core-js/modules/es.array.iterator.js");
|
|
14
14
|
require("core-js/modules/es.string.iterator.js");
|
15
15
|
require("core-js/modules/web.dom-collections.iterator.js");
|
16
16
|
require("core-js/modules/es.array.slice.js");
|
17
|
+
require("core-js/modules/es.regexp.to-string.js");
|
17
18
|
require("core-js/modules/es.array.from.js");
|
18
19
|
require("core-js/modules/es.regexp.exec.js");
|
19
20
|
require("core-js/modules/es.weak-map.js");
|
@@ -23,6 +23,7 @@ import "core-js/modules/es.array.iterator.js";
|
|
23
23
|
import "core-js/modules/es.string.iterator.js";
|
24
24
|
import "core-js/modules/web.dom-collections.iterator.js";
|
25
25
|
import "core-js/modules/es.array.slice.js";
|
26
|
+
import "core-js/modules/es.regexp.to-string.js";
|
26
27
|
import "core-js/modules/es.array.from.js";
|
27
28
|
import "core-js/modules/es.regexp.exec.js";
|
28
29
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
@@ -9,6 +9,7 @@ require("core-js/modules/es.array.iterator.js");
|
|
9
9
|
require("core-js/modules/es.string.iterator.js");
|
10
10
|
require("core-js/modules/web.dom-collections.iterator.js");
|
11
11
|
require("core-js/modules/es.array.slice.js");
|
12
|
+
require("core-js/modules/es.regexp.to-string.js");
|
12
13
|
require("core-js/modules/es.function.name.js");
|
13
14
|
require("core-js/modules/es.array.from.js");
|
14
15
|
require("core-js/modules/es.regexp.exec.js");
|