handsontable 14.4.0 → 14.5.0-next-7541a88-20240725
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/calculationType/fullyVisibleColumns.js +126 -0
- package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleColumns.mjs +122 -0
- package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.js +119 -0
- package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.mjs +115 -0
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.js +125 -0
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.mjs +121 -0
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.js +118 -0
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.mjs +114 -0
- package/3rdparty/walkontable/src/calculator/{renderAllColumns.js → calculationType/renderedAllColumns.js} +33 -10
- package/3rdparty/walkontable/src/calculator/{renderAllColumns.mjs → calculationType/renderedAllColumns.mjs} +32 -9
- package/3rdparty/walkontable/src/calculator/{renderAllRows.js → calculationType/renderedAllRows.js} +33 -10
- package/3rdparty/walkontable/src/calculator/{renderAllRows.mjs → calculationType/renderedAllRows.mjs} +32 -9
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +37 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +33 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +37 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +33 -0
- package/3rdparty/walkontable/src/calculator/index.js +18 -17
- package/3rdparty/walkontable/src/calculator/index.mjs +11 -6
- package/3rdparty/walkontable/src/calculator/viewportBase.js +92 -0
- package/3rdparty/walkontable/src/calculator/viewportBase.mjs +88 -0
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +52 -146
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +52 -146
- package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -142
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -142
- package/3rdparty/walkontable/src/cell/coords.js +3 -3
- package/3rdparty/walkontable/src/cell/coords.mjs +3 -3
- package/3rdparty/walkontable/src/cell/range.js +4 -4
- package/3rdparty/walkontable/src/cell/range.mjs +3 -3
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +1 -1
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/core/core.js +17 -1
- package/3rdparty/walkontable/src/core/core.mjs +16 -0
- package/3rdparty/walkontable/src/event.js +2 -2
- package/3rdparty/walkontable/src/event.mjs +2 -2
- package/3rdparty/walkontable/src/facade/core.js +4 -1
- package/3rdparty/walkontable/src/facade/core.mjs +3 -0
- 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 +3 -1
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +2 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +2 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +2 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +36 -4
- package/3rdparty/walkontable/src/overlays.mjs +36 -4
- package/3rdparty/walkontable/src/renderer/_base.js +2 -2
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +2 -2
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/index.js +12 -1
- package/3rdparty/walkontable/src/renderer/index.mjs +11 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +2 -2
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +17 -2
- package/3rdparty/walkontable/src/renderer/table.mjs +17 -2
- package/3rdparty/walkontable/src/scroll.js +3 -3
- package/3rdparty/walkontable/src/scroll.mjs +3 -3
- package/3rdparty/walkontable/src/selection/index.js +1 -1
- package/3rdparty/walkontable/src/selection/manager.js +4 -4
- package/3rdparty/walkontable/src/selection/manager.mjs +3 -3
- package/3rdparty/walkontable/src/selection/scanner.js +3 -3
- package/3rdparty/walkontable/src/selection/scanner.mjs +3 -3
- package/3rdparty/walkontable/src/selection/selection.js +1 -1
- package/3rdparty/walkontable/src/settings.js +6 -2
- package/3rdparty/walkontable/src/settings.mjs +6 -2
- package/3rdparty/walkontable/src/table/bottom.js +1 -1
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -1
- package/3rdparty/walkontable/src/table/master.js +1 -1
- package/3rdparty/walkontable/src/table/top.js +1 -1
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/table.js +8 -14
- package/3rdparty/walkontable/src/table.mjs +7 -13
- package/3rdparty/walkontable/src/utils/column.js +3 -2
- package/3rdparty/walkontable/src/utils/column.mjs +3 -2
- package/3rdparty/walkontable/src/utils/columnStretching.js +13 -22
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +13 -22
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/index.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- 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 +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +17 -1
- package/3rdparty/walkontable/src/utils/row.mjs +17 -1
- package/3rdparty/walkontable/src/viewport.js +35 -46
- package/3rdparty/walkontable/src/viewport.mjs +36 -47
- package/CHANGELOG.md +27 -1
- package/base.js +3 -3
- package/base.mjs +2 -2
- package/cellTypes/registry.js +1 -1
- package/common.d.ts +3 -0
- package/core.d.ts +2 -0
- package/core.js +37 -32
- package/core.mjs +37 -32
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +1 -1
- package/dataMap/dataSource.mjs +1 -1
- package/dataMap/index.js +1 -1
- package/dataMap/metaManager/index.js +1 -1
- package/dataMap/metaManager/lazyFactoryMap.js +1 -1
- package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +2 -2
- 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 +25 -0
- package/dataMap/metaManager/metaSchema.mjs +25 -0
- package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -2
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +3 -3
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +3 -3
- package/dataMap/replaceData.js +1 -1
- package/dist/handsontable.css +134 -88
- package/dist/handsontable.full.css +134 -88
- package/dist/handsontable.full.js +4084 -2863
- package/dist/handsontable.full.min.css +7 -7
- package/dist/handsontable.full.min.js +153 -153
- package/dist/handsontable.js +4074 -2801
- package/dist/handsontable.min.css +6 -6
- package/dist/handsontable.min.js +33 -33
- package/dist/languages/all.js +3 -3
- package/dist/languages/ar-AR.js +3 -3
- package/dist/languages/cs-CZ.js +3 -3
- package/dist/languages/de-CH.js +3 -3
- package/dist/languages/de-DE.js +3 -3
- package/dist/languages/en-US.js +3 -3
- package/dist/languages/es-MX.js +3 -3
- package/dist/languages/fr-FR.js +3 -3
- package/dist/languages/hr-HR.js +3 -3
- package/dist/languages/it-IT.js +3 -3
- package/dist/languages/ja-JP.js +3 -3
- package/dist/languages/ko-KR.js +3 -3
- package/dist/languages/lv-LV.js +3 -3
- package/dist/languages/nb-NO.js +3 -3
- package/dist/languages/nl-NL.js +3 -3
- package/dist/languages/pl-PL.js +3 -3
- package/dist/languages/pt-BR.js +3 -3
- package/dist/languages/ru-RU.js +3 -3
- package/dist/languages/sr-SP.js +3 -3
- package/dist/languages/zh-CN.js +3 -3
- package/dist/languages/zh-TW.js +3 -3
- package/editorManager.js +4 -4
- package/editorManager.mjs +3 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +3 -3
- package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -3
- package/editors/baseEditor/baseEditor.js +2 -2
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +2 -2
- package/editors/dateEditor/dateEditor.mjs +1 -1
- package/editors/dropdownEditor/dropdownEditor.js +1 -1
- package/editors/registry.js +1 -1
- package/editors/textEditor/textEditor.js +2 -2
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +1 -1
- package/eventManager.mjs +1 -1
- package/focusManager.js +3 -3
- package/focusManager.mjs +3 -3
- package/helpers/dom/event.d.ts +1 -0
- package/helpers/dom/event.js +11 -0
- package/helpers/dom/event.mjs +10 -0
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +2 -2
- package/helpers/string.js +1 -1
- package/i18n/languages/index.js +1 -1
- package/i18n/phraseFormatters/index.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.js +1 -1
- package/languages/all.js +3 -3
- package/languages/ar-AR.js +3 -3
- package/languages/cs-CZ.js +3 -3
- package/languages/de-CH.js +3 -3
- package/languages/de-DE.js +3 -3
- package/languages/en-US.js +3 -3
- package/languages/es-MX.js +3 -3
- package/languages/fr-FR.js +3 -3
- package/languages/hr-HR.js +3 -3
- package/languages/index.js +3 -3
- package/languages/it-IT.js +3 -3
- package/languages/ja-JP.js +3 -3
- package/languages/ko-KR.js +3 -3
- package/languages/lv-LV.js +3 -3
- package/languages/nb-NO.js +3 -3
- package/languages/nl-NL.js +3 -3
- package/languages/pl-PL.js +3 -3
- package/languages/pt-BR.js +3 -3
- package/languages/ru-RU.js +3 -3
- package/languages/sr-SP.js +3 -3
- package/languages/zh-CN.js +3 -3
- package/languages/zh-TW.js +3 -3
- package/package.json +1 -5
- package/pluginHooks.d.ts +3 -1
- package/pluginHooks.js +12 -1
- package/pluginHooks.mjs +12 -1
- package/plugins/autoColumnSize/autoColumnSize.d.ts +1 -1
- package/plugins/autoColumnSize/autoColumnSize.js +124 -124
- package/plugins/autoColumnSize/autoColumnSize.mjs +124 -124
- package/plugins/autoRowSize/autoRowSize.d.ts +2 -1
- package/plugins/autoRowSize/autoRowSize.js +162 -100
- package/plugins/autoRowSize/autoRowSize.mjs +161 -99
- package/plugins/autofill/autofill.js +4 -4
- package/plugins/autofill/autofill.mjs +3 -3
- package/plugins/base/base.js +5 -5
- package/plugins/base/base.mjs +4 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -4
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -4
- package/plugins/columnSorting/columnSorting.js +6 -5
- package/plugins/columnSorting/columnSorting.mjs +5 -4
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSorting/sortService/registry.js +1 -1
- package/plugins/columnSorting/utils.js +1 -1
- package/plugins/columnSummary/columnSummary.d.ts +1 -1
- package/plugins/columnSummary/columnSummary.js +4 -4
- package/plugins/columnSummary/columnSummary.mjs +3 -3
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +74 -39
- package/plugins/comments/commentEditor.mjs +73 -39
- package/plugins/comments/comments.js +25 -44
- package/plugins/comments/comments.mjs +25 -44
- package/plugins/comments/displaySwitch.js +2 -2
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/comments/editorResizeObserver.js +100 -0
- package/plugins/comments/editorResizeObserver.mjs +95 -0
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +4 -4
- package/plugins/contextMenu/contextMenu.mjs +3 -3
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/menu.js +5 -4
- package/plugins/contextMenu/menu/menu.mjs +4 -3
- package/plugins/contextMenu/menu/positioner.js +2 -2
- package/plugins/contextMenu/menu/positioner.mjs +2 -2
- package/plugins/copyPaste/copyPaste.js +5 -5
- package/plugins/copyPaste/copyPaste.mjs +4 -4
- package/plugins/copyPaste/copyableRanges.js +3 -3
- package/plugins/copyPaste/copyableRanges.mjs +3 -3
- package/plugins/copyPaste/pasteEvent.js +1 -1
- package/plugins/customBorders/contextMenuItem/index.js +1 -1
- package/plugins/customBorders/customBorders.js +3 -3
- package/plugins/customBorders/customBorders.mjs +3 -3
- package/plugins/dragToScroll/dragToScroll.js +4 -4
- package/plugins/dragToScroll/dragToScroll.mjs +4 -4
- package/plugins/dropdownMenu/dropdownMenu.js +5 -5
- package/plugins/dropdownMenu/dropdownMenu.mjs +4 -4
- package/plugins/exportFile/dataProvider.js +1 -1
- package/plugins/exportFile/dataProvider.mjs +1 -1
- package/plugins/exportFile/exportFile.js +1 -1
- package/plugins/exportFile/typeFactory.js +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/exportFile/types/csv.js +1 -1
- package/plugins/filters/component/_base.js +2 -2
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +3 -3
- package/plugins/filters/component/actionBar.mjs +3 -3
- package/plugins/filters/component/condition.js +3 -3
- package/plugins/filters/component/condition.mjs +3 -3
- package/plugins/filters/component/operators.js +3 -3
- package/plugins/filters/component/operators.mjs +3 -3
- package/plugins/filters/component/value.js +3 -3
- package/plugins/filters/component/value.mjs +3 -3
- 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/conditionCollection.js +2 -2
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +4 -4
- package/plugins/filters/conditionUpdateObserver.mjs +3 -3
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +5 -5
- package/plugins/filters/filters.mjs +4 -4
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +2 -2
- package/plugins/filters/ui/link.mjs +2 -2
- package/plugins/filters/ui/multipleSelect.js +3 -3
- package/plugins/filters/ui/multipleSelect.mjs +3 -3
- package/plugins/filters/ui/radioInput.js +2 -2
- package/plugins/filters/ui/radioInput.mjs +2 -2
- package/plugins/filters/ui/select.js +3 -3
- package/plugins/filters/ui/select.mjs +3 -3
- package/plugins/formulas/engine/register.js +1 -1
- package/plugins/formulas/formulas.js +7 -7
- package/plugins/formulas/formulas.mjs +6 -6
- package/plugins/formulas/indexSyncer/axisSyncer.js +2 -2
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +2 -2
- package/plugins/formulas/indexSyncer/index.js +3 -3
- package/plugins/formulas/indexSyncer/index.mjs +2 -2
- package/plugins/formulas/utils.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +4 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +3 -3
- package/plugins/hiddenRows/hiddenRows.js +4 -4
- package/plugins/hiddenRows/hiddenRows.mjs +3 -3
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +4 -4
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -3
- package/plugins/manualColumnMove/manualColumnMove.js +4 -4
- package/plugins/manualColumnMove/manualColumnMove.mjs +3 -3
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnMove/ui/backlight.js +1 -1
- package/plugins/manualColumnMove/ui/guideline.js +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +3 -3
- package/plugins/manualColumnResize/manualColumnResize.mjs +3 -3
- package/plugins/manualRowMove/manualRowMove.js +4 -4
- package/plugins/manualRowMove/manualRowMove.mjs +3 -3
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowMove/ui/backlight.js +1 -1
- package/plugins/manualRowMove/ui/guideline.js +1 -1
- package/plugins/manualRowResize/manualRowResize.js +4 -4
- package/plugins/manualRowResize/manualRowResize.mjs +5 -5
- package/plugins/mergeCells/calculations/autofill.js +2 -2
- package/plugins/mergeCells/calculations/autofill.mjs +2 -2
- package/plugins/mergeCells/calculations/selection.js +1 -1
- package/plugins/mergeCells/calculations/selection.mjs +1 -1
- package/plugins/mergeCells/cellCoords.js +81 -24
- package/plugins/mergeCells/cellCoords.mjs +81 -24
- package/plugins/mergeCells/cellsCollection.js +167 -91
- package/plugins/mergeCells/cellsCollection.mjs +166 -90
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
- package/plugins/mergeCells/focusOrder.js +4 -4
- package/plugins/mergeCells/focusOrder.mjs +3 -3
- package/plugins/mergeCells/mergeCells.js +171 -122
- package/plugins/mergeCells/mergeCells.mjs +171 -122
- package/plugins/mergeCells/renderer.js +74 -0
- package/plugins/mergeCells/renderer.mjs +70 -0
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -1
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -1
- package/plugins/multiColumnSorting/utils.js +1 -1
- package/plugins/multiColumnSorting/utils.mjs +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
- package/plugins/nestedHeaders/nestedHeaders.d.ts +1 -0
- package/plugins/nestedHeaders/nestedHeaders.js +20 -9
- package/plugins/nestedHeaders/nestedHeaders.mjs +20 -9
- package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +2 -2
- package/plugins/nestedHeaders/stateManager/index.js +3 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +2 -2
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +2 -2
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +2 -2
- package/plugins/nestedHeaders/stateManager/utils.js +6 -2
- package/plugins/nestedHeaders/stateManager/utils.mjs +6 -2
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +1 -1
- package/plugins/nestedRows/data/dataManager.mjs +1 -1
- package/plugins/nestedRows/nestedRows.js +5 -5
- package/plugins/nestedRows/nestedRows.mjs +4 -4
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/collapsing.js +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +4 -4
- package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
- package/plugins/nestedRows/ui/headers.js +1 -1
- package/plugins/nestedRows/utils/rowMoveController.js +1 -1
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
- package/plugins/persistentState/persistentState.js +2 -2
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +1 -1
- package/plugins/persistentState/storage.mjs +1 -1
- package/plugins/search/search.js +3 -3
- package/plugins/search/search.mjs +3 -3
- package/plugins/touchScroll/touchScroll.js +3 -3
- package/plugins/touchScroll/touchScroll.mjs +3 -3
- package/plugins/trimRows/trimRows.js +3 -3
- package/plugins/trimRows/trimRows.mjs +3 -3
- package/plugins/undoRedo/undoRedo.js +38 -1
- package/plugins/undoRedo/undoRedo.mjs +37 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +1 -1
- package/renderers/numericRenderer/numericRenderer.js +1 -1
- package/renderers/registry.js +1 -1
- package/selection/highlight/highlight.js +3 -3
- package/selection/highlight/highlight.mjs +3 -3
- package/selection/highlight/types/activeHeader.js +1 -1
- package/selection/highlight/types/area.js +1 -1
- package/selection/highlight/types/areaLayered.js +1 -1
- package/selection/highlight/types/column.js +1 -1
- package/selection/highlight/types/customSelection.js +1 -1
- package/selection/highlight/types/fill.js +1 -1
- package/selection/highlight/types/focus.js +1 -1
- package/selection/highlight/types/header.js +1 -1
- package/selection/highlight/types/row.js +1 -1
- package/selection/highlight/visualSelection.js +1 -1
- package/selection/highlight/visualSelection.mjs +1 -1
- package/selection/index.js +1 -1
- package/selection/range.js +1 -1
- package/selection/range.mjs +1 -1
- package/selection/selection.js +8 -4
- package/selection/selection.mjs +7 -3
- package/selection/transformation.js +14 -4
- package/selection/transformation.mjs +13 -3
- package/settings.d.ts +1 -0
- package/shortcuts/utils.js +18 -27
- package/shortcuts/utils.mjs +18 -27
- package/tableView.js +126 -28
- package/tableView.mjs +125 -27
- package/translations/changesObservable/observable.js +2 -2
- package/translations/changesObservable/observable.mjs +2 -2
- package/translations/changesObservable/observer.js +3 -3
- package/translations/changesObservable/observer.mjs +2 -2
- package/translations/indexMapper.js +2 -2
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +1 -1
- package/translations/mapCollections/aggregatedCollection.mjs +1 -1
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +1 -1
- package/utils/dataStructures/linkedList.mjs +1 -1
- package/utils/dataStructures/tree.js +1 -1
- package/utils/dataStructures/tree.mjs +1 -1
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +4 -4
- package/utils/interval.mjs +4 -4
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
- package/validators/dateValidator/dateValidator.js +1 -1
- package/validators/registry.js +1 -1
- package/validators/timeValidator/timeValidator.js +1 -1
- package/3rdparty/walkontable/src/calculator/constants.js +0 -26
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -23
- package/plugins/mergeCells/utils.js +0 -28
- package/plugins/mergeCells/utils.mjs +0 -24
@@ -0,0 +1,126 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.at.js");
|
6
|
+
require("core-js/modules/es.string.at-alternative.js");
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
|
+
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); }
|
10
|
+
/**
|
11
|
+
* @class FullyVisibleColumnsCalculationType
|
12
|
+
*/
|
13
|
+
class FullyVisibleColumnsCalculationType {
|
14
|
+
constructor() {
|
15
|
+
/**
|
16
|
+
* Total number of fully visible columns in the viewport.
|
17
|
+
*
|
18
|
+
* @type {number}
|
19
|
+
*/
|
20
|
+
_defineProperty(this, "count", 0);
|
21
|
+
/**
|
22
|
+
* The column index of the first fully visible column in the viewport.
|
23
|
+
*
|
24
|
+
* @type {number|null}
|
25
|
+
*/
|
26
|
+
_defineProperty(this, "startColumn", null);
|
27
|
+
/**
|
28
|
+
* The column index of the last fully visible column in the viewport.
|
29
|
+
*
|
30
|
+
* @type {number|null}
|
31
|
+
*/
|
32
|
+
_defineProperty(this, "endColumn", null);
|
33
|
+
/**
|
34
|
+
* Position of the first fully visible column (in px).
|
35
|
+
*
|
36
|
+
* @type {number|null}
|
37
|
+
*/
|
38
|
+
_defineProperty(this, "startPosition", null);
|
39
|
+
/**
|
40
|
+
* Determines if the viewport is visible in the trimming container.
|
41
|
+
*
|
42
|
+
* @type {boolean}
|
43
|
+
*/
|
44
|
+
_defineProperty(this, "isVisibleInTrimmingContainer", false);
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* Initializes the calculation.
|
48
|
+
*/
|
49
|
+
initialize() {}
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Processes the column.
|
53
|
+
*
|
54
|
+
* @param {number} column The column index.
|
55
|
+
* @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
|
56
|
+
*/
|
57
|
+
process(column, viewportCalculator) {
|
58
|
+
const {
|
59
|
+
totalCalculatedWidth,
|
60
|
+
zeroBasedScrollOffset,
|
61
|
+
viewportWidth,
|
62
|
+
columnWidth
|
63
|
+
} = viewportCalculator;
|
64
|
+
const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
|
65
|
+
if (totalCalculatedWidth >= zeroBasedScrollOffset && totalCalculatedWidth + columnWidth <= zeroBasedScrollOffset + compensatedViewportWidth) {
|
66
|
+
if (this.startColumn === null || this.startColumn === undefined) {
|
67
|
+
this.startColumn = column;
|
68
|
+
}
|
69
|
+
this.endColumn = column;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Finalizes the calculation.
|
75
|
+
*
|
76
|
+
* @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
|
77
|
+
*/
|
78
|
+
finalize(viewportCalculator) {
|
79
|
+
var _startPositions$this$;
|
80
|
+
const {
|
81
|
+
scrollOffset,
|
82
|
+
viewportWidth,
|
83
|
+
inlineStartOffset,
|
84
|
+
zeroBasedScrollOffset,
|
85
|
+
totalColumns,
|
86
|
+
needReverse,
|
87
|
+
startPositions,
|
88
|
+
columnWidth
|
89
|
+
} = viewportCalculator;
|
90
|
+
|
91
|
+
// If the estimation has reached the last column and there is still some space available in the viewport,
|
92
|
+
// we need to render in reverse in order to fill the whole viewport with columns
|
93
|
+
if (this.endColumn === totalColumns - 1 && needReverse) {
|
94
|
+
this.startColumn = this.endColumn;
|
95
|
+
while (this.startColumn > 0) {
|
96
|
+
const calculatedViewportHeight = startPositions[this.endColumn] + columnWidth - startPositions[this.startColumn - 1];
|
97
|
+
if (calculatedViewportHeight <= viewportWidth) {
|
98
|
+
this.startColumn -= 1;
|
99
|
+
}
|
100
|
+
if (calculatedViewportHeight >= viewportWidth) {
|
101
|
+
break;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
this.startPosition = (_startPositions$this$ = startPositions[this.startColumn]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
|
106
|
+
const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
|
107
|
+
const mostRightScrollOffset = scrollOffset + viewportWidth - compensatedViewportWidth;
|
108
|
+
const inlineStartColumnOffset = this.startColumn === null ? 0 : viewportCalculator.getColumnWidth(this.startColumn);
|
109
|
+
if (
|
110
|
+
// the table is to the left of the viewport
|
111
|
+
mostRightScrollOffset < -1 * inlineStartOffset || scrollOffset > startPositions.at(-1) ||
|
112
|
+
// the table is to the right of the viewport
|
113
|
+
-1 * scrollOffset - viewportWidth > -1 * inlineStartColumnOffset) {
|
114
|
+
this.isVisibleInTrimmingContainer = false;
|
115
|
+
} else {
|
116
|
+
this.isVisibleInTrimmingContainer = true;
|
117
|
+
}
|
118
|
+
if (totalColumns < this.endColumn) {
|
119
|
+
this.endColumn = totalColumns - 1;
|
120
|
+
}
|
121
|
+
if (this.startColumn !== null) {
|
122
|
+
this.count = this.endColumn - this.startColumn + 1;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
}
|
126
|
+
exports.FullyVisibleColumnsCalculationType = FullyVisibleColumnsCalculationType;
|
@@ -0,0 +1,122 @@
|
|
1
|
+
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.at.js";
|
3
|
+
import "core-js/modules/es.string.at-alternative.js";
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
6
|
+
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); }
|
7
|
+
/**
|
8
|
+
* @class FullyVisibleColumnsCalculationType
|
9
|
+
*/
|
10
|
+
export class FullyVisibleColumnsCalculationType {
|
11
|
+
constructor() {
|
12
|
+
/**
|
13
|
+
* Total number of fully visible columns in the viewport.
|
14
|
+
*
|
15
|
+
* @type {number}
|
16
|
+
*/
|
17
|
+
_defineProperty(this, "count", 0);
|
18
|
+
/**
|
19
|
+
* The column index of the first fully visible column in the viewport.
|
20
|
+
*
|
21
|
+
* @type {number|null}
|
22
|
+
*/
|
23
|
+
_defineProperty(this, "startColumn", null);
|
24
|
+
/**
|
25
|
+
* The column index of the last fully visible column in the viewport.
|
26
|
+
*
|
27
|
+
* @type {number|null}
|
28
|
+
*/
|
29
|
+
_defineProperty(this, "endColumn", null);
|
30
|
+
/**
|
31
|
+
* Position of the first fully visible column (in px).
|
32
|
+
*
|
33
|
+
* @type {number|null}
|
34
|
+
*/
|
35
|
+
_defineProperty(this, "startPosition", null);
|
36
|
+
/**
|
37
|
+
* Determines if the viewport is visible in the trimming container.
|
38
|
+
*
|
39
|
+
* @type {boolean}
|
40
|
+
*/
|
41
|
+
_defineProperty(this, "isVisibleInTrimmingContainer", false);
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Initializes the calculation.
|
45
|
+
*/
|
46
|
+
initialize() {}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Processes the column.
|
50
|
+
*
|
51
|
+
* @param {number} column The column index.
|
52
|
+
* @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
|
53
|
+
*/
|
54
|
+
process(column, viewportCalculator) {
|
55
|
+
const {
|
56
|
+
totalCalculatedWidth,
|
57
|
+
zeroBasedScrollOffset,
|
58
|
+
viewportWidth,
|
59
|
+
columnWidth
|
60
|
+
} = viewportCalculator;
|
61
|
+
const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
|
62
|
+
if (totalCalculatedWidth >= zeroBasedScrollOffset && totalCalculatedWidth + columnWidth <= zeroBasedScrollOffset + compensatedViewportWidth) {
|
63
|
+
if (this.startColumn === null || this.startColumn === undefined) {
|
64
|
+
this.startColumn = column;
|
65
|
+
}
|
66
|
+
this.endColumn = column;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
/**
|
71
|
+
* Finalizes the calculation.
|
72
|
+
*
|
73
|
+
* @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
|
74
|
+
*/
|
75
|
+
finalize(viewportCalculator) {
|
76
|
+
var _startPositions$this$;
|
77
|
+
const {
|
78
|
+
scrollOffset,
|
79
|
+
viewportWidth,
|
80
|
+
inlineStartOffset,
|
81
|
+
zeroBasedScrollOffset,
|
82
|
+
totalColumns,
|
83
|
+
needReverse,
|
84
|
+
startPositions,
|
85
|
+
columnWidth
|
86
|
+
} = viewportCalculator;
|
87
|
+
|
88
|
+
// If the estimation has reached the last column and there is still some space available in the viewport,
|
89
|
+
// we need to render in reverse in order to fill the whole viewport with columns
|
90
|
+
if (this.endColumn === totalColumns - 1 && needReverse) {
|
91
|
+
this.startColumn = this.endColumn;
|
92
|
+
while (this.startColumn > 0) {
|
93
|
+
const calculatedViewportHeight = startPositions[this.endColumn] + columnWidth - startPositions[this.startColumn - 1];
|
94
|
+
if (calculatedViewportHeight <= viewportWidth) {
|
95
|
+
this.startColumn -= 1;
|
96
|
+
}
|
97
|
+
if (calculatedViewportHeight >= viewportWidth) {
|
98
|
+
break;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
}
|
102
|
+
this.startPosition = (_startPositions$this$ = startPositions[this.startColumn]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
|
103
|
+
const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
|
104
|
+
const mostRightScrollOffset = scrollOffset + viewportWidth - compensatedViewportWidth;
|
105
|
+
const inlineStartColumnOffset = this.startColumn === null ? 0 : viewportCalculator.getColumnWidth(this.startColumn);
|
106
|
+
if (
|
107
|
+
// the table is to the left of the viewport
|
108
|
+
mostRightScrollOffset < -1 * inlineStartOffset || scrollOffset > startPositions.at(-1) ||
|
109
|
+
// the table is to the right of the viewport
|
110
|
+
-1 * scrollOffset - viewportWidth > -1 * inlineStartColumnOffset) {
|
111
|
+
this.isVisibleInTrimmingContainer = false;
|
112
|
+
} else {
|
113
|
+
this.isVisibleInTrimmingContainer = true;
|
114
|
+
}
|
115
|
+
if (totalColumns < this.endColumn) {
|
116
|
+
this.endColumn = totalColumns - 1;
|
117
|
+
}
|
118
|
+
if (this.startColumn !== null) {
|
119
|
+
this.count = this.endColumn - this.startColumn + 1;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}
|
@@ -0,0 +1,119 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.at.js");
|
6
|
+
require("core-js/modules/es.string.at-alternative.js");
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
|
+
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); }
|
10
|
+
/**
|
11
|
+
* @class FullyVisibleRowsCalculationType
|
12
|
+
*/
|
13
|
+
class FullyVisibleRowsCalculationType {
|
14
|
+
constructor() {
|
15
|
+
/**
|
16
|
+
* Total number of fully visible rows in the viewport.
|
17
|
+
*
|
18
|
+
* @type {number}
|
19
|
+
*/
|
20
|
+
_defineProperty(this, "count", 0);
|
21
|
+
/**
|
22
|
+
* The row index of the first fully visible row in the viewport.
|
23
|
+
*
|
24
|
+
* @type {number|null}
|
25
|
+
*/
|
26
|
+
_defineProperty(this, "startRow", null);
|
27
|
+
/**
|
28
|
+
* The row index of the last fully visible row in the viewport.
|
29
|
+
*
|
30
|
+
* @type {number|null}
|
31
|
+
*/
|
32
|
+
_defineProperty(this, "endRow", null);
|
33
|
+
/**
|
34
|
+
* Position of the first fully visible row (in px).
|
35
|
+
*
|
36
|
+
* @type {number|null}
|
37
|
+
*/
|
38
|
+
_defineProperty(this, "startPosition", null);
|
39
|
+
/**
|
40
|
+
* Determines if the viewport is visible in the trimming container.
|
41
|
+
*
|
42
|
+
* @type {boolean}
|
43
|
+
*/
|
44
|
+
_defineProperty(this, "isVisibleInTrimmingContainer", false);
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* Initializes the calculation.
|
48
|
+
*/
|
49
|
+
initialize() {}
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Processes the row.
|
53
|
+
*
|
54
|
+
* @param {number} row The row index.
|
55
|
+
* @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
|
56
|
+
*/
|
57
|
+
process(row, viewportCalculator) {
|
58
|
+
const {
|
59
|
+
totalCalculatedHeight,
|
60
|
+
zeroBasedScrollOffset,
|
61
|
+
innerViewportHeight,
|
62
|
+
rowHeight
|
63
|
+
} = viewportCalculator;
|
64
|
+
if (totalCalculatedHeight >= zeroBasedScrollOffset && totalCalculatedHeight + rowHeight <= innerViewportHeight) {
|
65
|
+
if (this.startRow === null) {
|
66
|
+
this.startRow = row;
|
67
|
+
}
|
68
|
+
this.endRow = row;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Finalizes the calculation.
|
74
|
+
*
|
75
|
+
* @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
|
76
|
+
*/
|
77
|
+
finalize(viewportCalculator) {
|
78
|
+
var _startPositions$this$;
|
79
|
+
const {
|
80
|
+
scrollOffset,
|
81
|
+
viewportHeight,
|
82
|
+
horizontalScrollbarHeight,
|
83
|
+
totalRows,
|
84
|
+
needReverse,
|
85
|
+
startPositions,
|
86
|
+
rowHeight
|
87
|
+
} = viewportCalculator;
|
88
|
+
|
89
|
+
// If the estimation has reached the last row and there is still some space available in the viewport,
|
90
|
+
// we need to render in reverse in order to fill the whole viewport with rows
|
91
|
+
if (this.endRow === totalRows - 1 && needReverse) {
|
92
|
+
this.startRow = this.endRow;
|
93
|
+
while (this.startRow > 0) {
|
94
|
+
const calculatedViewportHeight = startPositions[this.endRow] + rowHeight - startPositions[this.startRow - 1];
|
95
|
+
if (calculatedViewportHeight <= viewportHeight - horizontalScrollbarHeight) {
|
96
|
+
this.startRow -= 1;
|
97
|
+
}
|
98
|
+
if (calculatedViewportHeight >= viewportHeight - horizontalScrollbarHeight) {
|
99
|
+
break;
|
100
|
+
}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
this.startPosition = (_startPositions$this$ = startPositions[this.startRow]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
|
104
|
+
const mostBottomScrollOffset = scrollOffset + viewportHeight - horizontalScrollbarHeight;
|
105
|
+
const topRowOffset = this.startRow === null ? 0 : viewportCalculator.getRowHeight(this.startRow);
|
106
|
+
if (mostBottomScrollOffset < topRowOffset || scrollOffset > startPositions.at(-1)) {
|
107
|
+
this.isVisibleInTrimmingContainer = false;
|
108
|
+
} else {
|
109
|
+
this.isVisibleInTrimmingContainer = true;
|
110
|
+
}
|
111
|
+
if (totalRows < this.endRow) {
|
112
|
+
this.endRow = totalRows - 1;
|
113
|
+
}
|
114
|
+
if (this.startRow !== null) {
|
115
|
+
this.count = this.endRow - this.startRow + 1;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
119
|
+
exports.FullyVisibleRowsCalculationType = FullyVisibleRowsCalculationType;
|
@@ -0,0 +1,115 @@
|
|
1
|
+
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.at.js";
|
3
|
+
import "core-js/modules/es.string.at-alternative.js";
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
6
|
+
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); }
|
7
|
+
/**
|
8
|
+
* @class FullyVisibleRowsCalculationType
|
9
|
+
*/
|
10
|
+
export class FullyVisibleRowsCalculationType {
|
11
|
+
constructor() {
|
12
|
+
/**
|
13
|
+
* Total number of fully visible rows in the viewport.
|
14
|
+
*
|
15
|
+
* @type {number}
|
16
|
+
*/
|
17
|
+
_defineProperty(this, "count", 0);
|
18
|
+
/**
|
19
|
+
* The row index of the first fully visible row in the viewport.
|
20
|
+
*
|
21
|
+
* @type {number|null}
|
22
|
+
*/
|
23
|
+
_defineProperty(this, "startRow", null);
|
24
|
+
/**
|
25
|
+
* The row index of the last fully visible row in the viewport.
|
26
|
+
*
|
27
|
+
* @type {number|null}
|
28
|
+
*/
|
29
|
+
_defineProperty(this, "endRow", null);
|
30
|
+
/**
|
31
|
+
* Position of the first fully visible row (in px).
|
32
|
+
*
|
33
|
+
* @type {number|null}
|
34
|
+
*/
|
35
|
+
_defineProperty(this, "startPosition", null);
|
36
|
+
/**
|
37
|
+
* Determines if the viewport is visible in the trimming container.
|
38
|
+
*
|
39
|
+
* @type {boolean}
|
40
|
+
*/
|
41
|
+
_defineProperty(this, "isVisibleInTrimmingContainer", false);
|
42
|
+
}
|
43
|
+
/**
|
44
|
+
* Initializes the calculation.
|
45
|
+
*/
|
46
|
+
initialize() {}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Processes the row.
|
50
|
+
*
|
51
|
+
* @param {number} row The row index.
|
52
|
+
* @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
|
53
|
+
*/
|
54
|
+
process(row, viewportCalculator) {
|
55
|
+
const {
|
56
|
+
totalCalculatedHeight,
|
57
|
+
zeroBasedScrollOffset,
|
58
|
+
innerViewportHeight,
|
59
|
+
rowHeight
|
60
|
+
} = viewportCalculator;
|
61
|
+
if (totalCalculatedHeight >= zeroBasedScrollOffset && totalCalculatedHeight + rowHeight <= innerViewportHeight) {
|
62
|
+
if (this.startRow === null) {
|
63
|
+
this.startRow = row;
|
64
|
+
}
|
65
|
+
this.endRow = row;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
/**
|
70
|
+
* Finalizes the calculation.
|
71
|
+
*
|
72
|
+
* @param {ViewportRowsCalculator} viewportCalculator The viewport calculator object.
|
73
|
+
*/
|
74
|
+
finalize(viewportCalculator) {
|
75
|
+
var _startPositions$this$;
|
76
|
+
const {
|
77
|
+
scrollOffset,
|
78
|
+
viewportHeight,
|
79
|
+
horizontalScrollbarHeight,
|
80
|
+
totalRows,
|
81
|
+
needReverse,
|
82
|
+
startPositions,
|
83
|
+
rowHeight
|
84
|
+
} = viewportCalculator;
|
85
|
+
|
86
|
+
// If the estimation has reached the last row and there is still some space available in the viewport,
|
87
|
+
// we need to render in reverse in order to fill the whole viewport with rows
|
88
|
+
if (this.endRow === totalRows - 1 && needReverse) {
|
89
|
+
this.startRow = this.endRow;
|
90
|
+
while (this.startRow > 0) {
|
91
|
+
const calculatedViewportHeight = startPositions[this.endRow] + rowHeight - startPositions[this.startRow - 1];
|
92
|
+
if (calculatedViewportHeight <= viewportHeight - horizontalScrollbarHeight) {
|
93
|
+
this.startRow -= 1;
|
94
|
+
}
|
95
|
+
if (calculatedViewportHeight >= viewportHeight - horizontalScrollbarHeight) {
|
96
|
+
break;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
}
|
100
|
+
this.startPosition = (_startPositions$this$ = startPositions[this.startRow]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
|
101
|
+
const mostBottomScrollOffset = scrollOffset + viewportHeight - horizontalScrollbarHeight;
|
102
|
+
const topRowOffset = this.startRow === null ? 0 : viewportCalculator.getRowHeight(this.startRow);
|
103
|
+
if (mostBottomScrollOffset < topRowOffset || scrollOffset > startPositions.at(-1)) {
|
104
|
+
this.isVisibleInTrimmingContainer = false;
|
105
|
+
} else {
|
106
|
+
this.isVisibleInTrimmingContainer = true;
|
107
|
+
}
|
108
|
+
if (totalRows < this.endRow) {
|
109
|
+
this.endRow = totalRows - 1;
|
110
|
+
}
|
111
|
+
if (this.startRow !== null) {
|
112
|
+
this.count = this.endRow - this.startRow + 1;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
}
|
@@ -0,0 +1,125 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.at.js");
|
6
|
+
require("core-js/modules/es.string.at-alternative.js");
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
|
+
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); }
|
10
|
+
/**
|
11
|
+
* @class PartiallyVisibleColumnsCalculationType
|
12
|
+
*/
|
13
|
+
class PartiallyVisibleColumnsCalculationType {
|
14
|
+
constructor() {
|
15
|
+
/**
|
16
|
+
* Total number of partially visible columns in the viewport.
|
17
|
+
*
|
18
|
+
* @type {number}
|
19
|
+
*/
|
20
|
+
_defineProperty(this, "count", 0);
|
21
|
+
/**
|
22
|
+
* The column index of the first partially visible column in the viewport.
|
23
|
+
*
|
24
|
+
* @type {number|null}
|
25
|
+
*/
|
26
|
+
_defineProperty(this, "startColumn", null);
|
27
|
+
/**
|
28
|
+
* The column index of the last partially visible column in the viewport.
|
29
|
+
*
|
30
|
+
* @type {number|null}
|
31
|
+
*/
|
32
|
+
_defineProperty(this, "endColumn", null);
|
33
|
+
/**
|
34
|
+
* Position of the first partially visible column (in px).
|
35
|
+
*
|
36
|
+
* @type {number|null}
|
37
|
+
*/
|
38
|
+
_defineProperty(this, "startPosition", null);
|
39
|
+
/**
|
40
|
+
* Determines if the viewport is visible in the trimming container.
|
41
|
+
*
|
42
|
+
* @type {boolean}
|
43
|
+
*/
|
44
|
+
_defineProperty(this, "isVisibleInTrimmingContainer", false);
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* Initializes the calculation.
|
48
|
+
*/
|
49
|
+
initialize() {}
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Processes the column.
|
53
|
+
*
|
54
|
+
* @param {number} column The column index.
|
55
|
+
* @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
|
56
|
+
*/
|
57
|
+
process(column, viewportCalculator) {
|
58
|
+
const {
|
59
|
+
totalCalculatedWidth,
|
60
|
+
zeroBasedScrollOffset,
|
61
|
+
viewportWidth
|
62
|
+
} = viewportCalculator;
|
63
|
+
if (totalCalculatedWidth <= zeroBasedScrollOffset) {
|
64
|
+
this.startColumn = column;
|
65
|
+
}
|
66
|
+
const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
|
67
|
+
if (totalCalculatedWidth >= zeroBasedScrollOffset && totalCalculatedWidth <= zeroBasedScrollOffset + compensatedViewportWidth) {
|
68
|
+
if (this.startColumn === null || this.startColumn === undefined) {
|
69
|
+
this.startColumn = column;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
this.endColumn = column;
|
73
|
+
}
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Finalizes the calculation.
|
77
|
+
*
|
78
|
+
* @param {ViewportColumnsCalculator} viewportCalculator The viewport calculator object.
|
79
|
+
*/
|
80
|
+
finalize(viewportCalculator) {
|
81
|
+
var _startPositions$this$;
|
82
|
+
const {
|
83
|
+
scrollOffset,
|
84
|
+
viewportWidth,
|
85
|
+
inlineStartOffset,
|
86
|
+
zeroBasedScrollOffset,
|
87
|
+
totalColumns,
|
88
|
+
needReverse,
|
89
|
+
startPositions,
|
90
|
+
columnWidth
|
91
|
+
} = viewportCalculator;
|
92
|
+
|
93
|
+
// If the estimation has reached the last column and there is still some space available in the viewport,
|
94
|
+
// we need to render in reverse in order to fill the whole viewport with columns
|
95
|
+
if (this.endColumn === totalColumns - 1 && needReverse) {
|
96
|
+
this.startColumn = this.endColumn;
|
97
|
+
while (this.startColumn > 0) {
|
98
|
+
const calculatedViewportWidth = startPositions[this.endColumn] + columnWidth - startPositions[this.startColumn - 1];
|
99
|
+
this.startColumn -= 1;
|
100
|
+
if (calculatedViewportWidth > viewportWidth) {
|
101
|
+
break;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
this.startPosition = (_startPositions$this$ = startPositions[this.startColumn]) !== null && _startPositions$this$ !== void 0 ? _startPositions$this$ : null;
|
106
|
+
const compensatedViewportWidth = zeroBasedScrollOffset > 0 ? viewportWidth + 1 : viewportWidth;
|
107
|
+
const mostRightScrollOffset = scrollOffset + viewportWidth - compensatedViewportWidth;
|
108
|
+
if (
|
109
|
+
// the table is to the left of the viewport
|
110
|
+
mostRightScrollOffset < -1 * inlineStartOffset || scrollOffset > startPositions.at(-1) + columnWidth ||
|
111
|
+
// the table is to the right of the viewport
|
112
|
+
-1 * scrollOffset - viewportWidth > 0) {
|
113
|
+
this.isVisibleInTrimmingContainer = false;
|
114
|
+
} else {
|
115
|
+
this.isVisibleInTrimmingContainer = true;
|
116
|
+
}
|
117
|
+
if (totalColumns < this.endColumn) {
|
118
|
+
this.endColumn = totalColumns - 1;
|
119
|
+
}
|
120
|
+
if (this.startColumn !== null) {
|
121
|
+
this.count = this.endColumn - this.startColumn + 1;
|
122
|
+
}
|
123
|
+
}
|
124
|
+
}
|
125
|
+
exports.PartiallyVisibleColumnsCalculationType = PartiallyVisibleColumnsCalculationType;
|