handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/calculator/renderAllColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
- package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
- package/3rdparty/walkontable/src/cell/coords.js +13 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
- package/3rdparty/walkontable/src/cell/range.js +42 -30
- package/3rdparty/walkontable/src/cell/range.mjs +42 -30
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +2 -2
- package/3rdparty/walkontable/src/core/clone.js +1 -1
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +12 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +47 -5
- package/3rdparty/walkontable/src/overlays.mjs +47 -5
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +16 -18
- package/3rdparty/walkontable/src/scroll.mjs +16 -18
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +1 -1
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/CHANGELOG.md +20 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +98 -43
- package/core.mjs +98 -43
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +3 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +272 -272
- package/dataMap/metaManager/metaSchema.mjs +272 -272
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9814 -10020
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +7484 -7056
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +26 -24
- package/editorManager.mjs +26 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +49 -11
- package/editors/dateEditor/dateEditor.mjs +49 -11
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/ar-AR.js +1 -1
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/cs-CZ.js +1 -1
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/hr-HR.js +1 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/i18n/languages/sr-SP.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +10 -0
- package/index.js +1 -1
- package/package.json +14 -10
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +143 -82
- package/pluginHooks.mjs +143 -82
- package/plugins/autoColumnSize/autoColumnSize.js +50 -66
- package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
- package/plugins/autoRowSize/autoRowSize.js +29 -35
- package/plugins/autoRowSize/autoRowSize.mjs +29 -35
- package/plugins/autofill/autofill.js +31 -39
- package/plugins/autofill/autofill.mjs +31 -39
- package/plugins/base/base.js +13 -18
- package/plugins/base/base.mjs +13 -18
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
- package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
- package/plugins/columnSorting/columnSorting.js +50 -46
- package/plugins/columnSorting/columnSorting.mjs +50 -46
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSummary/columnSummary.js +36 -40
- package/plugins/columnSummary/columnSummary.mjs +36 -40
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.js +117 -159
- package/plugins/comments/comments.mjs +117 -159
- package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
- package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
- package/plugins/comments/contextMenuItem/removeComment.js +1 -1
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +24 -30
- package/plugins/contextMenu/contextMenu.mjs +24 -30
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- package/plugins/contextMenu/menu/menu.js +14 -22
- package/plugins/contextMenu/menu/menu.mjs +14 -22
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/index.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +120 -161
- package/plugins/copyPaste/copyPaste.mjs +120 -161
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +14 -16
- package/plugins/customBorders/customBorders.mjs +13 -15
- package/plugins/dragToScroll/dragToScroll.js +7 -7
- package/plugins/dragToScroll/dragToScroll.mjs +7 -7
- package/plugins/dropdownMenu/dropdownMenu.js +84 -110
- package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +11 -11
- package/plugins/filters/component/actionBar.mjs +9 -9
- package/plugins/filters/component/condition.js +15 -17
- package/plugins/filters/component/condition.mjs +14 -16
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +7 -7
- package/plugins/filters/component/value.js +26 -30
- package/plugins/filters/component/value.mjs +25 -29
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +23 -25
- package/plugins/filters/conditionUpdateObserver.mjs +23 -25
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +84 -98
- package/plugins/filters/filters.mjs +83 -97
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +86 -113
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +51 -73
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +270 -328
- package/plugins/formulas/formulas.mjs +271 -329
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +68 -87
- package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
- package/plugins/hiddenRows/hiddenRows.js +67 -86
- package/plugins/hiddenRows/hiddenRows.mjs +67 -86
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +133 -177
- package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +106 -135
- package/plugins/manualRowMove/manualRowMove.mjs +106 -135
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/autofill.js +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +3 -72
- package/plugins/mergeCells/calculations/selection.mjs +3 -72
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +118 -2
- package/plugins/mergeCells/cellsCollection.mjs +118 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +500 -398
- package/plugins/mergeCells/mergeCells.mjs +500 -398
- package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +206 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +154 -185
- package/plugins/nestedRows/nestedRows.mjs +155 -186
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +13 -17
- package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
- package/plugins/nestedRows/utils/rowMoveController.js +6 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
- package/plugins/persistentState/persistentState.js +1 -1
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +3 -3
- package/plugins/persistentState/storage.mjs +3 -3
- package/plugins/search/search.js +8 -8
- package/plugins/search/search.mjs +8 -8
- package/plugins/touchScroll/touchScroll.js +16 -20
- package/plugins/touchScroll/touchScroll.mjs +17 -21
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/index.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +16 -18
- package/selection/highlight/highlight.mjs +15 -17
- package/selection/highlight/visualSelection.js +3 -1
- package/selection/highlight/visualSelection.mjs +3 -1
- package/selection/range.js +3 -5
- package/selection/range.mjs +2 -4
- package/selection/selection.js +227 -69
- package/selection/selection.mjs +225 -67
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/tableView.js +53 -79
- package/tableView.mjs +53 -79
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/indexMapper.js +1 -1
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +7 -2
- package/utils/dataStructures/linkedList.mjs +7 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +27 -45
- package/utils/interval.mjs +27 -45
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
@@ -1,17 +1,15 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.array.push.js");
|
5
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.push.js");
|
6
6
|
var _string = require("../../../helpers/string");
|
7
7
|
var _moves = require("../../../helpers/moves");
|
8
8
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
9
9
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
10
|
-
function _classPrivateFieldGet(
|
11
|
-
function
|
12
|
-
function
|
13
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
14
|
-
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; } }
|
10
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
11
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
12
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
15
13
|
/**
|
16
14
|
* @private
|
17
15
|
* @class IndexSyncer
|
@@ -36,73 +34,52 @@ class AxisSyncer {
|
|
36
34
|
* @private
|
37
35
|
* @type {'row'|'column'}
|
38
36
|
*/
|
39
|
-
_classPrivateFieldInitSpec(this, _axis,
|
40
|
-
writable: true,
|
41
|
-
value: void 0
|
42
|
-
});
|
37
|
+
_classPrivateFieldInitSpec(this, _axis, void 0);
|
43
38
|
/**
|
44
39
|
* Reference to index mapper.
|
45
40
|
*
|
46
41
|
* @private
|
47
42
|
* @type {IndexMapper}
|
48
43
|
*/
|
49
|
-
_classPrivateFieldInitSpec(this, _indexMapper,
|
50
|
-
writable: true,
|
51
|
-
value: void 0
|
52
|
-
});
|
44
|
+
_classPrivateFieldInitSpec(this, _indexMapper, void 0);
|
53
45
|
/**
|
54
46
|
* The index synchronizer for both axis (is storing some more general information).
|
55
47
|
*
|
56
48
|
* @private
|
57
49
|
* @type {IndexSyncer}
|
58
50
|
*/
|
59
|
-
_classPrivateFieldInitSpec(this, _indexSyncer,
|
60
|
-
writable: true,
|
61
|
-
value: void 0
|
62
|
-
});
|
51
|
+
_classPrivateFieldInitSpec(this, _indexSyncer, void 0);
|
63
52
|
/**
|
64
53
|
* Sequence of physical indexes stored for watching changes and calculating some transformations.
|
65
54
|
*
|
66
55
|
* @private
|
67
56
|
* @type {Array<number>}
|
68
57
|
*/
|
69
|
-
_classPrivateFieldInitSpec(this, _indexesSequence,
|
70
|
-
writable: true,
|
71
|
-
value: []
|
72
|
-
});
|
58
|
+
_classPrivateFieldInitSpec(this, _indexesSequence, []);
|
73
59
|
/**
|
74
60
|
* List of moved HF indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
75
61
|
*
|
76
62
|
* @private
|
77
63
|
* @type {Array<number>}
|
78
64
|
*/
|
79
|
-
_classPrivateFieldInitSpec(this, _movedIndexes,
|
80
|
-
writable: true,
|
81
|
-
value: []
|
82
|
-
});
|
65
|
+
_classPrivateFieldInitSpec(this, _movedIndexes, []);
|
83
66
|
/**
|
84
67
|
* Final HF's place where to move indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
85
68
|
*
|
86
69
|
* @private
|
87
70
|
* @type {number|undefined}
|
88
71
|
*/
|
89
|
-
_classPrivateFieldInitSpec(this, _finalIndex,
|
90
|
-
writable: true,
|
91
|
-
value: void 0
|
92
|
-
});
|
72
|
+
_classPrivateFieldInitSpec(this, _finalIndex, void 0);
|
93
73
|
/**
|
94
74
|
* List of removed HF indexes, stored before performing removal on HOT to calculate transformation needed on HF's engine.
|
95
75
|
*
|
96
76
|
* @private
|
97
77
|
* @type {Array<number>}
|
98
78
|
*/
|
99
|
-
_classPrivateFieldInitSpec(this, _removedIndexes,
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
_classPrivateFieldSet(this, _axis, axis);
|
104
|
-
_classPrivateFieldSet(this, _indexMapper, indexMapper);
|
105
|
-
_classPrivateFieldSet(this, _indexSyncer, indexSyncer);
|
79
|
+
_classPrivateFieldInitSpec(this, _removedIndexes, []);
|
80
|
+
_classPrivateFieldSet(_axis, this, axis);
|
81
|
+
_classPrivateFieldSet(_indexMapper, this, indexMapper);
|
82
|
+
_classPrivateFieldSet(_indexSyncer, this, indexSyncer);
|
106
83
|
}
|
107
84
|
|
108
85
|
/**
|
@@ -112,11 +89,11 @@ class AxisSyncer {
|
|
112
89
|
* @returns {Array<number>} List of removed visual indexes.
|
113
90
|
*/
|
114
91
|
setRemovedHfIndexes(removedIndexes) {
|
115
|
-
_classPrivateFieldSet(
|
116
|
-
const visualIndex = _classPrivateFieldGet(
|
92
|
+
_classPrivateFieldSet(_removedIndexes, this, removedIndexes.map(physicalIndex => {
|
93
|
+
const visualIndex = _classPrivateFieldGet(_indexMapper, this).getVisualFromPhysicalIndex(physicalIndex);
|
117
94
|
return this.getHfIndexFromVisualIndex(visualIndex);
|
118
95
|
}));
|
119
|
-
return _classPrivateFieldGet(
|
96
|
+
return _classPrivateFieldGet(_removedIndexes, this);
|
120
97
|
}
|
121
98
|
|
122
99
|
/**
|
@@ -125,7 +102,7 @@ class AxisSyncer {
|
|
125
102
|
* @returns {Array<number>} List of removed HF indexes.
|
126
103
|
*/
|
127
104
|
getRemovedHfIndexes() {
|
128
|
-
return _classPrivateFieldGet(
|
105
|
+
return _classPrivateFieldGet(_removedIndexes, this);
|
129
106
|
}
|
130
107
|
|
131
108
|
/**
|
@@ -136,8 +113,8 @@ class AxisSyncer {
|
|
136
113
|
* @returns {number}
|
137
114
|
*/
|
138
115
|
getHfIndexFromVisualIndex(visualIndex) {
|
139
|
-
const indexesSequence = _classPrivateFieldGet(
|
140
|
-
const notTrimmedIndexes = _classPrivateFieldGet(
|
116
|
+
const indexesSequence = _classPrivateFieldGet(_indexMapper, this).getIndexesSequence();
|
117
|
+
const notTrimmedIndexes = _classPrivateFieldGet(_indexMapper, this).getNotTrimmedIndexes();
|
141
118
|
return indexesSequence.indexOf(notTrimmedIndexes[visualIndex]);
|
142
119
|
}
|
143
120
|
|
@@ -149,14 +126,14 @@ class AxisSyncer {
|
|
149
126
|
*/
|
150
127
|
syncMoves(moves) {
|
151
128
|
const NUMBER_OF_MOVED_INDEXES = 1;
|
152
|
-
const SYNC_MOVE_METHOD_NAME = `move${(0, _string.toUpperCaseFirst)(_classPrivateFieldGet(
|
153
|
-
_classPrivateFieldGet(
|
129
|
+
const SYNC_MOVE_METHOD_NAME = `move${(0, _string.toUpperCaseFirst)(_classPrivateFieldGet(_axis, this))}s`;
|
130
|
+
_classPrivateFieldGet(_indexSyncer, this).getEngine().batch(() => {
|
154
131
|
moves.forEach(move => {
|
155
132
|
const moveToTheSamePosition = move.from !== move.to;
|
156
133
|
// Moving from left to right (or top to bottom) to a line (drop index) right after already moved element.
|
157
134
|
const anotherMoveWithoutEffect = move.from + 1 !== move.to;
|
158
135
|
if (moveToTheSamePosition && anotherMoveWithoutEffect) {
|
159
|
-
_classPrivateFieldGet(
|
136
|
+
_classPrivateFieldGet(_indexSyncer, this).getEngine()[SYNC_MOVE_METHOD_NAME](_classPrivateFieldGet(_indexSyncer, this).getSheetId(), move.from, NUMBER_OF_MOVED_INDEXES, move.to);
|
160
137
|
}
|
161
138
|
});
|
162
139
|
});
|
@@ -173,8 +150,8 @@ class AxisSyncer {
|
|
173
150
|
if (movePossible === false) {
|
174
151
|
return;
|
175
152
|
}
|
176
|
-
_classPrivateFieldSet(
|
177
|
-
_classPrivateFieldSet(
|
153
|
+
_classPrivateFieldSet(_movedIndexes, this, movedVisualIndexes.map(index => this.getHfIndexFromVisualIndex(index)));
|
154
|
+
_classPrivateFieldSet(_finalIndex, this, this.getHfIndexFromVisualIndex(visualFinalIndex));
|
178
155
|
}
|
179
156
|
|
180
157
|
/**
|
@@ -184,15 +161,15 @@ class AxisSyncer {
|
|
184
161
|
* @param {boolean} orderChanged Indicates if order of HOT indexes was changed by move.
|
185
162
|
*/
|
186
163
|
calculateAndSyncMoves(movePossible, orderChanged) {
|
187
|
-
if (_classPrivateFieldGet(
|
164
|
+
if (_classPrivateFieldGet(_indexSyncer, this).isPerformingUndoRedo()) {
|
188
165
|
return;
|
189
166
|
}
|
190
167
|
if (movePossible === false || orderChanged === false) {
|
191
168
|
return;
|
192
169
|
}
|
193
|
-
const calculatedMoves = (0, _moves.getMoves)(_classPrivateFieldGet(
|
194
|
-
if (_classPrivateFieldGet(
|
195
|
-
_classPrivateFieldGet(
|
170
|
+
const calculatedMoves = (0, _moves.getMoves)(_classPrivateFieldGet(_movedIndexes, this), _classPrivateFieldGet(_finalIndex, this), _classPrivateFieldGet(_indexMapper, this).getNumberOfIndexes());
|
171
|
+
if (_classPrivateFieldGet(_indexSyncer, this).getSheetId() === null) {
|
172
|
+
_classPrivateFieldGet(_indexSyncer, this).getPostponeAction(() => this.syncMoves(calculatedMoves));
|
196
173
|
} else {
|
197
174
|
this.syncMoves(calculatedMoves);
|
198
175
|
}
|
@@ -204,17 +181,17 @@ class AxisSyncer {
|
|
204
181
|
* @returns {Function}
|
205
182
|
*/
|
206
183
|
getIndexesChangeSyncMethod() {
|
207
|
-
const SYNC_ORDER_CHANGE_METHOD_NAME = `set${(0, _string.toUpperCaseFirst)(_classPrivateFieldGet(
|
184
|
+
const SYNC_ORDER_CHANGE_METHOD_NAME = `set${(0, _string.toUpperCaseFirst)(_classPrivateFieldGet(_axis, this))}Order`;
|
208
185
|
return source => {
|
209
|
-
if (_classPrivateFieldGet(
|
186
|
+
if (_classPrivateFieldGet(_indexSyncer, this).isPerformingUndoRedo()) {
|
210
187
|
return;
|
211
188
|
}
|
212
|
-
const newSequence = _classPrivateFieldGet(
|
189
|
+
const newSequence = _classPrivateFieldGet(_indexMapper, this).getIndexesSequence();
|
213
190
|
if (source === 'update' && newSequence.length > 0) {
|
214
|
-
const relativeTransformation = _classPrivateFieldGet(
|
215
|
-
const sheetDimensions = _classPrivateFieldGet(
|
191
|
+
const relativeTransformation = _classPrivateFieldGet(_indexesSequence, this).map(index => newSequence.indexOf(index));
|
192
|
+
const sheetDimensions = _classPrivateFieldGet(_indexSyncer, this).getEngine().getSheetDimensions(_classPrivateFieldGet(_indexSyncer, this).getSheetId());
|
216
193
|
let sizeForAxis;
|
217
|
-
if (_classPrivateFieldGet(
|
194
|
+
if (_classPrivateFieldGet(_axis, this) === 'row') {
|
218
195
|
sizeForAxis = sheetDimensions.height;
|
219
196
|
} else {
|
220
197
|
sizeForAxis = sheetDimensions.width;
|
@@ -227,9 +204,9 @@ class AxisSyncer {
|
|
227
204
|
for (let i = numberOfReorganisedIndexes; i < sizeForAxis; i += 1) {
|
228
205
|
relativeTransformation.push(i);
|
229
206
|
}
|
230
|
-
_classPrivateFieldGet(
|
207
|
+
_classPrivateFieldGet(_indexSyncer, this).getEngine()[SYNC_ORDER_CHANGE_METHOD_NAME](_classPrivateFieldGet(_indexSyncer, this).getSheetId(), relativeTransformation);
|
231
208
|
}
|
232
|
-
_classPrivateFieldSet(
|
209
|
+
_classPrivateFieldSet(_indexesSequence, this, newSequence);
|
233
210
|
};
|
234
211
|
}
|
235
212
|
|
@@ -237,7 +214,7 @@ class AxisSyncer {
|
|
237
214
|
* Initialize the AxisSyncer.
|
238
215
|
*/
|
239
216
|
init() {
|
240
|
-
_classPrivateFieldSet(
|
217
|
+
_classPrivateFieldSet(_indexesSequence, this, _classPrivateFieldGet(_indexMapper, this).getIndexesSequence());
|
241
218
|
}
|
242
219
|
}
|
243
220
|
var _default = exports.default = AxisSyncer;
|
@@ -1,12 +1,10 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
4
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
|
-
function _classPrivateFieldGet(
|
6
|
-
function
|
7
|
-
function
|
8
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
9
|
-
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; } }
|
5
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
6
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
10
8
|
import { toUpperCaseFirst } from "../../../helpers/string.mjs";
|
11
9
|
import { getMoves } from "../../../helpers/moves.mjs";
|
12
10
|
/**
|
@@ -33,73 +31,52 @@ class AxisSyncer {
|
|
33
31
|
* @private
|
34
32
|
* @type {'row'|'column'}
|
35
33
|
*/
|
36
|
-
_classPrivateFieldInitSpec(this, _axis,
|
37
|
-
writable: true,
|
38
|
-
value: void 0
|
39
|
-
});
|
34
|
+
_classPrivateFieldInitSpec(this, _axis, void 0);
|
40
35
|
/**
|
41
36
|
* Reference to index mapper.
|
42
37
|
*
|
43
38
|
* @private
|
44
39
|
* @type {IndexMapper}
|
45
40
|
*/
|
46
|
-
_classPrivateFieldInitSpec(this, _indexMapper,
|
47
|
-
writable: true,
|
48
|
-
value: void 0
|
49
|
-
});
|
41
|
+
_classPrivateFieldInitSpec(this, _indexMapper, void 0);
|
50
42
|
/**
|
51
43
|
* The index synchronizer for both axis (is storing some more general information).
|
52
44
|
*
|
53
45
|
* @private
|
54
46
|
* @type {IndexSyncer}
|
55
47
|
*/
|
56
|
-
_classPrivateFieldInitSpec(this, _indexSyncer,
|
57
|
-
writable: true,
|
58
|
-
value: void 0
|
59
|
-
});
|
48
|
+
_classPrivateFieldInitSpec(this, _indexSyncer, void 0);
|
60
49
|
/**
|
61
50
|
* Sequence of physical indexes stored for watching changes and calculating some transformations.
|
62
51
|
*
|
63
52
|
* @private
|
64
53
|
* @type {Array<number>}
|
65
54
|
*/
|
66
|
-
_classPrivateFieldInitSpec(this, _indexesSequence,
|
67
|
-
writable: true,
|
68
|
-
value: []
|
69
|
-
});
|
55
|
+
_classPrivateFieldInitSpec(this, _indexesSequence, []);
|
70
56
|
/**
|
71
57
|
* List of moved HF indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
72
58
|
*
|
73
59
|
* @private
|
74
60
|
* @type {Array<number>}
|
75
61
|
*/
|
76
|
-
_classPrivateFieldInitSpec(this, _movedIndexes,
|
77
|
-
writable: true,
|
78
|
-
value: []
|
79
|
-
});
|
62
|
+
_classPrivateFieldInitSpec(this, _movedIndexes, []);
|
80
63
|
/**
|
81
64
|
* Final HF's place where to move indexes, stored before performing move on HOT to calculate transformation needed on HF's engine.
|
82
65
|
*
|
83
66
|
* @private
|
84
67
|
* @type {number|undefined}
|
85
68
|
*/
|
86
|
-
_classPrivateFieldInitSpec(this, _finalIndex,
|
87
|
-
writable: true,
|
88
|
-
value: void 0
|
89
|
-
});
|
69
|
+
_classPrivateFieldInitSpec(this, _finalIndex, void 0);
|
90
70
|
/**
|
91
71
|
* List of removed HF indexes, stored before performing removal on HOT to calculate transformation needed on HF's engine.
|
92
72
|
*
|
93
73
|
* @private
|
94
74
|
* @type {Array<number>}
|
95
75
|
*/
|
96
|
-
_classPrivateFieldInitSpec(this, _removedIndexes,
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
_classPrivateFieldSet(this, _axis, axis);
|
101
|
-
_classPrivateFieldSet(this, _indexMapper, indexMapper);
|
102
|
-
_classPrivateFieldSet(this, _indexSyncer, indexSyncer);
|
76
|
+
_classPrivateFieldInitSpec(this, _removedIndexes, []);
|
77
|
+
_classPrivateFieldSet(_axis, this, axis);
|
78
|
+
_classPrivateFieldSet(_indexMapper, this, indexMapper);
|
79
|
+
_classPrivateFieldSet(_indexSyncer, this, indexSyncer);
|
103
80
|
}
|
104
81
|
|
105
82
|
/**
|
@@ -109,11 +86,11 @@ class AxisSyncer {
|
|
109
86
|
* @returns {Array<number>} List of removed visual indexes.
|
110
87
|
*/
|
111
88
|
setRemovedHfIndexes(removedIndexes) {
|
112
|
-
_classPrivateFieldSet(
|
113
|
-
const visualIndex = _classPrivateFieldGet(
|
89
|
+
_classPrivateFieldSet(_removedIndexes, this, removedIndexes.map(physicalIndex => {
|
90
|
+
const visualIndex = _classPrivateFieldGet(_indexMapper, this).getVisualFromPhysicalIndex(physicalIndex);
|
114
91
|
return this.getHfIndexFromVisualIndex(visualIndex);
|
115
92
|
}));
|
116
|
-
return _classPrivateFieldGet(
|
93
|
+
return _classPrivateFieldGet(_removedIndexes, this);
|
117
94
|
}
|
118
95
|
|
119
96
|
/**
|
@@ -122,7 +99,7 @@ class AxisSyncer {
|
|
122
99
|
* @returns {Array<number>} List of removed HF indexes.
|
123
100
|
*/
|
124
101
|
getRemovedHfIndexes() {
|
125
|
-
return _classPrivateFieldGet(
|
102
|
+
return _classPrivateFieldGet(_removedIndexes, this);
|
126
103
|
}
|
127
104
|
|
128
105
|
/**
|
@@ -133,8 +110,8 @@ class AxisSyncer {
|
|
133
110
|
* @returns {number}
|
134
111
|
*/
|
135
112
|
getHfIndexFromVisualIndex(visualIndex) {
|
136
|
-
const indexesSequence = _classPrivateFieldGet(
|
137
|
-
const notTrimmedIndexes = _classPrivateFieldGet(
|
113
|
+
const indexesSequence = _classPrivateFieldGet(_indexMapper, this).getIndexesSequence();
|
114
|
+
const notTrimmedIndexes = _classPrivateFieldGet(_indexMapper, this).getNotTrimmedIndexes();
|
138
115
|
return indexesSequence.indexOf(notTrimmedIndexes[visualIndex]);
|
139
116
|
}
|
140
117
|
|
@@ -146,14 +123,14 @@ class AxisSyncer {
|
|
146
123
|
*/
|
147
124
|
syncMoves(moves) {
|
148
125
|
const NUMBER_OF_MOVED_INDEXES = 1;
|
149
|
-
const SYNC_MOVE_METHOD_NAME = `move${toUpperCaseFirst(_classPrivateFieldGet(
|
150
|
-
_classPrivateFieldGet(
|
126
|
+
const SYNC_MOVE_METHOD_NAME = `move${toUpperCaseFirst(_classPrivateFieldGet(_axis, this))}s`;
|
127
|
+
_classPrivateFieldGet(_indexSyncer, this).getEngine().batch(() => {
|
151
128
|
moves.forEach(move => {
|
152
129
|
const moveToTheSamePosition = move.from !== move.to;
|
153
130
|
// Moving from left to right (or top to bottom) to a line (drop index) right after already moved element.
|
154
131
|
const anotherMoveWithoutEffect = move.from + 1 !== move.to;
|
155
132
|
if (moveToTheSamePosition && anotherMoveWithoutEffect) {
|
156
|
-
_classPrivateFieldGet(
|
133
|
+
_classPrivateFieldGet(_indexSyncer, this).getEngine()[SYNC_MOVE_METHOD_NAME](_classPrivateFieldGet(_indexSyncer, this).getSheetId(), move.from, NUMBER_OF_MOVED_INDEXES, move.to);
|
157
134
|
}
|
158
135
|
});
|
159
136
|
});
|
@@ -170,8 +147,8 @@ class AxisSyncer {
|
|
170
147
|
if (movePossible === false) {
|
171
148
|
return;
|
172
149
|
}
|
173
|
-
_classPrivateFieldSet(
|
174
|
-
_classPrivateFieldSet(
|
150
|
+
_classPrivateFieldSet(_movedIndexes, this, movedVisualIndexes.map(index => this.getHfIndexFromVisualIndex(index)));
|
151
|
+
_classPrivateFieldSet(_finalIndex, this, this.getHfIndexFromVisualIndex(visualFinalIndex));
|
175
152
|
}
|
176
153
|
|
177
154
|
/**
|
@@ -181,15 +158,15 @@ class AxisSyncer {
|
|
181
158
|
* @param {boolean} orderChanged Indicates if order of HOT indexes was changed by move.
|
182
159
|
*/
|
183
160
|
calculateAndSyncMoves(movePossible, orderChanged) {
|
184
|
-
if (_classPrivateFieldGet(
|
161
|
+
if (_classPrivateFieldGet(_indexSyncer, this).isPerformingUndoRedo()) {
|
185
162
|
return;
|
186
163
|
}
|
187
164
|
if (movePossible === false || orderChanged === false) {
|
188
165
|
return;
|
189
166
|
}
|
190
|
-
const calculatedMoves = getMoves(_classPrivateFieldGet(
|
191
|
-
if (_classPrivateFieldGet(
|
192
|
-
_classPrivateFieldGet(
|
167
|
+
const calculatedMoves = getMoves(_classPrivateFieldGet(_movedIndexes, this), _classPrivateFieldGet(_finalIndex, this), _classPrivateFieldGet(_indexMapper, this).getNumberOfIndexes());
|
168
|
+
if (_classPrivateFieldGet(_indexSyncer, this).getSheetId() === null) {
|
169
|
+
_classPrivateFieldGet(_indexSyncer, this).getPostponeAction(() => this.syncMoves(calculatedMoves));
|
193
170
|
} else {
|
194
171
|
this.syncMoves(calculatedMoves);
|
195
172
|
}
|
@@ -201,17 +178,17 @@ class AxisSyncer {
|
|
201
178
|
* @returns {Function}
|
202
179
|
*/
|
203
180
|
getIndexesChangeSyncMethod() {
|
204
|
-
const SYNC_ORDER_CHANGE_METHOD_NAME = `set${toUpperCaseFirst(_classPrivateFieldGet(
|
181
|
+
const SYNC_ORDER_CHANGE_METHOD_NAME = `set${toUpperCaseFirst(_classPrivateFieldGet(_axis, this))}Order`;
|
205
182
|
return source => {
|
206
|
-
if (_classPrivateFieldGet(
|
183
|
+
if (_classPrivateFieldGet(_indexSyncer, this).isPerformingUndoRedo()) {
|
207
184
|
return;
|
208
185
|
}
|
209
|
-
const newSequence = _classPrivateFieldGet(
|
186
|
+
const newSequence = _classPrivateFieldGet(_indexMapper, this).getIndexesSequence();
|
210
187
|
if (source === 'update' && newSequence.length > 0) {
|
211
|
-
const relativeTransformation = _classPrivateFieldGet(
|
212
|
-
const sheetDimensions = _classPrivateFieldGet(
|
188
|
+
const relativeTransformation = _classPrivateFieldGet(_indexesSequence, this).map(index => newSequence.indexOf(index));
|
189
|
+
const sheetDimensions = _classPrivateFieldGet(_indexSyncer, this).getEngine().getSheetDimensions(_classPrivateFieldGet(_indexSyncer, this).getSheetId());
|
213
190
|
let sizeForAxis;
|
214
|
-
if (_classPrivateFieldGet(
|
191
|
+
if (_classPrivateFieldGet(_axis, this) === 'row') {
|
215
192
|
sizeForAxis = sheetDimensions.height;
|
216
193
|
} else {
|
217
194
|
sizeForAxis = sheetDimensions.width;
|
@@ -224,9 +201,9 @@ class AxisSyncer {
|
|
224
201
|
for (let i = numberOfReorganisedIndexes; i < sizeForAxis; i += 1) {
|
225
202
|
relativeTransformation.push(i);
|
226
203
|
}
|
227
|
-
_classPrivateFieldGet(
|
204
|
+
_classPrivateFieldGet(_indexSyncer, this).getEngine()[SYNC_ORDER_CHANGE_METHOD_NAME](_classPrivateFieldGet(_indexSyncer, this).getSheetId(), relativeTransformation);
|
228
205
|
}
|
229
|
-
_classPrivateFieldSet(
|
206
|
+
_classPrivateFieldSet(_indexesSequence, this, newSequence);
|
230
207
|
};
|
231
208
|
}
|
232
209
|
|
@@ -234,7 +211,7 @@ class AxisSyncer {
|
|
234
211
|
* Initialize the AxisSyncer.
|
235
212
|
*/
|
236
213
|
init() {
|
237
|
-
_classPrivateFieldSet(
|
214
|
+
_classPrivateFieldSet(_indexesSequence, this, _classPrivateFieldGet(_indexMapper, this).getIndexesSequence());
|
238
215
|
}
|
239
216
|
}
|
240
217
|
export default AxisSyncer;
|
@@ -6,11 +6,9 @@ var _axisSyncer = _interopRequireDefault(require("./axisSyncer"));
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7
7
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
8
8
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
9
|
-
function _classPrivateFieldGet(
|
10
|
-
function
|
11
|
-
function
|
12
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
13
|
-
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; } }
|
9
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
10
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
11
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
14
12
|
/**
|
15
13
|
* @private
|
16
14
|
* @class IndexSyncer
|
@@ -35,73 +33,52 @@ class IndexSyncer {
|
|
35
33
|
* @private
|
36
34
|
* @type {AxisSyncer}
|
37
35
|
*/
|
38
|
-
_classPrivateFieldInitSpec(this, _rowIndexSyncer,
|
39
|
-
writable: true,
|
40
|
-
value: void 0
|
41
|
-
});
|
36
|
+
_classPrivateFieldInitSpec(this, _rowIndexSyncer, void 0);
|
42
37
|
/**
|
43
38
|
* Indexes synchronizer for the axis of the columns.
|
44
39
|
*
|
45
40
|
* @private
|
46
41
|
* @type {AxisSyncer}
|
47
42
|
*/
|
48
|
-
_classPrivateFieldInitSpec(this, _columnIndexSyncer,
|
49
|
-
writable: true,
|
50
|
-
value: void 0
|
51
|
-
});
|
43
|
+
_classPrivateFieldInitSpec(this, _columnIndexSyncer, void 0);
|
52
44
|
/**
|
53
45
|
* Method which will postpone execution of some action (needed when synchronization endpoint isn't setup yet).
|
54
46
|
*
|
55
47
|
* @private
|
56
48
|
* @type {Function}
|
57
49
|
*/
|
58
|
-
_classPrivateFieldInitSpec(this, _postponeAction,
|
59
|
-
writable: true,
|
60
|
-
value: void 0
|
61
|
-
});
|
50
|
+
_classPrivateFieldInitSpec(this, _postponeAction, void 0);
|
62
51
|
/**
|
63
52
|
* Flag informing whether undo is already performed (we don't perform synchronization in such case).
|
64
53
|
*
|
65
54
|
* @private
|
66
55
|
* @type {boolean}
|
67
56
|
*/
|
68
|
-
_classPrivateFieldInitSpec(this, _isPerformingUndo,
|
69
|
-
writable: true,
|
70
|
-
value: false
|
71
|
-
});
|
57
|
+
_classPrivateFieldInitSpec(this, _isPerformingUndo, false);
|
72
58
|
/**
|
73
59
|
* Flag informing whether redo is already performed (we don't perform synchronization in such case).
|
74
60
|
*
|
75
61
|
* @private
|
76
62
|
* @type {boolean}
|
77
63
|
*/
|
78
|
-
_classPrivateFieldInitSpec(this, _isPerformingRedo,
|
79
|
-
writable: true,
|
80
|
-
value: false
|
81
|
-
});
|
64
|
+
_classPrivateFieldInitSpec(this, _isPerformingRedo, false);
|
82
65
|
/**
|
83
66
|
* The HF's engine instance which will be synced.
|
84
67
|
*
|
85
68
|
* @private
|
86
69
|
* @type {HyperFormula|null}
|
87
70
|
*/
|
88
|
-
_classPrivateFieldInitSpec(this, _engine,
|
89
|
-
writable: true,
|
90
|
-
value: null
|
91
|
-
});
|
71
|
+
_classPrivateFieldInitSpec(this, _engine, null);
|
92
72
|
/**
|
93
73
|
* HyperFormula's sheet name.
|
94
74
|
*
|
95
75
|
* @private
|
96
76
|
* @type {string|null}
|
97
77
|
*/
|
98
|
-
_classPrivateFieldInitSpec(this, _sheetId,
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
_classPrivateFieldSet(this, _rowIndexSyncer, new _axisSyncer.default('row', rowIndexMapper, this));
|
103
|
-
_classPrivateFieldSet(this, _columnIndexSyncer, new _axisSyncer.default('column', columnIndexMapper, this));
|
104
|
-
_classPrivateFieldSet(this, _postponeAction, postponeAction);
|
78
|
+
_classPrivateFieldInitSpec(this, _sheetId, null);
|
79
|
+
_classPrivateFieldSet(_rowIndexSyncer, this, new _axisSyncer.default('row', rowIndexMapper, this));
|
80
|
+
_classPrivateFieldSet(_columnIndexSyncer, this, new _axisSyncer.default('column', columnIndexMapper, this));
|
81
|
+
_classPrivateFieldSet(_postponeAction, this, postponeAction);
|
105
82
|
}
|
106
83
|
|
107
84
|
/**
|
@@ -112,9 +89,9 @@ class IndexSyncer {
|
|
112
89
|
*/
|
113
90
|
getForAxis(indexType) {
|
114
91
|
if (indexType === 'row') {
|
115
|
-
return _classPrivateFieldGet(
|
92
|
+
return _classPrivateFieldGet(_rowIndexSyncer, this);
|
116
93
|
}
|
117
|
-
return _classPrivateFieldGet(
|
94
|
+
return _classPrivateFieldGet(_columnIndexSyncer, this);
|
118
95
|
}
|
119
96
|
|
120
97
|
/**
|
@@ -123,7 +100,7 @@ class IndexSyncer {
|
|
123
100
|
* @param {boolean} flagValue Boolean value for the flag.
|
124
101
|
*/
|
125
102
|
setPerformUndo(flagValue) {
|
126
|
-
_classPrivateFieldSet(
|
103
|
+
_classPrivateFieldSet(_isPerformingUndo, this, flagValue);
|
127
104
|
}
|
128
105
|
|
129
106
|
/**
|
@@ -132,7 +109,7 @@ class IndexSyncer {
|
|
132
109
|
* @param {boolean} flagValue Boolean value for the flag.
|
133
110
|
*/
|
134
111
|
setPerformRedo(flagValue) {
|
135
|
-
_classPrivateFieldSet(
|
112
|
+
_classPrivateFieldSet(_isPerformingRedo, this, flagValue);
|
136
113
|
}
|
137
114
|
|
138
115
|
/**
|
@@ -142,7 +119,7 @@ class IndexSyncer {
|
|
142
119
|
* @returns {boolean}
|
143
120
|
*/
|
144
121
|
isPerformingUndoRedo() {
|
145
|
-
return _classPrivateFieldGet(
|
122
|
+
return _classPrivateFieldGet(_isPerformingUndo, this) || _classPrivateFieldGet(_isPerformingRedo, this);
|
146
123
|
}
|
147
124
|
|
148
125
|
/**
|
@@ -151,7 +128,7 @@ class IndexSyncer {
|
|
151
128
|
* @returns {string|null}
|
152
129
|
*/
|
153
130
|
getSheetId() {
|
154
|
-
return _classPrivateFieldGet(
|
131
|
+
return _classPrivateFieldGet(_sheetId, this);
|
155
132
|
}
|
156
133
|
|
157
134
|
/**
|
@@ -160,7 +137,7 @@ class IndexSyncer {
|
|
160
137
|
* @type {HyperFormula|null}
|
161
138
|
*/
|
162
139
|
getEngine() {
|
163
|
-
return _classPrivateFieldGet(
|
140
|
+
return _classPrivateFieldGet(_engine, this);
|
164
141
|
}
|
165
142
|
|
166
143
|
/**
|
@@ -169,7 +146,7 @@ class IndexSyncer {
|
|
169
146
|
* @returns {Function}
|
170
147
|
*/
|
171
148
|
getPostponeAction() {
|
172
|
-
return _classPrivateFieldGet(
|
149
|
+
return _classPrivateFieldGet(_postponeAction, this);
|
173
150
|
}
|
174
151
|
|
175
152
|
/**
|
@@ -179,10 +156,10 @@ class IndexSyncer {
|
|
179
156
|
* @param {string|null} sheetId HyperFormula's sheet name.
|
180
157
|
*/
|
181
158
|
setupSyncEndpoint(engine, sheetId) {
|
182
|
-
_classPrivateFieldSet(
|
183
|
-
_classPrivateFieldSet(
|
184
|
-
_classPrivateFieldGet(
|
185
|
-
_classPrivateFieldGet(
|
159
|
+
_classPrivateFieldSet(_engine, this, engine);
|
160
|
+
_classPrivateFieldSet(_sheetId, this, sheetId);
|
161
|
+
_classPrivateFieldGet(_rowIndexSyncer, this).init();
|
162
|
+
_classPrivateFieldGet(_columnIndexSyncer, this).init();
|
186
163
|
}
|
187
164
|
}
|
188
165
|
var _default = exports.default = IndexSyncer;
|