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
|
@@ -16,6 +16,7 @@ const _createRow = require("./createRow");
|
|
|
16
16
|
const _dataChange = require("./dataChange");
|
|
17
17
|
const _filters = require("./filters");
|
|
18
18
|
const _mergeCells = require("./mergeCells");
|
|
19
|
+
const _moveCells = require("./moveCells");
|
|
19
20
|
const _removeColumn = require("./removeColumn");
|
|
20
21
|
const _removeRow = require("./removeRow");
|
|
21
22
|
const _rowMove = require("./rowMove");
|
|
@@ -30,6 +31,7 @@ function registerActions(hot, undoRedoPlugin) {
|
|
|
30
31
|
_dataChange.DataChangeAction,
|
|
31
32
|
_filters.FiltersAction,
|
|
32
33
|
_mergeCells.MergeCellsAction,
|
|
34
|
+
_moveCells.MoveCellsAction,
|
|
33
35
|
_removeColumn.RemoveColumnAction,
|
|
34
36
|
_removeRow.RemoveRowAction,
|
|
35
37
|
_rowMove.RowMoveAction,
|
|
@@ -6,6 +6,7 @@ import { CreateRowAction } from './createRow.mjs';
|
|
|
6
6
|
import { DataChangeAction } from './dataChange.mjs';
|
|
7
7
|
import { FiltersAction } from './filters.mjs';
|
|
8
8
|
import { MergeCellsAction } from './mergeCells.mjs';
|
|
9
|
+
import { MoveCellsAction } from './moveCells.mjs';
|
|
9
10
|
import { RemoveColumnAction } from './removeColumn.mjs';
|
|
10
11
|
import { RemoveRowAction } from './removeRow.mjs';
|
|
11
12
|
import { RowMoveAction } from './rowMove.mjs';
|
|
@@ -25,6 +26,7 @@ import { UnmergeCellsAction } from './unmergeCells.mjs';
|
|
|
25
26
|
DataChangeAction,
|
|
26
27
|
FiltersAction,
|
|
27
28
|
MergeCellsAction,
|
|
29
|
+
MoveCellsAction,
|
|
28
30
|
RemoveColumnAction,
|
|
29
31
|
RemoveRowAction,
|
|
30
32
|
RowMoveAction,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './moveCells.js';
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { HookCallback } from '../../../core/hooks/bucket';
|
|
2
|
+
import type { HotInstance } from '../../../core/types';
|
|
3
|
+
import { BaseAction } from './_base';
|
|
4
|
+
import type { MovableMetaEntry } from '../../../utils/movableMeta';
|
|
5
|
+
/**
|
|
6
|
+
* A snapshot of the values and movable meta for a rectangular cell region.
|
|
7
|
+
*/
|
|
8
|
+
interface RegionSnapshot {
|
|
9
|
+
/**
|
|
10
|
+
* Top row of the region (visual).
|
|
11
|
+
*/
|
|
12
|
+
fromRow: number;
|
|
13
|
+
/**
|
|
14
|
+
* Left column of the region (visual).
|
|
15
|
+
*/
|
|
16
|
+
fromCol: number;
|
|
17
|
+
/**
|
|
18
|
+
* Bottom row of the region (visual).
|
|
19
|
+
*/
|
|
20
|
+
toRow: number;
|
|
21
|
+
/**
|
|
22
|
+
* Right column of the region (visual).
|
|
23
|
+
*/
|
|
24
|
+
toCol: number;
|
|
25
|
+
/**
|
|
26
|
+
* Source-format cell values (formula strings for formula cells).
|
|
27
|
+
*/
|
|
28
|
+
data: unknown[][];
|
|
29
|
+
/**
|
|
30
|
+
* Sparse list of the cells that carried own movable meta — one entry per styled cell, not per
|
|
31
|
+
* region cell, so the snapshot (and the `deepClone` the undo stack runs over it) stays small
|
|
32
|
+
* for large unstyled regions.
|
|
33
|
+
*/
|
|
34
|
+
meta: MovableMetaEntry[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Action that tracks move-cells (drag-to-move selection) changes.
|
|
38
|
+
*
|
|
39
|
+
* A single undo step covers the whole move: it restores both the source region (overwritten
|
|
40
|
+
* with `null` on move) and the target region (overwritten with the moved data).
|
|
41
|
+
*
|
|
42
|
+
* @class MoveCellsAction
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
export declare class MoveCellsAction extends BaseAction {
|
|
46
|
+
/**
|
|
47
|
+
* Source-region snapshot captured before the move.
|
|
48
|
+
*/
|
|
49
|
+
sourceSnapshot: RegionSnapshot;
|
|
50
|
+
/**
|
|
51
|
+
* Target-region snapshot captured before the move (the overwritten data).
|
|
52
|
+
*/
|
|
53
|
+
targetSnapshot: RegionSnapshot;
|
|
54
|
+
/**
|
|
55
|
+
* `true` when the operation was a copy (source is kept intact).
|
|
56
|
+
*/
|
|
57
|
+
isCopy: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Initializes the action with snapshots of the source and target regions before the move.
|
|
60
|
+
*/
|
|
61
|
+
constructor({ sourceSnapshot, targetSnapshot, isCopy, }: {
|
|
62
|
+
sourceSnapshot: RegionSnapshot;
|
|
63
|
+
targetSnapshot: RegionSnapshot;
|
|
64
|
+
isCopy: boolean;
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Registers the `beforeMoveCells` hook listener that snapshots both the source and
|
|
68
|
+
* target regions before mutation, and then pushes a new `MoveCellsAction` into the
|
|
69
|
+
* undo stack via the `afterMoveCells` hook.
|
|
70
|
+
*
|
|
71
|
+
* Note: `afterMoveCells` only fires when the move was NOT vetoed. When `beforeMoveCells`
|
|
72
|
+
* returns `false` (or any guard in `moveCellRange` rejects the move), `afterMoveCells` is
|
|
73
|
+
* never called, so `pendingSnapshot` is simply overwritten on the next move attempt — a
|
|
74
|
+
* stale snapshot cannot enqueue a spurious undo action.
|
|
75
|
+
*/
|
|
76
|
+
static startRegisteringEvents(hot: HotInstance, undoRedoPlugin: unknown): void;
|
|
77
|
+
/**
|
|
78
|
+
* Restores the grid to the state before the move.
|
|
79
|
+
*
|
|
80
|
+
* For a move (not copy): restores both the source region (which was cleared) and the
|
|
81
|
+
* target region (which was overwritten).
|
|
82
|
+
*
|
|
83
|
+
* For a copy: the source was not modified, so only the target region is restored.
|
|
84
|
+
*
|
|
85
|
+
* After restoring data, selects the source region to reflect the pre-move state.
|
|
86
|
+
*
|
|
87
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
88
|
+
* @param {HookCallback} undoneCallback The callback to be called after the action is undone.
|
|
89
|
+
*/
|
|
90
|
+
undo(hot: HotInstance, undoneCallback: HookCallback): void;
|
|
91
|
+
/**
|
|
92
|
+
* Re-applies the move after it has been undone.
|
|
93
|
+
*
|
|
94
|
+
* After the move re-runs, selects the target region to reflect the post-move state.
|
|
95
|
+
*
|
|
96
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
97
|
+
* @param {(result?: { wasRedone?: boolean }) => void} redoneCallback The callback that settles
|
|
98
|
+
* the redo state.
|
|
99
|
+
*/
|
|
100
|
+
redo(hot: HotInstance, redoneCallback: (result?: {
|
|
101
|
+
wasRedone?: boolean;
|
|
102
|
+
}) => void): void;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "MoveCellsAction", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return MoveCellsAction;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _range = require("../../../3rdparty/walkontable/src/cell/range");
|
|
12
|
+
const _base = require("./_base");
|
|
13
|
+
const _object = require("../../../helpers/object");
|
|
14
|
+
const _movableMeta = require("../../../utils/movableMeta");
|
|
15
|
+
/**
|
|
16
|
+
* Captures the source-format values and movable meta for a rectangular region.
|
|
17
|
+
*
|
|
18
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
19
|
+
* @param {number} fromRow Top row of the region (visual).
|
|
20
|
+
* @param {number} fromCol Left column of the region (visual).
|
|
21
|
+
* @param {number} toRow Bottom row of the region (visual).
|
|
22
|
+
* @param {number} toCol Right column of the region (visual).
|
|
23
|
+
* @returns {RegionSnapshot}
|
|
24
|
+
*/ function snapshotRegion(hot, fromRow, fromCol, toRow, toCol) {
|
|
25
|
+
const data = [];
|
|
26
|
+
for(let r = fromRow; r <= toRow; r++){
|
|
27
|
+
const physicalRow = hot.toPhysicalRow(r);
|
|
28
|
+
const rowData = [];
|
|
29
|
+
for(let c = fromCol; c <= toCol; c++){
|
|
30
|
+
rowData.push(hot.getSourceDataAtCell(physicalRow, c));
|
|
31
|
+
}
|
|
32
|
+
data.push(rowData);
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
fromRow,
|
|
36
|
+
fromCol,
|
|
37
|
+
toRow,
|
|
38
|
+
toCol,
|
|
39
|
+
data,
|
|
40
|
+
meta: (0, _movableMeta.collectMovableMeta)(hot, fromRow, fromCol, toRow, toCol)
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Restores a previously snapshotted region — writes both the cell values and movable meta.
|
|
45
|
+
*
|
|
46
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
47
|
+
* @param {RegionSnapshot} snapshot The snapshot to restore.
|
|
48
|
+
*/ function restoreRegion(hot, snapshot) {
|
|
49
|
+
const { fromRow, fromCol, toRow, toCol, data, meta } = snapshot;
|
|
50
|
+
// Restore values through populateFromArray which triggers the normal data-write path
|
|
51
|
+
// and lets the Formulas plugin re-register formula strings in HyperFormula.
|
|
52
|
+
hot.populateFromArray(fromRow, fromCol, data, toRow, toCol, 'UndoRedo.undo');
|
|
53
|
+
// Restore movable meta sparsely: clear the movable keys the region carries NOW that the
|
|
54
|
+
// snapshot does not record (they arrived with the move being undone), then write the recorded
|
|
55
|
+
// ones back. Scanning the current state instead of blanket-removing over the whole region keeps
|
|
56
|
+
// the per-cell `removeCellMeta` hook dispatch proportional to styled cells, not to region area.
|
|
57
|
+
const snapshotByCoord = new Map(meta.map((entry)=>[
|
|
58
|
+
`${entry.row}:${entry.col}`,
|
|
59
|
+
entry.meta
|
|
60
|
+
]));
|
|
61
|
+
(0, _movableMeta.collectMovableMeta)(hot, fromRow, fromCol, toRow, toCol).forEach(({ row, col, meta: currentMeta })=>{
|
|
62
|
+
const recorded = snapshotByCoord.get(`${row}:${col}`);
|
|
63
|
+
for (const key of _movableMeta.MOVABLE_META_KEYS){
|
|
64
|
+
if ((0, _object.hasOwnProperty)(currentMeta, key) && !(recorded && (0, _object.hasOwnProperty)(recorded, key))) {
|
|
65
|
+
hot.removeCellMeta(row, col, key);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
meta.forEach(({ row, col, meta: recordedMeta })=>{
|
|
70
|
+
for (const key of _movableMeta.MOVABLE_META_KEYS){
|
|
71
|
+
if ((0, _object.hasOwnProperty)(recordedMeta, key)) {
|
|
72
|
+
hot.setCellMeta(row, col, key, recordedMeta[key]);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
class MoveCellsAction extends _base.BaseAction {
|
|
78
|
+
/**
|
|
79
|
+
* Registers the `beforeMoveCells` hook listener that snapshots both the source and
|
|
80
|
+
* target regions before mutation, and then pushes a new `MoveCellsAction` into the
|
|
81
|
+
* undo stack via the `afterMoveCells` hook.
|
|
82
|
+
*
|
|
83
|
+
* Note: `afterMoveCells` only fires when the move was NOT vetoed. When `beforeMoveCells`
|
|
84
|
+
* returns `false` (or any guard in `moveCellRange` rejects the move), `afterMoveCells` is
|
|
85
|
+
* never called, so `pendingSnapshot` is simply overwritten on the next move attempt — a
|
|
86
|
+
* stale snapshot cannot enqueue a spurious undo action.
|
|
87
|
+
*/ static startRegisteringEvents(hot, undoRedoPlugin) {
|
|
88
|
+
const plugin = undoRedoPlugin;
|
|
89
|
+
let pendingSnapshot = null;
|
|
90
|
+
hot.addHook('beforeMoveCells', (sourceRange, targetTopLeft, isCopy)=>{
|
|
91
|
+
// Covers the documented `false` veto value AND any garbage a preceding listener folded into
|
|
92
|
+
// the argument — `Hooks.run` threads a truthy return value into the next listener's first
|
|
93
|
+
// argument, and the global bucket runs before this one.
|
|
94
|
+
if (!(0, _range.isCellRangeLike)(sourceRange)) {
|
|
95
|
+
pendingSnapshot = null;
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
// `sourceRange` is narrowed by the guard above; `targetTopLeft` carries the raw CellCoords.
|
|
99
|
+
const src = sourceRange;
|
|
100
|
+
const target = targetTopLeft;
|
|
101
|
+
const topStart = src.getTopStartCorner();
|
|
102
|
+
const bottomEnd = src.getBottomEndCorner();
|
|
103
|
+
const fromRow = topStart.row;
|
|
104
|
+
const fromCol = topStart.col;
|
|
105
|
+
const toRow = bottomEnd.row;
|
|
106
|
+
const toCol = bottomEnd.col;
|
|
107
|
+
const height = toRow - fromRow + 1;
|
|
108
|
+
const width = toCol - fromCol + 1;
|
|
109
|
+
const targetBottom = target.row + height - 1;
|
|
110
|
+
const targetRight = target.col + width - 1;
|
|
111
|
+
// Capture both regions before any data mutation.
|
|
112
|
+
const sourceSnapshot = snapshotRegion(hot, fromRow, fromCol, toRow, toCol);
|
|
113
|
+
const targetSnapshot = snapshotRegion(hot, target.row, target.col, targetBottom, targetRight);
|
|
114
|
+
pendingSnapshot = {
|
|
115
|
+
sourceSnapshot,
|
|
116
|
+
targetSnapshot,
|
|
117
|
+
isCopy: isCopy
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
// afterMoveCells only fires when the move was NOT vetoed (see JSDoc on startRegisteringEvents),
|
|
121
|
+
// so the snapshot here is always valid and corresponds to the move that just completed.
|
|
122
|
+
hot.addHook('afterMoveCells', ()=>{
|
|
123
|
+
if (pendingSnapshot === null) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const snapshot = pendingSnapshot;
|
|
127
|
+
pendingSnapshot = null;
|
|
128
|
+
plugin.done(()=>new MoveCellsAction(snapshot));
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Restores the grid to the state before the move.
|
|
133
|
+
*
|
|
134
|
+
* For a move (not copy): restores both the source region (which was cleared) and the
|
|
135
|
+
* target region (which was overwritten).
|
|
136
|
+
*
|
|
137
|
+
* For a copy: the source was not modified, so only the target region is restored.
|
|
138
|
+
*
|
|
139
|
+
* After restoring data, selects the source region to reflect the pre-move state.
|
|
140
|
+
*
|
|
141
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
142
|
+
* @param {HookCallback} undoneCallback The callback to be called after the action is undone.
|
|
143
|
+
*/ undo(hot, undoneCallback) {
|
|
144
|
+
hot.batch(()=>{
|
|
145
|
+
// Restore the target region to what it held before the move.
|
|
146
|
+
restoreRegion(hot, this.targetSnapshot);
|
|
147
|
+
if (!this.isCopy) {
|
|
148
|
+
// Restore the source region which was cleared during the move.
|
|
149
|
+
restoreRegion(hot, this.sourceSnapshot);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
hot.render();
|
|
153
|
+
hot.deselectCell();
|
|
154
|
+
const { fromRow, fromCol, toRow, toCol } = this.sourceSnapshot;
|
|
155
|
+
hot.selectCells([
|
|
156
|
+
[
|
|
157
|
+
fromRow,
|
|
158
|
+
fromCol,
|
|
159
|
+
toRow,
|
|
160
|
+
toCol
|
|
161
|
+
]
|
|
162
|
+
], false, false);
|
|
163
|
+
// Call undoneCallback after the batch and selection are settled. This mirrors
|
|
164
|
+
// the pattern in dataChange.ts and avoids the latent fragility of firing the
|
|
165
|
+
// callback inside an afterChange hook (which would break if afterChange becomes async).
|
|
166
|
+
// The undoneCallback resets ignoreNewActions in the UndoRedo plugin — calling it here
|
|
167
|
+
// ensures that reset happens after all data mutations are complete.
|
|
168
|
+
undoneCallback();
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Re-applies the move after it has been undone.
|
|
172
|
+
*
|
|
173
|
+
* After the move re-runs, selects the target region to reflect the post-move state.
|
|
174
|
+
*
|
|
175
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
176
|
+
* @param {(result?: { wasRedone?: boolean }) => void} redoneCallback The callback that settles
|
|
177
|
+
* the redo state.
|
|
178
|
+
*/ redo(hot, redoneCallback) {
|
|
179
|
+
const { fromRow, fromCol, toRow, toCol } = this.sourceSnapshot;
|
|
180
|
+
const { fromRow: targetRow, fromCol: targetCol } = this.targetSnapshot;
|
|
181
|
+
const height = toRow - fromRow + 1;
|
|
182
|
+
const width = toCol - fromCol + 1;
|
|
183
|
+
const sourceRange = hot._createCellRange(hot._createCellCoords(fromRow, fromCol), hot._createCellCoords(fromRow, fromCol), hot._createCellCoords(toRow, toCol));
|
|
184
|
+
const targetTopLeft = hot._createCellCoords(targetRow, targetCol);
|
|
185
|
+
const onAfterMoveCells = ()=>{
|
|
186
|
+
hot.render();
|
|
187
|
+
// Restore selection to the target range so the user sees where the data ended up.
|
|
188
|
+
const targetEndRow = targetRow + height - 1;
|
|
189
|
+
const targetEndCol = targetCol + width - 1;
|
|
190
|
+
hot.selectCells([
|
|
191
|
+
[
|
|
192
|
+
targetRow,
|
|
193
|
+
targetCol,
|
|
194
|
+
targetEndRow,
|
|
195
|
+
targetEndCol
|
|
196
|
+
]
|
|
197
|
+
], false, false);
|
|
198
|
+
redoneCallback();
|
|
199
|
+
};
|
|
200
|
+
const moveCells = hot.getPlugin('moveCells');
|
|
201
|
+
// `base.ts` is the tree-shakeable entry, so a consumer can register UndoRedo without MoveCells.
|
|
202
|
+
// The record path implies the plugin was present, but nothing guarantees it still is at redo time.
|
|
203
|
+
if (!moveCells) {
|
|
204
|
+
redoneCallback({
|
|
205
|
+
wasRedone: false
|
|
206
|
+
});
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
hot.addHookOnce('afterMoveCells', onAfterMoveCells);
|
|
210
|
+
if (!moveCells.moveCellRange(sourceRange, targetTopLeft, this.isCopy)) {
|
|
211
|
+
hot.removeHook('afterMoveCells', onAfterMoveCells);
|
|
212
|
+
redoneCallback({
|
|
213
|
+
wasRedone: false
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Initializes the action with snapshots of the source and target regions before the move.
|
|
219
|
+
*/ constructor({ sourceSnapshot, targetSnapshot, isCopy }){
|
|
220
|
+
super('move_cells');
|
|
221
|
+
this.sourceSnapshot = sourceSnapshot;
|
|
222
|
+
this.targetSnapshot = targetSnapshot;
|
|
223
|
+
this.isCopy = isCopy;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { isCellRangeLike } from '../../../3rdparty/walkontable/src/cell/range.mjs';
|
|
2
|
+
import { BaseAction } from './_base.mjs';
|
|
3
|
+
import { hasOwnProperty } from '../../../helpers/object.mjs';
|
|
4
|
+
// Imported from the shared module rather than duplicated: undo must restore exactly the key set
|
|
5
|
+
// `moveCellRange` moved, and two copies would silently drift the moment a key is added to one of
|
|
6
|
+
// them. The module lives in `utils/` (not in the MoveCells plugin) so this action does not import
|
|
7
|
+
// another plugin — registering just `UndoRedo` must not pull MoveCells code into the bundle.
|
|
8
|
+
import { collectMovableMeta, MOVABLE_META_KEYS } from '../../../utils/movableMeta.mjs';
|
|
9
|
+
/**
|
|
10
|
+
* Captures the source-format values and movable meta for a rectangular region.
|
|
11
|
+
*
|
|
12
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
13
|
+
* @param {number} fromRow Top row of the region (visual).
|
|
14
|
+
* @param {number} fromCol Left column of the region (visual).
|
|
15
|
+
* @param {number} toRow Bottom row of the region (visual).
|
|
16
|
+
* @param {number} toCol Right column of the region (visual).
|
|
17
|
+
* @returns {RegionSnapshot}
|
|
18
|
+
*/ function snapshotRegion(hot, fromRow, fromCol, toRow, toCol) {
|
|
19
|
+
const data = [];
|
|
20
|
+
for(let r = fromRow; r <= toRow; r++){
|
|
21
|
+
const physicalRow = hot.toPhysicalRow(r);
|
|
22
|
+
const rowData = [];
|
|
23
|
+
for(let c = fromCol; c <= toCol; c++){
|
|
24
|
+
rowData.push(hot.getSourceDataAtCell(physicalRow, c));
|
|
25
|
+
}
|
|
26
|
+
data.push(rowData);
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
fromRow,
|
|
30
|
+
fromCol,
|
|
31
|
+
toRow,
|
|
32
|
+
toCol,
|
|
33
|
+
data,
|
|
34
|
+
meta: collectMovableMeta(hot, fromRow, fromCol, toRow, toCol)
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Restores a previously snapshotted region — writes both the cell values and movable meta.
|
|
39
|
+
*
|
|
40
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
41
|
+
* @param {RegionSnapshot} snapshot The snapshot to restore.
|
|
42
|
+
*/ function restoreRegion(hot, snapshot) {
|
|
43
|
+
const { fromRow, fromCol, toRow, toCol, data, meta } = snapshot;
|
|
44
|
+
// Restore values through populateFromArray which triggers the normal data-write path
|
|
45
|
+
// and lets the Formulas plugin re-register formula strings in HyperFormula.
|
|
46
|
+
hot.populateFromArray(fromRow, fromCol, data, toRow, toCol, 'UndoRedo.undo');
|
|
47
|
+
// Restore movable meta sparsely: clear the movable keys the region carries NOW that the
|
|
48
|
+
// snapshot does not record (they arrived with the move being undone), then write the recorded
|
|
49
|
+
// ones back. Scanning the current state instead of blanket-removing over the whole region keeps
|
|
50
|
+
// the per-cell `removeCellMeta` hook dispatch proportional to styled cells, not to region area.
|
|
51
|
+
const snapshotByCoord = new Map(meta.map((entry)=>[
|
|
52
|
+
`${entry.row}:${entry.col}`,
|
|
53
|
+
entry.meta
|
|
54
|
+
]));
|
|
55
|
+
collectMovableMeta(hot, fromRow, fromCol, toRow, toCol).forEach(({ row, col, meta: currentMeta })=>{
|
|
56
|
+
const recorded = snapshotByCoord.get(`${row}:${col}`);
|
|
57
|
+
for (const key of MOVABLE_META_KEYS){
|
|
58
|
+
if (hasOwnProperty(currentMeta, key) && !(recorded && hasOwnProperty(recorded, key))) {
|
|
59
|
+
hot.removeCellMeta(row, col, key);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
meta.forEach(({ row, col, meta: recordedMeta })=>{
|
|
64
|
+
for (const key of MOVABLE_META_KEYS){
|
|
65
|
+
if (hasOwnProperty(recordedMeta, key)) {
|
|
66
|
+
hot.setCellMeta(row, col, key, recordedMeta[key]);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Action that tracks move-cells (drag-to-move selection) changes.
|
|
73
|
+
*
|
|
74
|
+
* A single undo step covers the whole move: it restores both the source region (overwritten
|
|
75
|
+
* with `null` on move) and the target region (overwritten with the moved data).
|
|
76
|
+
*
|
|
77
|
+
* @class MoveCellsAction
|
|
78
|
+
* @private
|
|
79
|
+
*/ export class MoveCellsAction extends BaseAction {
|
|
80
|
+
/**
|
|
81
|
+
* Registers the `beforeMoveCells` hook listener that snapshots both the source and
|
|
82
|
+
* target regions before mutation, and then pushes a new `MoveCellsAction` into the
|
|
83
|
+
* undo stack via the `afterMoveCells` hook.
|
|
84
|
+
*
|
|
85
|
+
* Note: `afterMoveCells` only fires when the move was NOT vetoed. When `beforeMoveCells`
|
|
86
|
+
* returns `false` (or any guard in `moveCellRange` rejects the move), `afterMoveCells` is
|
|
87
|
+
* never called, so `pendingSnapshot` is simply overwritten on the next move attempt — a
|
|
88
|
+
* stale snapshot cannot enqueue a spurious undo action.
|
|
89
|
+
*/ static startRegisteringEvents(hot, undoRedoPlugin) {
|
|
90
|
+
const plugin = undoRedoPlugin;
|
|
91
|
+
let pendingSnapshot = null;
|
|
92
|
+
hot.addHook('beforeMoveCells', (sourceRange, targetTopLeft, isCopy)=>{
|
|
93
|
+
// Covers the documented `false` veto value AND any garbage a preceding listener folded into
|
|
94
|
+
// the argument — `Hooks.run` threads a truthy return value into the next listener's first
|
|
95
|
+
// argument, and the global bucket runs before this one.
|
|
96
|
+
if (!isCellRangeLike(sourceRange)) {
|
|
97
|
+
pendingSnapshot = null;
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
// `sourceRange` is narrowed by the guard above; `targetTopLeft` carries the raw CellCoords.
|
|
101
|
+
const src = sourceRange;
|
|
102
|
+
const target = targetTopLeft;
|
|
103
|
+
const topStart = src.getTopStartCorner();
|
|
104
|
+
const bottomEnd = src.getBottomEndCorner();
|
|
105
|
+
const fromRow = topStart.row;
|
|
106
|
+
const fromCol = topStart.col;
|
|
107
|
+
const toRow = bottomEnd.row;
|
|
108
|
+
const toCol = bottomEnd.col;
|
|
109
|
+
const height = toRow - fromRow + 1;
|
|
110
|
+
const width = toCol - fromCol + 1;
|
|
111
|
+
const targetBottom = target.row + height - 1;
|
|
112
|
+
const targetRight = target.col + width - 1;
|
|
113
|
+
// Capture both regions before any data mutation.
|
|
114
|
+
const sourceSnapshot = snapshotRegion(hot, fromRow, fromCol, toRow, toCol);
|
|
115
|
+
const targetSnapshot = snapshotRegion(hot, target.row, target.col, targetBottom, targetRight);
|
|
116
|
+
pendingSnapshot = {
|
|
117
|
+
sourceSnapshot,
|
|
118
|
+
targetSnapshot,
|
|
119
|
+
isCopy: isCopy
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
// afterMoveCells only fires when the move was NOT vetoed (see JSDoc on startRegisteringEvents),
|
|
123
|
+
// so the snapshot here is always valid and corresponds to the move that just completed.
|
|
124
|
+
hot.addHook('afterMoveCells', ()=>{
|
|
125
|
+
if (pendingSnapshot === null) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const snapshot = pendingSnapshot;
|
|
129
|
+
pendingSnapshot = null;
|
|
130
|
+
plugin.done(()=>new MoveCellsAction(snapshot));
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Restores the grid to the state before the move.
|
|
135
|
+
*
|
|
136
|
+
* For a move (not copy): restores both the source region (which was cleared) and the
|
|
137
|
+
* target region (which was overwritten).
|
|
138
|
+
*
|
|
139
|
+
* For a copy: the source was not modified, so only the target region is restored.
|
|
140
|
+
*
|
|
141
|
+
* After restoring data, selects the source region to reflect the pre-move state.
|
|
142
|
+
*
|
|
143
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
144
|
+
* @param {HookCallback} undoneCallback The callback to be called after the action is undone.
|
|
145
|
+
*/ undo(hot, undoneCallback) {
|
|
146
|
+
hot.batch(()=>{
|
|
147
|
+
// Restore the target region to what it held before the move.
|
|
148
|
+
restoreRegion(hot, this.targetSnapshot);
|
|
149
|
+
if (!this.isCopy) {
|
|
150
|
+
// Restore the source region which was cleared during the move.
|
|
151
|
+
restoreRegion(hot, this.sourceSnapshot);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
hot.render();
|
|
155
|
+
hot.deselectCell();
|
|
156
|
+
const { fromRow, fromCol, toRow, toCol } = this.sourceSnapshot;
|
|
157
|
+
hot.selectCells([
|
|
158
|
+
[
|
|
159
|
+
fromRow,
|
|
160
|
+
fromCol,
|
|
161
|
+
toRow,
|
|
162
|
+
toCol
|
|
163
|
+
]
|
|
164
|
+
], false, false);
|
|
165
|
+
// Call undoneCallback after the batch and selection are settled. This mirrors
|
|
166
|
+
// the pattern in dataChange.ts and avoids the latent fragility of firing the
|
|
167
|
+
// callback inside an afterChange hook (which would break if afterChange becomes async).
|
|
168
|
+
// The undoneCallback resets ignoreNewActions in the UndoRedo plugin — calling it here
|
|
169
|
+
// ensures that reset happens after all data mutations are complete.
|
|
170
|
+
undoneCallback();
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Re-applies the move after it has been undone.
|
|
174
|
+
*
|
|
175
|
+
* After the move re-runs, selects the target region to reflect the post-move state.
|
|
176
|
+
*
|
|
177
|
+
* @param {HotInstance} hot The Handsontable instance.
|
|
178
|
+
* @param {(result?: { wasRedone?: boolean }) => void} redoneCallback The callback that settles
|
|
179
|
+
* the redo state.
|
|
180
|
+
*/ redo(hot, redoneCallback) {
|
|
181
|
+
const { fromRow, fromCol, toRow, toCol } = this.sourceSnapshot;
|
|
182
|
+
const { fromRow: targetRow, fromCol: targetCol } = this.targetSnapshot;
|
|
183
|
+
const height = toRow - fromRow + 1;
|
|
184
|
+
const width = toCol - fromCol + 1;
|
|
185
|
+
const sourceRange = hot._createCellRange(hot._createCellCoords(fromRow, fromCol), hot._createCellCoords(fromRow, fromCol), hot._createCellCoords(toRow, toCol));
|
|
186
|
+
const targetTopLeft = hot._createCellCoords(targetRow, targetCol);
|
|
187
|
+
const onAfterMoveCells = ()=>{
|
|
188
|
+
hot.render();
|
|
189
|
+
// Restore selection to the target range so the user sees where the data ended up.
|
|
190
|
+
const targetEndRow = targetRow + height - 1;
|
|
191
|
+
const targetEndCol = targetCol + width - 1;
|
|
192
|
+
hot.selectCells([
|
|
193
|
+
[
|
|
194
|
+
targetRow,
|
|
195
|
+
targetCol,
|
|
196
|
+
targetEndRow,
|
|
197
|
+
targetEndCol
|
|
198
|
+
]
|
|
199
|
+
], false, false);
|
|
200
|
+
redoneCallback();
|
|
201
|
+
};
|
|
202
|
+
const moveCells = hot.getPlugin('moveCells');
|
|
203
|
+
// `base.ts` is the tree-shakeable entry, so a consumer can register UndoRedo without MoveCells.
|
|
204
|
+
// The record path implies the plugin was present, but nothing guarantees it still is at redo time.
|
|
205
|
+
if (!moveCells) {
|
|
206
|
+
redoneCallback({
|
|
207
|
+
wasRedone: false
|
|
208
|
+
});
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
hot.addHookOnce('afterMoveCells', onAfterMoveCells);
|
|
212
|
+
if (!moveCells.moveCellRange(sourceRange, targetTopLeft, this.isCopy)) {
|
|
213
|
+
hot.removeHook('afterMoveCells', onAfterMoveCells);
|
|
214
|
+
redoneCallback({
|
|
215
|
+
wasRedone: false
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Initializes the action with snapshots of the source and target regions before the move.
|
|
221
|
+
*/ constructor({ sourceSnapshot, targetSnapshot, isCopy }){
|
|
222
|
+
super('move_cells');
|
|
223
|
+
this.sourceSnapshot = sourceSnapshot;
|
|
224
|
+
this.targetSnapshot = targetSnapshot;
|
|
225
|
+
this.isCopy = isCopy;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
@@ -45,9 +45,19 @@ export declare class RemoveColumnAction extends BaseAction {
|
|
|
45
45
|
*/
|
|
46
46
|
removedCellMetas: unknown[];
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* @param {Array} removedMergedCells List of merged cell ranges that overlap the removed
|
|
49
|
+
* columns. Stored as plain `{ row, col, rowspan, colspan }` objects in visual coords.
|
|
49
50
|
*/
|
|
50
|
-
|
|
51
|
+
removedMergedCells: {
|
|
52
|
+
row: number;
|
|
53
|
+
col: number;
|
|
54
|
+
rowspan: number;
|
|
55
|
+
colspan: number;
|
|
56
|
+
}[];
|
|
57
|
+
/**
|
|
58
|
+
* Initializes the remove column action with the removed data, column indexes, headers, position sequences, cell meta backup, and affected merged cells.
|
|
59
|
+
*/
|
|
60
|
+
constructor({ index, indexes, data, amount, headers, columnPositions, rowPositions, fixedColumnsStart, removedCellMetas, removedMergedCells, }: {
|
|
51
61
|
index: number;
|
|
52
62
|
indexes: number[];
|
|
53
63
|
data: unknown[][];
|
|
@@ -57,6 +67,12 @@ export declare class RemoveColumnAction extends BaseAction {
|
|
|
57
67
|
rowPositions: number[];
|
|
58
68
|
fixedColumnsStart: number;
|
|
59
69
|
removedCellMetas: unknown[];
|
|
70
|
+
removedMergedCells: Array<{
|
|
71
|
+
row: number;
|
|
72
|
+
col: number;
|
|
73
|
+
rowspan: number;
|
|
74
|
+
colspan: number;
|
|
75
|
+
}>;
|
|
60
76
|
});
|
|
61
77
|
/**
|
|
62
78
|
* Registers the `beforeRemoveCol` hook listener that captures removed column data and records a RemoveColumnAction.
|
|
@@ -52,7 +52,8 @@ class RemoveColumnAction extends _base.BaseAction {
|
|
|
52
52
|
columnPositions: hot.columnIndexMapper.getIndexesSequence(),
|
|
53
53
|
rowPositions: hot.rowIndexMapper.getIndexesSequence(),
|
|
54
54
|
fixedColumnsStart: hot.getSettings().fixedColumnsStart ?? 0,
|
|
55
|
-
removedCellMetas: (0, _utils.getCellMetas)(hot, 0, hot.countRows(), columnIndex, lastColumnIndex)
|
|
55
|
+
removedCellMetas: (0, _utils.getCellMetas)(hot, 0, hot.countRows(), columnIndex, lastColumnIndex),
|
|
56
|
+
removedMergedCells: (0, _utils.collectAffectedMergedCells)(hot, 'col', columnIndex, amount)
|
|
56
57
|
});
|
|
57
58
|
};
|
|
58
59
|
undoRedoPlugin.done(wrappedAction, source);
|
|
@@ -64,7 +65,11 @@ class RemoveColumnAction extends _base.BaseAction {
|
|
|
64
65
|
*/ undo(hot, undoneCallback) {
|
|
65
66
|
const settings = hot.getSettings();
|
|
66
67
|
// Changing by the reference as `updateSettings` doesn't work the best.
|
|
67
|
-
|
|
68
|
+
// Since 12.0.0, the "fixedColumnsLeft" is replaced with the "fixedColumnsStart" option.
|
|
69
|
+
// However, keeping the old name still in effect. When both option names are used together,
|
|
70
|
+
// the error is thrown. To prevent that, the engine needs to modify the original option key
|
|
71
|
+
// to bypass the validation.
|
|
72
|
+
settings._fixedColumnsStart = this.fixedColumnsStart;
|
|
68
73
|
const ascendingIndexes = this.indexes.slice(0).sort((a, b)=>a - b);
|
|
69
74
|
const sortByIndexes = (elem, j, arr)=>arr[this.indexes.indexOf(ascendingIndexes[j])];
|
|
70
75
|
const removedDataLength = this.data.length;
|
|
@@ -108,6 +113,7 @@ class RemoveColumnAction extends _base.BaseAction {
|
|
|
108
113
|
const [rowIndex, columnIndex, cellMeta] = entry;
|
|
109
114
|
hot.setCellMetaObject(rowIndex, columnIndex, cellMeta);
|
|
110
115
|
});
|
|
116
|
+
(0, _utils.restoreMergedCells)(hot, this.removedMergedCells);
|
|
111
117
|
hot.addHookOnce('afterViewRender', undoneCallback);
|
|
112
118
|
hot.setSourceDataAtCell(changes, undefined, undefined, 'UndoRedo.undo');
|
|
113
119
|
}
|
|
@@ -119,8 +125,8 @@ class RemoveColumnAction extends _base.BaseAction {
|
|
|
119
125
|
hot.alter('remove_col', this.index, this.amount, 'UndoRedo.redo');
|
|
120
126
|
}
|
|
121
127
|
/**
|
|
122
|
-
* Initializes the remove column action with the removed data, column indexes, headers, position sequences,
|
|
123
|
-
*/ constructor({ index, indexes, data, amount, headers, columnPositions, rowPositions, fixedColumnsStart, removedCellMetas }){
|
|
128
|
+
* Initializes the remove column action with the removed data, column indexes, headers, position sequences, cell meta backup, and affected merged cells.
|
|
129
|
+
*/ constructor({ index, indexes, data, amount, headers, columnPositions, rowPositions, fixedColumnsStart, removedCellMetas, removedMergedCells }){
|
|
124
130
|
super('remove_col');
|
|
125
131
|
this.index = index;
|
|
126
132
|
this.indexes = indexes;
|
|
@@ -131,5 +137,6 @@ class RemoveColumnAction extends _base.BaseAction {
|
|
|
131
137
|
this.rowPositions = rowPositions.slice(0);
|
|
132
138
|
this.fixedColumnsStart = fixedColumnsStart;
|
|
133
139
|
this.removedCellMetas = removedCellMetas;
|
|
140
|
+
this.removedMergedCells = removedMergedCells;
|
|
134
141
|
}
|
|
135
142
|
}
|