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
@@ -8,12 +8,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
8
8
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
9
9
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
10
10
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
11
|
-
function _classPrivateFieldGet(
|
12
|
-
function
|
13
|
-
function
|
14
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
15
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
16
|
-
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; } }
|
11
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
12
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
13
|
+
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"); }
|
17
14
|
/**
|
18
15
|
* The Transformation class implements algorithms for transforming coordinates based on current settings
|
19
16
|
* passed to the Handsontable. The class performs the calculations based on the renderable indexes.
|
@@ -32,67 +29,29 @@ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.
|
|
32
29
|
var _range = /*#__PURE__*/new WeakMap();
|
33
30
|
var _options = /*#__PURE__*/new WeakMap();
|
34
31
|
var _offset = /*#__PURE__*/new WeakMap();
|
35
|
-
var
|
36
|
-
var _clampCoords = /*#__PURE__*/new WeakSet();
|
37
|
-
var _getTableSize = /*#__PURE__*/new WeakSet();
|
38
|
-
var _visualToZeroBasedCoords = /*#__PURE__*/new WeakSet();
|
39
|
-
var _zeroBasedToVisualCoords = /*#__PURE__*/new WeakSet();
|
32
|
+
var _Transformation_brand = /*#__PURE__*/new WeakSet();
|
40
33
|
class Transformation {
|
41
34
|
constructor(range, options) {
|
42
|
-
/**
|
43
|
-
* Translates the zero-based coordinates to visual ones.
|
44
|
-
*
|
45
|
-
* @param {CellCoords} zeroBasedCoords The coordinates to process.
|
46
|
-
* @returns {CellCoords}
|
47
|
-
*/
|
48
|
-
_classPrivateMethodInitSpec(this, _zeroBasedToVisualCoords);
|
49
|
-
/**
|
50
|
-
* Translates the visual coordinates to zero-based ones.
|
51
|
-
*
|
52
|
-
* @param {CellCoords} visualCoords The visual coords to process.
|
53
|
-
* @returns {CellCoords}
|
54
|
-
*/
|
55
|
-
_classPrivateMethodInitSpec(this, _visualToZeroBasedCoords);
|
56
|
-
/**
|
57
|
-
* Gets the table size in number of rows with headers as "height" and number of columns with
|
58
|
-
* headers as "width".
|
59
|
-
*
|
60
|
-
* @returns {{width: number, height: number}}
|
61
|
-
*/
|
62
|
-
_classPrivateMethodInitSpec(this, _getTableSize);
|
63
35
|
/**
|
64
36
|
* Clamps the coords to make sure they points to the cell (or header) in the table range.
|
65
37
|
*
|
66
38
|
* @param {CellCoords} zeroBasedCoords The coords object to clamp.
|
67
39
|
* @returns {{rowDir: 1|0|-1, colDir: 1|0|-1}}
|
68
40
|
*/
|
69
|
-
_classPrivateMethodInitSpec(this,
|
70
|
-
/**
|
71
|
-
* Sets the additional offset in table size that may occur when the `navigableHeaders` option
|
72
|
-
* is enabled.
|
73
|
-
*
|
74
|
-
* @param {{x: number, y: number}} offset Offset as x and y properties.
|
75
|
-
*/
|
76
|
-
_classPrivateMethodInitSpec(this, _setOffsetSize);
|
41
|
+
_classPrivateMethodInitSpec(this, _Transformation_brand);
|
77
42
|
/**
|
78
43
|
* Instance of the SelectionRange, holder for visual coordinates applied to the table.
|
79
44
|
*
|
80
45
|
* @type {SelectionRange}
|
81
46
|
*/
|
82
|
-
_classPrivateFieldInitSpec(this, _range,
|
83
|
-
writable: true,
|
84
|
-
value: void 0
|
85
|
-
});
|
47
|
+
_classPrivateFieldInitSpec(this, _range, void 0);
|
86
48
|
/**
|
87
49
|
* Additional options which define the state of the settings which can infer transformation and
|
88
50
|
* give the possibility to translate indexes.
|
89
51
|
*
|
90
52
|
* @type {object}
|
91
53
|
*/
|
92
|
-
_classPrivateFieldInitSpec(this, _options,
|
93
|
-
writable: true,
|
94
|
-
value: void 0
|
95
|
-
});
|
54
|
+
_classPrivateFieldInitSpec(this, _options, void 0);
|
96
55
|
/**
|
97
56
|
* Increases the table size by applying the offsets. The option is used by the `navigableHeaders`
|
98
57
|
* option.
|
@@ -100,14 +59,11 @@ class Transformation {
|
|
100
59
|
* @type {{ x: number, y: number }}
|
101
60
|
*/
|
102
61
|
_classPrivateFieldInitSpec(this, _offset, {
|
103
|
-
|
104
|
-
|
105
|
-
x: 0,
|
106
|
-
y: 0
|
107
|
-
}
|
62
|
+
x: 0,
|
63
|
+
y: 0
|
108
64
|
});
|
109
|
-
_classPrivateFieldSet(
|
110
|
-
_classPrivateFieldSet(
|
65
|
+
_classPrivateFieldSet(_range, this, range);
|
66
|
+
_classPrivateFieldSet(_options, this, options);
|
111
67
|
}
|
112
68
|
|
113
69
|
/**
|
@@ -121,13 +77,9 @@ class Transformation {
|
|
121
77
|
*/
|
122
78
|
transformStart(rowDelta, colDelta) {
|
123
79
|
let createMissingRecords = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
});
|
128
|
-
const delta = _classPrivateFieldGet(this, _options).createCellCoords(rowDelta, colDelta);
|
129
|
-
let visualCoords = _classPrivateFieldGet(this, _range).current().highlight;
|
130
|
-
const highlightRenderableCoords = _classPrivateFieldGet(this, _options).visualToRenderableCoords(visualCoords);
|
80
|
+
const delta = _classPrivateFieldGet(_options, this).createCellCoords(rowDelta, colDelta);
|
81
|
+
let visualCoords = _classPrivateFieldGet(_range, this).current().highlight;
|
82
|
+
const highlightRenderableCoords = _classPrivateFieldGet(_options, this).visualToRenderableCoords(visualCoords);
|
131
83
|
let rowTransformDir = 0;
|
132
84
|
let colTransformDir = 0;
|
133
85
|
this.runLocalHooks('beforeTransformStart', delta);
|
@@ -135,32 +87,32 @@ class Transformation {
|
|
135
87
|
const {
|
136
88
|
width,
|
137
89
|
height
|
138
|
-
} =
|
90
|
+
} = _assertClassBrand(_Transformation_brand, this, _getTableSize).call(this);
|
139
91
|
const {
|
140
92
|
row,
|
141
93
|
col
|
142
|
-
} =
|
143
|
-
const fixedRowsBottom = _classPrivateFieldGet(
|
144
|
-
const minSpareRows = _classPrivateFieldGet(
|
145
|
-
const minSpareCols = _classPrivateFieldGet(
|
146
|
-
const autoWrapRow = _classPrivateFieldGet(
|
147
|
-
const autoWrapCol = _classPrivateFieldGet(
|
148
|
-
const zeroBasedCoords = _classPrivateFieldGet(
|
94
|
+
} = _assertClassBrand(_Transformation_brand, this, _visualToZeroBasedCoords).call(this, visualCoords);
|
95
|
+
const fixedRowsBottom = _classPrivateFieldGet(_options, this).fixedRowsBottom();
|
96
|
+
const minSpareRows = _classPrivateFieldGet(_options, this).minSpareRows();
|
97
|
+
const minSpareCols = _classPrivateFieldGet(_options, this).minSpareCols();
|
98
|
+
const autoWrapRow = _classPrivateFieldGet(_options, this).autoWrapRow();
|
99
|
+
const autoWrapCol = _classPrivateFieldGet(_options, this).autoWrapCol();
|
100
|
+
const zeroBasedCoords = _classPrivateFieldGet(_options, this).createCellCoords(row + delta.row, col + delta.col);
|
149
101
|
if (zeroBasedCoords.row >= height) {
|
150
102
|
const isActionInterrupted = (0, _object.createObjectPropListener)(createMissingRecords && minSpareRows > 0 && fixedRowsBottom === 0);
|
151
103
|
const nextColumn = zeroBasedCoords.col + 1;
|
152
|
-
const newCoords = _classPrivateFieldGet(
|
153
|
-
this.runLocalHooks('beforeColumnWrap', isActionInterrupted,
|
104
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(zeroBasedCoords.row - height, nextColumn >= width ? nextColumn - width : nextColumn);
|
105
|
+
this.runLocalHooks('beforeColumnWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), nextColumn >= width);
|
154
106
|
if (isActionInterrupted.value) {
|
155
|
-
this.runLocalHooks('insertRowRequire', _classPrivateFieldGet(
|
107
|
+
this.runLocalHooks('insertRowRequire', _classPrivateFieldGet(_options, this).countRenderableRows());
|
156
108
|
} else if (autoWrapCol) {
|
157
109
|
zeroBasedCoords.assign(newCoords);
|
158
110
|
}
|
159
111
|
} else if (zeroBasedCoords.row < 0) {
|
160
112
|
const isActionInterrupted = (0, _object.createObjectPropListener)(autoWrapCol);
|
161
113
|
const previousColumn = zeroBasedCoords.col - 1;
|
162
|
-
const newCoords = _classPrivateFieldGet(
|
163
|
-
this.runLocalHooks('beforeColumnWrap', isActionInterrupted,
|
114
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(height + zeroBasedCoords.row, previousColumn < 0 ? width + previousColumn : previousColumn);
|
115
|
+
this.runLocalHooks('beforeColumnWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), previousColumn < 0);
|
164
116
|
if (autoWrapCol) {
|
165
117
|
zeroBasedCoords.assign(newCoords);
|
166
118
|
}
|
@@ -168,18 +120,18 @@ class Transformation {
|
|
168
120
|
if (zeroBasedCoords.col >= width) {
|
169
121
|
const isActionInterrupted = (0, _object.createObjectPropListener)(createMissingRecords && minSpareCols > 0);
|
170
122
|
const nextRow = zeroBasedCoords.row + 1;
|
171
|
-
const newCoords = _classPrivateFieldGet(
|
172
|
-
this.runLocalHooks('beforeRowWrap', isActionInterrupted,
|
123
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(nextRow >= height ? nextRow - height : nextRow, zeroBasedCoords.col - width);
|
124
|
+
this.runLocalHooks('beforeRowWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), nextRow >= height);
|
173
125
|
if (isActionInterrupted.value) {
|
174
|
-
this.runLocalHooks('insertColRequire', _classPrivateFieldGet(
|
126
|
+
this.runLocalHooks('insertColRequire', _classPrivateFieldGet(_options, this).countRenderableColumns());
|
175
127
|
} else if (autoWrapRow) {
|
176
128
|
zeroBasedCoords.assign(newCoords);
|
177
129
|
}
|
178
130
|
} else if (zeroBasedCoords.col < 0) {
|
179
131
|
const isActionInterrupted = (0, _object.createObjectPropListener)(autoWrapRow);
|
180
132
|
const previousRow = zeroBasedCoords.row - 1;
|
181
|
-
const newCoords = _classPrivateFieldGet(
|
182
|
-
this.runLocalHooks('beforeRowWrap', isActionInterrupted,
|
133
|
+
const newCoords = _classPrivateFieldGet(_options, this).createCellCoords(previousRow < 0 ? height + previousRow : previousRow, width + zeroBasedCoords.col);
|
134
|
+
this.runLocalHooks('beforeRowWrap', isActionInterrupted, _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, newCoords), previousRow < 0);
|
183
135
|
if (autoWrapRow) {
|
184
136
|
zeroBasedCoords.assign(newCoords);
|
185
137
|
}
|
@@ -187,10 +139,10 @@ class Transformation {
|
|
187
139
|
const {
|
188
140
|
rowDir,
|
189
141
|
colDir
|
190
|
-
} =
|
142
|
+
} = _assertClassBrand(_Transformation_brand, this, _clampCoords).call(this, zeroBasedCoords);
|
191
143
|
rowTransformDir = rowDir;
|
192
144
|
colTransformDir = colDir;
|
193
|
-
visualCoords =
|
145
|
+
visualCoords = _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, zeroBasedCoords);
|
194
146
|
}
|
195
147
|
this.runLocalHooks('afterTransformStart', visualCoords, rowTransformDir, colTransformDir);
|
196
148
|
return visualCoords;
|
@@ -204,30 +156,53 @@ class Transformation {
|
|
204
156
|
* @returns {CellCoords} Visual coordinates after transformation.
|
205
157
|
*/
|
206
158
|
transformEnd(rowDelta, colDelta) {
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
const
|
212
|
-
const cellRange = _classPrivateFieldGet(this, _range).current();
|
213
|
-
const highlightRenderableCoords = _classPrivateFieldGet(this, _options).visualToRenderableCoords(cellRange.highlight);
|
159
|
+
const delta = _classPrivateFieldGet(_options, this).createCellCoords(rowDelta, colDelta);
|
160
|
+
const cellRange = _classPrivateFieldGet(_range, this).current();
|
161
|
+
const highlightRenderableCoords = _classPrivateFieldGet(_options, this).visualToRenderableCoords(cellRange.highlight);
|
162
|
+
const toRow = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedRow).call(this, cellRange.to.row, cellRange.from.row);
|
163
|
+
const toColumn = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedColumn).call(this, cellRange.to.col, cellRange.from.col);
|
214
164
|
const visualCoords = cellRange.to.clone();
|
215
165
|
let rowTransformDir = 0;
|
216
166
|
let colTransformDir = 0;
|
217
167
|
this.runLocalHooks('beforeTransformEnd', delta);
|
218
|
-
if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null) {
|
168
|
+
if (highlightRenderableCoords.row !== null && highlightRenderableCoords.col !== null && toRow !== null && toColumn !== null) {
|
219
169
|
const {
|
220
|
-
row,
|
221
|
-
col
|
222
|
-
} =
|
223
|
-
const coords = _classPrivateFieldGet(
|
170
|
+
row: highlightRow,
|
171
|
+
col: highlightColumn
|
172
|
+
} = _assertClassBrand(_Transformation_brand, this, _visualToZeroBasedCoords).call(this, cellRange.highlight);
|
173
|
+
const coords = _classPrivateFieldGet(_options, this).createCellCoords(toRow + delta.row, toColumn + delta.col);
|
174
|
+
const topStartCorner = cellRange.getTopStartCorner();
|
175
|
+
const topEndCorner = cellRange.getTopEndCorner();
|
176
|
+
const bottomEndCorner = cellRange.getBottomEndCorner();
|
177
|
+
const restDelta = {
|
178
|
+
row: coords.row - highlightRow,
|
179
|
+
col: coords.col - highlightColumn
|
180
|
+
};
|
181
|
+
if (delta.col < 0) {
|
182
|
+
if (toColumn >= highlightColumn && coords.col < highlightColumn) {
|
183
|
+
coords.col = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedColumn).call(this, topStartCorner.col, topEndCorner.col) + restDelta.col;
|
184
|
+
}
|
185
|
+
} else if (delta.col > 0) {
|
186
|
+
if (toColumn <= highlightColumn && coords.col > highlightColumn) {
|
187
|
+
coords.col = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedColumn).call(this, topEndCorner.col, topStartCorner.col) + restDelta.col;
|
188
|
+
}
|
189
|
+
}
|
190
|
+
if (delta.row < 0) {
|
191
|
+
if (toRow >= highlightRow && coords.row < highlightRow) {
|
192
|
+
coords.row = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedRow).call(this, topStartCorner.row, bottomEndCorner.row) + restDelta.row;
|
193
|
+
}
|
194
|
+
} else if (delta.row > 0) {
|
195
|
+
if (toRow <= highlightRow && coords.row > highlightRow) {
|
196
|
+
coords.row = _assertClassBrand(_Transformation_brand, this, _findFirstNonHiddenZeroBasedRow).call(this, bottomEndCorner.row, topStartCorner.row) + restDelta.row;
|
197
|
+
}
|
198
|
+
}
|
224
199
|
const {
|
225
200
|
rowDir,
|
226
201
|
colDir
|
227
|
-
} =
|
202
|
+
} = _assertClassBrand(_Transformation_brand, this, _clampCoords).call(this, coords);
|
228
203
|
rowTransformDir = rowDir;
|
229
204
|
colTransformDir = colDir;
|
230
|
-
const newVisualCoords =
|
205
|
+
const newVisualCoords = _assertClassBrand(_Transformation_brand, this, _zeroBasedToVisualCoords).call(this, coords);
|
231
206
|
if (delta.row === 0 && delta.col !== 0) {
|
232
207
|
visualCoords.col = newVisualCoords.col;
|
233
208
|
} else if (delta.row !== 0 && delta.col === 0) {
|
@@ -240,22 +215,29 @@ class Transformation {
|
|
240
215
|
this.runLocalHooks('afterTransformEnd', visualCoords, rowTransformDir, colTransformDir);
|
241
216
|
return visualCoords;
|
242
217
|
}
|
218
|
+
|
219
|
+
/**
|
220
|
+
* Sets the additional offset in table size that may occur when the `navigableHeaders` option
|
221
|
+
* is enabled.
|
222
|
+
*
|
223
|
+
* @param {{x: number, y: number}} offset Offset as x and y properties.
|
224
|
+
*/
|
225
|
+
setOffsetSize(_ref) {
|
226
|
+
let {
|
227
|
+
x,
|
228
|
+
y
|
229
|
+
} = _ref;
|
230
|
+
_classPrivateFieldSet(_offset, this, {
|
231
|
+
x,
|
232
|
+
y
|
233
|
+
});
|
234
|
+
}
|
243
235
|
}
|
244
|
-
function
|
245
|
-
let {
|
246
|
-
x,
|
247
|
-
y
|
248
|
-
} = _ref;
|
249
|
-
_classPrivateFieldSet(this, _offset, {
|
250
|
-
x,
|
251
|
-
y
|
252
|
-
});
|
253
|
-
}
|
254
|
-
function _clampCoords2(zeroBasedCoords) {
|
236
|
+
function _clampCoords(zeroBasedCoords) {
|
255
237
|
const {
|
256
238
|
width,
|
257
239
|
height
|
258
|
-
} =
|
240
|
+
} = _assertClassBrand(_Transformation_brand, this, _getTableSize).call(this);
|
259
241
|
let rowDir = 0;
|
260
242
|
let colDir = 0;
|
261
243
|
if (zeroBasedCoords.row < 0) {
|
@@ -277,24 +259,73 @@ function _clampCoords2(zeroBasedCoords) {
|
|
277
259
|
colDir
|
278
260
|
};
|
279
261
|
}
|
280
|
-
|
262
|
+
/**
|
263
|
+
* Gets the table size in number of rows with headers as "height" and number of columns with
|
264
|
+
* headers as "width".
|
265
|
+
*
|
266
|
+
* @returns {{width: number, height: number}}
|
267
|
+
*/
|
268
|
+
function _getTableSize() {
|
281
269
|
return {
|
282
|
-
width: _classPrivateFieldGet(
|
283
|
-
height: _classPrivateFieldGet(
|
270
|
+
width: _classPrivateFieldGet(_offset, this).x + _classPrivateFieldGet(_options, this).countRenderableColumns(),
|
271
|
+
height: _classPrivateFieldGet(_offset, this).y + _classPrivateFieldGet(_options, this).countRenderableRows()
|
284
272
|
};
|
285
273
|
}
|
286
|
-
|
274
|
+
/**
|
275
|
+
* Finds the first non-hidden zero-based row in the table range.
|
276
|
+
*
|
277
|
+
* @param {number} visualRowFrom The visual row from which the search should start.
|
278
|
+
* @param {number} visualRowTo The visual row to which the search should end.
|
279
|
+
* @returns {number | null}
|
280
|
+
*/
|
281
|
+
function _findFirstNonHiddenZeroBasedRow(visualRowFrom, visualRowTo) {
|
282
|
+
const row = _classPrivateFieldGet(_options, this).findFirstNonHiddenRenderableRow(visualRowFrom, visualRowTo);
|
283
|
+
if (row === null) {
|
284
|
+
return null;
|
285
|
+
}
|
286
|
+
return _classPrivateFieldGet(_offset, this).y + row;
|
287
|
+
}
|
288
|
+
/**
|
289
|
+
* Finds the first non-hidden zero-based column in the table range.
|
290
|
+
*
|
291
|
+
* @param {number} visualColumnFrom The visual column from which the search should start.
|
292
|
+
* @param {number} visualColumnTo The visual column to which the search should end.
|
293
|
+
* @returns {number | null}
|
294
|
+
*/
|
295
|
+
function _findFirstNonHiddenZeroBasedColumn(visualColumnFrom, visualColumnTo) {
|
296
|
+
const column = _classPrivateFieldGet(_options, this).findFirstNonHiddenRenderableColumn(visualColumnFrom, visualColumnTo);
|
297
|
+
if (column === null) {
|
298
|
+
return null;
|
299
|
+
}
|
300
|
+
return _classPrivateFieldGet(_offset, this).x + column;
|
301
|
+
}
|
302
|
+
/**
|
303
|
+
* Translates the visual coordinates to zero-based ones.
|
304
|
+
*
|
305
|
+
* @param {CellCoords} visualCoords The visual coords to process.
|
306
|
+
* @returns {CellCoords}
|
307
|
+
*/
|
308
|
+
function _visualToZeroBasedCoords(visualCoords) {
|
287
309
|
const {
|
288
310
|
row,
|
289
311
|
col
|
290
|
-
} = _classPrivateFieldGet(
|
291
|
-
|
312
|
+
} = _classPrivateFieldGet(_options, this).visualToRenderableCoords(visualCoords);
|
313
|
+
if (row === null || col === null) {
|
314
|
+
throw new Error('Renderable coords are not visible.');
|
315
|
+
}
|
316
|
+
return _classPrivateFieldGet(_options, this).createCellCoords(_classPrivateFieldGet(_offset, this).y + row, _classPrivateFieldGet(_offset, this).x + col);
|
292
317
|
}
|
293
|
-
|
318
|
+
/**
|
319
|
+
* Translates the zero-based coordinates to visual ones.
|
320
|
+
*
|
321
|
+
* @param {CellCoords} zeroBasedCoords The coordinates to process.
|
322
|
+
* @returns {CellCoords}
|
323
|
+
*/
|
324
|
+
function _zeroBasedToVisualCoords(zeroBasedCoords) {
|
294
325
|
const coords = zeroBasedCoords.clone();
|
295
|
-
coords.col = zeroBasedCoords.col - _classPrivateFieldGet(
|
296
|
-
coords.row = zeroBasedCoords.row - _classPrivateFieldGet(
|
297
|
-
return _classPrivateFieldGet(
|
326
|
+
coords.col = zeroBasedCoords.col - _classPrivateFieldGet(_offset, this).x;
|
327
|
+
coords.row = zeroBasedCoords.row - _classPrivateFieldGet(_offset, this).y;
|
328
|
+
return _classPrivateFieldGet(_options, this).renderableToVisualCoords(coords);
|
298
329
|
}
|
299
330
|
(0, _object.mixin)(Transformation, _localHooks.default);
|
300
331
|
var _default = exports.default = Transformation;
|