handsontable 14.4.0 → 14.5.0-next-7541a88-20240725
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|