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,11 +1,9 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
3
3
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
4
|
-
function _classPrivateFieldGet(
|
5
|
-
function
|
6
|
-
function
|
7
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
8
|
-
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; } }
|
4
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
5
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
6
|
+
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"); }
|
9
7
|
import { closestDown, hasClass, isChildOf, getParent } from "../../../helpers/dom/element.mjs";
|
10
8
|
import { partial } from "../../../helpers/function.mjs";
|
11
9
|
import { isTouchSupported } from "../../../helpers/feature.mjs";
|
@@ -36,35 +34,17 @@ class Event {
|
|
36
34
|
*/
|
37
35
|
constructor(facadeGetter, domBindings, wtSettings, eventManager, wtTable, selectionManager) {
|
38
36
|
let parent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
39
|
-
_classPrivateFieldInitSpec(this, _wtSettings,
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
_classPrivateFieldInitSpec(this,
|
44
|
-
writable: true,
|
45
|
-
value: void 0
|
46
|
-
});
|
47
|
-
_classPrivateFieldInitSpec(this, _wtTable, {
|
48
|
-
writable: true,
|
49
|
-
value: void 0
|
50
|
-
});
|
51
|
-
_classPrivateFieldInitSpec(this, _selectionManager, {
|
52
|
-
writable: true,
|
53
|
-
value: void 0
|
54
|
-
});
|
55
|
-
_classPrivateFieldInitSpec(this, _parent, {
|
56
|
-
writable: true,
|
57
|
-
value: void 0
|
58
|
-
});
|
37
|
+
_classPrivateFieldInitSpec(this, _wtSettings, void 0);
|
38
|
+
_classPrivateFieldInitSpec(this, _domBindings, void 0);
|
39
|
+
_classPrivateFieldInitSpec(this, _wtTable, void 0);
|
40
|
+
_classPrivateFieldInitSpec(this, _selectionManager, void 0);
|
41
|
+
_classPrivateFieldInitSpec(this, _parent, void 0);
|
59
42
|
/**
|
60
43
|
* Instance of {@link EventManager}.
|
61
44
|
*
|
62
45
|
* @type {EventManager}
|
63
46
|
*/
|
64
|
-
_classPrivateFieldInitSpec(this, _eventManager,
|
65
|
-
writable: true,
|
66
|
-
value: void 0
|
67
|
-
});
|
47
|
+
_classPrivateFieldInitSpec(this, _eventManager, void 0);
|
68
48
|
/**
|
69
49
|
* Should be use only for passing face called external origin methods, like registered event listeners.
|
70
50
|
* It provides backward compatibility by getting instance facade.
|
@@ -75,38 +55,26 @@ class Event {
|
|
75
55
|
*
|
76
56
|
* @type {FacadeGetter}
|
77
57
|
*/
|
78
|
-
_classPrivateFieldInitSpec(this, _facadeGetter,
|
79
|
-
writable: true,
|
80
|
-
value: void 0
|
81
|
-
});
|
58
|
+
_classPrivateFieldInitSpec(this, _facadeGetter, void 0);
|
82
59
|
/**
|
83
60
|
* @type {boolean}
|
84
61
|
*/
|
85
|
-
_classPrivateFieldInitSpec(this, _selectedCellBeforeTouchEnd,
|
86
|
-
writable: true,
|
87
|
-
value: void 0
|
88
|
-
});
|
62
|
+
_classPrivateFieldInitSpec(this, _selectedCellBeforeTouchEnd, void 0);
|
89
63
|
/**
|
90
64
|
* @type {number[]}
|
91
65
|
*/
|
92
|
-
_classPrivateFieldInitSpec(this, _dblClickTimeout,
|
93
|
-
writable: true,
|
94
|
-
value: [null, null]
|
95
|
-
});
|
66
|
+
_classPrivateFieldInitSpec(this, _dblClickTimeout, [null, null]);
|
96
67
|
/**
|
97
68
|
* @type {number[]}
|
98
69
|
*/
|
99
|
-
_classPrivateFieldInitSpec(this, _dblClickOrigin,
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
_classPrivateFieldSet(
|
104
|
-
_classPrivateFieldSet(
|
105
|
-
_classPrivateFieldSet(
|
106
|
-
_classPrivateFieldSet(
|
107
|
-
_classPrivateFieldSet(this, _parent, parent);
|
108
|
-
_classPrivateFieldSet(this, _eventManager, eventManager);
|
109
|
-
_classPrivateFieldSet(this, _facadeGetter, facadeGetter);
|
70
|
+
_classPrivateFieldInitSpec(this, _dblClickOrigin, [null, null]);
|
71
|
+
_classPrivateFieldSet(_wtSettings, this, wtSettings);
|
72
|
+
_classPrivateFieldSet(_domBindings, this, domBindings);
|
73
|
+
_classPrivateFieldSet(_wtTable, this, wtTable);
|
74
|
+
_classPrivateFieldSet(_selectionManager, this, selectionManager);
|
75
|
+
_classPrivateFieldSet(_parent, this, parent);
|
76
|
+
_classPrivateFieldSet(_eventManager, this, eventManager);
|
77
|
+
_classPrivateFieldSet(_facadeGetter, this, facadeGetter);
|
110
78
|
this.registerEvents();
|
111
79
|
}
|
112
80
|
|
@@ -116,32 +84,32 @@ class Event {
|
|
116
84
|
* @private
|
117
85
|
*/
|
118
86
|
registerEvents() {
|
119
|
-
_classPrivateFieldGet(
|
120
|
-
_classPrivateFieldGet(
|
121
|
-
_classPrivateFieldGet(
|
87
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).holder, 'contextmenu', event => this.onContextMenu(event));
|
88
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).TABLE, 'mouseover', event => this.onMouseOver(event));
|
89
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).TABLE, 'mouseout', event => this.onMouseOut(event));
|
122
90
|
const initTouchEvents = () => {
|
123
|
-
_classPrivateFieldGet(
|
124
|
-
_classPrivateFieldGet(
|
91
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).holder, 'touchstart', event => this.onTouchStart(event));
|
92
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).holder, 'touchend', event => this.onTouchEnd(event));
|
125
93
|
if (!this.momentumScrolling) {
|
126
94
|
this.momentumScrolling = {};
|
127
95
|
}
|
128
|
-
_classPrivateFieldGet(
|
96
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).holder, 'scroll', () => {
|
129
97
|
clearTimeout(this.momentumScrolling._timeout);
|
130
98
|
if (!this.momentumScrolling.ongoing) {
|
131
|
-
_classPrivateFieldGet(
|
99
|
+
_classPrivateFieldGet(_wtSettings, this).getSetting('onBeforeTouchScroll');
|
132
100
|
}
|
133
101
|
this.momentumScrolling.ongoing = true;
|
134
102
|
this.momentumScrolling._timeout = setTimeout(() => {
|
135
103
|
if (!this.touchApplied) {
|
136
104
|
this.momentumScrolling.ongoing = false;
|
137
|
-
_classPrivateFieldGet(
|
105
|
+
_classPrivateFieldGet(_wtSettings, this).getSetting('onAfterMomentumScroll');
|
138
106
|
}
|
139
107
|
}, 200);
|
140
108
|
});
|
141
109
|
};
|
142
110
|
const initMouseEvents = () => {
|
143
|
-
_classPrivateFieldGet(
|
144
|
-
_classPrivateFieldGet(
|
111
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).holder, 'mouseup', event => this.onMouseUp(event));
|
112
|
+
_classPrivateFieldGet(_eventManager, this).addEventListener(_classPrivateFieldGet(_wtTable, this).holder, 'mousedown', event => this.onMouseDown(event));
|
145
113
|
};
|
146
114
|
if (isMobileBrowser()) {
|
147
115
|
initTouchEvents();
|
@@ -164,9 +132,9 @@ class Event {
|
|
164
132
|
selectedCellWasTouched(touchTarget) {
|
165
133
|
const cellUnderFinger = this.parentCell(touchTarget);
|
166
134
|
const coordsOfCellUnderFinger = cellUnderFinger.coords;
|
167
|
-
if (_classPrivateFieldGet(
|
168
|
-
const [rowTouched, rowSelected] = [coordsOfCellUnderFinger.row, _classPrivateFieldGet(
|
169
|
-
const [colTouched, colSelected] = [coordsOfCellUnderFinger.col, _classPrivateFieldGet(
|
135
|
+
if (_classPrivateFieldGet(_selectedCellBeforeTouchEnd, this) && coordsOfCellUnderFinger) {
|
136
|
+
const [rowTouched, rowSelected] = [coordsOfCellUnderFinger.row, _classPrivateFieldGet(_selectedCellBeforeTouchEnd, this).from.row];
|
137
|
+
const [colTouched, colSelected] = [coordsOfCellUnderFinger.col, _classPrivateFieldGet(_selectedCellBeforeTouchEnd, this).from.col];
|
170
138
|
return rowTouched === rowSelected && colTouched === colSelected;
|
171
139
|
}
|
172
140
|
return false;
|
@@ -181,18 +149,18 @@ class Event {
|
|
181
149
|
*/
|
182
150
|
parentCell(elem) {
|
183
151
|
const cell = {};
|
184
|
-
const TABLE = _classPrivateFieldGet(
|
152
|
+
const TABLE = _classPrivateFieldGet(_wtTable, this).TABLE;
|
185
153
|
const TD = closestDown(elem, ['TD', 'TH'], TABLE);
|
186
154
|
if (TD) {
|
187
|
-
cell.coords = _classPrivateFieldGet(
|
155
|
+
cell.coords = _classPrivateFieldGet(_wtTable, this).getCoords(TD);
|
188
156
|
cell.TD = TD;
|
189
157
|
} else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'current')) {
|
190
|
-
cell.coords = _classPrivateFieldGet(
|
191
|
-
cell.TD = _classPrivateFieldGet(
|
158
|
+
cell.coords = _classPrivateFieldGet(_selectionManager, this).getFocusSelection().cellRange.highlight;
|
159
|
+
cell.TD = _classPrivateFieldGet(_wtTable, this).getCell(cell.coords);
|
192
160
|
} else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'area')) {
|
193
|
-
if (_classPrivateFieldGet(
|
194
|
-
cell.coords = _classPrivateFieldGet(
|
195
|
-
cell.TD = _classPrivateFieldGet(
|
161
|
+
if (_classPrivateFieldGet(_selectionManager, this).getAreaSelection().cellRange) {
|
162
|
+
cell.coords = _classPrivateFieldGet(_selectionManager, this).getAreaSelection().cellRange.to;
|
163
|
+
cell.TD = _classPrivateFieldGet(_wtTable, this).getCell(cell.coords);
|
196
164
|
}
|
197
165
|
}
|
198
166
|
return cell;
|
@@ -205,7 +173,7 @@ class Event {
|
|
205
173
|
* @param {MouseEvent} event The mouse event object.
|
206
174
|
*/
|
207
175
|
onMouseDown(event) {
|
208
|
-
const activeElement = _classPrivateFieldGet(
|
176
|
+
const activeElement = _classPrivateFieldGet(_domBindings, this).rootDocument.activeElement;
|
209
177
|
const getParentNode = partial(getParent, event.target);
|
210
178
|
const realTarget = event.target;
|
211
179
|
|
@@ -216,17 +184,17 @@ class Event {
|
|
216
184
|
}
|
217
185
|
const cell = this.parentCell(realTarget);
|
218
186
|
if (hasClass(realTarget, 'corner')) {
|
219
|
-
_classPrivateFieldGet(
|
220
|
-
} else if (cell.TD && _classPrivateFieldGet(
|
187
|
+
_classPrivateFieldGet(_wtSettings, this).getSetting('onCellCornerMouseDown', event, realTarget);
|
188
|
+
} else if (cell.TD && _classPrivateFieldGet(_wtSettings, this).has('onCellMouseDown')) {
|
221
189
|
this.callListener('onCellMouseDown', event, cell.coords, cell.TD);
|
222
190
|
}
|
223
191
|
|
224
192
|
// doubleclick reacts only for left mouse button or from touch events
|
225
193
|
if ((event.button === 0 || this.touchApplied) && cell.TD) {
|
226
|
-
_classPrivateFieldGet(
|
227
|
-
clearTimeout(_classPrivateFieldGet(
|
228
|
-
_classPrivateFieldGet(
|
229
|
-
_classPrivateFieldGet(
|
194
|
+
_classPrivateFieldGet(_dblClickOrigin, this)[0] = cell.TD;
|
195
|
+
clearTimeout(_classPrivateFieldGet(_dblClickTimeout, this)[0]);
|
196
|
+
_classPrivateFieldGet(_dblClickTimeout, this)[0] = setTimeout(() => {
|
197
|
+
_classPrivateFieldGet(_dblClickOrigin, this)[0] = null;
|
230
198
|
}, 1000);
|
231
199
|
}
|
232
200
|
}
|
@@ -238,7 +206,7 @@ class Event {
|
|
238
206
|
* @param {MouseEvent} event The mouse event object.
|
239
207
|
*/
|
240
208
|
onContextMenu(event) {
|
241
|
-
if (_classPrivateFieldGet(
|
209
|
+
if (_classPrivateFieldGet(_wtSettings, this).has('onCellContextMenu')) {
|
242
210
|
const cell = this.parentCell(event.target);
|
243
211
|
if (cell.TD) {
|
244
212
|
this.callListener('onCellContextMenu', event, cell.coords, cell.TD);
|
@@ -253,15 +221,15 @@ class Event {
|
|
253
221
|
* @param {MouseEvent} event The mouse event object.
|
254
222
|
*/
|
255
223
|
onMouseOver(event) {
|
256
|
-
if (!_classPrivateFieldGet(
|
224
|
+
if (!_classPrivateFieldGet(_wtSettings, this).has('onCellMouseOver')) {
|
257
225
|
return;
|
258
226
|
}
|
259
|
-
const table = _classPrivateFieldGet(
|
227
|
+
const table = _classPrivateFieldGet(_wtTable, this).TABLE;
|
260
228
|
const td = closestDown(event.target, ['TD', 'TH'], table);
|
261
|
-
const parent = _classPrivateFieldGet(
|
229
|
+
const parent = _classPrivateFieldGet(_parent, this) || this;
|
262
230
|
if (td && td !== parent.lastMouseOver && isChildOf(td, table)) {
|
263
231
|
parent.lastMouseOver = td;
|
264
|
-
this.callListener('onCellMouseOver', event, _classPrivateFieldGet(
|
232
|
+
this.callListener('onCellMouseOver', event, _classPrivateFieldGet(_wtTable, this).getCoords(td), td);
|
265
233
|
}
|
266
234
|
}
|
267
235
|
|
@@ -272,15 +240,15 @@ class Event {
|
|
272
240
|
* @param {MouseEvent} event The mouse event object.
|
273
241
|
*/
|
274
242
|
onMouseOut(event) {
|
275
|
-
if (!_classPrivateFieldGet(
|
243
|
+
if (!_classPrivateFieldGet(_wtSettings, this).has('onCellMouseOut')) {
|
276
244
|
return;
|
277
245
|
}
|
278
|
-
const table = _classPrivateFieldGet(
|
246
|
+
const table = _classPrivateFieldGet(_wtTable, this).TABLE;
|
279
247
|
const lastTD = closestDown(event.target, ['TD', 'TH'], table);
|
280
248
|
const nextTD = closestDown(event.relatedTarget, ['TD', 'TH'], table);
|
281
|
-
const parent = _classPrivateFieldGet(
|
249
|
+
const parent = _classPrivateFieldGet(_parent, this) || this;
|
282
250
|
if (lastTD && lastTD !== nextTD && isChildOf(lastTD, table)) {
|
283
|
-
this.callListener('onCellMouseOut', event, _classPrivateFieldGet(
|
251
|
+
this.callListener('onCellMouseOut', event, _classPrivateFieldGet(_wtTable, this).getCoords(lastTD), lastTD);
|
284
252
|
if (nextTD === null) {
|
285
253
|
parent.lastMouseOver = null;
|
286
254
|
}
|
@@ -295,7 +263,7 @@ class Event {
|
|
295
263
|
*/
|
296
264
|
onMouseUp(event) {
|
297
265
|
const cell = this.parentCell(event.target);
|
298
|
-
if (cell.TD && _classPrivateFieldGet(
|
266
|
+
if (cell.TD && _classPrivateFieldGet(_wtSettings, this).has('onCellMouseUp')) {
|
299
267
|
this.callListener('onCellMouseUp', event, cell.coords, cell.TD);
|
300
268
|
}
|
301
269
|
|
@@ -303,19 +271,19 @@ class Event {
|
|
303
271
|
if (event.button !== 0 && !this.touchApplied) {
|
304
272
|
return;
|
305
273
|
}
|
306
|
-
if (cell.TD === _classPrivateFieldGet(
|
274
|
+
if (cell.TD === _classPrivateFieldGet(_dblClickOrigin, this)[0] && cell.TD === _classPrivateFieldGet(_dblClickOrigin, this)[1]) {
|
307
275
|
if (hasClass(event.target, 'corner')) {
|
308
276
|
this.callListener('onCellCornerDblClick', event, cell.coords, cell.TD);
|
309
277
|
} else {
|
310
278
|
this.callListener('onCellDblClick', event, cell.coords, cell.TD);
|
311
279
|
}
|
312
|
-
_classPrivateFieldGet(
|
313
|
-
_classPrivateFieldGet(
|
314
|
-
} else if (cell.TD === _classPrivateFieldGet(
|
315
|
-
_classPrivateFieldGet(
|
316
|
-
clearTimeout(_classPrivateFieldGet(
|
317
|
-
_classPrivateFieldGet(
|
318
|
-
_classPrivateFieldGet(
|
280
|
+
_classPrivateFieldGet(_dblClickOrigin, this)[0] = null;
|
281
|
+
_classPrivateFieldGet(_dblClickOrigin, this)[1] = null;
|
282
|
+
} else if (cell.TD === _classPrivateFieldGet(_dblClickOrigin, this)[0]) {
|
283
|
+
_classPrivateFieldGet(_dblClickOrigin, this)[1] = cell.TD;
|
284
|
+
clearTimeout(_classPrivateFieldGet(_dblClickTimeout, this)[1]);
|
285
|
+
_classPrivateFieldGet(_dblClickTimeout, this)[1] = setTimeout(() => {
|
286
|
+
_classPrivateFieldGet(_dblClickOrigin, this)[1] = null;
|
319
287
|
}, 500);
|
320
288
|
}
|
321
289
|
}
|
@@ -327,7 +295,7 @@ class Event {
|
|
327
295
|
* @param {MouseEvent} event The mouse event object.
|
328
296
|
*/
|
329
297
|
onTouchStart(event) {
|
330
|
-
_classPrivateFieldSet(
|
298
|
+
_classPrivateFieldSet(_selectedCellBeforeTouchEnd, this, _classPrivateFieldGet(_selectionManager, this).getFocusSelection().cellRange);
|
331
299
|
this.touchApplied = true;
|
332
300
|
this.onMouseDown(event);
|
333
301
|
}
|
@@ -343,7 +311,7 @@ class Event {
|
|
343
311
|
const target = event.target;
|
344
312
|
const parentCellCoords = (_this$parentCell = this.parentCell(target)) === null || _this$parentCell === void 0 ? void 0 : _this$parentCell.coords;
|
345
313
|
const isCellsRange = isDefined(parentCellCoords) && parentCellCoords.row >= 0 && parentCellCoords.col >= 0;
|
346
|
-
const isEventCancelable = event.cancelable && isCellsRange && _classPrivateFieldGet(
|
314
|
+
const isEventCancelable = event.cancelable && isCellsRange && _classPrivateFieldGet(_wtSettings, this).getSetting('isDataViewInstance');
|
347
315
|
|
348
316
|
// To prevent accidental redirects or other actions that the interactive elements (e.q "A" link) do
|
349
317
|
// while the cell is highlighted, all touch events that are triggered on different cells are
|
@@ -379,9 +347,9 @@ class Event {
|
|
379
347
|
* @param {HTMLElement} target Event target.
|
380
348
|
*/
|
381
349
|
callListener(name, event, coords, target) {
|
382
|
-
const listener = _classPrivateFieldGet(
|
350
|
+
const listener = _classPrivateFieldGet(_wtSettings, this).getSettingPure(name);
|
383
351
|
if (listener) {
|
384
|
-
listener(event, coords, target, _classPrivateFieldGet(
|
352
|
+
listener(event, coords, target, _classPrivateFieldGet(_facadeGetter, this).call(this));
|
385
353
|
}
|
386
354
|
}
|
387
355
|
|
@@ -389,9 +357,9 @@ class Event {
|
|
389
357
|
* Clears double-click timeouts and destroys the internal eventManager instance.
|
390
358
|
*/
|
391
359
|
destroy() {
|
392
|
-
clearTimeout(_classPrivateFieldGet(
|
393
|
-
clearTimeout(_classPrivateFieldGet(
|
394
|
-
_classPrivateFieldGet(
|
360
|
+
clearTimeout(_classPrivateFieldGet(_dblClickTimeout, this)[0]);
|
361
|
+
clearTimeout(_classPrivateFieldGet(_dblClickTimeout, this)[1]);
|
362
|
+
_classPrivateFieldGet(_eventManager, this).destroy();
|
395
363
|
}
|
396
364
|
}
|
397
365
|
export default Event;
|
@@ -3,7 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
7
7
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
8
8
|
/**
|
9
9
|
* @class ColumnFilter
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
/**
|
6
6
|
* @class ColumnFilter
|
@@ -3,7 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
7
7
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
8
8
|
/**
|
9
9
|
* @class RowFilter
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
/**
|
6
6
|
* @class RowFilter
|
@@ -29,5 +29,5 @@ exports.SharedOrderView = _orderView.SharedOrderView;
|
|
29
29
|
var _eventManager = require("../../../eventManager");
|
30
30
|
exports.getListenersCounter = _eventManager.getListenersCounter;
|
31
31
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
32
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
32
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
33
33
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -11,7 +11,7 @@ var _clone = _interopRequireDefault(require("../core/clone"));
|
|
11
11
|
var _a11y = require("../../../../helpers/a11y");
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
13
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
14
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
15
15
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
16
16
|
/**
|
17
17
|
* Creates an overlay over the original Walkontable instance. The overlay renders the clone of the original Walkontable
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import { getScrollableElement, getTrimmingContainer, getScrollbarWidth, setAttribute } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import { defineGetter } from "../../../../helpers/object.mjs";
|
@@ -8,7 +8,7 @@ var _base = require("./_base");
|
|
8
8
|
var _constants = require("./constants");
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
12
12
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
13
13
|
/**
|
14
14
|
* @class BottomOverlay
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import { addClass, getScrollbarWidth, getScrollTop, getWindowScrollLeft, hasClass, outerHeight, removeClass } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import BottomOverlayTable from "./../table/bottom.mjs";
|
@@ -227,9 +227,15 @@ class InlineStartOverlay extends _base.Overlay {
|
|
227
227
|
* @returns {boolean}
|
228
228
|
*/
|
229
229
|
scrollTo(sourceCol, beyondRendered) {
|
230
|
-
|
230
|
+
const {
|
231
|
+
wtSettings
|
232
|
+
} = this;
|
233
|
+
const rowHeaders = wtSettings.getSetting('rowHeaders');
|
234
|
+
const fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
|
231
235
|
const sourceInstance = this.wot.cloneSource ? this.wot.cloneSource : this.wot;
|
232
236
|
const mainHolder = sourceInstance.wtTable.holder;
|
237
|
+
const rowHeaderBorderCompensation = fixedColumnsStart === 0 && rowHeaders.length > 0 && !(0, _element.hasClass)(mainHolder.parentNode, 'innerBorderInlineStart') ? 1 : 0;
|
238
|
+
let newX = this.getTableParentOffset();
|
233
239
|
let scrollbarCompensation = 0;
|
234
240
|
if (beyondRendered) {
|
235
241
|
const columnWidth = this.wot.wtTable.getColumnWidth(sourceCol);
|
@@ -244,10 +250,18 @@ class InlineStartOverlay extends _base.Overlay {
|
|
244
250
|
if (beyondRendered) {
|
245
251
|
newX += this.sumCellSizes(0, sourceCol + 1);
|
246
252
|
newX -= this.wot.wtViewport.getViewportWidth();
|
253
|
+
// Compensate for the right header border if scrolled from the absolute left.
|
254
|
+
newX += rowHeaderBorderCompensation;
|
247
255
|
} else {
|
248
256
|
newX += this.sumCellSizes(this.wtSettings.getSetting('fixedColumnsStart'), sourceCol);
|
249
257
|
}
|
250
258
|
newX += scrollbarCompensation;
|
259
|
+
|
260
|
+
// If the table is scrolled all the way left when starting the scroll and going to be scrolled to the far right,
|
261
|
+
// we need to compensate for the potential header border width.
|
262
|
+
if ((0, _element.getMaximumScrollLeft)(this.mainTableScrollableElement) === newX - rowHeaderBorderCompensation && rowHeaderBorderCompensation > 0) {
|
263
|
+
this.wot.wtOverlays.expandHiderHorizontallyBy(rowHeaderBorderCompensation);
|
264
|
+
}
|
251
265
|
return this.setScrollPosition(newX);
|
252
266
|
}
|
253
267
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
-
import { addClass, getScrollbarWidth, getScrollLeft, getWindowScrollTop, hasClass, outerWidth, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
2
|
+
import { addClass, getScrollbarWidth, getScrollLeft, getMaximumScrollLeft, getWindowScrollTop, hasClass, outerWidth, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
3
3
|
import InlineStartOverlayTable from "../table/inlineStart.mjs";
|
4
4
|
import { Overlay } from "./_base.mjs";
|
5
5
|
import { CORNER_DEFAULT_STYLE } from "../selection/index.mjs";
|
@@ -223,9 +223,15 @@ export class InlineStartOverlay extends Overlay {
|
|
223
223
|
* @returns {boolean}
|
224
224
|
*/
|
225
225
|
scrollTo(sourceCol, beyondRendered) {
|
226
|
-
|
226
|
+
const {
|
227
|
+
wtSettings
|
228
|
+
} = this;
|
229
|
+
const rowHeaders = wtSettings.getSetting('rowHeaders');
|
230
|
+
const fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
|
227
231
|
const sourceInstance = this.wot.cloneSource ? this.wot.cloneSource : this.wot;
|
228
232
|
const mainHolder = sourceInstance.wtTable.holder;
|
233
|
+
const rowHeaderBorderCompensation = fixedColumnsStart === 0 && rowHeaders.length > 0 && !hasClass(mainHolder.parentNode, 'innerBorderInlineStart') ? 1 : 0;
|
234
|
+
let newX = this.getTableParentOffset();
|
229
235
|
let scrollbarCompensation = 0;
|
230
236
|
if (beyondRendered) {
|
231
237
|
const columnWidth = this.wot.wtTable.getColumnWidth(sourceCol);
|
@@ -240,10 +246,18 @@ export class InlineStartOverlay extends Overlay {
|
|
240
246
|
if (beyondRendered) {
|
241
247
|
newX += this.sumCellSizes(0, sourceCol + 1);
|
242
248
|
newX -= this.wot.wtViewport.getViewportWidth();
|
249
|
+
// Compensate for the right header border if scrolled from the absolute left.
|
250
|
+
newX += rowHeaderBorderCompensation;
|
243
251
|
} else {
|
244
252
|
newX += this.sumCellSizes(this.wtSettings.getSetting('fixedColumnsStart'), sourceCol);
|
245
253
|
}
|
246
254
|
newX += scrollbarCompensation;
|
255
|
+
|
256
|
+
// If the table is scrolled all the way left when starting the scroll and going to be scrolled to the far right,
|
257
|
+
// we need to compensate for the potential header border width.
|
258
|
+
if (getMaximumScrollLeft(this.mainTableScrollableElement) === newX - rowHeaderBorderCompensation && rowHeaderBorderCompensation > 0) {
|
259
|
+
this.wot.wtOverlays.expandHiderHorizontallyBy(rowHeaderBorderCompensation);
|
260
|
+
}
|
247
261
|
return this.setScrollPosition(newX);
|
248
262
|
}
|
249
263
|
|
@@ -9,7 +9,7 @@ var _selection = require("../selection");
|
|
9
9
|
var _constants = require("./constants");
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
11
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
12
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
13
13
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
14
14
|
/**
|
15
15
|
* @class TopOverlay
|
@@ -259,6 +259,9 @@ class TopOverlay extends _base.Overlay {
|
|
259
259
|
} = this;
|
260
260
|
const sourceInstance = wot.cloneSource ? wot.cloneSource : wot;
|
261
261
|
const mainHolder = sourceInstance.wtTable.holder;
|
262
|
+
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
263
|
+
const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
264
|
+
const columnHeaderBorderCompensation = fixedRowsTop === 0 && columnHeaders.length > 0 && !(0, _element.hasClass)(mainHolder.parentNode, 'innerBorderTop') ? 1 : 0;
|
262
265
|
let newY = this.getTableParentOffset();
|
263
266
|
let scrollbarCompensation = 0;
|
264
267
|
if (bottomEdge) {
|
@@ -278,10 +281,18 @@ class TopOverlay extends _base.Overlay {
|
|
278
281
|
newY -= wot.wtViewport.getViewportHeight() - this.sumCellSizes(totalRows - fixedRowsBottom, totalRows);
|
279
282
|
// Fix 1 pixel offset when cell is selected
|
280
283
|
newY += 1;
|
284
|
+
// Compensate for the bottom header border if scrolled from the absolute top.
|
285
|
+
newY += columnHeaderBorderCompensation;
|
281
286
|
} else {
|
282
287
|
newY += this.sumCellSizes(wtSettings.getSetting('fixedRowsTop'), sourceRow);
|
283
288
|
}
|
284
289
|
newY += scrollbarCompensation;
|
290
|
+
|
291
|
+
// If the table is scrolled all the way up when starting the scroll and going to be scrolled to the bottom,
|
292
|
+
// we need to compensate for the potential header bottom border height.
|
293
|
+
if ((0, _element.getMaximumScrollTop)(this.mainTableScrollableElement) === newY - columnHeaderBorderCompensation && columnHeaderBorderCompensation > 0) {
|
294
|
+
this.wot.wtOverlays.expandHiderVerticallyBy(columnHeaderBorderCompensation);
|
295
|
+
}
|
285
296
|
return this.setScrollPosition(newY);
|
286
297
|
}
|
287
298
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
|
-
import { addClass, getScrollbarWidth, getScrollTop, getWindowScrollLeft, hasClass, outerHeight, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
5
|
+
import { addClass, getMaximumScrollTop, getScrollbarWidth, getScrollTop, getWindowScrollLeft, hasClass, outerHeight, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import TopOverlayTable from "./../table/top.mjs";
|
7
7
|
import { Overlay } from "./_base.mjs";
|
8
8
|
import { CORNER_DEFAULT_STYLE } from "../selection/index.mjs";
|
@@ -255,6 +255,9 @@ export class TopOverlay extends Overlay {
|
|
255
255
|
} = this;
|
256
256
|
const sourceInstance = wot.cloneSource ? wot.cloneSource : wot;
|
257
257
|
const mainHolder = sourceInstance.wtTable.holder;
|
258
|
+
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
259
|
+
const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
260
|
+
const columnHeaderBorderCompensation = fixedRowsTop === 0 && columnHeaders.length > 0 && !hasClass(mainHolder.parentNode, 'innerBorderTop') ? 1 : 0;
|
258
261
|
let newY = this.getTableParentOffset();
|
259
262
|
let scrollbarCompensation = 0;
|
260
263
|
if (bottomEdge) {
|
@@ -274,10 +277,18 @@ export class TopOverlay extends Overlay {
|
|
274
277
|
newY -= wot.wtViewport.getViewportHeight() - this.sumCellSizes(totalRows - fixedRowsBottom, totalRows);
|
275
278
|
// Fix 1 pixel offset when cell is selected
|
276
279
|
newY += 1;
|
280
|
+
// Compensate for the bottom header border if scrolled from the absolute top.
|
281
|
+
newY += columnHeaderBorderCompensation;
|
277
282
|
} else {
|
278
283
|
newY += this.sumCellSizes(wtSettings.getSetting('fixedRowsTop'), sourceRow);
|
279
284
|
}
|
280
285
|
newY += scrollbarCompensation;
|
286
|
+
|
287
|
+
// If the table is scrolled all the way up when starting the scroll and going to be scrolled to the bottom,
|
288
|
+
// we need to compensate for the potential header bottom border height.
|
289
|
+
if (getMaximumScrollTop(this.mainTableScrollableElement) === newY - columnHeaderBorderCompensation && columnHeaderBorderCompensation > 0) {
|
290
|
+
this.wot.wtOverlays.expandHiderVerticallyBy(columnHeaderBorderCompensation);
|
291
|
+
}
|
281
292
|
return this.setScrollPosition(newY);
|
282
293
|
}
|
283
294
|
|
@@ -8,7 +8,7 @@ var _base = require("./_base");
|
|
8
8
|
var _constants = require("./constants");
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
12
12
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
13
13
|
/**
|
14
14
|
* @class TopInlineStartCornerOverlay
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import { outerHeight, outerWidth, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import TopInlineStartCornerOverlayTable from "../table/topInlineStartCorner.mjs";
|