handsontable 18.0.0 → 18.1.0-rc7
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/axisSizing/axisSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.d.ts +55 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.js +15 -0
- package/3rdparty/walkontable/src/axisSizing/axisSizeSource.mjs +14 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.d.ts +32 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.js +45 -0
- package/3rdparty/walkontable/src/axisSizing/boxModel.mjs +33 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/column.d.ts → axisSizing/columnUtils.d.ts} +12 -10
- package/3rdparty/walkontable/src/axisSizing/columnUtils.js +147 -0
- package/3rdparty/walkontable/src/axisSizing/columnUtils.mjs +142 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.d.ts +58 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.js +129 -0
- package/3rdparty/walkontable/src/axisSizing/defaultSizeSource.mjs +119 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.d.ts +162 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.js +424 -0
- package/3rdparty/walkontable/src/axisSizing/oversizedRows.mjs +522 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.d.ts +130 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.js +256 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/index.mjs +262 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.d.ts +51 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/prefixSumStrategy.mjs +117 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.js +206 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/sparseStrategy.mjs +203 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.d.ts +53 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.js +40 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/strategy.mjs +41 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.mts +1 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.d.ts +47 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.js +121 -0
- package/3rdparty/walkontable/src/axisSizing/positionCache/uniformStrategy.mjs +115 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.d.mts +2 -0
- package/3rdparty/walkontable/src/{utils/row.d.ts → axisSizing/rowUtils.d.ts} +11 -9
- package/3rdparty/walkontable/src/axisSizing/rowUtils.js +111 -0
- package/3rdparty/walkontable/src/axisSizing/rowUtils.mjs +106 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.mts +2 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.d.ts +84 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.js +102 -0
- package/3rdparty/walkontable/src/axisSizing/sizeGetters.mjs +92 -0
- package/3rdparty/walkontable/src/calculator/axisCalculation.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.d.ts +10 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +10 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.d.ts +9 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +9 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +9 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.d.ts +1 -1
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -0
- package/3rdparty/walkontable/src/cell/range.js +14 -3
- package/3rdparty/walkontable/src/cell/range.mjs +11 -0
- package/3rdparty/walkontable/src/core/_base.d.ts +21 -21
- package/3rdparty/walkontable/src/core/_base.js +58 -147
- package/3rdparty/walkontable/src/core/_base.mjs +17 -147
- package/3rdparty/walkontable/src/core/clone.d.ts +4 -14
- package/3rdparty/walkontable/src/core/clone.js +51 -5
- package/3rdparty/walkontable/src/core/clone.mjs +10 -5
- package/3rdparty/walkontable/src/core/core.d.ts +1 -5
- package/3rdparty/walkontable/src/core/core.js +52 -47
- package/3rdparty/walkontable/src/core/core.mjs +12 -48
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.d.ts +172 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.js +19 -0
- package/3rdparty/walkontable/src/domMeasure/geometryReader.mjs +16 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.mts +1 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.d.ts +134 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.js +200 -0
- package/3rdparty/walkontable/src/domMeasure/liveGeometryReader.mjs +198 -0
- package/3rdparty/walkontable/src/event.d.ts +25 -12
- package/3rdparty/walkontable/src/event.js +91 -224
- package/3rdparty/walkontable/src/event.mjs +90 -224
- package/3rdparty/walkontable/src/facade/core.d.ts +6 -6
- package/3rdparty/walkontable/src/index.d.ts +1 -1
- package/3rdparty/walkontable/src/index.js +2 -2
- package/3rdparty/walkontable/src/index.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/index.d.ts +6 -6
- package/3rdparty/walkontable/src/overlay/index.js +11 -11
- package/3rdparty/walkontable/src/overlay/index.mjs +6 -6
- package/3rdparty/walkontable/src/overlay/overlays.d.ts +375 -0
- package/3rdparty/walkontable/src/overlay/overlays.js +612 -0
- package/3rdparty/walkontable/src/overlay/overlays.mjs +601 -0
- package/3rdparty/walkontable/src/overlay/{_base.d.ts → regions/_base.d.ts} +65 -16
- package/3rdparty/walkontable/src/overlay/{_base.js → regions/_base.js} +160 -50
- package/3rdparty/walkontable/src/overlay/{_base.mjs → regions/_base.mjs} +163 -47
- package/3rdparty/walkontable/src/overlay/regions/bottomInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.d.ts → regions/bottomInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerOverlay.js} +18 -20
- package/3rdparty/walkontable/src/overlay/{bottomInlineStartCorner.mjs → regions/bottomInlineStartCornerOverlay.mjs} +18 -20
- package/3rdparty/walkontable/src/overlay/regions/bottomOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{bottom.d.ts → regions/bottomOverlay.d.ts} +16 -11
- package/3rdparty/walkontable/src/overlay/{bottom.js → regions/bottomOverlay.js} +113 -66
- package/3rdparty/walkontable/src/overlay/{bottom.mjs → regions/bottomOverlay.mjs} +113 -66
- package/3rdparty/walkontable/src/overlay/regions/inlineStartOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{inlineStart.d.ts → regions/inlineStartOverlay.d.ts} +17 -11
- package/3rdparty/walkontable/src/overlay/{inlineStart.js → regions/inlineStartOverlay.js} +122 -67
- package/3rdparty/walkontable/src/overlay/{inlineStart.mjs → regions/inlineStartOverlay.mjs} +122 -67
- package/3rdparty/walkontable/src/overlay/regions/topInlineStartCornerOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.d.ts → regions/topInlineStartCornerOverlay.d.ts} +5 -10
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.js → regions/topInlineStartCornerOverlay.js} +13 -16
- package/3rdparty/walkontable/src/overlay/{topInlineStartCorner.mjs → regions/topInlineStartCornerOverlay.mjs} +13 -16
- package/3rdparty/walkontable/src/overlay/regions/topOverlay.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/{top.d.ts → regions/topOverlay.d.ts} +32 -11
- package/3rdparty/walkontable/src/overlay/{top.js → regions/topOverlay.js} +163 -77
- package/3rdparty/walkontable/src/overlay/{top.mjs → regions/topOverlay.mjs} +163 -77
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.d.ts +49 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.js +154 -0
- package/3rdparty/walkontable/src/overlay/resizeMonitor.mjs +153 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.d.ts +62 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.js +290 -0
- package/3rdparty/walkontable/src/overlay/scroll/nativeScrollInput.mjs +295 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.d.ts +176 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.js +549 -0
- package/3rdparty/walkontable/src/overlay/scroll/scrollSync.mjs +557 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.mts +1 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.d.ts +67 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.js +178 -0
- package/3rdparty/walkontable/src/overlay/spreaderSize.mjs +179 -0
- package/3rdparty/walkontable/src/{stickyScrollStrategy.d.ts → overlay/strategies/stickyScrollStrategy.d.ts} +33 -21
- package/3rdparty/walkontable/src/{stickyScrollStrategy.js → overlay/strategies/stickyScrollStrategy.js} +60 -41
- package/3rdparty/walkontable/src/{stickyScrollStrategy.mjs → overlay/strategies/stickyScrollStrategy.mjs} +58 -38
- package/3rdparty/walkontable/src/ports.d.mts +1 -0
- package/3rdparty/walkontable/src/ports.d.ts +54 -0
- package/3rdparty/walkontable/src/ports.js +23 -0
- package/3rdparty/walkontable/src/ports.mjs +24 -0
- package/3rdparty/walkontable/src/{renderer → render}/_base.d.ts +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/cells.mjs +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.ts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.js +43 -1
- package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.mjs +44 -2
- package/3rdparty/walkontable/src/render/index.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer → render}/index.d.ts +11 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.js +13 -3
- package/3rdparty/walkontable/src/{renderer → render}/index.mjs +11 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.js +1 -1
- package/3rdparty/walkontable/src/{renderer → render}/rows.mjs +1 -1
- package/3rdparty/walkontable/src/render/tableRenderer.d.mts +1 -0
- package/3rdparty/walkontable/src/{renderer/table.d.ts → render/tableRenderer.d.ts} +12 -2
- package/3rdparty/walkontable/src/render/tableRenderer.js +382 -0
- package/3rdparty/walkontable/src/{renderer/table.mjs → render/tableRenderer.mjs} +159 -6
- package/3rdparty/walkontable/src/{scroll.d.ts → scroll/scroll.d.ts} +27 -10
- package/3rdparty/walkontable/src/{scroll.js → scroll/scroll.js} +108 -32
- package/3rdparty/walkontable/src/{scroll.mjs → scroll/scroll.mjs} +106 -29
- package/3rdparty/walkontable/src/selection/border/border.d.ts +313 -5
- package/3rdparty/walkontable/src/selection/border/border.js +861 -51
- package/3rdparty/walkontable/src/selection/border/border.mjs +863 -53
- package/3rdparty/walkontable/src/selection/border/types.d.ts +30 -0
- package/3rdparty/walkontable/src/selection/manager.js +237 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +238 -1
- package/3rdparty/walkontable/src/settings/accessor.d.mts +2 -0
- package/3rdparty/walkontable/src/settings/accessor.d.ts +74 -0
- package/3rdparty/walkontable/src/settings/accessor.js +78 -0
- package/3rdparty/walkontable/src/settings/accessor.mjs +71 -0
- package/3rdparty/walkontable/src/settings/defaults.d.mts +1 -0
- package/3rdparty/walkontable/src/{settings.d.ts → settings/defaults.d.ts} +16 -77
- package/3rdparty/walkontable/src/settings/defaults.js +146 -0
- package/3rdparty/walkontable/src/settings/defaults.mjs +225 -0
- package/3rdparty/walkontable/src/settings/index.d.mts +1 -0
- package/3rdparty/walkontable/src/settings/index.d.ts +6 -0
- package/3rdparty/walkontable/src/settings/index.js +20 -0
- package/3rdparty/walkontable/src/settings/index.mjs +5 -0
- package/3rdparty/walkontable/src/table/baseTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/baseTable.d.ts +284 -0
- package/3rdparty/walkontable/src/table/baseTable.js +295 -0
- package/3rdparty/walkontable/src/table/baseTable.mjs +283 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.mts +1 -0
- package/3rdparty/walkontable/src/table/cellAccess.d.ts +101 -0
- package/3rdparty/walkontable/src/table/cellAccess.js +238 -0
- package/3rdparty/walkontable/src/table/cellAccess.mjs +229 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.mts +1 -0
- package/3rdparty/walkontable/src/table/domScaffold.d.ts +37 -0
- package/3rdparty/walkontable/src/table/domScaffold.js +145 -0
- package/3rdparty/walkontable/src/table/domScaffold.mjs +136 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.mts +1 -0
- package/3rdparty/walkontable/src/table/drawCycle.d.ts +16 -0
- package/3rdparty/walkontable/src/table/drawCycle.js +405 -0
- package/3rdparty/walkontable/src/table/drawCycle.mjs +403 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.d.ts +38 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.js +15 -0
- package/3rdparty/walkontable/src/table/rangeQuery/renderedRange.mjs +14 -0
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.mjs +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.ts +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.js +1 -1
- package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.mjs +1 -1
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.mts +2 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.d.ts +226 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.js +251 -0
- package/3rdparty/walkontable/src/table/rangeQuery/viewportPredicates.mjs +241 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.mts +1 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.d.ts +14 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.js +196 -0
- package/3rdparty/walkontable/src/table/rangeQuery/virtualRange.mjs +179 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{bottomInlineStartCorner.js → regions/bottomInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/bottomInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/bottomTable.mjs +20 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.d.ts +12 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.js +32 -0
- package/3rdparty/walkontable/src/table/regions/inlineStartTable.mjs +17 -0
- package/3rdparty/walkontable/src/table/regions/masterTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/{master.d.ts → regions/masterTable.d.ts} +4 -13
- package/3rdparty/walkontable/src/table/{master.js → regions/masterTable.js} +23 -48
- package/3rdparty/walkontable/src/table/{master.mjs → regions/masterTable.mjs} +22 -47
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.d.ts +16 -0
- package/3rdparty/walkontable/src/table/{topInlineStartCorner.js → regions/topInlineStartCornerTable.js} +9 -12
- package/3rdparty/walkontable/src/table/regions/topInlineStartCornerTable.mjs +21 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.mts +2 -0
- package/3rdparty/walkontable/src/table/regions/topTable.d.ts +15 -0
- package/3rdparty/walkontable/src/table/regions/topTable.js +35 -0
- package/3rdparty/walkontable/src/table/regions/topTable.mjs +20 -0
- package/3rdparty/walkontable/src/types.d.ts +7 -69
- package/3rdparty/walkontable/src/types.mjs +2 -1
- package/3rdparty/walkontable/src/utils/pointerToCoords.d.mts +1 -0
- package/3rdparty/walkontable/src/utils/{cellCoords.d.ts → pointerToCoords.d.ts} +24 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.js +181 -0
- package/3rdparty/walkontable/src/utils/pointerToCoords.mjs +186 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.d.ts +40 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.js +139 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/gatherLayoutInput.mjs +131 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.d.ts +133 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.js +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/layoutSnapshot.mjs +18 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.d.ts +17 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.js +104 -0
- package/3rdparty/walkontable/src/viewport/boxLayout/resolveLayout.mjs +99 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.d.ts +84 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.js +588 -0
- package/3rdparty/walkontable/src/viewport/calculatorFactory.mjs +601 -0
- package/3rdparty/walkontable/src/viewport/viewport.d.ts +267 -0
- package/3rdparty/walkontable/src/viewport/viewport.js +368 -0
- package/3rdparty/walkontable/src/viewport/viewport.mjs +360 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.mts +1 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.d.ts +59 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.js +284 -0
- package/3rdparty/walkontable/src/viewport/workspaceSize.mjs +282 -0
- package/3rdparty/walkontable/src/wire.d.mts +1 -0
- package/3rdparty/walkontable/src/wire.d.ts +81 -0
- package/3rdparty/walkontable/src/wire.js +56 -0
- package/3rdparty/walkontable/src/wire.mjs +56 -0
- package/CHANGELOG.md +114 -1
- package/LICENSE.txt +1 -1
- package/README.md +2 -2
- package/base.d.ts +13 -4
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/checkboxType/accessors/valueSetter.d.ts +1 -1
- package/cellTypes/checkboxType/accessors/valueSetter.js +3 -1
- package/cellTypes/checkboxType/accessors/valueSetter.mjs +3 -1
- package/cellTypes/index.d.ts +3 -2
- package/cellTypes/index.js +9 -0
- package/cellTypes/index.mjs +5 -2
- package/cellTypes/intlDatetimeType/index.d.mts +1 -0
- package/cellTypes/intlDatetimeType/index.d.ts +1 -0
- package/cellTypes/intlDatetimeType/index.js +19 -0
- package/cellTypes/intlDatetimeType/index.mjs +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.mts +1 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.d.ts +16 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.js +31 -0
- package/cellTypes/intlDatetimeType/intlDatetimeType.mjs +15 -0
- package/cellTypes/multiSelectType/index.d.ts +1 -1
- package/cellTypes/multiSelectType/index.js +3 -0
- package/cellTypes/multiSelectType/index.mjs +1 -1
- package/cellTypes/multiSelectType/multiSelectType.d.ts +1 -0
- package/cellTypes/multiSelectType/multiSelectType.js +4 -0
- package/cellTypes/multiSelectType/multiSelectType.mjs +1 -0
- package/cellTypes/numericType/accessors/valueSetter.js +30 -2
- package/cellTypes/numericType/accessors/valueSetter.mjs +31 -3
- package/core/hooks/bucket.d.ts +40 -6
- package/core/hooks/bucket.js +108 -72
- package/core/hooks/bucket.mjs +113 -72
- package/core/hooks/constants.js +254 -16
- package/core/hooks/constants.mjs +254 -16
- package/core/hooks/index.js +27 -22
- package/core/hooks/index.mjs +27 -22
- package/core/layout/constants.d.ts +11 -0
- package/core/layout/constants.js +6 -0
- package/core/layout/constants.mjs +12 -0
- package/core/layout/domSlot.d.ts +3 -1
- package/core/layout/domSlot.js +16 -2
- package/core/layout/domSlot.mjs +16 -2
- package/core/layout/index.d.ts +2 -2
- package/core/layout/index.js +6 -0
- package/core/layout/index.mjs +2 -2
- package/core/layout/layoutManager.d.ts +13 -0
- package/core/layout/layoutManager.js +21 -4
- package/core/layout/layoutManager.mjs +22 -2
- package/core/settings.d.ts +102 -6
- package/core/types.d.ts +15 -1
- package/core/types.mjs +9 -0
- package/core.js +534 -88
- package/core.mjs +537 -91
- package/dataMap/dataMap.d.ts +3 -13
- package/dataMap/dataMap.js +100 -41
- package/dataMap/dataMap.mjs +101 -42
- package/dataMap/dataSource.js +4 -1
- package/dataMap/dataSource.mjs +4 -1
- package/dataMap/metaManager/index.d.ts +62 -8
- package/dataMap/metaManager/index.js +66 -0
- package/dataMap/metaManager/index.mjs +66 -0
- package/dataMap/metaManager/lazyFactoryMap.d.ts +68 -43
- package/dataMap/metaManager/lazyFactoryMap.js +497 -110
- package/dataMap/metaManager/lazyFactoryMap.mjs +511 -111
- package/dataMap/metaManager/metaLayers/cellMeta.d.ts +55 -8
- package/dataMap/metaManager/metaLayers/cellMeta.js +108 -8
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +108 -8
- package/dataMap/metaManager/metaLayers/columnMeta.d.ts +2 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -0
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -0
- package/dataMap/metaManager/metaSchema.js +759 -39
- package/dataMap/metaManager/metaSchema.mjs +759 -39
- package/dataMap/metaManager/mods/dynamicCellMeta.d.ts +24 -10
- package/dataMap/metaManager/mods/dynamicCellMeta.js +252 -28
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +253 -29
- package/dataMap/sourceDataValidator.d.ts +13 -21
- package/dataMap/sourceDataValidator.js +39 -29
- package/dataMap/sourceDataValidator.mjs +50 -33
- package/dist/handsontable.full.js +30027 -11261
- package/dist/handsontable.full.min.js +168 -112
- package/dist/handsontable.js +32468 -13762
- package/dist/handsontable.min.js +172 -116
- package/dist/languages/all.js +2 -1
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/fa-IR.js +2 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/themes/classic.js +9 -3
- package/dist/themes/classic.min.js +4 -4
- package/dist/themes/horizon.js +9 -3
- package/dist/themes/horizon.min.js +4 -4
- package/dist/themes/main.js +9 -3
- package/dist/themes/main.min.js +4 -4
- package/dist/themes/static/variables/colors/ant.js +3 -3
- package/dist/themes/static/variables/colors/ant.min.js +3 -3
- package/dist/themes/static/variables/colors/classic.js +3 -3
- package/dist/themes/static/variables/colors/classic.min.js +3 -3
- package/dist/themes/static/variables/colors/horizon.js +3 -3
- package/dist/themes/static/variables/colors/horizon.min.js +3 -3
- package/dist/themes/static/variables/colors/main.js +3 -3
- package/dist/themes/static/variables/colors/main.min.js +3 -3
- package/dist/themes/static/variables/colors/material.js +3 -3
- package/dist/themes/static/variables/colors/material.min.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.js +3 -3
- package/dist/themes/static/variables/colors/shadcn.min.js +3 -3
- package/dist/themes/static/variables/density.js +3 -3
- package/dist/themes/static/variables/density.min.js +3 -3
- package/dist/themes/static/variables/helpers/iconsMap.js +4 -9
- package/dist/themes/static/variables/helpers/iconsMap.min.js +4 -9
- package/dist/themes/static/variables/icons/horizon.js +3 -3
- package/dist/themes/static/variables/icons/horizon.min.js +3 -3
- package/dist/themes/static/variables/icons/main.js +3 -3
- package/dist/themes/static/variables/icons/main.min.js +3 -3
- package/dist/themes/static/variables/sizing.js +3 -3
- package/dist/themes/static/variables/sizing.min.js +3 -3
- package/dist/themes/static/variables/tokens/classic.js +9 -3
- package/dist/themes/static/variables/tokens/classic.min.js +4 -4
- package/dist/themes/static/variables/tokens/horizon.js +9 -3
- package/dist/themes/static/variables/tokens/horizon.min.js +4 -4
- package/dist/themes/static/variables/tokens/main.js +9 -3
- package/dist/themes/static/variables/tokens/main.min.js +4 -4
- package/editorManager.js +152 -3
- package/editorManager.mjs +152 -3
- package/editors/autocompleteEditor/autocompleteEditor.js +58 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +59 -12
- package/editors/baseEditor/baseEditor.d.ts +15 -3
- package/editors/baseEditor/baseEditor.js +5 -3
- package/editors/baseEditor/baseEditor.mjs +15 -3
- package/editors/factory.js +5 -2
- package/editors/factory.mjs +5 -2
- package/editors/index.d.ts +3 -2
- package/editors/index.js +8 -0
- package/editors/index.mjs +3 -1
- package/editors/intlDatetimeEditor/index.d.mts +1 -0
- package/editors/intlDatetimeEditor/index.d.ts +1 -0
- package/editors/intlDatetimeEditor/index.js +19 -0
- package/editors/intlDatetimeEditor/index.mjs +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.mts +1 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.d.ts +42 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.js +108 -0
- package/editors/intlDatetimeEditor/intlDatetimeEditor.mjs +93 -0
- package/editors/multiSelectEditor/multiSelectEditor.js +11 -9
- package/editors/multiSelectEditor/multiSelectEditor.mjs +12 -10
- package/editors/selectEditor/selectEditor.js +2 -1
- package/editors/selectEditor/selectEditor.mjs +2 -1
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +2 -2
- package/eventManager.d.ts +3 -3
- package/focusManager/grid.d.ts +28 -0
- package/focusManager/grid.js +85 -2
- package/focusManager/grid.mjs +81 -3
- package/focusManager/scopeManager.js +1 -1
- package/focusManager/scopeManager.mjs +2 -2
- package/handsontable-non-commercial-license.pdf +0 -0
- package/helpers/array.d.ts +25 -0
- package/helpers/array.js +41 -4
- package/helpers/array.mjs +56 -4
- package/helpers/console.d.ts +25 -3
- package/helpers/console.js +40 -7
- package/helpers/console.mjs +52 -7
- package/helpers/dateTime.d.ts +14 -0
- package/helpers/dateTime.js +74 -2
- package/helpers/dateTime.mjs +73 -2
- package/helpers/dom/cellCoords.js +156 -13
- package/helpers/dom/cellCoords.mjs +156 -13
- package/helpers/dom/element.d.ts +47 -8
- package/helpers/dom/element.js +104 -18
- package/helpers/dom/element.mjs +132 -23
- package/helpers/dom/event.d.ts +58 -0
- package/helpers/dom/event.js +39 -0
- package/helpers/dom/event.mjs +63 -0
- package/helpers/errors.d.ts +5 -0
- package/helpers/errors.js +10 -6
- package/helpers/errors.mjs +10 -6
- package/helpers/feature.d.ts +19 -0
- package/helpers/feature.js +21 -0
- package/helpers/feature.mjs +30 -0
- package/helpers/function.d.ts +1 -1
- package/helpers/function.js +4 -1
- package/helpers/function.mjs +4 -1
- package/helpers/mixed.d.ts +103 -0
- package/helpers/mixed.js +373 -4
- package/helpers/mixed.mjs +413 -4
- package/helpers/moves.js +2 -1
- package/helpers/moves.mjs +2 -1
- package/helpers/number.d.ts +22 -0
- package/helpers/number.js +49 -0
- package/helpers/number.mjs +66 -0
- package/helpers/string.d.ts +14 -10
- package/helpers/string.js +17 -9
- package/helpers/string.mjs +27 -17
- package/helpers/templateString.d.mts +1 -0
- package/helpers/templateString.d.ts +13 -0
- package/helpers/templateString.js +29 -0
- package/helpers/templateString.mjs +19 -0
- package/helpers/uiButton.d.mts +1 -0
- package/helpers/uiButton.d.ts +21 -0
- package/helpers/uiButton.js +37 -0
- package/helpers/uiButton.mjs +31 -0
- package/i18n/languages/fa-IR.d.ts +1 -0
- package/i18n/languages/fa-IR.js +1 -0
- package/i18n/languages/fa-IR.mjs +1 -0
- package/index.d.ts +3 -3
- package/languages/all.js +2 -1
- package/languages/fa-IR.js +2 -1
- package/languages/fa-IR.mjs +1 -0
- package/languages/index.js +2 -1
- package/package.json +61 -1
- package/plugins/autoColumnSize/autoColumnSize.d.ts +24 -1
- package/plugins/autoColumnSize/autoColumnSize.js +501 -82
- package/plugins/autoColumnSize/autoColumnSize.mjs +508 -83
- package/plugins/autoRowSize/autoRowSize.d.ts +40 -5
- package/plugins/autoRowSize/autoRowSize.js +68 -24
- package/plugins/autoRowSize/autoRowSize.mjs +98 -29
- package/plugins/autofill/autofill.js +30 -12
- package/plugins/autofill/autofill.mjs +30 -12
- package/plugins/base/base.d.ts +10 -0
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +4 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +89 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +93 -8
- package/plugins/columnSorting/columnSorting.d.ts +31 -2
- package/plugins/columnSorting/columnSorting.js +151 -24
- package/plugins/columnSorting/columnSorting.mjs +153 -26
- package/plugins/columnSorting/columnStatesManager.d.ts +1 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -7
- package/plugins/columnSorting/columnStatesManager.mjs +1 -7
- package/plugins/columnSorting/domHelpers.d.ts +3 -0
- package/plugins/columnSorting/domHelpers.js +9 -0
- package/plugins/columnSorting/domHelpers.mjs +3 -3
- package/plugins/columnSorting/rootComparator.js +21 -16
- package/plugins/columnSorting/rootComparator.mjs +21 -16
- package/plugins/columnSorting/sortFunction/checkbox.js +7 -5
- package/plugins/columnSorting/sortFunction/checkbox.mjs +7 -5
- package/plugins/columnSorting/sortFunction/default.js +15 -4
- package/plugins/columnSorting/sortFunction/default.mjs +15 -4
- package/plugins/columnSorting/sortFunction/intlDatetime.d.mts +1 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.d.ts +10 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.js +23 -0
- package/plugins/columnSorting/sortFunction/intlDatetime.mjs +12 -0
- package/plugins/columnSorting/sortService/registry.js +2 -0
- package/plugins/columnSorting/sortService/registry.mjs +2 -0
- package/plugins/columnSorting/utils.d.ts +8 -0
- package/plugins/columnSorting/utils.js +37 -45
- package/plugins/columnSorting/utils.mjs +42 -47
- package/plugins/columnSummary/columnSummary.js +9 -5
- package/plugins/columnSummary/columnSummary.mjs +9 -5
- package/plugins/columnSummary/endpoints.d.ts +69 -2
- package/plugins/columnSummary/endpoints.js +181 -29
- package/plugins/columnSummary/endpoints.mjs +181 -29
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +2 -2
- package/plugins/contextMenu/contextMenu.d.ts +12 -1
- package/plugins/contextMenu/contextMenu.js +30 -6
- package/plugins/contextMenu/contextMenu.mjs +30 -6
- package/plugins/contextMenu/index.d.ts +1 -1
- package/plugins/contextMenu/menu/menu.d.ts +22 -1
- package/plugins/contextMenu/menu/menu.js +211 -3
- package/plugins/contextMenu/menu/menu.mjs +212 -4
- package/plugins/contextMenu/menu/menuItemRenderer.js +2 -2
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +2 -2
- package/plugins/contextMenu/predefinedItems/alignment.js +14 -14
- package/plugins/contextMenu/predefinedItems/alignment.mjs +14 -14
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +3 -3
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +3 -3
- package/plugins/contextMenu/utils.js +1 -1
- package/plugins/contextMenu/utils.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +70 -16
- package/plugins/copyPaste/copyPaste.mjs +71 -17
- package/plugins/copyPaste/copyableRanges.js +6 -2
- package/plugins/copyPaste/copyableRanges.mjs +6 -2
- package/plugins/copyPaste/pasteEvent.d.ts +1 -1
- package/plugins/customBorders/customBorders.d.ts +21 -40
- package/plugins/customBorders/customBorders.js +1080 -201
- package/plugins/customBorders/customBorders.mjs +1082 -203
- package/plugins/customBorders/utils.d.ts +71 -0
- package/plugins/customBorders/utils.js +63 -0
- package/plugins/customBorders/utils.mjs +101 -0
- package/plugins/dataProvider/dataProvider.d.ts +2 -1
- package/plugins/dataProvider/dataProvider.js +22 -7
- package/plugins/dataProvider/dataProvider.mjs +22 -7
- package/plugins/dataProvider/query/crud.js +1 -1
- package/plugins/dataProvider/query/crud.mjs +1 -1
- package/plugins/dialog/dialog.js +14 -9
- package/plugins/dialog/dialog.mjs +14 -9
- package/plugins/dialog/templates/confirm.d.ts +1 -1
- package/plugins/dialog/templates/confirm.js +2 -1
- package/plugins/dialog/templates/confirm.mjs +2 -1
- package/plugins/dialog/ui.d.ts +5 -3
- package/plugins/dialog/ui.js +12 -4
- package/plugins/dialog/ui.mjs +12 -4
- package/plugins/dragToScroll/dragToScroll.d.ts +2 -2
- package/plugins/dragToScroll/dragToScroll.js +150 -14
- package/plugins/dragToScroll/dragToScroll.mjs +151 -15
- package/plugins/dropdownMenu/dropdownMenu.d.ts +5 -1
- package/plugins/dropdownMenu/dropdownMenu.js +45 -3
- package/plugins/dropdownMenu/dropdownMenu.mjs +46 -4
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/emptyDataState/emptyDataState.js +4 -6
- package/plugins/emptyDataState/emptyDataState.mjs +4 -6
- package/plugins/emptyDataState/ui.js +2 -1
- package/plugins/emptyDataState/ui.mjs +2 -1
- package/plugins/exportFile/dataProvider.js +7 -9
- package/plugins/exportFile/dataProvider.mjs +7 -9
- package/plugins/exportFile/exportFile.d.ts +10 -3
- package/plugins/exportFile/types/_base.js +4 -10
- package/plugins/exportFile/types/_base.mjs +4 -10
- package/plugins/exportFile/types/xlsx/cell-style.js +4 -2
- package/plugins/exportFile/types/xlsx/cell-style.mjs +4 -2
- package/plugins/exportFile/types/xlsx/date-utils.d.ts +15 -0
- package/plugins/exportFile/types/xlsx/date-utils.js +31 -0
- package/plugins/exportFile/types/xlsx/date-utils.mjs +36 -0
- package/plugins/exportFile/types/xlsx.js +13 -9
- package/plugins/exportFile/types/xlsx.mjs +14 -10
- package/plugins/exportFile/utils.d.ts +9 -1
- package/plugins/exportFile/utils.js +27 -4
- package/plugins/exportFile/utils.mjs +40 -2
- package/plugins/filters/component/_base.d.ts +1 -2
- package/plugins/filters/component/_base.js +1 -2
- package/plugins/filters/component/_base.mjs +1 -2
- package/plugins/filters/component/condition.d.ts +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/value.d.ts +5 -6
- package/plugins/filters/component/value.js +53 -34
- package/plugins/filters/component/value.mjs +54 -35
- package/plugins/filters/condition/date/after.js +2 -1
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/afterOrEqual.js +2 -1
- package/plugins/filters/condition/date/afterOrEqual.mjs +2 -1
- package/plugins/filters/condition/date/before.js +2 -1
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.js +2 -1
- package/plugins/filters/condition/date/beforeOrEqual.mjs +2 -1
- package/plugins/filters/condition/equal.d.ts +7 -0
- package/plugins/filters/condition/equal.js +4 -0
- package/plugins/filters/condition/equal.mjs +10 -0
- package/plugins/filters/condition/intlDatetime/after.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/after.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/after.js +77 -0
- package/plugins/filters/condition/intlDatetime/after.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/afterOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/before.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/before.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/before.js +77 -0
- package/plugins/filters/condition/intlDatetime/before.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.js +77 -0
- package/plugins/filters/condition/intlDatetime/beforeOrEqual.mjs +22 -0
- package/plugins/filters/condition/intlDatetime/between.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/between.d.ts +18 -0
- package/plugins/filters/condition/intlDatetime/between.js +78 -0
- package/plugins/filters/condition/intlDatetime/between.mjs +23 -0
- package/plugins/filters/condition/intlDatetime/today.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/today.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/today.js +76 -0
- package/plugins/filters/condition/intlDatetime/today.mjs +20 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.js +77 -0
- package/plugins/filters/condition/intlDatetime/tomorrow.mjs +21 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.mts +1 -0
- package/plugins/filters/condition/intlDatetime/yesterday.d.ts +17 -0
- package/plugins/filters/condition/intlDatetime/yesterday.js +77 -0
- package/plugins/filters/condition/intlDatetime/yesterday.mjs +21 -0
- package/plugins/filters/conditionCollection.js +4 -7
- package/plugins/filters/conditionCollection.mjs +4 -7
- package/plugins/filters/conditionUpdateObserver.d.ts +2 -2
- package/plugins/filters/conditionUpdateObserver.js +148 -49
- package/plugins/filters/conditionUpdateObserver.mjs +148 -49
- package/plugins/filters/constants.d.ts +1 -0
- package/plugins/filters/constants.js +31 -0
- package/plugins/filters/constants.mjs +28 -0
- package/plugins/filters/dataFilter.d.ts +4 -12
- package/plugins/filters/dataFilter.js +7 -19
- package/plugins/filters/dataFilter.mjs +8 -20
- package/plugins/filters/filters.d.ts +33 -9
- package/plugins/filters/filters.js +91 -31
- package/plugins/filters/filters.mjs +92 -32
- package/plugins/filters/sortComparators.d.ts +9 -2
- package/plugins/filters/sortComparators.js +34 -1
- package/plugins/filters/sortComparators.mjs +38 -3
- package/plugins/filters/ui/input.d.ts +4 -0
- package/plugins/filters/ui/input.js +18 -6
- package/plugins/filters/ui/input.mjs +18 -6
- package/plugins/filters/ui/multipleSelect.js +27 -4
- package/plugins/filters/ui/multipleSelect.mjs +27 -4
- package/plugins/filters/ui/select.js +1 -1
- package/plugins/filters/ui/select.mjs +1 -1
- package/plugins/formulas/engine/register.d.ts +5 -4
- package/plugins/formulas/engine/register.js +5 -2
- package/plugins/formulas/engine/register.mjs +9 -5
- package/plugins/formulas/engine/settings.d.ts +2 -6
- package/plugins/formulas/engine/settings.js +29 -4
- package/plugins/formulas/engine/settings.mjs +29 -4
- package/plugins/formulas/engine/types.d.ts +12 -2
- package/plugins/formulas/formulas.d.ts +39 -0
- package/plugins/formulas/formulas.js +789 -47
- package/plugins/formulas/formulas.mjs +793 -49
- package/plugins/formulas/hyperlinkUrl.d.mts +1 -0
- package/plugins/formulas/hyperlinkUrl.d.ts +12 -0
- package/plugins/formulas/hyperlinkUrl.js +32 -0
- package/plugins/formulas/hyperlinkUrl.mjs +32 -0
- package/plugins/formulas/indexSyncer/axisSyncer.d.ts +1 -0
- package/plugins/formulas/indexSyncer/axisSyncer.js +72 -15
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +72 -15
- package/plugins/formulas/utils.d.ts +9 -0
- package/plugins/formulas/utils.js +21 -0
- package/plugins/formulas/utils.mjs +25 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +6 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +6 -1
- package/plugins/hiddenColumns/hiddenColumns.js +6 -3
- package/plugins/hiddenColumns/hiddenColumns.mjs +6 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.js +6 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +6 -1
- package/plugins/hiddenRows/hiddenRows.js +6 -3
- package/plugins/hiddenRows/hiddenRows.mjs +6 -3
- package/plugins/index.d.ts +5 -1
- package/plugins/index.js +10 -0
- package/plugins/index.mjs +5 -1
- package/plugins/loading/content.d.ts +5 -3
- package/plugins/loading/content.js +3 -2
- package/plugins/loading/content.mjs +8 -5
- package/plugins/loading/loading.d.ts +5 -2
- package/plugins/loading/loading.mjs +5 -2
- package/plugins/manualColumnMove/manualColumnMove.d.ts +10 -0
- package/plugins/manualColumnMove/manualColumnMove.js +122 -20
- package/plugins/manualColumnMove/manualColumnMove.mjs +123 -21
- package/plugins/manualColumnResize/manualColumnResize.d.ts +20 -7
- package/plugins/manualColumnResize/manualColumnResize.js +33 -13
- package/plugins/manualColumnResize/manualColumnResize.mjs +34 -14
- package/plugins/manualRowResize/manualRowResize.d.ts +21 -8
- package/plugins/manualRowResize/manualRowResize.js +34 -14
- package/plugins/manualRowResize/manualRowResize.mjs +35 -15
- package/plugins/mergeCells/cellCoords.d.ts +8 -0
- package/plugins/mergeCells/cellCoords.js +11 -0
- package/plugins/mergeCells/cellCoords.mjs +11 -0
- package/plugins/mergeCells/cellsCollection.d.ts +46 -2
- package/plugins/mergeCells/cellsCollection.js +189 -68
- package/plugins/mergeCells/cellsCollection.mjs +189 -68
- package/plugins/mergeCells/focusOrder.d.ts +26 -20
- package/plugins/mergeCells/focusOrder.js +358 -177
- package/plugins/mergeCells/focusOrder.mjs +363 -172
- package/plugins/mergeCells/mergeCells.d.ts +13 -8
- package/plugins/mergeCells/mergeCells.js +322 -64
- package/plugins/mergeCells/mergeCells.mjs +322 -64
- package/plugins/moveCells/helpers.d.mts +1 -0
- package/plugins/moveCells/helpers.d.ts +21 -0
- package/plugins/moveCells/helpers.js +20 -0
- package/plugins/moveCells/helpers.mjs +15 -0
- package/plugins/moveCells/index.d.mts +1 -0
- package/plugins/moveCells/index.d.ts +1 -0
- package/plugins/moveCells/index.js +22 -0
- package/plugins/moveCells/index.mjs +1 -0
- package/plugins/moveCells/moveCells.d.mts +1 -0
- package/plugins/moveCells/moveCells.d.ts +80 -0
- package/plugins/moveCells/moveCells.js +602 -0
- package/plugins/moveCells/moveCells.mjs +587 -0
- package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -8
- package/plugins/multiColumnSorting/multiColumnSorting.js +11 -16
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +11 -16
- package/plugins/multiColumnSorting/rootComparator.js +26 -19
- package/plugins/multiColumnSorting/rootComparator.mjs +26 -19
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +19 -4
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +273 -58
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +273 -58
- package/plugins/nestedHeaders/nestedHeaders.d.ts +10 -1
- package/plugins/nestedHeaders/nestedHeaders.js +222 -23
- package/plugins/nestedHeaders/nestedHeaders.mjs +222 -23
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.d.ts +37 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.js +35 -0
- package/plugins/nestedHeaders/stateManager/columnArrangement.mjs +30 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.mts +1 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.d.ts +57 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.js +115 -0
- package/plugins/nestedHeaders/stateManager/deriveSettings.mjs +135 -0
- package/plugins/nestedHeaders/stateManager/headersTree.d.ts +14 -1
- package/plugins/nestedHeaders/stateManager/index.d.ts +76 -13
- package/plugins/nestedHeaders/stateManager/index.js +381 -38
- package/plugins/nestedHeaders/stateManager/index.mjs +382 -39
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +3 -2
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +3 -2
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +5 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.d.ts +23 -6
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +20 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +20 -4
- package/plugins/nestedHeaders/stateManager/utils.d.ts +17 -1
- package/plugins/nestedHeaders/stateManager/utils.js +6 -1
- package/plugins/nestedHeaders/stateManager/utils.mjs +6 -1
- package/plugins/nestedHeaders/utils/ghostTable.js +21 -8
- package/plugins/nestedHeaders/utils/ghostTable.mjs +21 -8
- package/plugins/nestedRows/data/dataManager.d.ts +4 -1
- package/plugins/nestedRows/data/dataManager.js +10 -4
- package/plugins/nestedRows/data/dataManager.mjs +10 -4
- package/plugins/nestedRows/nestedRows.d.ts +127 -1
- package/plugins/nestedRows/nestedRows.js +330 -8
- package/plugins/nestedRows/nestedRows.mjs +330 -8
- package/plugins/nestedRows/ui/collapsing.d.ts +58 -0
- package/plugins/nestedRows/ui/collapsing.js +236 -40
- package/plugins/nestedRows/ui/collapsing.mjs +236 -40
- package/plugins/notification/notification.d.ts +2 -1
- package/plugins/notification/notification.js +6 -3
- package/plugins/notification/notification.mjs +6 -3
- package/plugins/notification/ui.d.ts +8 -5
- package/plugins/notification/ui.js +18 -6
- package/plugins/notification/ui.mjs +18 -6
- package/plugins/pagination/pagination.js +2 -2
- package/plugins/pagination/pagination.mjs +2 -2
- package/plugins/search/search.js +23 -2
- package/plugins/search/search.mjs +23 -2
- package/plugins/selectionHandles/helpers.d.mts +1 -0
- package/plugins/selectionHandles/helpers.d.ts +17 -0
- package/plugins/selectionHandles/helpers.js +16 -0
- package/plugins/selectionHandles/helpers.mjs +11 -0
- package/plugins/selectionHandles/index.d.mts +1 -0
- package/plugins/selectionHandles/index.d.ts +1 -0
- package/plugins/selectionHandles/index.js +22 -0
- package/plugins/selectionHandles/index.mjs +1 -0
- package/plugins/selectionHandles/selectionHandles.d.mts +1 -0
- package/plugins/selectionHandles/selectionHandles.d.ts +52 -0
- package/plugins/selectionHandles/selectionHandles.js +342 -0
- package/plugins/selectionHandles/selectionHandles.mjs +323 -0
- package/plugins/trimRows/trimRows.d.ts +1 -1
- package/plugins/trimRows/trimRows.js +6 -2
- package/plugins/trimRows/trimRows.mjs +6 -2
- package/plugins/types.d.ts +4 -0
- package/plugins/undoRedo/actions/cellAlignment.js +1 -1
- package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
- package/plugins/undoRedo/actions/createColumn.js +4 -1
- package/plugins/undoRedo/actions/createColumn.mjs +4 -1
- package/plugins/undoRedo/actions/createRow.js +4 -1
- package/plugins/undoRedo/actions/createRow.mjs +4 -1
- package/plugins/undoRedo/actions/fixedCounts.d.mts +1 -0
- package/plugins/undoRedo/actions/fixedCounts.d.ts +36 -0
- package/plugins/undoRedo/actions/fixedCounts.js +63 -0
- package/plugins/undoRedo/actions/fixedCounts.mjs +62 -0
- package/plugins/undoRedo/actions/index.js +2 -0
- package/plugins/undoRedo/actions/index.mjs +2 -0
- package/plugins/undoRedo/actions/moveCells.d.mts +1 -0
- package/plugins/undoRedo/actions/moveCells.d.ts +104 -0
- package/plugins/undoRedo/actions/moveCells.js +225 -0
- package/plugins/undoRedo/actions/moveCells.mjs +227 -0
- package/plugins/undoRedo/actions/removeColumn.d.ts +18 -2
- package/plugins/undoRedo/actions/removeColumn.js +11 -4
- package/plugins/undoRedo/actions/removeColumn.mjs +12 -5
- package/plugins/undoRedo/actions/removeRow.js +2 -57
- package/plugins/undoRedo/actions/removeRow.mjs +2 -57
- package/plugins/undoRedo/undoRedo.d.ts +26 -0
- package/plugins/undoRedo/undoRedo.js +36 -2
- package/plugins/undoRedo/undoRedo.mjs +36 -2
- package/plugins/undoRedo/utils.d.ts +29 -0
- package/plugins/undoRedo/utils.js +55 -3
- package/plugins/undoRedo/utils.mjs +59 -0
- package/renderSizeProbe.d.mts +1 -0
- package/renderSizeProbe.d.ts +60 -0
- package/renderSizeProbe.js +163 -0
- package/renderSizeProbe.mjs +176 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/index.d.ts +3 -2
- package/renderers/index.js +8 -0
- package/renderers/index.mjs +3 -1
- package/renderers/intlDatetimeRenderer/index.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/index.d.ts +1 -0
- package/renderers/intlDatetimeRenderer/index.js +22 -0
- package/renderers/intlDatetimeRenderer/index.mjs +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.mts +1 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.d.ts +26 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.js +82 -0
- package/renderers/intlDatetimeRenderer/intlDatetimeRenderer.mjs +67 -0
- package/renderers/multiSelectRenderer/multiSelectRenderer.js +2 -3
- package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +2 -3
- package/renderers/multiSelectRenderer/utils/utils.d.ts +1 -1
- package/renderers/multiSelectRenderer/utils/utils.js +11 -8
- package/renderers/multiSelectRenderer/utils/utils.mjs +11 -8
- package/renderers/passwordRenderer/passwordRenderer.js +6 -1
- package/renderers/passwordRenderer/passwordRenderer.mjs +6 -1
- package/renderers/renderCell.d.mts +1 -0
- package/renderers/renderCell.d.ts +37 -0
- package/renderers/renderCell.js +43 -0
- package/renderers/renderCell.mjs +48 -0
- package/selection/highlight/types/areaLayered.d.ts +3 -1
- package/selection/highlight/types/areaLayered.js +4 -2
- package/selection/highlight/types/areaLayered.mjs +6 -2
- package/selection/highlight/types/focus.d.ts +3 -1
- package/selection/highlight/types/focus.js +3 -2
- package/selection/highlight/types/focus.mjs +5 -2
- package/selection/mouseEventHandler.js +29 -26
- package/selection/mouseEventHandler.mjs +29 -26
- package/selection/moveCells.d.mts +1 -0
- package/selection/moveCells.d.ts +15 -0
- package/selection/moveCells.js +13 -0
- package/selection/moveCells.mjs +9 -0
- package/selection/selection.d.ts +56 -2
- package/selection/selection.js +149 -5
- package/selection/selection.mjs +149 -5
- package/selection/types.d.ts +3 -0
- package/settings.d.ts +24 -3
- package/shortcuts/context.d.ts +4 -0
- package/shortcuts/context.js +16 -8
- package/shortcuts/context.mjs +20 -8
- package/shortcuts/contexts/commands/populateSelectedCellsData.js +1 -1
- package/shortcuts/contexts/commands/populateSelectedCellsData.mjs +1 -1
- package/styles/handsontable.css +504 -158
- package/styles/handsontable.min.css +4 -4
- package/styles/handsontableStyles.d.mts +2 -0
- package/styles/handsontableStyles.d.ts +2 -0
- package/styles/handsontableStyles.js +1 -1
- package/styles/handsontableStyles.mjs +1 -1
- package/styles/ht-icons-horizon.css +1 -10
- package/styles/ht-icons-horizon.min.css +4 -4
- package/styles/ht-icons-main.css +1 -10
- package/styles/ht-icons-main.min.css +4 -4
- package/styles/ht-theme-classic-no-icons.css +6 -0
- package/styles/ht-theme-classic-no-icons.min.css +4 -4
- package/styles/ht-theme-classic.css +7 -10
- package/styles/ht-theme-classic.min.css +4 -4
- package/styles/ht-theme-horizon-no-icons.css +6 -0
- package/styles/ht-theme-horizon-no-icons.min.css +4 -4
- package/styles/ht-theme-horizon.css +7 -10
- package/styles/ht-theme-horizon.min.css +4 -4
- package/styles/ht-theme-main-no-icons.css +6 -0
- package/styles/ht-theme-main-no-icons.min.css +4 -4
- package/styles/ht-theme-main.css +7 -10
- package/styles/ht-theme-main.min.css +4 -4
- package/tableView.d.ts +17 -4
- package/tableView.js +208 -42
- package/tableView.mjs +209 -43
- package/themes/engine/index.d.ts +2 -1
- package/themes/engine/index.js +3 -0
- package/themes/engine/index.mjs +1 -1
- package/themes/engine/manager.d.ts +75 -3
- package/themes/engine/manager.js +242 -6
- package/themes/engine/manager.mjs +249 -6
- package/themes/engine/utils/cssVariables.d.ts +18 -1
- package/themes/engine/utils/cssVariables.js +27 -11
- package/themes/engine/utils/cssVariables.mjs +28 -11
- package/themes/engine/utils/validation.js +7 -0
- package/themes/engine/utils/validation.mjs +7 -0
- package/themes/static/variables/helpers/iconsMap.js +1 -6
- package/themes/static/variables/helpers/iconsMap.mjs +1 -6
- package/themes/static/variables/tokens/classic.js +6 -0
- package/themes/static/variables/tokens/classic.mjs +6 -0
- package/themes/static/variables/tokens/horizon.js +6 -0
- package/themes/static/variables/tokens/horizon.mjs +6 -0
- package/themes/static/variables/tokens/main.js +6 -0
- package/themes/static/variables/tokens/main.mjs +6 -0
- package/themes/types.d.ts +1 -1
- package/translations/indexMapper.d.ts +14 -9
- package/translations/indexMapper.js +104 -43
- package/translations/indexMapper.mjs +104 -43
- package/translations/mapCollections/aggregatedCollection.js +20 -35
- package/translations/mapCollections/aggregatedCollection.mjs +20 -35
- package/translations/mapCollections/mapCollection.d.ts +10 -4
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +2 -2
- package/translations/maps/booleanMap.d.mts +1 -0
- package/translations/maps/booleanMap.d.ts +86 -0
- package/translations/maps/booleanMap.js +300 -0
- package/translations/maps/booleanMap.mjs +308 -0
- package/translations/maps/hidingMap.d.ts +5 -2
- package/translations/maps/hidingMap.js +8 -3
- package/translations/maps/hidingMap.mjs +8 -3
- package/translations/maps/index.d.ts +5 -2
- package/translations/maps/index.js +7 -3
- package/translations/maps/index.mjs +10 -2
- package/translations/maps/indexMap.d.ts +26 -2
- package/translations/maps/indexMap.js +78 -6
- package/translations/maps/indexMap.mjs +78 -6
- package/translations/maps/indexesSequence.d.ts +53 -2
- package/translations/maps/indexesSequence.js +225 -3
- package/translations/maps/indexesSequence.mjs +233 -3
- package/translations/maps/trimmingMap.d.ts +5 -2
- package/translations/maps/trimmingMap.js +8 -3
- package/translations/maps/trimmingMap.mjs +8 -3
- package/translations/maps/utils/actionsOnIndexes.js +20 -1
- package/translations/maps/utils/actionsOnIndexes.mjs +20 -1
- package/translations/maps/utils/indexesSequence.js +12 -3
- package/translations/maps/utils/indexesSequence.mjs +12 -3
- package/translations/maps/utils/physicallyIndexed.js +12 -1
- package/translations/maps/utils/physicallyIndexed.mjs +12 -1
- package/utils/entitlementLicenseKey/classify.d.mts +1 -0
- package/utils/entitlementLicenseKey/classify.d.ts +34 -0
- package/utils/entitlementLicenseKey/classify.js +97 -0
- package/utils/entitlementLicenseKey/classify.mjs +96 -0
- package/utils/entitlementLicenseKey/constants.d.mts +1 -0
- package/utils/entitlementLicenseKey/constants.d.ts +69 -0
- package/utils/entitlementLicenseKey/constants.js +54 -0
- package/utils/entitlementLicenseKey/constants.mjs +66 -0
- package/utils/entitlementLicenseKey/detectFormat.d.mts +1 -0
- package/utils/entitlementLicenseKey/detectFormat.d.ts +23 -0
- package/utils/entitlementLicenseKey/detectFormat.js +60 -0
- package/utils/entitlementLicenseKey/detectFormat.mjs +60 -0
- package/utils/entitlementLicenseKey/encoding.d.mts +1 -0
- package/utils/entitlementLicenseKey/encoding.d.ts +58 -0
- package/utils/entitlementLicenseKey/encoding.js +161 -0
- package/utils/entitlementLicenseKey/encoding.mjs +172 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.mts +1 -0
- package/utils/entitlementLicenseKey/extractKeyData.d.ts +47 -0
- package/utils/entitlementLicenseKey/extractKeyData.js +213 -0
- package/utils/entitlementLicenseKey/extractKeyData.mjs +232 -0
- package/utils/entitlementLicenseKey/grants.d.mts +1 -0
- package/utils/entitlementLicenseKey/grants.d.ts +54 -0
- package/utils/entitlementLicenseKey/grants.js +68 -0
- package/utils/entitlementLicenseKey/grants.mjs +84 -0
- package/utils/entitlementLicenseKey/index.d.mts +1 -0
- package/utils/entitlementLicenseKey/index.d.ts +8 -0
- package/utils/entitlementLicenseKey/index.js +53 -0
- package/utils/entitlementLicenseKey/index.mjs +6 -0
- package/utils/entitlementLicenseKey/sha512.d.mts +1 -0
- package/utils/entitlementLicenseKey/sha512.d.ts +11 -0
- package/utils/entitlementLicenseKey/sha512.js +328 -0
- package/utils/entitlementLicenseKey/sha512.mjs +327 -0
- package/utils/entitlementLicenseKey/types.d.mts +1 -0
- package/utils/entitlementLicenseKey/types.d.ts +84 -0
- package/utils/entitlementLicenseKey/types.js +8 -0
- package/utils/entitlementLicenseKey/types.mjs +10 -0
- package/utils/ghostTable.d.ts +1 -0
- package/utils/ghostTable.js +60 -11
- package/utils/ghostTable.mjs +60 -11
- package/utils/licenseBranding/badge.d.mts +1 -0
- package/utils/licenseBranding/badge.d.ts +21 -0
- package/utils/licenseBranding/badge.js +237 -0
- package/utils/licenseBranding/badge.mjs +244 -0
- package/utils/licenseBranding/content.d.mts +1 -0
- package/utils/licenseBranding/content.d.ts +54 -0
- package/utils/licenseBranding/content.js +93 -0
- package/utils/licenseBranding/content.mjs +79 -0
- package/utils/licenseBranding/index.d.mts +1 -0
- package/utils/licenseBranding/index.d.ts +14 -0
- package/utils/licenseBranding/index.js +55 -0
- package/utils/licenseBranding/index.mjs +56 -0
- package/utils/licenseBranding/lockScreen.d.mts +1 -0
- package/utils/licenseBranding/lockScreen.d.ts +23 -0
- package/utils/licenseBranding/lockScreen.js +150 -0
- package/utils/licenseBranding/lockScreen.mjs +159 -0
- package/utils/licenseNotification.d.ts +19 -0
- package/utils/licenseNotification.js +56 -29
- package/utils/licenseNotification.mjs +61 -29
- package/utils/movableMeta.d.mts +1 -0
- package/utils/movableMeta.d.ts +40 -0
- package/utils/movableMeta.js +47 -0
- package/utils/movableMeta.mjs +46 -0
- package/utils/parseTable.js +16 -7
- package/utils/parseTable.mjs +16 -7
- package/utils/samplesGenerator.d.ts +41 -14
- package/utils/samplesGenerator.js +114 -42
- package/utils/samplesGenerator.mjs +114 -42
- package/utils/sanitizer.d.mts +1 -0
- package/utils/sanitizer.d.ts +47 -0
- package/utils/sanitizer.js +43 -0
- package/utils/sanitizer.mjs +55 -0
- package/utils/stylesHandler.d.ts +13 -0
- package/utils/stylesHandler.js +55 -2
- package/utils/stylesHandler.mjs +55 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +3 -0
- package/validators/autocompleteValidator/autocompleteValidator.mjs +3 -0
- package/validators/index.d.ts +3 -2
- package/validators/index.js +8 -0
- package/validators/index.mjs +3 -1
- package/validators/intlDatetimeValidator/index.d.mts +1 -0
- package/validators/intlDatetimeValidator/index.d.ts +1 -0
- package/validators/intlDatetimeValidator/index.js +25 -0
- package/validators/intlDatetimeValidator/index.mjs +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.mts +1 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.d.ts +28 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.js +49 -0
- package/validators/intlDatetimeValidator/intlDatetimeValidator.mjs +37 -0
- package/3rdparty/walkontable/src/overlay/bottom.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/top.d.mts +0 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.d.mts +0 -1
- package/3rdparty/walkontable/src/overlays.d.ts +0 -329
- package/3rdparty/walkontable/src/overlays.js +0 -870
- package/3rdparty/walkontable/src/overlays.mjs +0 -860
- package/3rdparty/walkontable/src/renderer/table.d.mts +0 -1
- package/3rdparty/walkontable/src/renderer/table.js +0 -229
- package/3rdparty/walkontable/src/settings.d.mts +0 -2
- package/3rdparty/walkontable/src/settings.js +0 -196
- package/3rdparty/walkontable/src/settings.mjs +0 -263
- package/3rdparty/walkontable/src/table/bottom.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottom.d.ts +0 -19
- package/3rdparty/walkontable/src/table/bottom.js +0 -38
- package/3rdparty/walkontable/src/table/bottom.mjs +0 -23
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table/inlineStart.d.mts +0 -2
- package/3rdparty/walkontable/src/table/inlineStart.d.ts +0 -16
- package/3rdparty/walkontable/src/table/inlineStart.js +0 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +0 -20
- package/3rdparty/walkontable/src/table/master.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -112
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.mts +0 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.d.ts +0 -75
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -122
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -112
- package/3rdparty/walkontable/src/table/top.d.mts +0 -2
- package/3rdparty/walkontable/src/table/top.d.ts +0 -19
- package/3rdparty/walkontable/src/table/top.js +0 -38
- package/3rdparty/walkontable/src/table/top.mjs +0 -23
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.mts +0 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.d.ts +0 -20
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +0 -24
- package/3rdparty/walkontable/src/table.d.mts +0 -2
- package/3rdparty/walkontable/src/table.d.ts +0 -741
- package/3rdparty/walkontable/src/table.js +0 -1120
- package/3rdparty/walkontable/src/table.mjs +0 -1105
- package/3rdparty/walkontable/src/utils/cellCoords.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/cellCoords.js +0 -54
- package/3rdparty/walkontable/src/utils/cellCoords.mjs +0 -54
- package/3rdparty/walkontable/src/utils/column.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/column.js +0 -75
- package/3rdparty/walkontable/src/utils/column.mjs +0 -70
- package/3rdparty/walkontable/src/utils/positionCache.d.mts +0 -1
- package/3rdparty/walkontable/src/utils/positionCache.d.ts +0 -91
- package/3rdparty/walkontable/src/utils/positionCache.js +0 -193
- package/3rdparty/walkontable/src/utils/positionCache.mjs +0 -194
- package/3rdparty/walkontable/src/utils/row.d.mts +0 -2
- package/3rdparty/walkontable/src/utils/row.js +0 -46
- package/3rdparty/walkontable/src/utils/row.mjs +0 -41
- package/3rdparty/walkontable/src/viewport.d.ts +0 -254
- package/3rdparty/walkontable/src/viewport.js +0 -533
- package/3rdparty/walkontable/src/viewport.mjs +0 -523
- /package/3rdparty/walkontable/src/{renderer → axisSizing/positionCache}/index.d.mts +0 -0
- /package/3rdparty/walkontable/src/{overlays.d.mts → overlay/overlays.d.mts} +0 -0
- /package/3rdparty/walkontable/src/overlay/{_base.d.mts → regions/_base.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{stickyScrollStrategy.d.mts → overlay/strategies/stickyScrollStrategy.d.mts} +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/_base.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/cells.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/colGroup.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaderRows.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/columnHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.d.ts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.js +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rowHeaders.mjs +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.mts +0 -0
- /package/3rdparty/walkontable/src/{renderer → render}/rows.d.ts +0 -0
- /package/3rdparty/walkontable/src/{scroll.d.mts → scroll/scroll.d.mts} +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyColumnsStart.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.d.mts +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.js +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsBottom.mjs +0 -0
- /package/3rdparty/walkontable/src/table/{mixin → rangeQuery}/stickyRowsTop.d.mts +0 -0
- /package/3rdparty/walkontable/src/{viewport.d.mts → viewport/viewport.d.mts} +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Construction-time DOM scaffolding for `Table` and every subclass.
|
|
3
|
+
*
|
|
4
|
+
* These methods build the wrapper DOM the engine renders into — the `wtSpreader` / `wtHider` /
|
|
5
|
+
* `wtHolder` wrapper chain around the `<table>`, and the `thead`/`tbody`/`colgroup` sections. They run
|
|
6
|
+
* once from the `Table` constructor. They are universal (every table type needs them), so the mixin is
|
|
7
|
+
* applied once to the base `Table` (`mixin(Table, domScaffold)` in `table.ts`) and inherited by all
|
|
8
|
+
* subclasses. The methods run on the `Table` instance (`this`), assigning its public fields
|
|
9
|
+
* (`TABLE`/`THEAD`/`TBODY`/`COLGROUP`) and reading the settings. They reach the injected deps through
|
|
10
|
+
* the read-only `this.deps` getter, since a mixin cannot see the class's `#deps` private field.
|
|
11
|
+
*/ import { isHTMLElement, hasClass, setAttribute } from '../../../../helpers/dom/element.mjs';
|
|
12
|
+
import { A11Y_PRESENTATION, A11Y_TABINDEX } from '../../../../helpers/a11y.mjs';
|
|
13
|
+
import { defineGetter } from '../../../../helpers/object.mjs';
|
|
14
|
+
const domScaffold = {
|
|
15
|
+
/**
|
|
16
|
+
* Ensures the table has `tbody`, `thead`, and `colgroup` sections, creating any that are missing.
|
|
17
|
+
*
|
|
18
|
+
* @this Table
|
|
19
|
+
*/ fixTableDomTree () {
|
|
20
|
+
const rootDocument = this.deps.rootDocument;
|
|
21
|
+
this.TBODY = this.TABLE.querySelector('tbody');
|
|
22
|
+
if (!this.TBODY) {
|
|
23
|
+
this.TBODY = rootDocument.createElement('tbody');
|
|
24
|
+
this.TABLE.appendChild(this.TBODY);
|
|
25
|
+
}
|
|
26
|
+
this.THEAD = this.TABLE.querySelector('thead');
|
|
27
|
+
if (!this.THEAD) {
|
|
28
|
+
this.THEAD = rootDocument.createElement('thead');
|
|
29
|
+
this.TABLE.insertBefore(this.THEAD, this.TBODY);
|
|
30
|
+
}
|
|
31
|
+
this.COLGROUP = this.TABLE.querySelector('colgroup');
|
|
32
|
+
if (!this.COLGROUP) {
|
|
33
|
+
this.COLGROUP = rootDocument.createElement('colgroup');
|
|
34
|
+
this.TABLE.insertBefore(this.COLGROUP, this.THEAD);
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
/**
|
|
38
|
+
* @param {HTMLTableElement} table An element to process.
|
|
39
|
+
* @returns {HTMLElement}
|
|
40
|
+
* @this Table
|
|
41
|
+
*/ createSpreader (table) {
|
|
42
|
+
const parent = table.parentNode;
|
|
43
|
+
let spreader;
|
|
44
|
+
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !isHTMLElement(parent) || !hasClass(parent, 'wtHolder')) {
|
|
45
|
+
spreader = this.deps.rootDocument.createElement('div');
|
|
46
|
+
spreader.className = 'wtSpreader';
|
|
47
|
+
if (parent) {
|
|
48
|
+
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
|
49
|
+
table.before(spreader);
|
|
50
|
+
}
|
|
51
|
+
spreader.appendChild(table);
|
|
52
|
+
}
|
|
53
|
+
if (spreader) {
|
|
54
|
+
spreader.style.position = 'relative';
|
|
55
|
+
if (this.wtSettings.getSetting('ariaTags')) {
|
|
56
|
+
setAttribute(spreader, [
|
|
57
|
+
A11Y_PRESENTATION()
|
|
58
|
+
]);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return spreader;
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* @param {HTMLElement} spreader An element to the hider element is injected.
|
|
65
|
+
* @returns {HTMLElement}
|
|
66
|
+
* @this Table
|
|
67
|
+
*/ createHider (spreader) {
|
|
68
|
+
const parent = spreader.parentNode;
|
|
69
|
+
let hider;
|
|
70
|
+
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !isHTMLElement(parent) || !hasClass(parent, 'wtHolder')) {
|
|
71
|
+
hider = this.deps.rootDocument.createElement('div');
|
|
72
|
+
hider.className = 'wtHider';
|
|
73
|
+
if (parent) {
|
|
74
|
+
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
|
75
|
+
spreader.before(hider);
|
|
76
|
+
}
|
|
77
|
+
hider.appendChild(spreader);
|
|
78
|
+
}
|
|
79
|
+
if (hider && this.wtSettings.getSetting('ariaTags')) {
|
|
80
|
+
setAttribute(hider, [
|
|
81
|
+
A11Y_PRESENTATION()
|
|
82
|
+
]);
|
|
83
|
+
}
|
|
84
|
+
return hider;
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* @param {HTMLElement} hider An element to the holder element is injected.
|
|
88
|
+
* @returns {HTMLElement}
|
|
89
|
+
* @this Table
|
|
90
|
+
*/ createHolder (hider) {
|
|
91
|
+
const parent = hider.parentNode;
|
|
92
|
+
let holder;
|
|
93
|
+
if (!parent || parent.nodeType !== Node.ELEMENT_NODE || !isHTMLElement(parent) || !hasClass(parent, 'wtHolder')) {
|
|
94
|
+
holder = this.deps.rootDocument.createElement('div');
|
|
95
|
+
holder.style.position = 'relative';
|
|
96
|
+
holder.className = 'wtHolder';
|
|
97
|
+
if (this.isMaster) {
|
|
98
|
+
setAttribute(holder, [
|
|
99
|
+
A11Y_TABINDEX(-1)
|
|
100
|
+
]);
|
|
101
|
+
}
|
|
102
|
+
if (parent) {
|
|
103
|
+
// if TABLE is detached (e.g. in Jasmine test), it has no parentNode so we cannot attach holder to it
|
|
104
|
+
hider.before(holder);
|
|
105
|
+
}
|
|
106
|
+
if (this.isMaster) {
|
|
107
|
+
const holderParent = holder.parentNode;
|
|
108
|
+
// holderParent is null when TABLE is detached (e.g. in Jasmine tests); skip class assignment in that case.
|
|
109
|
+
// isHTMLElement() is used instead of `instanceof HTMLElement` because the latter fails in
|
|
110
|
+
// cross-frame contexts (e.g. when HoT is mounted inside an <iframe> via React portals):
|
|
111
|
+
// the iframe's HTMLElement constructor !== the parent frame's HTMLElement.
|
|
112
|
+
if (isHTMLElement(holderParent)) {
|
|
113
|
+
holderParent.className += 'ht_master handsontable';
|
|
114
|
+
holderParent.setAttribute('dir', this.wtSettings.getSettingPure('rtlMode') ? 'rtl' : 'ltr');
|
|
115
|
+
if (this.wtSettings.getSetting('ariaTags')) {
|
|
116
|
+
setAttribute(holderParent, [
|
|
117
|
+
A11Y_PRESENTATION()
|
|
118
|
+
]);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
holder.appendChild(hider);
|
|
123
|
+
}
|
|
124
|
+
if (holder && this.wtSettings.getSetting('ariaTags')) {
|
|
125
|
+
setAttribute(holder, [
|
|
126
|
+
A11Y_PRESENTATION()
|
|
127
|
+
]);
|
|
128
|
+
}
|
|
129
|
+
return holder;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
defineGetter(domScaffold, 'MIXIN_NAME', 'domScaffold', {
|
|
133
|
+
writable: false,
|
|
134
|
+
enumerable: false
|
|
135
|
+
});
|
|
136
|
+
export { domScaffold };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './drawCycle.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type Table from './baseTable';
|
|
2
|
+
/**
|
|
3
|
+
* Runs one draw of a Walkontable table. Dispatches to the master or the overlay-clone cycle by
|
|
4
|
+
* instance role. Both cycles are free functions over the table's public surface + `get deps()`
|
|
5
|
+
* (never `#deps`), exactly like the `cellAccess`/`domScaffold` mixins — so the draw orchestration
|
|
6
|
+
* lives outside the `Table` class while the measurement/query methods it calls stay on it.
|
|
7
|
+
*
|
|
8
|
+
* Behavior is byte-identical to the previous single `Table.draw()`: the master cycle keeps every
|
|
9
|
+
* step in its original order, and the clone cycle is the strict subset a clone executed (a clone
|
|
10
|
+
* never has a begin-layout phase, never fires the view hooks, and never runs the fixed-position
|
|
11
|
+
* pass, so `positionChanged` stays `false` and it always renders selections through the else-path).
|
|
12
|
+
*
|
|
13
|
+
* @param {Table} table The table instance (master or an overlay clone).
|
|
14
|
+
* @param {boolean} fastDraw If `true`, try to only reposition rather than re-render cells.
|
|
15
|
+
*/
|
|
16
|
+
export declare function runDrawCycle(table: Table, fastDraw: boolean): void;
|
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "runDrawCycle", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return runDrawCycle;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _column = /*#__PURE__*/ _interop_require_default(require("../filter/column"));
|
|
12
|
+
const _row = /*#__PURE__*/ _interop_require_default(require("../filter/row"));
|
|
13
|
+
const _overlay = require("../overlay");
|
|
14
|
+
const _oversizedRows = require("../axisSizing/oversizedRows");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function runDrawCycle(table, fastDraw) {
|
|
21
|
+
const { wtSettings } = table;
|
|
22
|
+
const rowHeaders = wtSettings.getSetting('rowHeaders');
|
|
23
|
+
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
|
24
|
+
const ctx = {
|
|
25
|
+
runFastDraw: fastDraw,
|
|
26
|
+
performRedraw: true,
|
|
27
|
+
positionChanged: false,
|
|
28
|
+
syncFrozenRows: false,
|
|
29
|
+
rowHeaders,
|
|
30
|
+
columnHeaders,
|
|
31
|
+
rowHeadersCount: rowHeaders.length,
|
|
32
|
+
columnHeadersCount: columnHeaders.length
|
|
33
|
+
};
|
|
34
|
+
if (table.isMaster) {
|
|
35
|
+
runMasterDrawCycle(table, ctx);
|
|
36
|
+
} else {
|
|
37
|
+
runCloneDrawCycle(table, ctx);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The master table's draw cycle: resolve the layout, decide fast vs full, (optionally) render the
|
|
42
|
+
* cells, place the overlays, then reconcile a 1px border shift or render the active selections.
|
|
43
|
+
*
|
|
44
|
+
* @param {Table} table The master table.
|
|
45
|
+
* @param {DrawContext} ctx The per-draw scratch.
|
|
46
|
+
*/ function runMasterDrawCycle(table, ctx) {
|
|
47
|
+
const { wtSettings } = table;
|
|
48
|
+
const wtOverlays = table.deps.getWtOverlays();
|
|
49
|
+
const wtViewport = table.deps.getWtViewport();
|
|
50
|
+
// What is on the screen before this draw touches anything. Restored (when safe — see
|
|
51
|
+
// `restoreRenderedStateIfSafe`) if the `beforeDraw` hook cancels the cell render below.
|
|
52
|
+
const renderedStateBeforeDraw = captureRenderedState(table, wtViewport);
|
|
53
|
+
// Record whether this master draw was entered as a fast/scroll draw, BEFORE `createCalculators`
|
|
54
|
+
// below can downgrade `ctx.runFastDraw`. A `forceFullRender` (`hot.render()`) enters as `draw(false)`,
|
|
55
|
+
// so this is `false` for it even if the scroll-direction flags are still set (an `afterScroll` hook
|
|
56
|
+
// can trigger a render while they are). The clones read this off the master through their clone
|
|
57
|
+
// source, so the header-render skip decision stays consistent across the master and its overlays.
|
|
58
|
+
wtOverlays.isScrollDrivenDraw = ctx.runFastDraw;
|
|
59
|
+
wtOverlays.beforeDraw();
|
|
60
|
+
table.holderOffset = table.deps.geometryReader.offset(table.holder);
|
|
61
|
+
wtViewport.rowHeightCache.ensureBuilt();
|
|
62
|
+
wtViewport.columnWidthCache.ensureBuilt();
|
|
63
|
+
// On the single-pass gated path, decide and apply the header-border classes
|
|
64
|
+
// (`innerBorderTop` / `innerBorderInlineStart`) BEFORE resolving the snapshot and rendering the
|
|
65
|
+
// cells, from the pre-render scroll position + settings. Cells then render in their final
|
|
66
|
+
// position, so the post-render `resetFixedPosition` toggle is a no-op (`positionChanged` stays
|
|
67
|
+
// `false`) and the nested `wot.draw(true)` re-render never fires. Element mode only (guaranteed
|
|
68
|
+
// by the gate); the border box is thus present when `beginDrawLayout` measures the workspace,
|
|
69
|
+
// matching a steady-state scrolled draw.
|
|
70
|
+
if (wtViewport.usesLayoutSnapshotForCalculators()) {
|
|
71
|
+
wtOverlays.prepareHeaderBorders();
|
|
72
|
+
}
|
|
73
|
+
// Resolve the single-pass layout snapshot for this draw (scrollbar prediction from numbers).
|
|
74
|
+
// Not yet the source of truth for the calculators below — see Viewport#beginDrawLayout.
|
|
75
|
+
wtViewport.beginDrawLayout();
|
|
76
|
+
// On a scroll-driven draw both rendered bands (rows AND columns) keep their previous size
|
|
77
|
+
// (extending the new band past the viewport edge when the natural count is smaller). Stable band
|
|
78
|
+
// sizes mean the `OrderView`s never add or remove TR/TD/TH/COL nodes while scrolling — a
|
|
79
|
+
// structural DOM mutation would trigger the host page's `:has()` style invalidation, whose cost
|
|
80
|
+
// scales with the whole host document. Both axes stabilize on ANY scroll-driven draw: a draw for
|
|
81
|
+
// one axis recomputes the other axis' band too, so per-axis gating would let each axis shrink the
|
|
82
|
+
// other's band back and re-oscillate it. On top of that, both bands gain directional overscan
|
|
83
|
+
// (`applyRenderedColumnsBandOverscan` / `applyRenderedRowsBandOverscan`) so consecutive scroll
|
|
84
|
+
// steps land inside the rendered band and resolve as fast draws.
|
|
85
|
+
ctx.runFastDraw = wtViewport.createCalculators(ctx.runFastDraw, {
|
|
86
|
+
stationaryBands: wtOverlays.isScrollDrivenDraw && wtViewport.allowsStationaryBands()
|
|
87
|
+
});
|
|
88
|
+
if (ctx.rowHeadersCount && !wtSettings.getSetting('fixedColumnsStart')) {
|
|
89
|
+
const leftScrollPos = wtOverlays.inlineStartOverlay.getScrollPosition();
|
|
90
|
+
const previousState = table.correctHeaderWidth;
|
|
91
|
+
table.correctHeaderWidth = leftScrollPos !== 0;
|
|
92
|
+
if (previousState !== table.correctHeaderWidth) {
|
|
93
|
+
ctx.runFastDraw = false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (ctx.runFastDraw) {
|
|
97
|
+
wtOverlays.refresh(true);
|
|
98
|
+
// Fast (scroll) draws skip the full-render header-height pass below, so the master/top
|
|
99
|
+
// header heights can drift against the frozen overlays during scrolling (a tall wrapped
|
|
100
|
+
// frozen header that the master never renders). Re-sync here. The method is a cheap no-op
|
|
101
|
+
// unless the grid has frozen columns with column headers, so non-frozen grids are unaffected.
|
|
102
|
+
// No row-height twin of the call above is needed here: a fast draw re-renders neither the master
|
|
103
|
+
// nor the clones, so no cell content — and therefore no row height — can have changed.
|
|
104
|
+
(0, _oversizedRows.syncOversizedColumnHeadersWithFrozenOverlays)(table);
|
|
105
|
+
} else {
|
|
106
|
+
table.tableOffset = table.deps.geometryReader.offset(table.TABLE);
|
|
107
|
+
const filters = buildRenderFilters(table, ctx);
|
|
108
|
+
// Decided before the master renders, because `resetOversizedRows` (inside `renderCellBand`) has
|
|
109
|
+
// to know whether the frozen-derived records are still being maintained. When they are not — the
|
|
110
|
+
// master's band starts at column 0, so it renders every frozen column itself — they go back to
|
|
111
|
+
// the ordinary machinery, which wipes and re-measures them like any other oversized row.
|
|
112
|
+
ctx.syncFrozenRows = (0, _oversizedRows.shouldSyncOversizedRowsWithFrozenOverlays)(table);
|
|
113
|
+
if (!ctx.syncFrozenRows) {
|
|
114
|
+
wtViewport.releaseFrozenOversizedRows();
|
|
115
|
+
}
|
|
116
|
+
table.alignOverlaysWithTrimmingContainer(); // todo It calls method from child class (MasterTable).
|
|
117
|
+
const skipRender = {};
|
|
118
|
+
// Read the counter as late as possible — right before the hook fires — so the guard in
|
|
119
|
+
// `restoreRenderedStateIfSafe` asks exactly "did the HOOK render?", and a hypothetical engine-
|
|
120
|
+
// internal render earlier in this draw cannot silently disable a rollback that is still safe.
|
|
121
|
+
const renderCycleSeqBeforeHook = wtViewport.renderCycleSeq;
|
|
122
|
+
wtSettings.getSetting('beforeDraw', true, skipRender);
|
|
123
|
+
ctx.performRedraw = skipRender.skipRender !== true;
|
|
124
|
+
if (!ctx.performRedraw) {
|
|
125
|
+
// The cells are not rendered on this draw, so the rendered bands and the filters resolved above
|
|
126
|
+
// describe a band that never reached the DOM. Everything that resolves an element from a source
|
|
127
|
+
// index (`Table#getCell` and, through it, the selection render below) gates on the bands but
|
|
128
|
+
// reads the element through the filters and the TBODY, so leaving them advanced makes those two
|
|
129
|
+
// disagree: `getCell` then throws "TR was expected to be rendered but is not" for every row past
|
|
130
|
+
// the end of the stale DOM. Put the pre-draw state back when doing so is provably safe — the
|
|
131
|
+
// guard conditions and the deliberate fallbacks are documented on the helper.
|
|
132
|
+
restoreRenderedStateIfSafe(table, wtViewport, renderedStateBeforeDraw, renderCycleSeqBeforeHook);
|
|
133
|
+
} else {
|
|
134
|
+
renderCellBand(table, ctx, filters, isPureVerticalScrollDraw(wtOverlays));
|
|
135
|
+
if (!wtSettings.getSetting('externalRowCalculator')) {
|
|
136
|
+
// Single-pass: the fully/partially-visible calculators were already computed in pass 1
|
|
137
|
+
// (`createCalculators`) from the layout snapshot. On the snapshot path, the only thing that
|
|
138
|
+
// can change them post-render is `markOversizedRows` invalidating the row-height cache when
|
|
139
|
+
// rendered content is genuinely taller than its configured size. If both size caches are
|
|
140
|
+
// still current, the post-render values are identical, so this second pass is a redundant
|
|
141
|
+
// recompute — skip it. (Read `isCurrent()` before `ensureBuilt()` rebuilds an invalidated
|
|
142
|
+
// cache. Validated non-destructively across the full e2e: this predicate would skip 595
|
|
143
|
+
// draws with byte-identical ranges and 0 divergences.) The legacy measured path, and any
|
|
144
|
+
// draw with an oversized row, still recompute here.
|
|
145
|
+
const skipSecondPass = wtViewport.usesLayoutSnapshotForCalculators() && wtViewport.rowHeightCache.isCurrent() && wtViewport.columnWidthCache.isCurrent();
|
|
146
|
+
wtViewport.rowHeightCache.ensureBuilt();
|
|
147
|
+
wtViewport.columnWidthCache.ensureBuilt();
|
|
148
|
+
if (!skipSecondPass) {
|
|
149
|
+
wtViewport.createVisibleCalculators();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// The seam: the master has rendered and both size caches and the viewport calculators were
|
|
153
|
+
// built from the frozen-derived heights, so clearing them now costs nothing — and it makes the
|
|
154
|
+
// frozen overlays below render at their natural content height, which is what keeps them
|
|
155
|
+
// re-measurable instead of ratcheting on their own cached value.
|
|
156
|
+
const wipedFrozenRows = ctx.syncFrozenRows ? (0, _oversizedRows.resetFrozenOversizedRows)(table) : undefined;
|
|
157
|
+
wtOverlays.refresh(false);
|
|
158
|
+
(0, _oversizedRows.syncOversizedColumnHeadersWithFrozenOverlays)(table);
|
|
159
|
+
// The frozen overlays have now rendered, so a row whose tallest cell lives in a frozen column
|
|
160
|
+
// (which the master's rendered band skips) can finally be measured. Runs after the header sync
|
|
161
|
+
// so a taller frozen header is already reflected in the THEAD when the body rows are re-sized.
|
|
162
|
+
const frozenRowHeightsChanged = (0, _oversizedRows.syncOversizedRowsWithFrozenOverlays)(table, wipedFrozenRows);
|
|
163
|
+
if (frozenRowHeightsChanged && !wtSettings.getSetting('externalRowCalculator')) {
|
|
164
|
+
// The calculators above were built from row heights this sync has since changed, and a
|
|
165
|
+
// frozen-derived height cannot be known any earlier — the frozen overlays had not rendered.
|
|
166
|
+
// An ordinary oversized row never reaches here: the master invalidates inside
|
|
167
|
+
// `renderCellBand`, before the calculators are computed. Left alone, the frame reports a
|
|
168
|
+
// visible row range measured against the old heights, which self-corrects on the next draw
|
|
169
|
+
// and so reads as an intermittent off-by-a-row to anything asking during this one.
|
|
170
|
+
// Both caches, as at the sibling call above: `createVisibleCalculators` builds the COLUMN
|
|
171
|
+
// visible calculators too, and an unbuilt strategy answers every offset with 0.
|
|
172
|
+
wtViewport.rowHeightCache.ensureBuilt();
|
|
173
|
+
wtViewport.columnWidthCache.ensureBuilt();
|
|
174
|
+
wtViewport.createVisibleCalculators();
|
|
175
|
+
}
|
|
176
|
+
wtOverlays.applyToDOM();
|
|
177
|
+
wtSettings.getSetting('onDraw', true);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
placeFixedOverlays(table, ctx);
|
|
181
|
+
if (ctx.positionChanged) {
|
|
182
|
+
if (ctx.performRedraw) {
|
|
183
|
+
// It refreshes the cells borders caused by a 1px shift (introduced by overlays which add or
|
|
184
|
+
// remove `innerBorderTop` and `innerBorderInlineStart` CSS classes to the DOM element. This happens
|
|
185
|
+
// when there is a switch between rendering from 0 to N rows/columns and vice versa).
|
|
186
|
+
wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
|
|
187
|
+
} else {
|
|
188
|
+
// A skipped render must not run the nested reconciliation draw above (`refreshAll` is
|
|
189
|
+
// `wot.draw(true)`): the rolled-back band would fail its fast-draw check and escalate it to a
|
|
190
|
+
// full render that fires `beforeDraw` a second time and renders the cells the hook just
|
|
191
|
+
// cancelled. But the `innerBorder*` toggle has already shifted the layout by 1px AFTER the
|
|
192
|
+
// overlay positions were computed, so rerun the fixed-position pass against the post-toggle
|
|
193
|
+
// layout — it converges, because the second border-state check finds the class already in
|
|
194
|
+
// place — and render the selections that `refreshAll` would have refreshed.
|
|
195
|
+
placeFixedOverlays(table, ctx);
|
|
196
|
+
renderActiveSelections(table, ctx.runFastDraw);
|
|
197
|
+
}
|
|
198
|
+
// Outside the render gate on purpose: the master hider/spreader size is written ONLY here on the
|
|
199
|
+
// 1px-shift path (the per-overlay `adjustElementsSize()` calls inside `placeFixedOverlays` size
|
|
200
|
+
// the clone roots, not the master hider), and the bands it reads are current whether or not the
|
|
201
|
+
// cell render ran — a skipped draw would otherwise keep a stale scrollbar until an unrelated
|
|
202
|
+
// full draw.
|
|
203
|
+
wtOverlays.adjustElementsSize();
|
|
204
|
+
} else {
|
|
205
|
+
renderActiveSelections(table, ctx.runFastDraw);
|
|
206
|
+
}
|
|
207
|
+
wtOverlays.afterDraw(!ctx.runFastDraw && ctx.performRedraw);
|
|
208
|
+
table.deps.setDrawn(true);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* The overlay-clone draw cycle. A clone is a separate Walkontable instance whose `draw()` is driven
|
|
212
|
+
* from the master's `wtOverlays.refresh(fastDraw)`. It has no begin-layout phase (so it cannot
|
|
213
|
+
* downgrade `runFastDraw` — it takes the master-resolved value), fires no view hooks, and runs no
|
|
214
|
+
* fixed-position pass, so it always renders selections through the normal path.
|
|
215
|
+
*
|
|
216
|
+
* @param {Table} table The overlay-clone table.
|
|
217
|
+
* @param {DrawContext} ctx The per-draw scratch.
|
|
218
|
+
*/ function runCloneDrawCycle(table, ctx) {
|
|
219
|
+
if (!ctx.runFastDraw) {
|
|
220
|
+
table.tableOffset = table.deps.getParentTableOffset();
|
|
221
|
+
const filters = buildRenderFilters(table, ctx);
|
|
222
|
+
// A clone's render is never gated by `skipRender` (that gate is master-only), so it always runs.
|
|
223
|
+
// The scroll-direction flags live on the master's overlays, reached via the clone source.
|
|
224
|
+
const cloneSourceOverlays = table.deps.getCloneSource().wtOverlays;
|
|
225
|
+
renderCellBand(table, ctx, filters, isPureVerticalScrollDraw(cloneSourceOverlays));
|
|
226
|
+
if (table.is(_overlay.CLONE_BOTTOM)) {
|
|
227
|
+
table.deps.getCloneSource().wtOverlays.adjustElementsSize();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
renderActiveSelections(table, ctx.runFastDraw);
|
|
231
|
+
table.deps.setDrawn(true);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Rebuilds the row/column render filters from the current first-rendered row/column. Shared by both
|
|
235
|
+
* cycles and called BEFORE the master `beforeDraw` gate, because the hook (and
|
|
236
|
+
* `alignOverlaysWithTrimmingContainer` before it) may read the filters for the band about to render.
|
|
237
|
+
* The filters and the rendered bands are the pair that `Table#getCell` resolves an element with, so
|
|
238
|
+
* when that gate cancels the render the master puts BOTH back to their pre-draw values — see
|
|
239
|
+
* {@link restoreRenderedStateIfSafe}.
|
|
240
|
+
*
|
|
241
|
+
* @param {Table} table The table (master or clone).
|
|
242
|
+
* @param {DrawContext} ctx The per-draw scratch (supplies the pre-hook header counts).
|
|
243
|
+
*/ function buildRenderFilters(table, ctx) {
|
|
244
|
+
const startRow = Math.max(table.getFirstRenderedRow(), 0);
|
|
245
|
+
const startColumn = Math.max(table.getFirstRenderedColumn(), 0);
|
|
246
|
+
const rowFilter = new _row.default(startRow, table.wtSettings.getSetting('totalRows'), ctx.columnHeadersCount);
|
|
247
|
+
const columnFilter = new _column.default(startColumn, table.wtSettings.getSetting('totalColumns'), ctx.rowHeadersCount);
|
|
248
|
+
table.rowFilter = rowFilter;
|
|
249
|
+
table.columnFilter = columnFilter;
|
|
250
|
+
return {
|
|
251
|
+
rowFilter,
|
|
252
|
+
columnFilter
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Captures the rendered row/column bands, the render filters, and the `correctHeaderWidth` flag,
|
|
257
|
+
* i.e. everything that describes which source rows and columns the current DOM holds and how it was
|
|
258
|
+
* rendered. Master-only: the `skipRender` gate it serves is master-only.
|
|
259
|
+
*
|
|
260
|
+
* @param {Table} table The master table.
|
|
261
|
+
* @param {Viewport} wtViewport The viewport that owns the rendered bands.
|
|
262
|
+
* @returns {RenderedState}
|
|
263
|
+
*/ function captureRenderedState(table, wtViewport) {
|
|
264
|
+
return {
|
|
265
|
+
rowsRenderCalculator: wtViewport.rowsRenderCalculator,
|
|
266
|
+
columnsRenderCalculator: wtViewport.columnsRenderCalculator,
|
|
267
|
+
rowFilter: table.rowFilter,
|
|
268
|
+
columnFilter: table.columnFilter,
|
|
269
|
+
correctHeaderWidth: table.correctHeaderWidth
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Puts the pre-draw rendered state back, undoing the band and filter advance of a draw whose render
|
|
274
|
+
* the `beforeDraw` hook cancelled — but only when the rollback is provably safe. When any guard
|
|
275
|
+
* fails, the this-draw state is kept, which is exactly the pre-rollback behavior of the engine, so
|
|
276
|
+
* a blocked rollback is never worse than what shipped before the rollback existed.
|
|
277
|
+
*
|
|
278
|
+
* The guards:
|
|
279
|
+
* - The viewport's render-cycle counter must not have moved since it was read right before the
|
|
280
|
+
* `beforeDraw` hook fired. A hook that renders (a nested master `draw()`, or a draw of any overlay
|
|
281
|
+
* clone — the clones share this viewport) has put a NEWER band into the DOM; rolling the shared
|
|
282
|
+
* band back under it would create the very band/DOM divergence this rollback exists to prevent.
|
|
283
|
+
* - Per axis, the captured filter's build-time total must still match the current
|
|
284
|
+
* `totalRows`/`totalColumns`. When the dataset shrank before the skipped draw (NestedRows cancels
|
|
285
|
+
* the render right after its row removal), the captured band names rows that no longer exist — the
|
|
286
|
+
* this-draw band, capped at the new totals, is the correct description. Each axis decides
|
|
287
|
+
* independently, so a column-count change never blocks the row rollback (and vice versa); the
|
|
288
|
+
* axes never disagree inside `getCell`, which gates and resolves each axis on its own pair.
|
|
289
|
+
* (A dataset that GREW before a skipped draw keeps the this-draw band too; that band can then
|
|
290
|
+
* overhang the stale DOM — a pre-existing edge of the skip contract, unchanged here.)
|
|
291
|
+
*
|
|
292
|
+
* The restore itself is asymmetric by design:
|
|
293
|
+
* - The render calculators are restored — `null` on a skipped first draw correctly reports
|
|
294
|
+
* "nothing rendered", so `Table#getCell` answers with its out-of-viewport exit codes (and the
|
|
295
|
+
* overlays' `applyToDOM` treats a `null` calculator as the nothing-rendered spreader offset).
|
|
296
|
+
* - The filters are restored only when the captured ones are non-null; on a skipped first draw the
|
|
297
|
+
* just-built filters are kept instead, because filter consumers (`getRowHeader`, `getTrForRow`,
|
|
298
|
+
* the selection scanner's header loop) read `rowFilter!` unguarded and must never see `null`
|
|
299
|
+
* after a completed draw.
|
|
300
|
+
* - `correctHeaderWidth` is restored whenever no render happened, regardless of the totals gates:
|
|
301
|
+
* the flag describes the row-header width the DOM was rendered with, and that DOM did not change.
|
|
302
|
+
* Leaving it advanced would make the next draw see "no change" and never re-render the corrected
|
|
303
|
+
* header width.
|
|
304
|
+
* - The visible-row/column calculators are deliberately NOT restored: they describe what the user
|
|
305
|
+
* can see (scroll position), not what the DOM holds. After a skipped draw the visible band may
|
|
306
|
+
* therefore extend past the rendered band — unlike a fast draw, which guarantees the visible band
|
|
307
|
+
* sits inside the rendered one — and `getCell` answers those rows with exit codes.
|
|
308
|
+
*
|
|
309
|
+
* @param {Table} table The master table.
|
|
310
|
+
* @param {Viewport} wtViewport The viewport that owns the rendered bands.
|
|
311
|
+
* @param {RenderedState} state The state captured before the draw.
|
|
312
|
+
* @param {number} renderCycleSeqBeforeHook The render-cycle counter read right before the
|
|
313
|
+
* `beforeDraw` hook fired.
|
|
314
|
+
*/ function restoreRenderedStateIfSafe(table, wtViewport, state, renderCycleSeqBeforeHook) {
|
|
315
|
+
const { wtSettings } = table;
|
|
316
|
+
if (wtViewport.renderCycleSeq !== renderCycleSeqBeforeHook) {
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
table.correctHeaderWidth = state.correctHeaderWidth;
|
|
320
|
+
if (state.rowFilter === null || state.rowFilter.total === wtSettings.getSetting('totalRows')) {
|
|
321
|
+
wtViewport.rowsRenderCalculator = state.rowsRenderCalculator;
|
|
322
|
+
if (state.rowFilter !== null) {
|
|
323
|
+
table.rowFilter = state.rowFilter;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
if (state.columnFilter === null || state.columnFilter.total === wtSettings.getSetting('totalColumns')) {
|
|
327
|
+
wtViewport.columnsRenderCalculator = state.columnsRenderCalculator;
|
|
328
|
+
if (state.columnFilter !== null) {
|
|
329
|
+
table.columnFilter = state.columnFilter;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Returns `true` when this draw is a pure vertical scroll (only the vertical scroll position moved),
|
|
335
|
+
* so the column window (and thus the THEAD) is unchanged. The scroll-direction flags live on the
|
|
336
|
+
* master's overlays, so the master passes its own overlays and a clone passes its clone source's —
|
|
337
|
+
* each cycle already knows its role, so the resolution stays at the call site rather than re-branching
|
|
338
|
+
* here. `isScrollDrivenDraw` guards against a `forceFullRender` that runs while the scroll-direction
|
|
339
|
+
* flags are still set (an `afterScroll` hook can trigger one): a full render enters as `draw(false)`,
|
|
340
|
+
* so it is excluded here and always rebuilds the headers.
|
|
341
|
+
*
|
|
342
|
+
* @param {Overlays} wtOverlays The master's overlays object (the owner of the scroll-direction flags).
|
|
343
|
+
* @returns {boolean}
|
|
344
|
+
*/ function isPureVerticalScrollDraw(wtOverlays) {
|
|
345
|
+
return !!wtOverlays && wtOverlays.isScrollDrivenDraw && wtOverlays.verticalScrolling && !wtOverlays.horizontalScrolling;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Renders the header + cell band and measures the rendered rows. Shared by both cycles. The
|
|
349
|
+
* role-specific branches stay inline and verbatim: bottom / bottom-left-corner overlays suppress
|
|
350
|
+
* column headers, and only the master or the bottom clone marks oversized rows.
|
|
351
|
+
*
|
|
352
|
+
* @param {Table} table The table (master or clone).
|
|
353
|
+
* @param {DrawContext} ctx The per-draw scratch (supplies the pre-hook header renderers).
|
|
354
|
+
* @param {{ rowFilter: RowFilter, columnFilter: ColumnFilter }} filters The filters just built by
|
|
355
|
+
* `buildRenderFilters` (passed non-null rather than re-read off the nullable `table.*Filter`).
|
|
356
|
+
* @param {boolean} columnHeadersRenderSkippable Whether the column-header (THEAD) pass may be skipped
|
|
357
|
+
* for this draw (a pure vertical scroll); resolved per role by the caller.
|
|
358
|
+
*/ function renderCellBand(table, ctx, filters, columnHeadersRenderSkippable) {
|
|
359
|
+
table.tableRenderer.setHeaderContentRenderers(ctx.rowHeaders, ctx.columnHeaders);
|
|
360
|
+
if (table.is(_overlay.CLONE_BOTTOM) || table.is(_overlay.CLONE_BOTTOM_INLINE_START_CORNER)) {
|
|
361
|
+
// do NOT render headers on the bottom or bottom-left corner overlay
|
|
362
|
+
table.tableRenderer.setHeaderContentRenderers(ctx.rowHeaders, []);
|
|
363
|
+
}
|
|
364
|
+
table.tableRenderer.setColumnHeadersRenderSkippable(columnHeadersRenderSkippable);
|
|
365
|
+
const wipedOversizedRows = (0, _oversizedRows.resetOversizedRows)(table);
|
|
366
|
+
table.tableRenderer.setActiveOverlayName(table.name).setViewportSize(table.getRenderedRowsCount(), table.getRenderedColumnsCount()).setFilters(filters.rowFilter, filters.columnFilter).render();
|
|
367
|
+
// Mark that a cell band reached the DOM. The viewport is shared by the master and all overlay
|
|
368
|
+
// clones, so this advances one counter no matter which table rendered — the signal the master's
|
|
369
|
+
// `skipRender` rollback guards on (see `restoreRenderedStateIfSafe`).
|
|
370
|
+
table.deps.getWtViewport().renderCycleSeq += 1;
|
|
371
|
+
(0, _oversizedRows.adjustColumnHeaderHeights)(table);
|
|
372
|
+
if (table.isMaster || table.is(_overlay.CLONE_BOTTOM)) {
|
|
373
|
+
(0, _oversizedRows.markOversizedRows)(table, wipedOversizedRows);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Renders the active selections for this table's overlay. Shared by both cycles (the clone always
|
|
378
|
+
* reaches here; the master reaches here only when the fixed-position pass reported no 1px shift).
|
|
379
|
+
*
|
|
380
|
+
* @param {Table} table The table (master or clone).
|
|
381
|
+
* @param {boolean} runFastDraw Whether this draw is a fast (reposition-only) draw.
|
|
382
|
+
*/ function renderActiveSelections(table, runFastDraw) {
|
|
383
|
+
table.deps.getSelectionManager().setActiveOverlay(table.facadeGetter()).render(runFastDraw);
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Master-only fixed-position pass: repositions the top / bottom / inline-start / corner overlays and
|
|
387
|
+
* records in `ctx.positionChanged` whether an `innerBorder*` toggle shifted the layout by 1px (the
|
|
388
|
+
* corners do not contribute to the flag, matching the original).
|
|
389
|
+
*
|
|
390
|
+
* @param {Table} table The master table.
|
|
391
|
+
* @param {DrawContext} ctx The per-draw scratch (receives `positionChanged`).
|
|
392
|
+
*/ function placeFixedOverlays(table, ctx) {
|
|
393
|
+
const wtOverlays = table.deps.getWtOverlays();
|
|
394
|
+
ctx.positionChanged = wtOverlays.topOverlay.resetFixedPosition();
|
|
395
|
+
if (wtOverlays.bottomOverlay.clone) {
|
|
396
|
+
ctx.positionChanged = wtOverlays.bottomOverlay.resetFixedPosition() || ctx.positionChanged;
|
|
397
|
+
}
|
|
398
|
+
ctx.positionChanged = wtOverlays.inlineStartOverlay.resetFixedPosition() || ctx.positionChanged;
|
|
399
|
+
if (wtOverlays.topInlineStartCornerOverlay) {
|
|
400
|
+
wtOverlays.topInlineStartCornerOverlay.resetFixedPosition();
|
|
401
|
+
}
|
|
402
|
+
if (wtOverlays.bottomInlineStartCornerOverlay && wtOverlays.bottomInlineStartCornerOverlay.clone) {
|
|
403
|
+
wtOverlays.bottomInlineStartCornerOverlay.resetFixedPosition();
|
|
404
|
+
}
|
|
405
|
+
}
|