handsontable 0.0.0-next-b66c79f-20230713 → 0.0.0-next-08765b9-20230714
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
- package/3rdparty/walkontable/src/cell/coords.js +87 -33
- package/3rdparty/walkontable/src/cell/coords.mjs +87 -33
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +92 -46
- package/3rdparty/walkontable/src/cell/range.mjs +92 -46
- package/3rdparty/walkontable/src/core/_base.js +41 -33
- package/3rdparty/walkontable/src/core/_base.mjs +41 -33
- package/3rdparty/walkontable/src/core/clone.js +8 -5
- package/3rdparty/walkontable/src/core/clone.mjs +8 -5
- package/3rdparty/walkontable/src/core/core.js +3 -2
- package/3rdparty/walkontable/src/core/core.mjs +3 -2
- package/3rdparty/walkontable/src/event.js +9 -8
- package/3rdparty/walkontable/src/event.mjs +9 -8
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +10 -2
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +11 -9
- package/3rdparty/walkontable/src/overlay/_base.mjs +11 -9
- package/3rdparty/walkontable/src/overlay/bottom.js +10 -8
- package/3rdparty/walkontable/src/overlay/bottom.mjs +10 -8
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
- package/3rdparty/walkontable/src/overlay/top.js +12 -14
- package/3rdparty/walkontable/src/overlay/top.mjs +12 -14
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +16 -13
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +16 -13
- package/3rdparty/walkontable/src/overlays.js +75 -80
- package/3rdparty/walkontable/src/overlays.mjs +75 -80
- package/3rdparty/walkontable/src/scroll.js +27 -24
- package/3rdparty/walkontable/src/scroll.mjs +27 -24
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +16 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
- package/3rdparty/walkontable/src/selection/constants.js +62 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +26 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +259 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +254 -0
- package/3rdparty/walkontable/src/selection/scanner.js +270 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
- package/3rdparty/walkontable/src/selection/selection.js +101 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
- package/3rdparty/walkontable/src/settings.js +18 -17
- package/3rdparty/walkontable/src/settings.mjs +18 -17
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table.js +48 -115
- package/3rdparty/walkontable/src/table.mjs +49 -116
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/focusCatcher/focusDetector.js +58 -0
- package/core/focusCatcher/focusDetector.mjs +54 -0
- package/core/focusCatcher/index.js +142 -0
- package/core/focusCatcher/index.mjs +138 -0
- package/core/index.js +9 -0
- package/core/index.mjs +1 -0
- package/core.d.ts +6 -3
- package/core.js +181 -298
- package/core.mjs +181 -298
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +41 -0
- package/dataMap/metaManager/metaSchema.mjs +41 -0
- package/dataMap/metaManager/mods/dynamicCellMeta.js +3 -2
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +3 -2
- package/dataMap/metaManager/utils.js +4 -2
- package/dataMap/metaManager/utils.mjs +4 -2
- package/dist/handsontable.css +19 -3
- package/dist/handsontable.full.css +19 -3
- package/dist/handsontable.full.js +10739 -7037
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +25 -25
- package/dist/handsontable.js +24884 -21182
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +19 -19
- package/editorManager.js +11 -75
- package/editorManager.mjs +11 -74
- package/editors/autocompleteEditor/autocompleteEditor.js +70 -67
- package/editors/autocompleteEditor/autocompleteEditor.mjs +70 -67
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +2 -1
- package/editors/dateEditor/dateEditor.mjs +2 -1
- package/editors/textEditor/textEditor.js +3 -11
- package/editors/textEditor/textEditor.mjs +4 -12
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/helpers/object.js +1 -0
- package/helpers/object.mjs +1 -0
- package/index.js +5 -5
- package/index.mjs +5 -5
- package/package.json +1 -1
- package/pluginHooks.d.ts +7 -1
- package/pluginHooks.js +106 -1
- package/pluginHooks.mjs +106 -1
- package/plugins/autoColumnSize/autoColumnSize.js +4 -1
- package/plugins/autoColumnSize/autoColumnSize.mjs +4 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +110 -40
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +110 -40
- package/plugins/columnSorting/columnSorting.js +40 -1
- package/plugins/columnSorting/columnSorting.mjs +40 -3
- package/plugins/columnSorting/columnStatesManager.js +2 -1
- package/plugins/columnSorting/columnStatesManager.mjs +2 -1
- package/plugins/columnSorting/index.js +3 -1
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -0
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +253 -191
- package/plugins/comments/comments.mjs +252 -192
- package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
- package/plugins/comments/contextMenuItem/removeComment.js +38 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +72 -30
- package/plugins/contextMenu/contextMenu.mjs +73 -31
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/utils.js +28 -16
- package/plugins/contextMenu/utils.mjs +27 -15
- package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
- package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +12 -6
- package/plugins/copyPaste/copyPaste.mjs +12 -6
- package/plugins/customBorders/customBorders.js +36 -29
- package/plugins/customBorders/customBorders.mjs +37 -30
- package/plugins/customBorders/utils.js +3 -3
- package/plugins/customBorders/utils.mjs +3 -3
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +89 -32
- package/plugins/dropdownMenu/dropdownMenu.mjs +89 -32
- package/plugins/filters/conditionCollection.js +6 -5
- package/plugins/filters/conditionCollection.mjs +6 -5
- package/plugins/filters/filters.js +44 -21
- package/plugins/filters/filters.mjs +43 -20
- package/plugins/formulas/engine/register.js +3 -3
- package/plugins/formulas/engine/register.mjs +3 -3
- package/plugins/formulas/engine/settings.js +6 -3
- package/plugins/formulas/engine/settings.mjs +6 -3
- package/plugins/formulas/formulas.js +151 -143
- package/plugins/formulas/formulas.mjs +151 -143
- package/plugins/formulas/indexSyncer/axisSyncer.js +115 -79
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +115 -79
- package/plugins/formulas/indexSyncer/index.js +100 -64
- package/plugins/formulas/indexSyncer/index.mjs +100 -64
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -2
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
- package/plugins/hiddenColumns/hiddenColumns.js +51 -34
- package/plugins/hiddenColumns/hiddenColumns.mjs +51 -34
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -2
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
- package/plugins/hiddenRows/hiddenRows.js +50 -33
- package/plugins/hiddenRows/hiddenRows.mjs +50 -33
- package/plugins/manualRowResize/manualRowResize.js +2 -1
- package/plugins/manualRowResize/manualRowResize.mjs +2 -1
- package/plugins/mergeCells/mergeCells.js +6 -17
- package/plugins/mergeCells/mergeCells.mjs +6 -17
- package/plugins/multiColumnSorting/multiColumnSorting.js +37 -2
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +37 -2
- package/plugins/nestedHeaders/nestedHeaders.js +209 -75
- package/plugins/nestedHeaders/nestedHeaders.mjs +208 -74
- package/plugins/nestedHeaders/stateManager/headersTree.js +58 -38
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +58 -38
- package/plugins/nestedHeaders/stateManager/index.js +107 -49
- package/plugins/nestedHeaders/stateManager/index.mjs +105 -47
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +1 -1
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +1 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +57 -37
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +57 -37
- package/plugins/nestedHeaders/utils/ghostTable.js +39 -35
- package/plugins/nestedHeaders/utils/ghostTable.mjs +39 -35
- package/plugins/nestedRows/data/dataManager.js +4 -2
- package/plugins/nestedRows/data/dataManager.mjs +4 -2
- package/plugins/nestedRows/nestedRows.js +41 -0
- package/plugins/nestedRows/nestedRows.mjs +41 -0
- package/plugins/persistentState/storage.js +1 -0
- package/plugins/persistentState/storage.mjs +1 -0
- package/plugins/undoRedo/undoRedo.js +2 -1
- package/plugins/undoRedo/undoRedo.mjs +2 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +256 -71
- package/selection/highlight/highlight.mjs +250 -71
- package/selection/highlight/types/activeHeader.js +10 -8
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +6 -18
- package/selection/highlight/types/area.mjs +6 -18
- package/selection/highlight/types/areaLayered.js +31 -0
- package/selection/highlight/types/areaLayered.mjs +26 -0
- package/selection/highlight/types/column.js +27 -0
- package/selection/highlight/types/column.mjs +22 -0
- package/selection/highlight/types/customSelection.js +7 -9
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -7
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -7
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +9 -18
- package/selection/highlight/types/header.mjs +9 -18
- package/selection/highlight/types/row.js +27 -0
- package/selection/highlight/types/row.mjs +22 -0
- package/selection/highlight/visualSelection.js +41 -33
- package/selection/highlight/visualSelection.mjs +41 -33
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/mouseEventHandler.js +1 -1
- package/selection/mouseEventHandler.mjs +1 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +290 -154
- package/selection/selection.mjs +287 -153
- package/selection/transformation.js +232 -90
- package/selection/transformation.mjs +232 -90
- package/selection/utils.js +15 -21
- package/selection/utils.mjs +16 -21
- package/settings.d.ts +2 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +12 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +12 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +27 -0
- package/shortcutContexts/commands/editor/open.mjs +23 -0
- package/shortcutContexts/commands/emptySelectedCells.js +11 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +29 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +17 -0
- package/shortcutContexts/commands/index.js +35 -0
- package/shortcutContexts/commands/index.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +31 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +27 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +10 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +10 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +19 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +21 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +19 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +31 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +27 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +36 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +32 -0
- package/shortcutContexts/commands/selectAll.js +10 -0
- package/shortcutContexts/commands/selectAll.mjs +6 -0
- package/shortcutContexts/constants.js +13 -0
- package/shortcutContexts/constants.mjs +8 -0
- package/shortcutContexts/editor.js +25 -0
- package/shortcutContexts/editor.mjs +21 -0
- package/shortcutContexts/grid.js +163 -0
- package/shortcutContexts/grid.mjs +159 -0
- package/shortcutContexts/index.js +24 -0
- package/shortcutContexts/index.mjs +11 -0
- package/shortcuts/manager.js +2 -0
- package/shortcuts/manager.mjs +2 -0
- package/shortcuts/recorder.js +2 -2
- package/shortcuts/recorder.mjs +2 -2
- package/shortcuts/utils.js +19 -5
- package/shortcuts/utils.mjs +18 -4
- package/tableView.js +163 -91
- package/tableView.mjs +163 -91
- package/translations/changesObservable/observable.js +82 -54
- package/translations/changesObservable/observable.mjs +82 -54
- package/translations/changesObservable/observer.js +24 -11
- package/translations/changesObservable/observer.mjs +24 -11
- package/translations/maps/linkedPhysicalIndexToValueMap.js +14 -8
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +14 -8
- package/utils/dataStructures/tree.js +21 -18
- package/utils/dataStructures/tree.mjs +21 -18
- package/3rdparty/walkontable/src/selection.js +0 -295
- package/3rdparty/walkontable/src/selection.mjs +0 -290
- package/selection/highlight/constants.js +0 -15
- package/selection/highlight/constants.mjs +0 -6
- package/selection/highlight/types/index.js +0 -35
- package/selection/highlight/types/index.mjs +0 -31
@@ -1,13 +1,17 @@
|
|
1
|
+
import "core-js/modules/es.error.cause.js";
|
2
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
4
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
1
5
|
import { Selection } from "./../../3rdparty/walkontable/src/index.mjs";
|
2
6
|
class VisualSelection extends Selection {
|
3
|
-
/**
|
4
|
-
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
5
|
-
*
|
6
|
-
* @type {null|CellRange}
|
7
|
-
*/
|
8
|
-
visualCellRange = null;
|
9
7
|
constructor(settings, visualCellRange) {
|
10
8
|
super(settings, null);
|
9
|
+
/**
|
10
|
+
* Range of selection visually. Visual representation may have representation in a rendered selection.
|
11
|
+
*
|
12
|
+
* @type {null|CellRange}
|
13
|
+
*/
|
14
|
+
_defineProperty(this, "visualCellRange", null);
|
11
15
|
this.visualCellRange = visualCellRange || null;
|
12
16
|
this.commit();
|
13
17
|
}
|
@@ -55,10 +59,6 @@ class VisualSelection extends Selection {
|
|
55
59
|
return null;
|
56
60
|
}
|
57
61
|
if (visibleFromCoords.row > visibleToCoords.row || visibleFromCoords.col > visibleToCoords.col) {
|
58
|
-
const isHeaderTypeSelection = this.settings.type === 'header' || this.settings.type === 'active-header';
|
59
|
-
if (!isHeaderTypeSelection) {
|
60
|
-
return null;
|
61
|
-
}
|
62
62
|
visibleFromCoords = from;
|
63
63
|
visibleToCoords = to;
|
64
64
|
}
|
@@ -78,13 +78,13 @@ class VisualSelection extends Selection {
|
|
78
78
|
*/
|
79
79
|
getNearestNotHiddenCoords(coords, rowSearchDirection) {
|
80
80
|
let columnSearchDirection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : rowSearchDirection;
|
81
|
-
const nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper
|
81
|
+
const nextVisibleRow = this.getNearestNotHiddenIndex(this.settings.rowIndexMapper, coords.row, rowSearchDirection);
|
82
82
|
|
83
83
|
// There are no more visual rows in the range.
|
84
84
|
if (nextVisibleRow === null) {
|
85
85
|
return null;
|
86
86
|
}
|
87
|
-
const nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper
|
87
|
+
const nextVisibleColumn = this.getNearestNotHiddenIndex(this.settings.columnIndexMapper, coords.col, columnSearchDirection);
|
88
88
|
|
89
89
|
// There are no more visual columns in the range.
|
90
90
|
if (nextVisibleColumn === null) {
|
@@ -107,12 +107,7 @@ class VisualSelection extends Selection {
|
|
107
107
|
if (visualIndex < 0) {
|
108
108
|
return visualIndex;
|
109
109
|
}
|
110
|
-
|
111
|
-
const isHeaderSelectionType = this.settings.type === 'header' || this.settings.type === 'active-header';
|
112
|
-
if (isHeaderSelectionType && nearestVisualIndex === null) {
|
113
|
-
return -1;
|
114
|
-
}
|
115
|
-
return nearestVisualIndex;
|
110
|
+
return indexMapper.getNearestNotHiddenIndex(visualIndex, searchDirection);
|
116
111
|
}
|
117
112
|
|
118
113
|
/**
|
@@ -149,24 +144,38 @@ class VisualSelection extends Selection {
|
|
149
144
|
* @returns {VisualSelection}
|
150
145
|
*/
|
151
146
|
syncWith(broaderCellRange) {
|
147
|
+
const coordsFrom = broaderCellRange.from.clone().normalize();
|
152
148
|
const rowDirection = broaderCellRange.getVerticalDirection() === 'N-S' ? 1 : -1;
|
153
149
|
const columnDirection = broaderCellRange.getHorizontalDirection() === 'W-E' ? 1 : -1;
|
154
|
-
const
|
155
|
-
|
156
|
-
|
150
|
+
const renderableHighlight = this.settings.visualToRenderableCoords(this.visualCellRange.highlight);
|
151
|
+
let cellCoordsVisual = null;
|
152
|
+
if (renderableHighlight === null || renderableHighlight.col === null || renderableHighlight.row === null) {
|
153
|
+
cellCoordsVisual = this.getNearestNotHiddenCoords(coordsFrom, rowDirection, columnDirection);
|
154
|
+
}
|
155
|
+
if (cellCoordsVisual !== null && broaderCellRange.overlaps(cellCoordsVisual)) {
|
156
|
+
const currentHighlight = broaderCellRange.highlight.clone();
|
157
|
+
if (currentHighlight.row >= 0) {
|
158
|
+
currentHighlight.row = cellCoordsVisual.row;
|
159
|
+
}
|
160
|
+
if (currentHighlight.col >= 0) {
|
161
|
+
currentHighlight.col = cellCoordsVisual.col;
|
162
|
+
}
|
163
|
+
|
164
|
+
// We can't show selection visually now, but we found first visible range in the broader cell range.
|
157
165
|
if (this.cellRange === null) {
|
158
|
-
const
|
159
|
-
this.cellRange = this.settings.createCellRange(
|
166
|
+
const cellCoordsRenderable = this.settings.visualToRenderableCoords(currentHighlight);
|
167
|
+
this.cellRange = this.settings.createCellRange(cellCoordsRenderable);
|
160
168
|
}
|
161
169
|
|
162
170
|
// We set new highlight as it might change (for example, when showing/hiding some cells from the broader selection range)
|
163
171
|
// TODO: It is also handled by the `MergeCells` plugin while adjusting already modified coordinates. Should it?
|
164
|
-
broaderCellRange.setHighlight(
|
165
|
-
return this;
|
172
|
+
broaderCellRange.setHighlight(currentHighlight);
|
166
173
|
}
|
167
174
|
|
168
|
-
//
|
169
|
-
|
175
|
+
// Sync the highlight coords from the visual selection layer with logical coords.
|
176
|
+
if (this.settings.selectionType === 'focus' && renderableHighlight !== null && cellCoordsVisual === null) {
|
177
|
+
broaderCellRange.setHighlight(this.visualCellRange.highlight);
|
178
|
+
}
|
170
179
|
return this;
|
171
180
|
}
|
172
181
|
|
@@ -183,11 +192,7 @@ class VisualSelection extends Selection {
|
|
183
192
|
from,
|
184
193
|
to
|
185
194
|
} = this.cellRange;
|
186
|
-
|
187
|
-
const isColumnUndefined = from.col === null || to.col === null;
|
188
|
-
const topLeftCorner = this.settings.createCellCoords(isRowUndefined ? null : Math.min(from.row, to.row), isColumnUndefined ? null : Math.min(from.col, to.col));
|
189
|
-
const bottomRightCorner = this.settings.createCellCoords(isRowUndefined ? null : Math.max(from.row, to.row), isColumnUndefined ? null : Math.max(from.col, to.col));
|
190
|
-
return [topLeftCorner.row, topLeftCorner.col, bottomRightCorner.row, bottomRightCorner.col];
|
195
|
+
return [Math.min(from.row, to.row), Math.min(from.col, to.col), Math.max(from.row, to.row), Math.max(from.col, to.col)];
|
191
196
|
}
|
192
197
|
|
193
198
|
/**
|
@@ -210,11 +215,14 @@ class VisualSelection extends Selection {
|
|
210
215
|
* points to the beginning of the selection.
|
211
216
|
* @param {CellCoords} visualToCoords The CellCoords object which contains coordinates that
|
212
217
|
* points to the end of the selection.
|
213
|
-
* @returns {CellRange}
|
218
|
+
* @returns {CellRange|null}
|
214
219
|
*/
|
215
220
|
createRenderableCellRange(visualFromCoords, visualToCoords) {
|
216
221
|
const renderableFromCoords = this.settings.visualToRenderableCoords(visualFromCoords);
|
217
222
|
const renderableToCoords = this.settings.visualToRenderableCoords(visualToCoords);
|
223
|
+
if (renderableFromCoords.row === null || renderableFromCoords.col === null || renderableToCoords.row === null || renderableToCoords.col === null) {
|
224
|
+
return null;
|
225
|
+
}
|
218
226
|
return this.settings.createCellRange(renderableFromCoords, renderableFromCoords, renderableToCoords);
|
219
227
|
}
|
220
228
|
}
|
package/selection/index.js
CHANGED
@@ -2,14 +2,11 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
var _exportNames = {
|
5
|
-
Highlight: true,
|
6
5
|
Selection: true,
|
7
6
|
handleMouseEvent: true,
|
8
7
|
detectSelectionType: true,
|
9
8
|
normalizeSelectionFactory: true
|
10
9
|
};
|
11
|
-
var _highlight = _interopRequireDefault(require("./highlight/highlight"));
|
12
|
-
exports.Highlight = _highlight.default;
|
13
10
|
var _selection = _interopRequireDefault(require("./selection"));
|
14
11
|
exports.Selection = _selection.default;
|
15
12
|
var _mouseEventHandler = require("./mouseEventHandler");
|
@@ -17,11 +14,11 @@ exports.handleMouseEvent = _mouseEventHandler.handleMouseEvent;
|
|
17
14
|
var _utils = require("./utils");
|
18
15
|
exports.detectSelectionType = _utils.detectSelectionType;
|
19
16
|
exports.normalizeSelectionFactory = _utils.normalizeSelectionFactory;
|
20
|
-
var
|
21
|
-
Object.keys(
|
17
|
+
var _highlight = require("./highlight/highlight");
|
18
|
+
Object.keys(_highlight).forEach(function (key) {
|
22
19
|
if (key === "default" || key === "__esModule") return;
|
23
20
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
24
|
-
if (key in exports && exports[key] ===
|
25
|
-
exports[key] =
|
21
|
+
if (key in exports && exports[key] === _highlight[key]) return;
|
22
|
+
exports[key] = _highlight[key];
|
26
23
|
});
|
27
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/selection/index.mjs
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
import Highlight from "./highlight/highlight.mjs";
|
2
1
|
import Selection from "./selection.mjs";
|
3
2
|
import { handleMouseEvent } from "./mouseEventHandler.mjs";
|
4
3
|
import { detectSelectionType, normalizeSelectionFactory } from "./utils.mjs";
|
5
|
-
export * from "./highlight/
|
6
|
-
export { handleMouseEvent,
|
4
|
+
export * from "./highlight/highlight.mjs";
|
5
|
+
export { handleMouseEvent, Selection, detectSelectionType, normalizeSelectionFactory };
|
package/selection/range.js
CHANGED
@@ -69,7 +69,7 @@ class SelectionRange {
|
|
69
69
|
* @returns {CellRange|undefined}
|
70
70
|
*/
|
71
71
|
current() {
|
72
|
-
return this.peekByIndex(
|
72
|
+
return this.peekByIndex(this.size() - 1);
|
73
73
|
}
|
74
74
|
|
75
75
|
/**
|
@@ -78,7 +78,7 @@ class SelectionRange {
|
|
78
78
|
* @returns {CellRange|undefined}
|
79
79
|
*/
|
80
80
|
previous() {
|
81
|
-
return this.peekByIndex(-
|
81
|
+
return this.peekByIndex(this.size() - 2);
|
82
82
|
}
|
83
83
|
|
84
84
|
/**
|
@@ -112,17 +112,17 @@ class SelectionRange {
|
|
112
112
|
}
|
113
113
|
|
114
114
|
/**
|
115
|
-
* Peek the coordinates based on the
|
115
|
+
* Peek the coordinates based on the index where that coordinate resides in the collection.
|
116
116
|
*
|
117
|
-
* @param {number} [
|
117
|
+
* @param {number} [index=0] An index where the coordinate will be retrieved from. The index '0' gets the
|
118
|
+
* latest range.
|
118
119
|
* @returns {CellRange|undefined}
|
119
120
|
*/
|
120
121
|
peekByIndex() {
|
121
|
-
let
|
122
|
-
const rangeIndex = this.size() + offset - 1;
|
122
|
+
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
123
123
|
let cellRange;
|
124
|
-
if (
|
125
|
-
cellRange = this.ranges[
|
124
|
+
if (index >= 0 && index < this.size()) {
|
125
|
+
cellRange = this.ranges[index];
|
126
126
|
}
|
127
127
|
return cellRange;
|
128
128
|
}
|
package/selection/range.mjs
CHANGED
@@ -66,7 +66,7 @@ class SelectionRange {
|
|
66
66
|
* @returns {CellRange|undefined}
|
67
67
|
*/
|
68
68
|
current() {
|
69
|
-
return this.peekByIndex(
|
69
|
+
return this.peekByIndex(this.size() - 1);
|
70
70
|
}
|
71
71
|
|
72
72
|
/**
|
@@ -75,7 +75,7 @@ class SelectionRange {
|
|
75
75
|
* @returns {CellRange|undefined}
|
76
76
|
*/
|
77
77
|
previous() {
|
78
|
-
return this.peekByIndex(-
|
78
|
+
return this.peekByIndex(this.size() - 2);
|
79
79
|
}
|
80
80
|
|
81
81
|
/**
|
@@ -109,17 +109,17 @@ class SelectionRange {
|
|
109
109
|
}
|
110
110
|
|
111
111
|
/**
|
112
|
-
* Peek the coordinates based on the
|
112
|
+
* Peek the coordinates based on the index where that coordinate resides in the collection.
|
113
113
|
*
|
114
|
-
* @param {number} [
|
114
|
+
* @param {number} [index=0] An index where the coordinate will be retrieved from. The index '0' gets the
|
115
|
+
* latest range.
|
115
116
|
* @returns {CellRange|undefined}
|
116
117
|
*/
|
117
118
|
peekByIndex() {
|
118
|
-
let
|
119
|
-
const rangeIndex = this.size() + offset - 1;
|
119
|
+
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
120
120
|
let cellRange;
|
121
|
-
if (
|
122
|
-
cellRange = this.ranges[
|
121
|
+
if (index >= 0 && index < this.size()) {
|
122
|
+
cellRange = this.ranges[index];
|
123
123
|
}
|
124
124
|
return cellRange;
|
125
125
|
}
|