handsontable 0.0.0-next-a1e4b4f-20230628 → 0.0.0-next-e697250-20230707
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
- package/3rdparty/walkontable/src/cell/coords.js +50 -28
- package/3rdparty/walkontable/src/cell/coords.mjs +50 -28
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +69 -36
- package/3rdparty/walkontable/src/cell/range.mjs +68 -35
- package/3rdparty/walkontable/src/event.js +3 -5
- package/3rdparty/walkontable/src/event.mjs +3 -5
- package/3rdparty/walkontable/src/overlay/_base.js +6 -7
- package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
- package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/top.js +6 -7
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
- package/3rdparty/walkontable/src/overlays.js +55 -64
- package/3rdparty/walkontable/src/overlays.mjs +55 -64
- package/3rdparty/walkontable/src/renderer/table.js +0 -2
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -2
- package/3rdparty/walkontable/src/scroll.js +20 -23
- package/3rdparty/walkontable/src/scroll.mjs +20 -23
- package/3rdparty/walkontable/src/selection/border/border.js +1 -0
- package/3rdparty/walkontable/src/selection/border/border.mjs +1 -0
- package/3rdparty/walkontable/src/selection/manager.js +40 -45
- package/3rdparty/walkontable/src/selection/manager.mjs +33 -38
- package/3rdparty/walkontable/src/selection/scanner.js +5 -4
- package/3rdparty/walkontable/src/selection/scanner.mjs +1 -0
- package/3rdparty/walkontable/src/settings.js +13 -15
- package/3rdparty/walkontable/src/settings.mjs +13 -15
- package/3rdparty/walkontable/src/table.js +23 -26
- package/3rdparty/walkontable/src/table.mjs +23 -26
- package/CHANGELOG.md +56 -0
- package/base.js +2 -4
- package/base.mjs +2 -2
- package/common.d.ts +1 -1
- package/core.d.ts +7 -9
- package/core.js +241 -439
- package/core.mjs +245 -443
- package/dataMap/dataMap.js +1 -0
- package/dataMap/dataMap.mjs +1 -0
- package/dataMap/dataSource.js +5 -5
- package/dataMap/dataSource.mjs +5 -5
- package/dataMap/metaManager/lazyFactoryMap.js +1 -0
- package/dataMap/metaManager/lazyFactoryMap.mjs +1 -0
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +33 -24
- package/dataMap/metaManager/metaSchema.mjs +33 -24
- package/dist/handsontable.css +25 -3
- package/dist/handsontable.full.css +25 -3
- package/dist/handsontable.full.js +14539 -11358
- package/dist/handsontable.full.min.css +5 -5
- package/dist/handsontable.full.min.js +137 -125
- package/dist/handsontable.js +31414 -28455
- package/dist/handsontable.min.css +5 -5
- package/dist/handsontable.min.js +11 -3
- package/dist/languages/all.js +133 -0
- package/dist/languages/ar-AR.js +7 -0
- package/dist/languages/cs-CZ.js +7 -0
- package/dist/languages/de-CH.js +7 -0
- package/dist/languages/de-DE.js +7 -0
- package/dist/languages/en-US.js +7 -0
- package/dist/languages/es-MX.js +7 -0
- package/dist/languages/fr-FR.js +7 -0
- package/dist/languages/it-IT.js +7 -0
- package/dist/languages/ja-JP.js +7 -0
- package/dist/languages/ko-KR.js +7 -0
- package/dist/languages/lv-LV.js +7 -0
- package/dist/languages/nb-NO.js +7 -0
- package/dist/languages/nl-NL.js +7 -0
- package/dist/languages/pl-PL.js +7 -0
- package/dist/languages/pt-BR.js +7 -0
- package/dist/languages/ru-RU.js +7 -0
- package/dist/languages/sr-SP.js +7 -0
- package/dist/languages/zh-CN.js +7 -0
- package/dist/languages/zh-TW.js +7 -0
- package/editorManager.js +19 -89
- package/editorManager.mjs +24 -93
- package/editors/baseEditor/baseEditor.js +1 -0
- package/editors/baseEditor/baseEditor.mjs +1 -0
- package/editors/textEditor/textEditor.js +14 -20
- package/editors/textEditor/textEditor.mjs +16 -22
- package/helpers/dom/element.js +0 -11
- package/helpers/dom/element.mjs +0 -10
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/helpers/object.js +2 -0
- package/helpers/object.mjs +2 -0
- package/i18n/languages/ar-AR.js +7 -1
- package/i18n/languages/cs-CZ.js +7 -1
- package/i18n/languages/de-CH.js +7 -1
- package/i18n/languages/de-DE.js +7 -1
- package/i18n/languages/en-US.js +7 -1
- package/i18n/languages/es-MX.js +7 -1
- package/i18n/languages/fr-FR.js +7 -1
- package/i18n/languages/it-IT.js +7 -1
- package/i18n/languages/ja-JP.js +7 -1
- package/i18n/languages/ko-KR.js +7 -1
- package/i18n/languages/lv-LV.js +7 -1
- package/i18n/languages/nb-NO.js +7 -1
- package/i18n/languages/nl-NL.js +7 -1
- package/i18n/languages/pl-PL.js +7 -1
- package/i18n/languages/pt-BR.js +7 -1
- package/i18n/languages/ru-RU.js +7 -1
- package/i18n/languages/sr-SP.js +7 -1
- package/i18n/languages/zh-CN.js +7 -1
- package/i18n/languages/zh-TW.js +7 -1
- package/languages/all.js +133 -0
- package/languages/ar-AR.js +7 -0
- package/languages/cs-CZ.js +7 -0
- package/languages/de-CH.js +7 -0
- package/languages/de-DE.js +7 -0
- package/languages/en-US.js +7 -0
- package/languages/es-MX.js +7 -0
- package/languages/fr-FR.js +7 -0
- package/languages/index.js +133 -0
- package/languages/it-IT.js +7 -0
- package/languages/ja-JP.js +7 -0
- package/languages/ko-KR.js +7 -0
- package/languages/lv-LV.js +7 -0
- package/languages/nb-NO.js +7 -0
- package/languages/nl-NL.js +7 -0
- package/languages/pl-PL.js +7 -0
- package/languages/pt-BR.js +7 -0
- package/languages/ru-RU.js +7 -0
- package/languages/sr-SP.js +7 -0
- package/languages/zh-CN.js +7 -0
- package/languages/zh-TW.js +7 -0
- package/package.json +3 -2
- package/pluginHooks.d.ts +8 -2
- package/pluginHooks.js +116 -18
- package/pluginHooks.mjs +115 -15
- package/plugins/autoColumnSize/autoColumnSize.js +1 -0
- package/plugins/autoColumnSize/autoColumnSize.mjs +1 -0
- package/plugins/autoRowSize/autoRowSize.js +3 -2
- package/plugins/autoRowSize/autoRowSize.mjs +3 -2
- package/plugins/autofill/autofill.js +2 -2
- package/plugins/autofill/autofill.mjs +3 -3
- package/plugins/autofill/utils.js +1 -39
- package/plugins/autofill/utils.mjs +0 -37
- package/plugins/base/base.js +1 -0
- package/plugins/base/base.mjs +1 -0
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -0
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +1 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +82 -24
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +82 -24
- package/plugins/columnSorting/columnSorting.js +51 -8
- package/plugins/columnSorting/columnSorting.mjs +50 -9
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/index.js +4 -2
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/columnSorting/rootComparator.js +1 -0
- package/plugins/columnSorting/rootComparator.mjs +1 -0
- package/plugins/comments/commentEditor.js +1 -0
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +289 -224
- package/plugins/comments/comments.mjs +297 -234
- package/plugins/comments/contextMenuItem/addEditComment.js +51 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +63 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +55 -0
- package/plugins/comments/contextMenuItem/removeComment.js +48 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +81 -29
- package/plugins/contextMenu/contextMenu.mjs +82 -30
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/removeColumn.js +8 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +6 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +8 -5
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +6 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/utils.js +25 -16
- package/plugins/contextMenu/utils.mjs +24 -15
- package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
- package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +100 -14
- package/plugins/copyPaste/copyPaste.mjs +100 -14
- package/plugins/copyPaste/copyableRanges.js +25 -31
- package/plugins/copyPaste/copyableRanges.mjs +18 -24
- package/plugins/copyPaste/focusableElement.js +219 -0
- package/plugins/copyPaste/focusableElement.mjs +213 -0
- package/plugins/customBorders/customBorders.d.ts +2 -0
- package/plugins/customBorders/customBorders.js +19 -50
- package/plugins/customBorders/customBorders.mjs +19 -50
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +94 -30
- package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
- package/plugins/exportFile/dataProvider.js +1 -0
- package/plugins/exportFile/dataProvider.mjs +1 -0
- package/plugins/filters/component/value.js +1 -0
- package/plugins/filters/component/value.mjs +1 -0
- package/plugins/filters/condition/beginsWith.js +1 -0
- package/plugins/filters/condition/beginsWith.mjs +1 -0
- package/plugins/filters/condition/between.js +1 -0
- package/plugins/filters/condition/between.mjs +1 -0
- package/plugins/filters/condition/byValue.js +1 -0
- package/plugins/filters/condition/byValue.mjs +1 -0
- package/plugins/filters/condition/contains.js +1 -0
- package/plugins/filters/condition/contains.mjs +1 -0
- package/plugins/filters/condition/date/after.js +1 -0
- package/plugins/filters/condition/date/after.mjs +1 -0
- package/plugins/filters/condition/date/before.js +1 -0
- package/plugins/filters/condition/date/before.mjs +1 -0
- package/plugins/filters/condition/endsWith.js +1 -0
- package/plugins/filters/condition/endsWith.mjs +1 -0
- package/plugins/filters/condition/equal.js +1 -0
- package/plugins/filters/condition/equal.mjs +1 -0
- package/plugins/filters/condition/greaterThan.js +1 -0
- package/plugins/filters/condition/greaterThan.mjs +1 -0
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -0
- package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
- package/plugins/filters/condition/lessThan.js +1 -0
- package/plugins/filters/condition/lessThan.mjs +1 -0
- package/plugins/filters/condition/lessThanOrEqual.js +1 -0
- package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
- package/plugins/filters/conditionCollection.js +1 -0
- package/plugins/filters/conditionCollection.mjs +1 -0
- package/plugins/filters/filters.js +68 -42
- package/plugins/filters/filters.mjs +67 -41
- package/plugins/filters/ui/multipleSelect.js +1 -0
- package/plugins/filters/ui/multipleSelect.mjs +1 -0
- package/plugins/formulas/formulas.js +191 -168
- package/plugins/formulas/formulas.mjs +191 -168
- package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
- package/plugins/formulas/indexSyncer/index.js +225 -0
- package/plugins/formulas/indexSyncer/index.mjs +219 -0
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -0
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +1 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +1 -0
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -0
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +1 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
- package/plugins/manualColumnResize/manualColumnResize.js +36 -5
- package/plugins/manualColumnResize/manualColumnResize.mjs +36 -5
- package/plugins/manualRowMove/manualRowMove.js +31 -12
- package/plugins/manualRowMove/manualRowMove.mjs +32 -13
- package/plugins/manualRowResize/manualRowResize.js +40 -9
- package/plugins/manualRowResize/manualRowResize.mjs +40 -9
- package/plugins/mergeCells/calculations/autofill.js +1 -0
- package/plugins/mergeCells/calculations/autofill.mjs +1 -0
- package/plugins/mergeCells/cellsCollection.js +1 -0
- package/plugins/mergeCells/cellsCollection.mjs +1 -0
- package/plugins/mergeCells/mergeCells.js +6 -2
- package/plugins/mergeCells/mergeCells.mjs +6 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
- package/plugins/multiColumnSorting/rootComparator.js +1 -0
- package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
- package/plugins/nestedHeaders/nestedHeaders.js +129 -6
- package/plugins/nestedHeaders/nestedHeaders.mjs +129 -6
- package/plugins/nestedHeaders/stateManager/headersTree.js +24 -26
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -23
- package/plugins/nestedHeaders/stateManager/index.js +40 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
- package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
- package/plugins/nestedRows/data/dataManager.js +1 -0
- package/plugins/nestedRows/data/dataManager.mjs +1 -0
- package/plugins/nestedRows/nestedRows.js +53 -7
- package/plugins/nestedRows/nestedRows.mjs +53 -7
- package/plugins/nestedRows/ui/collapsing.js +1 -0
- package/plugins/nestedRows/ui/collapsing.mjs +1 -0
- package/plugins/nestedRows/utils/rowMoveController.js +1 -0
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -0
- package/plugins/persistentState/storage.js +1 -0
- package/plugins/persistentState/storage.mjs +1 -0
- package/plugins/registry.js +4 -1
- package/plugins/registry.mjs +1 -0
- package/plugins/undoRedo/undoRedo.js +1 -1
- package/plugins/undoRedo/undoRedo.mjs +1 -1
- package/renderers/baseRenderer/baseRenderer.js +0 -3
- package/renderers/baseRenderer/baseRenderer.mjs +0 -3
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +120 -98
- package/selection/highlight/highlight.mjs +118 -96
- package/selection/highlight/visualSelection.js +30 -17
- package/selection/highlight/visualSelection.mjs +30 -17
- package/selection/mouseEventHandler.js +1 -1
- package/selection/mouseEventHandler.mjs +1 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +246 -153
- package/selection/selection.mjs +247 -154
- package/selection/transformation.js +233 -96
- package/selection/transformation.mjs +230 -93
- package/selection/utils.js +12 -35
- package/selection/utils.mjs +13 -35
- package/settings.d.ts +2 -1
- package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +29 -0
- package/shortcutContexts/commands/editor/open.mjs +24 -0
- package/shortcutContexts/commands/emptySelectedCells.js +12 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/index.js +53 -0
- package/shortcutContexts/commands/index.mjs +49 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +38 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +33 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +6 -0
- package/shortcutContexts/constants.js +19 -0
- package/shortcutContexts/constants.mjs +12 -0
- package/shortcutContexts/editor.js +29 -0
- package/shortcutContexts/editor.mjs +25 -0
- package/shortcutContexts/grid.js +252 -0
- package/shortcutContexts/grid.mjs +248 -0
- package/shortcutContexts/index.js +29 -0
- package/shortcutContexts/index.mjs +15 -0
- package/shortcuts/context.js +1 -0
- package/shortcuts/context.mjs +1 -0
- package/shortcuts/manager.js +2 -0
- package/shortcuts/manager.mjs +2 -0
- package/shortcuts/recorder.js +2 -2
- package/shortcuts/recorder.mjs +2 -2
- package/shortcuts/utils.js +21 -5
- package/shortcuts/utils.mjs +20 -4
- package/tableView.js +112 -82
- package/tableView.mjs +112 -82
- package/translations/changesObservable/observable.js +41 -46
- package/translations/changesObservable/observable.mjs +36 -41
- package/translations/changesObservable/observer.js +1 -1
- package/translations/indexMapper.d.ts +0 -2
- package/translations/indexMapper.js +38 -64
- package/translations/indexMapper.mjs +39 -64
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/indexesSequence.js +1 -0
- package/translations/maps/utils/indexesSequence.mjs +1 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/tree.js +16 -18
- package/utils/dataStructures/tree.mjs +16 -18
- package/utils/dataStructures/uniqueMap.js +1 -0
- package/utils/dataStructures/uniqueMap.mjs +1 -0
- package/utils/dataStructures/uniqueSet.js +1 -0
- package/utils/dataStructures/uniqueSet.mjs +1 -0
- package/utils/ghostTable.js +1 -0
- package/utils/ghostTable.mjs +1 -0
- package/utils/parseTable.js +5 -1
- package/utils/parseTable.mjs +5 -1
- package/utils/staticRegister.js +1 -0
- package/utils/staticRegister.mjs +1 -0
- package/focusManager.d.ts +0 -12
- package/focusManager.js +0 -275
- package/focusManager.mjs +0 -270
@@ -0,0 +1,379 @@
|
|
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.default = void 0;
|
12
|
+
require("core-js/modules/es.array.map.js");
|
13
|
+
require("core-js/modules/es.array.index-of.js");
|
14
|
+
require("core-js/modules/es.object.to-string.js");
|
15
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
16
|
+
require("core-js/modules/es.array.filter.js");
|
17
|
+
require("core-js/modules/es.array.from.js");
|
18
|
+
require("core-js/modules/es.string.iterator.js");
|
19
|
+
require("core-js/modules/es.array.iterator.js");
|
20
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
21
|
+
require("core-js/modules/es.array.includes.js");
|
22
|
+
require("core-js/modules/es.string.includes.js");
|
23
|
+
require("core-js/modules/es.array.slice.js");
|
24
|
+
require("core-js/modules/es.weak-map.js");
|
25
|
+
var _string = require("../../../helpers/string");
|
26
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
27
|
+
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); } }
|
28
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
29
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
30
|
+
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); }
|
31
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
32
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
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
|
+
* @private
|
40
|
+
* @class IndexSyncer
|
41
|
+
* @description
|
42
|
+
*
|
43
|
+
* Indexes synchronizer responsible for providing logic for particular axis. It respects an idea to represent trimmed
|
44
|
+
* elements in HF's engine to perform formulas calculations on them. It also provides method for translation from visual
|
45
|
+
* row/column indexes to HF's row/column indexes.
|
46
|
+
*/
|
47
|
+
var _axis = /*#__PURE__*/new WeakMap();
|
48
|
+
var _indexMapper = /*#__PURE__*/new WeakMap();
|
49
|
+
var _indexSyncer = /*#__PURE__*/new WeakMap();
|
50
|
+
var _indexesSequence = /*#__PURE__*/new WeakMap();
|
51
|
+
var _movedIndexes = /*#__PURE__*/new WeakMap();
|
52
|
+
var _finalIndex = /*#__PURE__*/new WeakMap();
|
53
|
+
var _removedIndexes = /*#__PURE__*/new WeakMap();
|
54
|
+
var AxisSyncer = /*#__PURE__*/function () {
|
55
|
+
function AxisSyncer(axis, indexMapper, indexSyncer) {
|
56
|
+
_classCallCheck(this, AxisSyncer);
|
57
|
+
/**
|
58
|
+
* The axis for which the actions are performed.
|
59
|
+
*
|
60
|
+
* @private
|
61
|
+
* @type {'row'|'column'}
|
62
|
+
*/
|
63
|
+
_classPrivateFieldInitSpec(this, _axis, {
|
64
|
+
writable: true,
|
65
|
+
value: void 0
|
66
|
+
});
|
67
|
+
/**
|
68
|
+
* Reference to index mapper.
|
69
|
+
*
|
70
|
+
* @private
|
71
|
+
* @type {IndexMapper}
|
72
|
+
*/
|
73
|
+
_classPrivateFieldInitSpec(this, _indexMapper, {
|
74
|
+
writable: true,
|
75
|
+
value: void 0
|
76
|
+
});
|
77
|
+
/**
|
78
|
+
* The index synchronizer for both axis (is storing some more general information).
|
79
|
+
*
|
80
|
+
* @private
|
81
|
+
* @type {IndexSyncer}
|
82
|
+
*/
|
83
|
+
_classPrivateFieldInitSpec(this, _indexSyncer, {
|
84
|
+
writable: true,
|
85
|
+
value: void 0
|
86
|
+
});
|
87
|
+
/**
|
88
|
+
* Sequence of physical indexes stored for watching changes and calculating some transformations.
|
89
|
+
*
|
90
|
+
* @private
|
91
|
+
* @type {Array<number>}
|
92
|
+
*/
|
93
|
+
_classPrivateFieldInitSpec(this, _indexesSequence, {
|
94
|
+
writable: true,
|
95
|
+
value: []
|
96
|
+
});
|
97
|
+
/**
|
98
|
+
* List of moved HF indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
99
|
+
*
|
100
|
+
* @private
|
101
|
+
* @type {Array<number>}
|
102
|
+
*/
|
103
|
+
_classPrivateFieldInitSpec(this, _movedIndexes, {
|
104
|
+
writable: true,
|
105
|
+
value: []
|
106
|
+
});
|
107
|
+
/**
|
108
|
+
* Final HF's place where to move indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
109
|
+
*
|
110
|
+
* @private
|
111
|
+
* @type {number|undefined}
|
112
|
+
*/
|
113
|
+
_classPrivateFieldInitSpec(this, _finalIndex, {
|
114
|
+
writable: true,
|
115
|
+
value: void 0
|
116
|
+
});
|
117
|
+
/**
|
118
|
+
* List of removed HF indexes, stored before performing removal on HOT to calculate transformation needed on HF's engine.
|
119
|
+
*
|
120
|
+
* @private
|
121
|
+
* @type {Array<number>}
|
122
|
+
*/
|
123
|
+
_classPrivateFieldInitSpec(this, _removedIndexes, {
|
124
|
+
writable: true,
|
125
|
+
value: []
|
126
|
+
});
|
127
|
+
_classPrivateFieldSet(this, _axis, axis);
|
128
|
+
_classPrivateFieldSet(this, _indexMapper, indexMapper);
|
129
|
+
_classPrivateFieldSet(this, _indexSyncer, indexSyncer);
|
130
|
+
}
|
131
|
+
|
132
|
+
/**
|
133
|
+
* Sets removed HF indexes (it should be done right before performing move on HOT).
|
134
|
+
*
|
135
|
+
* @param {Array<number>} removedIndexes List of removed physical indexes.
|
136
|
+
* @returns {Array<number>} List of removed visual indexes.
|
137
|
+
*/
|
138
|
+
_createClass(AxisSyncer, [{
|
139
|
+
key: "setRemovedHfIndexes",
|
140
|
+
value: function setRemovedHfIndexes(removedIndexes) {
|
141
|
+
var _this = this;
|
142
|
+
_classPrivateFieldSet(this, _removedIndexes, removedIndexes.map(function (physicalIndex) {
|
143
|
+
var visualIndex = _classPrivateFieldGet(_this, _indexMapper).getVisualFromPhysicalIndex(physicalIndex);
|
144
|
+
return _this.getHfIndexFromVisualIndex(visualIndex);
|
145
|
+
}));
|
146
|
+
return _classPrivateFieldGet(this, _removedIndexes);
|
147
|
+
}
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Gets removed HF indexes (right before performing removal on HOT).
|
151
|
+
*
|
152
|
+
* @returns {Array<number>} List of removed HF indexes.
|
153
|
+
*/
|
154
|
+
}, {
|
155
|
+
key: "getRemovedHfIndexes",
|
156
|
+
value: function getRemovedHfIndexes() {
|
157
|
+
return _classPrivateFieldGet(this, _removedIndexes);
|
158
|
+
}
|
159
|
+
|
160
|
+
/**
|
161
|
+
* Gets corresponding HyperFormula index for particular visual index. It's respecting the idea that HF's engine
|
162
|
+
* is fed also with trimmed indexes (business requirements for formula result calculation also for trimmed elements).
|
163
|
+
*
|
164
|
+
* @param {number} visualIndex Visual index.
|
165
|
+
* @returns {number}
|
166
|
+
*/
|
167
|
+
}, {
|
168
|
+
key: "getHfIndexFromVisualIndex",
|
169
|
+
value: function getHfIndexFromVisualIndex(visualIndex) {
|
170
|
+
var indexesSequence = _classPrivateFieldGet(this, _indexMapper).getIndexesSequence();
|
171
|
+
var notTrimmedIndexes = _classPrivateFieldGet(this, _indexMapper).getNotTrimmedIndexes();
|
172
|
+
return indexesSequence.indexOf(notTrimmedIndexes[visualIndex]);
|
173
|
+
}
|
174
|
+
|
175
|
+
/**
|
176
|
+
* Synchronizes moves done on HOT to HF engine (based on previously calculated positions).
|
177
|
+
*
|
178
|
+
* @private
|
179
|
+
* @param {Array<{from: number, to: number}>} moves Calculated HF's move positions.
|
180
|
+
*/
|
181
|
+
}, {
|
182
|
+
key: "syncMoves",
|
183
|
+
value: function syncMoves(moves) {
|
184
|
+
var _this2 = this;
|
185
|
+
var NUMBER_OF_MOVED_INDEXES = 1;
|
186
|
+
var SYNC_MOVE_METHOD_NAME = "move".concat((0, _string.toUpperCaseFirst)(_classPrivateFieldGet(this, _axis)), "s");
|
187
|
+
_classPrivateFieldGet(this, _indexSyncer).getEngine().batch(function () {
|
188
|
+
moves.forEach(function (move) {
|
189
|
+
var moveToTheSamePosition = move.from !== move.to;
|
190
|
+
// Moving from left to right (or top to bottom) to a line (drop index) right after already moved element.
|
191
|
+
var anotherMoveWithoutEffect = move.from + 1 !== move.to;
|
192
|
+
if (moveToTheSamePosition && anotherMoveWithoutEffect) {
|
193
|
+
_classPrivateFieldGet(_this2, _indexSyncer).getEngine()[SYNC_MOVE_METHOD_NAME](_classPrivateFieldGet(_this2, _indexSyncer).getSheetId(), move.from, NUMBER_OF_MOVED_INDEXES, move.to);
|
194
|
+
}
|
195
|
+
});
|
196
|
+
});
|
197
|
+
}
|
198
|
+
|
199
|
+
/**
|
200
|
+
* Stores information about performed HOT moves for purpose of calculating where to move HF elements.
|
201
|
+
*
|
202
|
+
* @param {Array<number>} movedVisualIndexes Sequence of moved visual indexes for certain axis.
|
203
|
+
* @param {number} visualFinalIndex Final visual place where to move HOT indexes.
|
204
|
+
* @param {boolean} movePossible Indicates if it's possible to move HOT indexes to the desired position.
|
205
|
+
*/
|
206
|
+
}, {
|
207
|
+
key: "storeMovesInformation",
|
208
|
+
value: function storeMovesInformation(movedVisualIndexes, visualFinalIndex, movePossible) {
|
209
|
+
var _this3 = this;
|
210
|
+
if (movePossible === false) {
|
211
|
+
return;
|
212
|
+
}
|
213
|
+
_classPrivateFieldSet(this, _movedIndexes, movedVisualIndexes.map(function (index) {
|
214
|
+
return _this3.getHfIndexFromVisualIndex(index);
|
215
|
+
}));
|
216
|
+
_classPrivateFieldSet(this, _finalIndex, this.getHfIndexFromVisualIndex(visualFinalIndex));
|
217
|
+
}
|
218
|
+
|
219
|
+
/**
|
220
|
+
* Gets first position where to move element (respecting the fact that some element will be sooner or later
|
221
|
+
* taken out of the dataset in order to move them).
|
222
|
+
*
|
223
|
+
* @param {Array<number>} movedHfIndexes Sequence of moved HF indexes for certain axis.
|
224
|
+
* @param {number} finalHfIndex Final HF place where to move rows.
|
225
|
+
* @returns {number} HF's index informing where to move the first element.
|
226
|
+
* @private
|
227
|
+
*/
|
228
|
+
}, {
|
229
|
+
key: "getMoveLine",
|
230
|
+
value: function getMoveLine(movedHfIndexes, finalHfIndex) {
|
231
|
+
var numberOfElements = _classPrivateFieldGet(this, _indexMapper).getNumberOfIndexes();
|
232
|
+
var notMovedElements = Array.from(Array(numberOfElements).keys()).filter(function (index) {
|
233
|
+
return movedHfIndexes.includes(index) === false;
|
234
|
+
});
|
235
|
+
if (finalHfIndex === 0) {
|
236
|
+
var _notMovedElements$fin;
|
237
|
+
return (_notMovedElements$fin = notMovedElements[finalHfIndex]) !== null && _notMovedElements$fin !== void 0 ? _notMovedElements$fin : 0; // Moving before the first dataset's element.
|
238
|
+
}
|
239
|
+
|
240
|
+
return notMovedElements[finalHfIndex - 1] + 1; // Moving before another element.
|
241
|
+
}
|
242
|
+
|
243
|
+
/**
|
244
|
+
* Gets initially calculated HF's move positions.
|
245
|
+
*
|
246
|
+
* @private
|
247
|
+
* @param {Array<number>} movedHfIndexes Sequence of moved HF indexes for certain axis.
|
248
|
+
* @param {number} finalHfIndex Final HF place where to move rows.
|
249
|
+
* @returns {Array<{from: number, to: number}>} Initially calculated HF's move positions.
|
250
|
+
*/
|
251
|
+
}, {
|
252
|
+
key: "getInitiallyCalculatedMoves",
|
253
|
+
value: function getInitiallyCalculatedMoves(movedHfIndexes, finalHfIndex) {
|
254
|
+
var moveLine = this.getMoveLine(movedHfIndexes, finalHfIndex);
|
255
|
+
var moves = [];
|
256
|
+
movedHfIndexes.forEach(function (movedHfIndex) {
|
257
|
+
var move = {
|
258
|
+
from: movedHfIndex,
|
259
|
+
to: moveLine
|
260
|
+
};
|
261
|
+
moves.forEach(function (previouslyMovedIndex) {
|
262
|
+
var isMovingFromEndToStart = previouslyMovedIndex.from > previouslyMovedIndex.to;
|
263
|
+
var isMovingElementBefore = previouslyMovedIndex.to <= move.from;
|
264
|
+
var isMovingAfterElement = previouslyMovedIndex.from > move.from;
|
265
|
+
if (isMovingAfterElement && isMovingElementBefore && isMovingFromEndToStart) {
|
266
|
+
move.from += 1;
|
267
|
+
}
|
268
|
+
});
|
269
|
+
|
270
|
+
// Moved element from right to left (or bottom to top).
|
271
|
+
if (move.from >= moveLine) {
|
272
|
+
moveLine += 1;
|
273
|
+
}
|
274
|
+
moves.push(move);
|
275
|
+
});
|
276
|
+
return moves;
|
277
|
+
}
|
278
|
+
|
279
|
+
/**
|
280
|
+
* Gets finally calculated HF's move positions (after adjusting).
|
281
|
+
*
|
282
|
+
* @private
|
283
|
+
* @param {Array<{from: number, to: number}>} moves Initially calculated HF's move positions.
|
284
|
+
* @returns {Array<{from: number, to: number}>} Finally calculated HF's move positions (after adjusting).
|
285
|
+
*/
|
286
|
+
}, {
|
287
|
+
key: "adjustedCalculatedMoves",
|
288
|
+
value: function adjustedCalculatedMoves(moves) {
|
289
|
+
moves.forEach(function (move, index) {
|
290
|
+
var nextMoved = moves.slice(index + 1);
|
291
|
+
nextMoved.forEach(function (nextMovedIndex) {
|
292
|
+
var isMovingFromStartToEnd = nextMovedIndex.from < nextMovedIndex.to;
|
293
|
+
if (nextMovedIndex.from > move.from && isMovingFromStartToEnd) {
|
294
|
+
nextMovedIndex.from -= 1;
|
295
|
+
}
|
296
|
+
});
|
297
|
+
});
|
298
|
+
return moves;
|
299
|
+
}
|
300
|
+
|
301
|
+
/**
|
302
|
+
* Calculating where to move HF elements and performing already calculated moves.
|
303
|
+
*
|
304
|
+
* @param {boolean} movePossible Indicates if it was possible to move HOT indexes to the desired position.
|
305
|
+
* @param {boolean} orderChanged Indicates if order of HOT indexes was changed by move.
|
306
|
+
*/
|
307
|
+
}, {
|
308
|
+
key: "calculateAndSyncMoves",
|
309
|
+
value: function calculateAndSyncMoves(movePossible, orderChanged) {
|
310
|
+
var _this4 = this;
|
311
|
+
if (_classPrivateFieldGet(this, _indexSyncer).isPerformingUndoRedo()) {
|
312
|
+
return;
|
313
|
+
}
|
314
|
+
if (movePossible === false || orderChanged === false) {
|
315
|
+
return;
|
316
|
+
}
|
317
|
+
var calculatedMoves = this.adjustedCalculatedMoves(this.getInitiallyCalculatedMoves(_classPrivateFieldGet(this, _movedIndexes), _classPrivateFieldGet(this, _finalIndex)));
|
318
|
+
if (_classPrivateFieldGet(this, _indexSyncer).getSheetId() === null) {
|
319
|
+
_classPrivateFieldGet(this, _indexSyncer).getPostponeAction(function () {
|
320
|
+
return _this4.syncMoves(calculatedMoves);
|
321
|
+
});
|
322
|
+
} else {
|
323
|
+
this.syncMoves(calculatedMoves);
|
324
|
+
}
|
325
|
+
}
|
326
|
+
|
327
|
+
/**
|
328
|
+
* Gets callback for hook triggered after performing change of indexes order.
|
329
|
+
*
|
330
|
+
* @returns {Function}
|
331
|
+
*/
|
332
|
+
}, {
|
333
|
+
key: "getIndexesChangeSyncMethod",
|
334
|
+
value: function getIndexesChangeSyncMethod() {
|
335
|
+
var _this5 = this;
|
336
|
+
var SYNC_ORDER_CHANGE_METHOD_NAME = "set".concat((0, _string.toUpperCaseFirst)(_classPrivateFieldGet(this, _axis)), "Order");
|
337
|
+
return function (source) {
|
338
|
+
if (_classPrivateFieldGet(_this5, _indexSyncer).isPerformingUndoRedo()) {
|
339
|
+
return;
|
340
|
+
}
|
341
|
+
var newSequence = _classPrivateFieldGet(_this5, _indexMapper).getIndexesSequence();
|
342
|
+
if (source === 'update') {
|
343
|
+
var relativeTransformation = _classPrivateFieldGet(_this5, _indexesSequence).map(function (index) {
|
344
|
+
return newSequence.indexOf(index);
|
345
|
+
});
|
346
|
+
var sheetDimensions = _classPrivateFieldGet(_this5, _indexSyncer).getEngine().getSheetDimensions(_classPrivateFieldGet(_this5, _indexSyncer).getSheetId());
|
347
|
+
var sizeForAxis;
|
348
|
+
if (_classPrivateFieldGet(_this5, _axis) === 'row') {
|
349
|
+
sizeForAxis = sheetDimensions.height;
|
350
|
+
} else {
|
351
|
+
sizeForAxis = sheetDimensions.width;
|
352
|
+
}
|
353
|
+
var numberOfReorganisedIndexes = relativeTransformation.length;
|
354
|
+
|
355
|
+
// Sheet dimension can be changed by HF's engine for purpose of calculating values. It extends dependency
|
356
|
+
// graph to calculate values outside of a defined dataset. This part of code could be removed after resolving
|
357
|
+
// feature request from HF issue board (handsontable/hyperformula#1179).
|
358
|
+
for (var i = numberOfReorganisedIndexes; i < sizeForAxis; i += 1) {
|
359
|
+
relativeTransformation.push(i);
|
360
|
+
}
|
361
|
+
_classPrivateFieldGet(_this5, _indexSyncer).getEngine()[SYNC_ORDER_CHANGE_METHOD_NAME](_classPrivateFieldGet(_this5, _indexSyncer).getSheetId(), relativeTransformation);
|
362
|
+
}
|
363
|
+
_classPrivateFieldSet(_this5, _indexesSequence, newSequence);
|
364
|
+
};
|
365
|
+
}
|
366
|
+
|
367
|
+
/**
|
368
|
+
* Initialize the AxisSyncer.
|
369
|
+
*/
|
370
|
+
}, {
|
371
|
+
key: "init",
|
372
|
+
value: function init() {
|
373
|
+
_classPrivateFieldSet(this, _indexesSequence, _classPrivateFieldGet(this, _indexMapper).getIndexesSequence());
|
374
|
+
}
|
375
|
+
}]);
|
376
|
+
return AxisSyncer;
|
377
|
+
}();
|
378
|
+
var _default = AxisSyncer;
|
379
|
+
exports.default = _default;
|