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
@@ -27,6 +27,7 @@ import "core-js/modules/es.symbol.iterator.js";
|
|
27
27
|
import "core-js/modules/es.string.iterator.js";
|
28
28
|
import "core-js/modules/es.array.from.js";
|
29
29
|
import "core-js/modules/es.array.slice.js";
|
30
|
+
import "core-js/modules/es.regexp.to-string.js";
|
30
31
|
import "core-js/modules/es.function.name.js";
|
31
32
|
import "core-js/modules/es.regexp.exec.js";
|
32
33
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
@@ -8,6 +8,7 @@ require("core-js/modules/es.array.iterator.js");
|
|
8
8
|
require("core-js/modules/es.string.iterator.js");
|
9
9
|
require("core-js/modules/web.dom-collections.iterator.js");
|
10
10
|
require("core-js/modules/es.array.from.js");
|
11
|
+
require("core-js/modules/es.regexp.to-string.js");
|
11
12
|
require("core-js/modules/es.function.name.js");
|
12
13
|
require("core-js/modules/es.regexp.exec.js");
|
13
14
|
exports.__esModule = true;
|
@@ -10,6 +10,7 @@ import "core-js/modules/es.array.iterator.js";
|
|
10
10
|
import "core-js/modules/es.string.iterator.js";
|
11
11
|
import "core-js/modules/web.dom-collections.iterator.js";
|
12
12
|
import "core-js/modules/es.array.from.js";
|
13
|
+
import "core-js/modules/es.regexp.to-string.js";
|
13
14
|
import "core-js/modules/es.function.name.js";
|
14
15
|
import "core-js/modules/es.regexp.exec.js";
|
15
16
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
@@ -8,6 +8,7 @@ require("core-js/modules/es.array.iterator.js");
|
|
8
8
|
require("core-js/modules/es.string.iterator.js");
|
9
9
|
require("core-js/modules/web.dom-collections.iterator.js");
|
10
10
|
require("core-js/modules/es.array.from.js");
|
11
|
+
require("core-js/modules/es.regexp.to-string.js");
|
11
12
|
require("core-js/modules/es.function.name.js");
|
12
13
|
require("core-js/modules/es.regexp.exec.js");
|
13
14
|
exports.__esModule = true;
|
@@ -11,6 +11,7 @@ import "core-js/modules/es.array.iterator.js";
|
|
11
11
|
import "core-js/modules/es.string.iterator.js";
|
12
12
|
import "core-js/modules/web.dom-collections.iterator.js";
|
13
13
|
import "core-js/modules/es.array.from.js";
|
14
|
+
import "core-js/modules/es.regexp.to-string.js";
|
14
15
|
import "core-js/modules/es.function.name.js";
|
15
16
|
import "core-js/modules/es.regexp.exec.js";
|
16
17
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
@@ -4,6 +4,7 @@ require("core-js/modules/es.symbol.js");
|
|
4
4
|
require("core-js/modules/es.symbol.description.js");
|
5
5
|
require("core-js/modules/es.symbol.iterator.js");
|
6
6
|
require("core-js/modules/es.array.slice.js");
|
7
|
+
require("core-js/modules/es.regexp.to-string.js");
|
7
8
|
require("core-js/modules/es.function.name.js");
|
8
9
|
require("core-js/modules/es.array.from.js");
|
9
10
|
require("core-js/modules/es.regexp.exec.js");
|
@@ -19,6 +19,7 @@ import "core-js/modules/es.symbol.js";
|
|
19
19
|
import "core-js/modules/es.symbol.description.js";
|
20
20
|
import "core-js/modules/es.symbol.iterator.js";
|
21
21
|
import "core-js/modules/es.array.slice.js";
|
22
|
+
import "core-js/modules/es.regexp.to-string.js";
|
22
23
|
import "core-js/modules/es.function.name.js";
|
23
24
|
import "core-js/modules/es.array.from.js";
|
24
25
|
import "core-js/modules/es.regexp.exec.js";
|
@@ -6,6 +6,7 @@ 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.array.from.js");
|
8
8
|
require("core-js/modules/es.array.slice.js");
|
9
|
+
require("core-js/modules/es.regexp.to-string.js");
|
9
10
|
require("core-js/modules/es.function.name.js");
|
10
11
|
require("core-js/modules/es.regexp.exec.js");
|
11
12
|
require("core-js/modules/es.symbol.to-primitive.js");
|
@@ -130,28 +131,25 @@ var TRAVERSAL_STRATEGIES = new Map([[TRAVERSAL_DF_PRE, depthFirstPreOrder], [TRA
|
|
130
131
|
*
|
131
132
|
*/
|
132
133
|
var TreeNode = /*#__PURE__*/function () {
|
133
|
-
/**
|
134
|
-
* A tree data.
|
135
|
-
*
|
136
|
-
* @type {object}
|
137
|
-
*/
|
138
|
-
|
139
|
-
/**
|
140
|
-
* A parent node.
|
141
|
-
*
|
142
|
-
* @type {TreeNode}
|
143
|
-
*/
|
144
|
-
|
145
|
-
/**
|
146
|
-
* A tree leaves.
|
147
|
-
*
|
148
|
-
* @type {TreeNode[]}
|
149
|
-
*/
|
150
|
-
|
151
134
|
function TreeNode(data) {
|
152
135
|
_classCallCheck(this, TreeNode);
|
136
|
+
/**
|
137
|
+
* A tree data.
|
138
|
+
*
|
139
|
+
* @type {object}
|
140
|
+
*/
|
153
141
|
_defineProperty(this, "data", {});
|
142
|
+
/**
|
143
|
+
* A parent node.
|
144
|
+
*
|
145
|
+
* @type {TreeNode}
|
146
|
+
*/
|
154
147
|
_defineProperty(this, "parent", null);
|
148
|
+
/**
|
149
|
+
* A tree leaves.
|
150
|
+
*
|
151
|
+
* @type {TreeNode[]}
|
152
|
+
*/
|
155
153
|
_defineProperty(this, "childs", []);
|
156
154
|
this.data = data;
|
157
155
|
}
|
@@ -17,6 +17,7 @@ import "core-js/modules/es.symbol.description.js";
|
|
17
17
|
import "core-js/modules/es.symbol.iterator.js";
|
18
18
|
import "core-js/modules/es.array.from.js";
|
19
19
|
import "core-js/modules/es.array.slice.js";
|
20
|
+
import "core-js/modules/es.regexp.to-string.js";
|
20
21
|
import "core-js/modules/es.function.name.js";
|
21
22
|
import "core-js/modules/es.regexp.exec.js";
|
22
23
|
import "core-js/modules/es.symbol.to-primitive.js";
|
@@ -122,28 +123,25 @@ var TRAVERSAL_STRATEGIES = new Map([[TRAVERSAL_DF_PRE, depthFirstPreOrder], [TRA
|
|
122
123
|
*
|
123
124
|
*/
|
124
125
|
var TreeNode = /*#__PURE__*/function () {
|
125
|
-
/**
|
126
|
-
* A tree data.
|
127
|
-
*
|
128
|
-
* @type {object}
|
129
|
-
*/
|
130
|
-
|
131
|
-
/**
|
132
|
-
* A parent node.
|
133
|
-
*
|
134
|
-
* @type {TreeNode}
|
135
|
-
*/
|
136
|
-
|
137
|
-
/**
|
138
|
-
* A tree leaves.
|
139
|
-
*
|
140
|
-
* @type {TreeNode[]}
|
141
|
-
*/
|
142
|
-
|
143
126
|
function TreeNode(data) {
|
144
127
|
_classCallCheck(this, TreeNode);
|
128
|
+
/**
|
129
|
+
* A tree data.
|
130
|
+
*
|
131
|
+
* @type {object}
|
132
|
+
*/
|
145
133
|
_defineProperty(this, "data", {});
|
134
|
+
/**
|
135
|
+
* A parent node.
|
136
|
+
*
|
137
|
+
* @type {TreeNode}
|
138
|
+
*/
|
146
139
|
_defineProperty(this, "parent", null);
|
140
|
+
/**
|
141
|
+
* A tree leaves.
|
142
|
+
*
|
143
|
+
* @type {TreeNode[]}
|
144
|
+
*/
|
147
145
|
_defineProperty(this, "childs", []);
|
148
146
|
this.data = data;
|
149
147
|
}
|
@@ -4,6 +4,7 @@ require("core-js/modules/es.symbol.js");
|
|
4
4
|
require("core-js/modules/es.symbol.description.js");
|
5
5
|
require("core-js/modules/es.symbol.iterator.js");
|
6
6
|
require("core-js/modules/es.array.slice.js");
|
7
|
+
require("core-js/modules/es.regexp.to-string.js");
|
7
8
|
require("core-js/modules/es.function.name.js");
|
8
9
|
require("core-js/modules/es.array.from.js");
|
9
10
|
require("core-js/modules/es.regexp.exec.js");
|
@@ -18,6 +18,7 @@ import "core-js/modules/es.symbol.js";
|
|
18
18
|
import "core-js/modules/es.symbol.description.js";
|
19
19
|
import "core-js/modules/es.symbol.iterator.js";
|
20
20
|
import "core-js/modules/es.array.slice.js";
|
21
|
+
import "core-js/modules/es.regexp.to-string.js";
|
21
22
|
import "core-js/modules/es.function.name.js";
|
22
23
|
import "core-js/modules/es.array.from.js";
|
23
24
|
import "core-js/modules/es.regexp.exec.js";
|
@@ -5,6 +5,7 @@ require("core-js/modules/es.symbol.description.js");
|
|
5
5
|
require("core-js/modules/es.symbol.iterator.js");
|
6
6
|
require("core-js/modules/es.array.from.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.regexp.exec.js");
|
10
11
|
exports.__esModule = true;
|
@@ -14,6 +14,7 @@ import "core-js/modules/es.symbol.description.js";
|
|
14
14
|
import "core-js/modules/es.symbol.iterator.js";
|
15
15
|
import "core-js/modules/es.array.from.js";
|
16
16
|
import "core-js/modules/es.array.slice.js";
|
17
|
+
import "core-js/modules/es.regexp.to-string.js";
|
17
18
|
import "core-js/modules/es.function.name.js";
|
18
19
|
import "core-js/modules/es.regexp.exec.js";
|
19
20
|
import { isFunction } from "../../helpers/function.mjs";
|
package/utils/ghostTable.js
CHANGED
@@ -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");
|
package/utils/ghostTable.mjs
CHANGED
@@ -18,6 +18,7 @@ import "core-js/modules/es.array.iterator.js";
|
|
18
18
|
import "core-js/modules/es.string.iterator.js";
|
19
19
|
import "core-js/modules/web.dom-collections.iterator.js";
|
20
20
|
import "core-js/modules/es.array.slice.js";
|
21
|
+
import "core-js/modules/es.regexp.to-string.js";
|
21
22
|
import "core-js/modules/es.function.name.js";
|
22
23
|
import "core-js/modules/es.array.from.js";
|
23
24
|
import "core-js/modules/es.regexp.exec.js";
|
package/utils/parseTable.js
CHANGED
@@ -21,6 +21,7 @@ require("core-js/modules/es.string.replace.js");
|
|
21
21
|
require("core-js/modules/es.object.to-string.js");
|
22
22
|
require("core-js/modules/es.array.concat.js");
|
23
23
|
require("core-js/modules/es.array.splice.js");
|
24
|
+
require("core-js/modules/es.string.repeat.js");
|
24
25
|
require("core-js/modules/es.string.match.js");
|
25
26
|
require("core-js/modules/es.array.last-index-of.js");
|
26
27
|
require("core-js/modules/es.array.reduce.js");
|
@@ -139,7 +140,10 @@ function _dataToHTML(input) {
|
|
139
140
|
}
|
140
141
|
for (var column = 0; column < columnsLen; column += 1) {
|
141
142
|
var cellData = rowData[column];
|
142
|
-
var parsedCellData = (0, _mixed.isEmpty)(cellData) ? '' : cellData.toString().replace(/</g, '<').replace(/>/g, '>').replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g, '<br>\r\n').replace(/\x20/gi,
|
143
|
+
var parsedCellData = (0, _mixed.isEmpty)(cellData) ? '' : cellData.toString().replace(/</g, '<').replace(/>/g, '>').replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g, '<br>\r\n').replace(/\x20{2,}/gi, function (substring) {
|
144
|
+
// The way how Excel serializes data with at least two spaces.
|
145
|
+
return "<span style=\"mso-spacerun: yes\">".concat(' '.repeat(substring.length - 1), " </span>");
|
146
|
+
}).replace(/\t/gi, '	');
|
143
147
|
columnsResult.push("<td>".concat(parsedCellData, "</td>"));
|
144
148
|
}
|
145
149
|
result.push.apply(result, ['<tr>'].concat(columnsResult, ['</tr>']));
|
package/utils/parseTable.mjs
CHANGED
@@ -14,6 +14,7 @@ import "core-js/modules/es.string.replace.js";
|
|
14
14
|
import "core-js/modules/es.object.to-string.js";
|
15
15
|
import "core-js/modules/es.array.concat.js";
|
16
16
|
import "core-js/modules/es.array.splice.js";
|
17
|
+
import "core-js/modules/es.string.repeat.js";
|
17
18
|
import "core-js/modules/es.string.match.js";
|
18
19
|
import "core-js/modules/es.array.last-index-of.js";
|
19
20
|
import "core-js/modules/es.array.reduce.js";
|
@@ -133,7 +134,10 @@ export function _dataToHTML(input) {
|
|
133
134
|
}
|
134
135
|
for (var column = 0; column < columnsLen; column += 1) {
|
135
136
|
var cellData = rowData[column];
|
136
|
-
var parsedCellData = isEmpty(cellData) ? '' : cellData.toString().replace(/</g, '<').replace(/>/g, '>').replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g, '<br>\r\n').replace(/\x20/gi,
|
137
|
+
var parsedCellData = isEmpty(cellData) ? '' : cellData.toString().replace(/</g, '<').replace(/>/g, '>').replace(/(<br(\s*|\/)>(\r\n|\n)?|\r\n|\n)/g, '<br>\r\n').replace(/\x20{2,}/gi, function (substring) {
|
138
|
+
// The way how Excel serializes data with at least two spaces.
|
139
|
+
return "<span style=\"mso-spacerun: yes\">".concat(' '.repeat(substring.length - 1), " </span>");
|
140
|
+
}).replace(/\t/gi, '	');
|
137
141
|
columnsResult.push("<td>".concat(parsedCellData, "</td>"));
|
138
142
|
}
|
139
143
|
result.push.apply(result, ['<tr>'].concat(columnsResult, ['</tr>']));
|
package/utils/staticRegister.js
CHANGED
@@ -5,6 +5,7 @@ require("core-js/modules/es.symbol.description.js");
|
|
5
5
|
require("core-js/modules/es.symbol.iterator.js");
|
6
6
|
require("core-js/modules/es.array.from.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.regexp.exec.js");
|
10
11
|
exports.__esModule = true;
|
package/utils/staticRegister.mjs
CHANGED
@@ -14,6 +14,7 @@ import "core-js/modules/es.symbol.description.js";
|
|
14
14
|
import "core-js/modules/es.symbol.iterator.js";
|
15
15
|
import "core-js/modules/es.array.from.js";
|
16
16
|
import "core-js/modules/es.array.slice.js";
|
17
|
+
import "core-js/modules/es.regexp.to-string.js";
|
17
18
|
import "core-js/modules/es.function.name.js";
|
18
19
|
import "core-js/modules/es.regexp.exec.js";
|
19
20
|
export var collection = new Map();
|
package/focusManager.d.ts
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
type FocusMode = 'cell' | 'mixed';
|
2
|
-
|
3
|
-
export interface FocusManager {
|
4
|
-
getFocusMode(): FocusMode;
|
5
|
-
setFocusMode(focusMode: FocusMode): void;
|
6
|
-
getRefocusDelay(): number;
|
7
|
-
setRefocusDelay(delay: number): void;
|
8
|
-
setRefocusElementGetter(getterFn: () => HTMLElement): void;
|
9
|
-
getRefocusElement(): HTMLElement | void;
|
10
|
-
focusOnHighlightedCell(): void;
|
11
|
-
refocusToEditorTextarea(delay: number): void;
|
12
|
-
}
|
package/focusManager.js
DELETED
@@ -1,275 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
require("core-js/modules/es.symbol.to-primitive.js");
|
4
|
-
require("core-js/modules/es.date.to-primitive.js");
|
5
|
-
require("core-js/modules/es.symbol.js");
|
6
|
-
require("core-js/modules/es.symbol.description.js");
|
7
|
-
require("core-js/modules/es.number.constructor.js");
|
8
|
-
require("core-js/modules/es.symbol.iterator.js");
|
9
|
-
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); }
|
10
|
-
exports.__esModule = true;
|
11
|
-
exports.FocusManager = void 0;
|
12
|
-
require("core-js/modules/es.object.freeze.js");
|
13
|
-
require("core-js/modules/es.array.concat.js");
|
14
|
-
require("core-js/modules/es.array.includes.js");
|
15
|
-
require("core-js/modules/es.string.includes.js");
|
16
|
-
require("core-js/modules/es.object.values.js");
|
17
|
-
require("core-js/modules/es.array.iterator.js");
|
18
|
-
require("core-js/modules/es.object.to-string.js");
|
19
|
-
require("core-js/modules/es.string.iterator.js");
|
20
|
-
require("core-js/modules/es.weak-map.js");
|
21
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
22
|
-
require("core-js/modules/es.weak-set.js");
|
23
|
-
var _console = require("./helpers/console");
|
24
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
25
|
-
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); } }
|
26
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
27
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
28
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
29
|
-
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
30
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
31
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
32
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
33
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
34
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
35
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
36
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
37
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
38
|
-
/**
|
39
|
-
* Possible focus modes.
|
40
|
-
* - CELL - The browser's focus stays on the lastly selected cell element.
|
41
|
-
* - MIXED - The browser's focus switches from the lastly selected cell element to the currently active editor's
|
42
|
-
* `TEXTAREA` element after a delay defined in the manager.
|
43
|
-
*
|
44
|
-
* @type {{CELL: string, MIXED: string}}
|
45
|
-
*/
|
46
|
-
var FOCUS_MODES = Object.freeze({
|
47
|
-
CELL: 'cell',
|
48
|
-
MIXED: 'mixed'
|
49
|
-
});
|
50
|
-
|
51
|
-
/**
|
52
|
-
* Manages the browser's focus in the table.
|
53
|
-
*/
|
54
|
-
var _hot = /*#__PURE__*/new WeakMap();
|
55
|
-
var _focusMode = /*#__PURE__*/new WeakMap();
|
56
|
-
var _refocusDelay = /*#__PURE__*/new WeakMap();
|
57
|
-
var _refocusElementGetter = /*#__PURE__*/new WeakMap();
|
58
|
-
var _manageFocus = /*#__PURE__*/new WeakSet();
|
59
|
-
var _onUpdateSettings = /*#__PURE__*/new WeakSet();
|
60
|
-
var FocusManager = /*#__PURE__*/function () {
|
61
|
-
/**
|
62
|
-
* The Handsontable instance.
|
63
|
-
*
|
64
|
-
* @private
|
65
|
-
*/
|
66
|
-
|
67
|
-
/**
|
68
|
-
* The currently enabled focus mode.
|
69
|
-
* Can be either:
|
70
|
-
*
|
71
|
-
* - 'cell' - The browser's focus stays on the lastly selected cell element.
|
72
|
-
* - 'mixed' - The browser's focus switches from the lastly selected cell element to the currently active editor's
|
73
|
-
* `TEXTAREA` element after a delay defined in the manager.
|
74
|
-
*
|
75
|
-
* @type {string}
|
76
|
-
* @private
|
77
|
-
*/
|
78
|
-
|
79
|
-
/**
|
80
|
-
* The delay after which the focus switches from the lastly selected cell to the active editor's `TEXTAREA`
|
81
|
-
* element if the focus mode is set to 'mixed'.
|
82
|
-
*
|
83
|
-
* @type {number}
|
84
|
-
* @private
|
85
|
-
*/
|
86
|
-
|
87
|
-
/**
|
88
|
-
* Getter function for the element to be used when refocusing the browser after a delay. If `null`, the active
|
89
|
-
* editor's `TEXTAREA` element will be used.
|
90
|
-
*
|
91
|
-
* @type {null|Function}
|
92
|
-
* @private
|
93
|
-
*/
|
94
|
-
|
95
|
-
function FocusManager(hotInstance) {
|
96
|
-
var _this = this;
|
97
|
-
_classCallCheck(this, FocusManager);
|
98
|
-
/**
|
99
|
-
* Update the manager configuration after calling `updateSettings`.
|
100
|
-
*
|
101
|
-
* @private
|
102
|
-
* @param {object} newSettings The new settings passed to the `updateSettings` method.
|
103
|
-
*/
|
104
|
-
_classPrivateMethodInitSpec(this, _onUpdateSettings);
|
105
|
-
/**
|
106
|
-
* Manage the browser's focus after cell selection.
|
107
|
-
*
|
108
|
-
* @private
|
109
|
-
*/
|
110
|
-
_classPrivateMethodInitSpec(this, _manageFocus);
|
111
|
-
_classPrivateFieldInitSpec(this, _hot, {
|
112
|
-
writable: true,
|
113
|
-
value: void 0
|
114
|
-
});
|
115
|
-
_classPrivateFieldInitSpec(this, _focusMode, {
|
116
|
-
writable: true,
|
117
|
-
value: void 0
|
118
|
-
});
|
119
|
-
_classPrivateFieldInitSpec(this, _refocusDelay, {
|
120
|
-
writable: true,
|
121
|
-
value: 50
|
122
|
-
});
|
123
|
-
_classPrivateFieldInitSpec(this, _refocusElementGetter, {
|
124
|
-
writable: true,
|
125
|
-
value: null
|
126
|
-
});
|
127
|
-
var hotSettings = hotInstance.getSettings();
|
128
|
-
_classPrivateFieldSet(this, _hot, hotInstance);
|
129
|
-
_classPrivateFieldSet(this, _focusMode, hotSettings.imeFastEdit ? FOCUS_MODES.MIXED : FOCUS_MODES.CELL);
|
130
|
-
_classPrivateFieldGet(this, _hot).addHook('afterUpdateSettings', function () {
|
131
|
-
var _classPrivateMethodGe;
|
132
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
133
|
-
args[_key] = arguments[_key];
|
134
|
-
}
|
135
|
-
return (_classPrivateMethodGe = _classPrivateMethodGet(_this, _onUpdateSettings, _onUpdateSettings2)).call.apply(_classPrivateMethodGe, [_this].concat(args));
|
136
|
-
});
|
137
|
-
_classPrivateFieldGet(this, _hot).addHook('afterSelectionEnd', function () {
|
138
|
-
var _classPrivateMethodGe2;
|
139
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
140
|
-
args[_key2] = arguments[_key2];
|
141
|
-
}
|
142
|
-
return (_classPrivateMethodGe2 = _classPrivateMethodGet(_this, _manageFocus, _manageFocus2)).call.apply(_classPrivateMethodGe2, [_this].concat(args));
|
143
|
-
});
|
144
|
-
}
|
145
|
-
|
146
|
-
/**
|
147
|
-
* Get the current focus mode.
|
148
|
-
*
|
149
|
-
* @returns {'cell' | 'mixed'}
|
150
|
-
*/
|
151
|
-
_createClass(FocusManager, [{
|
152
|
-
key: "getFocusMode",
|
153
|
-
value: function getFocusMode() {
|
154
|
-
return _classPrivateFieldGet(this, _focusMode);
|
155
|
-
}
|
156
|
-
|
157
|
-
/**
|
158
|
-
* Set the focus mode.
|
159
|
-
*
|
160
|
-
* @param {'cell' | 'mixed'} focusMode The new focus mode.
|
161
|
-
*/
|
162
|
-
}, {
|
163
|
-
key: "setFocusMode",
|
164
|
-
value: function setFocusMode(focusMode) {
|
165
|
-
if (Object.values(FOCUS_MODES).includes(focusMode)) {
|
166
|
-
_classPrivateFieldSet(this, _focusMode, focusMode);
|
167
|
-
} else {
|
168
|
-
(0, _console.warn)("\"".concat(focusMode, "\" is not a valid focus mode."));
|
169
|
-
}
|
170
|
-
}
|
171
|
-
|
172
|
-
/**
|
173
|
-
* Get the delay after which the focus will change from the cell elements to the active editor's `TEXTAREA`
|
174
|
-
* element if the focus mode is set to 'mixed'.
|
175
|
-
*
|
176
|
-
* @returns {number} Delay in milliseconds.
|
177
|
-
*/
|
178
|
-
}, {
|
179
|
-
key: "getRefocusDelay",
|
180
|
-
value: function getRefocusDelay() {
|
181
|
-
return _classPrivateFieldGet(this, _refocusDelay);
|
182
|
-
}
|
183
|
-
|
184
|
-
/**
|
185
|
-
* Set the delay after which the focus will change from the cell elements to the active editor's `TEXTAREA`
|
186
|
-
* element if the focus mode is set to 'mixed'.
|
187
|
-
*
|
188
|
-
* @param {number} delay Delay in milliseconds.
|
189
|
-
*/
|
190
|
-
}, {
|
191
|
-
key: "setRefocusDelay",
|
192
|
-
value: function setRefocusDelay(delay) {
|
193
|
-
_classPrivateFieldSet(this, _refocusDelay, delay);
|
194
|
-
}
|
195
|
-
|
196
|
-
/**
|
197
|
-
* Set the function to be used as the "refocus element" getter. It should return a focusable HTML element.
|
198
|
-
*
|
199
|
-
* @param {Function} getRefocusElementFunction The refocus element getter.
|
200
|
-
*/
|
201
|
-
}, {
|
202
|
-
key: "setRefocusElementGetter",
|
203
|
-
value: function setRefocusElementGetter(getRefocusElementFunction) {
|
204
|
-
_classPrivateFieldSet(this, _refocusElementGetter, getRefocusElementFunction);
|
205
|
-
}
|
206
|
-
|
207
|
-
/**
|
208
|
-
* Get the element to be used when refocusing the browser after a delay in case of the focus mode being 'mixed'.
|
209
|
-
*
|
210
|
-
* @returns {HTMLTextAreaElement|HTMLElement|undefined}
|
211
|
-
*/
|
212
|
-
}, {
|
213
|
-
key: "getRefocusElement",
|
214
|
-
value: function getRefocusElement() {
|
215
|
-
if (typeof _classPrivateFieldGet(this, _refocusElementGetter) === 'function') {
|
216
|
-
return _classPrivateFieldGet(this, _refocusElementGetter).call(this);
|
217
|
-
} else {
|
218
|
-
var _classPrivateFieldGet2;
|
219
|
-
return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _hot).getActiveEditor()) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.TEXTAREA;
|
220
|
-
}
|
221
|
-
}
|
222
|
-
|
223
|
-
/**
|
224
|
-
* Set the browser's focus to the highlighted cell of the last selection.
|
225
|
-
*/
|
226
|
-
}, {
|
227
|
-
key: "focusOnHighlightedCell",
|
228
|
-
value: function focusOnHighlightedCell() {
|
229
|
-
var _classPrivateFieldGet3;
|
230
|
-
var lastSelectedRange = _classPrivateFieldGet(this, _hot).getSelectedRangeLast();
|
231
|
-
var selectedCellCoords = lastSelectedRange.highlight;
|
232
|
-
var selectedCell = _classPrivateFieldGet(this, _hot).getCell(selectedCellCoords.row, selectedCellCoords.col);
|
233
|
-
if (selectedCell && !((_classPrivateFieldGet3 = _classPrivateFieldGet(this, _hot).getActiveEditor()) !== null && _classPrivateFieldGet3 !== void 0 && _classPrivateFieldGet3.isOpened())) {
|
234
|
-
_classPrivateFieldGet(this, _hot).getCell(selectedCellCoords.row, selectedCellCoords.col).focus({
|
235
|
-
preventScroll: true
|
236
|
-
});
|
237
|
-
}
|
238
|
-
}
|
239
|
-
|
240
|
-
/**
|
241
|
-
* Set the focus to the active editor's `TEXTAREA` element after the provided delay. If no delay is provided, it
|
242
|
-
* will be taken from the manager's configuration.
|
243
|
-
*
|
244
|
-
* @param {number} delay Delay in milliseconds.
|
245
|
-
*/
|
246
|
-
}, {
|
247
|
-
key: "refocusToEditorTextarea",
|
248
|
-
value: function refocusToEditorTextarea() {
|
249
|
-
var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _classPrivateFieldGet(this, _refocusDelay);
|
250
|
-
var refocusElement = this.getRefocusElement();
|
251
|
-
|
252
|
-
// Re-focus on the editor's `TEXTAREA` element (or a predefined element) if the `imeFastEdit` option is enabled.
|
253
|
-
if (_classPrivateFieldGet(this, _hot).getSettings().imeFastEdit && !!refocusElement) {
|
254
|
-
_classPrivateFieldGet(this, _hot)._registerTimeout(function () {
|
255
|
-
refocusElement.select();
|
256
|
-
}, delay);
|
257
|
-
}
|
258
|
-
}
|
259
|
-
}]);
|
260
|
-
return FocusManager;
|
261
|
-
}();
|
262
|
-
exports.FocusManager = FocusManager;
|
263
|
-
function _manageFocus2() {
|
264
|
-
this.focusOnHighlightedCell();
|
265
|
-
if (this.getFocusMode() === FOCUS_MODES.MIXED) {
|
266
|
-
this.refocusToEditorTextarea();
|
267
|
-
}
|
268
|
-
}
|
269
|
-
function _onUpdateSettings2(newSettings) {
|
270
|
-
if (newSettings.imeFastEdit && this.getFocusMode() !== FOCUS_MODES.MIXED) {
|
271
|
-
this.setFocusMode(FOCUS_MODES.MIXED);
|
272
|
-
} else if (!newSettings.imeFastEdit && this.getFocusMode() !== FOCUS_MODES.CELL) {
|
273
|
-
this.setFocusMode(FOCUS_MODES.CELL);
|
274
|
-
}
|
275
|
-
}
|