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,7 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
4
5
|
var _element = require("../../../helpers/dom/element");
|
6
|
+
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; }
|
7
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
8
|
+
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); }
|
5
9
|
/**
|
6
10
|
* The class generates the nested headers structure in the DOM and reads the column width for
|
7
11
|
* each column. The hierarchy is built only for visible, non-hidden columns. Each time the
|
@@ -11,42 +15,42 @@ var _element = require("../../../helpers/dom/element");
|
|
11
15
|
* @private
|
12
16
|
*/
|
13
17
|
class GhostTable {
|
14
|
-
/**
|
15
|
-
* Reference to the Handsontable instance.
|
16
|
-
*
|
17
|
-
* @private
|
18
|
-
* @type {Handsontable}
|
19
|
-
*/
|
20
|
-
hot;
|
21
|
-
/**
|
22
|
-
* The function for retrieving the nested headers settings.
|
23
|
-
*
|
24
|
-
* @private
|
25
|
-
* @type {Function}
|
26
|
-
*/
|
27
|
-
nestedHeaderSettingsGetter;
|
28
|
-
/**
|
29
|
-
* The value that holds information about the number of the nested header layers (header rows).
|
30
|
-
*
|
31
|
-
* @private
|
32
|
-
* @type {number}
|
33
|
-
*/
|
34
|
-
layersCount = 0;
|
35
|
-
/**
|
36
|
-
* Temporary element created to get minimal headers widths.
|
37
|
-
*
|
38
|
-
* @private
|
39
|
-
* @type {*}
|
40
|
-
*/
|
41
|
-
container;
|
42
|
-
/**
|
43
|
-
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
44
|
-
*
|
45
|
-
* @private
|
46
|
-
* @type {PhysicalIndexToValueMap}
|
47
|
-
*/
|
48
|
-
widthsMap;
|
49
18
|
constructor(hot, nestedHeaderSettingsGetter) {
|
19
|
+
/**
|
20
|
+
* Reference to the Handsontable instance.
|
21
|
+
*
|
22
|
+
* @private
|
23
|
+
* @type {Handsontable}
|
24
|
+
*/
|
25
|
+
_defineProperty(this, "hot", void 0);
|
26
|
+
/**
|
27
|
+
* The function for retrieving the nested headers settings.
|
28
|
+
*
|
29
|
+
* @private
|
30
|
+
* @type {Function}
|
31
|
+
*/
|
32
|
+
_defineProperty(this, "nestedHeaderSettingsGetter", void 0);
|
33
|
+
/**
|
34
|
+
* The value that holds information about the number of the nested header layers (header rows).
|
35
|
+
*
|
36
|
+
* @private
|
37
|
+
* @type {number}
|
38
|
+
*/
|
39
|
+
_defineProperty(this, "layersCount", 0);
|
40
|
+
/**
|
41
|
+
* Temporary element created to get minimal headers widths.
|
42
|
+
*
|
43
|
+
* @private
|
44
|
+
* @type {*}
|
45
|
+
*/
|
46
|
+
_defineProperty(this, "container", void 0);
|
47
|
+
/**
|
48
|
+
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
49
|
+
*
|
50
|
+
* @private
|
51
|
+
* @type {PhysicalIndexToValueMap}
|
52
|
+
*/
|
53
|
+
_defineProperty(this, "widthsMap", void 0);
|
50
54
|
this.hot = hot;
|
51
55
|
this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
|
52
56
|
this.widthsMap = this.hot.columnIndexMapper.createAndRegisterIndexMap('nestedHeaders.widthsMap', 'physicalIndexToValue');
|
@@ -1,3 +1,7 @@
|
|
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 { fastInnerHTML } from "../../../helpers/dom/element.mjs";
|
2
6
|
/**
|
3
7
|
* The class generates the nested headers structure in the DOM and reads the column width for
|
@@ -8,42 +12,42 @@ import { fastInnerHTML } from "../../../helpers/dom/element.mjs";
|
|
8
12
|
* @private
|
9
13
|
*/
|
10
14
|
class GhostTable {
|
11
|
-
/**
|
12
|
-
* Reference to the Handsontable instance.
|
13
|
-
*
|
14
|
-
* @private
|
15
|
-
* @type {Handsontable}
|
16
|
-
*/
|
17
|
-
hot;
|
18
|
-
/**
|
19
|
-
* The function for retrieving the nested headers settings.
|
20
|
-
*
|
21
|
-
* @private
|
22
|
-
* @type {Function}
|
23
|
-
*/
|
24
|
-
nestedHeaderSettingsGetter;
|
25
|
-
/**
|
26
|
-
* The value that holds information about the number of the nested header layers (header rows).
|
27
|
-
*
|
28
|
-
* @private
|
29
|
-
* @type {number}
|
30
|
-
*/
|
31
|
-
layersCount = 0;
|
32
|
-
/**
|
33
|
-
* Temporary element created to get minimal headers widths.
|
34
|
-
*
|
35
|
-
* @private
|
36
|
-
* @type {*}
|
37
|
-
*/
|
38
|
-
container;
|
39
|
-
/**
|
40
|
-
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
41
|
-
*
|
42
|
-
* @private
|
43
|
-
* @type {PhysicalIndexToValueMap}
|
44
|
-
*/
|
45
|
-
widthsMap;
|
46
15
|
constructor(hot, nestedHeaderSettingsGetter) {
|
16
|
+
/**
|
17
|
+
* Reference to the Handsontable instance.
|
18
|
+
*
|
19
|
+
* @private
|
20
|
+
* @type {Handsontable}
|
21
|
+
*/
|
22
|
+
_defineProperty(this, "hot", void 0);
|
23
|
+
/**
|
24
|
+
* The function for retrieving the nested headers settings.
|
25
|
+
*
|
26
|
+
* @private
|
27
|
+
* @type {Function}
|
28
|
+
*/
|
29
|
+
_defineProperty(this, "nestedHeaderSettingsGetter", void 0);
|
30
|
+
/**
|
31
|
+
* The value that holds information about the number of the nested header layers (header rows).
|
32
|
+
*
|
33
|
+
* @private
|
34
|
+
* @type {number}
|
35
|
+
*/
|
36
|
+
_defineProperty(this, "layersCount", 0);
|
37
|
+
/**
|
38
|
+
* Temporary element created to get minimal headers widths.
|
39
|
+
*
|
40
|
+
* @private
|
41
|
+
* @type {*}
|
42
|
+
*/
|
43
|
+
_defineProperty(this, "container", void 0);
|
44
|
+
/**
|
45
|
+
* PhysicalIndexToValueMap to keep and track of the columns' widths.
|
46
|
+
*
|
47
|
+
* @private
|
48
|
+
* @type {PhysicalIndexToValueMap}
|
49
|
+
*/
|
50
|
+
_defineProperty(this, "widthsMap", void 0);
|
47
51
|
this.hot = hot;
|
48
52
|
this.nestedHeaderSettingsGetter = nestedHeaderSettingsGetter;
|
49
53
|
this.widthsMap = this.hot.columnIndexMapper.createAndRegisterIndexMap('nestedHeaders.widthsMap', 'physicalIndexToValue');
|
@@ -374,7 +374,8 @@ class DataManager {
|
|
374
374
|
* @returns {object|null} The child element or `null` if the child doesn't exist.
|
375
375
|
*/
|
376
376
|
getChild(parent, index) {
|
377
|
-
|
377
|
+
var _parent$__children;
|
378
|
+
return ((_parent$__children = parent.__children) === null || _parent$__children === void 0 ? void 0 : _parent$__children[index]) || null;
|
378
379
|
}
|
379
380
|
|
380
381
|
/**
|
@@ -394,11 +395,12 @@ class DataManager {
|
|
394
395
|
* @returns {boolean} `true` if the row is a parent, `false` otherwise.
|
395
396
|
*/
|
396
397
|
isParent(row) {
|
398
|
+
var _rowObj$__children;
|
397
399
|
let rowObj = row;
|
398
400
|
if (!isNaN(rowObj)) {
|
399
401
|
rowObj = this.getDataObject(rowObj);
|
400
402
|
}
|
401
|
-
return rowObj && !!rowObj.__children && rowObj.__children
|
403
|
+
return rowObj && !!rowObj.__children && ((_rowObj$__children = rowObj.__children) === null || _rowObj$__children === void 0 ? void 0 : _rowObj$__children.length) !== 0;
|
402
404
|
}
|
403
405
|
|
404
406
|
/**
|
@@ -371,7 +371,8 @@ class DataManager {
|
|
371
371
|
* @returns {object|null} The child element or `null` if the child doesn't exist.
|
372
372
|
*/
|
373
373
|
getChild(parent, index) {
|
374
|
-
|
374
|
+
var _parent$__children;
|
375
|
+
return ((_parent$__children = parent.__children) === null || _parent$__children === void 0 ? void 0 : _parent$__children[index]) || null;
|
375
376
|
}
|
376
377
|
|
377
378
|
/**
|
@@ -391,11 +392,12 @@ class DataManager {
|
|
391
392
|
* @returns {boolean} `true` if the row is a parent, `false` otherwise.
|
392
393
|
*/
|
393
394
|
isParent(row) {
|
395
|
+
var _rowObj$__children;
|
394
396
|
let rowObj = row;
|
395
397
|
if (!isNaN(rowObj)) {
|
396
398
|
rowObj = this.getDataObject(rowObj);
|
397
399
|
}
|
398
|
-
return rowObj && !!rowObj.__children && rowObj.__children
|
400
|
+
return rowObj && !!rowObj.__children && ((_rowObj$__children = rowObj.__children) === null || _rowObj$__children === void 0 ? void 0 : _rowObj$__children.length) !== 0;
|
399
401
|
}
|
400
402
|
|
401
403
|
/**
|
@@ -16,6 +16,7 @@ const PLUGIN_KEY = 'nestedRows';
|
|
16
16
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
17
17
|
const PLUGIN_PRIORITY = 300;
|
18
18
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
19
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
19
20
|
const privatePool = new WeakMap();
|
20
21
|
|
21
22
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -150,6 +151,7 @@ class NestedRows extends _base.BasePlugin {
|
|
150
151
|
});
|
151
152
|
this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
|
152
153
|
this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
|
154
|
+
this.registerShortcuts();
|
153
155
|
super.enablePlugin();
|
154
156
|
}
|
155
157
|
|
@@ -158,6 +160,7 @@ class NestedRows extends _base.BasePlugin {
|
|
158
160
|
*/
|
159
161
|
disablePlugin() {
|
160
162
|
this.hot.rowIndexMapper.unregisterMap('nestedRows');
|
163
|
+
this.unregisterShortcuts();
|
161
164
|
super.disablePlugin();
|
162
165
|
}
|
163
166
|
|
@@ -179,6 +182,44 @@ class NestedRows extends _base.BasePlugin {
|
|
179
182
|
super.updatePlugin();
|
180
183
|
}
|
181
184
|
|
185
|
+
/**
|
186
|
+
* Register shortcuts responsible for toggling collapsible columns.
|
187
|
+
*
|
188
|
+
* @private
|
189
|
+
*/
|
190
|
+
registerShortcuts() {
|
191
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
192
|
+
keys: [['Enter']],
|
193
|
+
callback: () => {
|
194
|
+
const {
|
195
|
+
highlight
|
196
|
+
} = this.hot.getSelectedRangeLast();
|
197
|
+
if (highlight.col === -1 && highlight.row >= 0) {
|
198
|
+
const row = this.collapsingUI.translateTrimmedRow(highlight.row);
|
199
|
+
if (this.collapsingUI.areChildrenCollapsed(row)) {
|
200
|
+
this.collapsingUI.expandChildren(row);
|
201
|
+
} else {
|
202
|
+
this.collapsingUI.collapseChildren(row);
|
203
|
+
}
|
204
|
+
}
|
205
|
+
},
|
206
|
+
runOnlyIf: () => {
|
207
|
+
var _this$hot$getSelected;
|
208
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
209
|
+
},
|
210
|
+
group: SHORTCUTS_GROUP
|
211
|
+
});
|
212
|
+
}
|
213
|
+
|
214
|
+
/**
|
215
|
+
* Unregister shortcuts responsible for toggling collapsible columns.
|
216
|
+
*
|
217
|
+
* @private
|
218
|
+
*/
|
219
|
+
unregisterShortcuts() {
|
220
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
221
|
+
}
|
222
|
+
|
182
223
|
/**
|
183
224
|
* `beforeRowMove` hook callback.
|
184
225
|
*
|
@@ -10,6 +10,7 @@ import { TrimmingMap } from "../../translations/index.mjs";
|
|
10
10
|
import RowMoveController from "./utils/rowMoveController.mjs";
|
11
11
|
export const PLUGIN_KEY = 'nestedRows';
|
12
12
|
export const PLUGIN_PRIORITY = 300;
|
13
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
13
14
|
const privatePool = new WeakMap();
|
14
15
|
|
15
16
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -144,6 +145,7 @@ export class NestedRows extends BasePlugin {
|
|
144
145
|
});
|
145
146
|
this.addHook('beforeLoadData', data => this.onBeforeLoadData(data));
|
146
147
|
this.addHook('beforeUpdateData', data => this.onBeforeLoadData(data));
|
148
|
+
this.registerShortcuts();
|
147
149
|
super.enablePlugin();
|
148
150
|
}
|
149
151
|
|
@@ -152,6 +154,7 @@ export class NestedRows extends BasePlugin {
|
|
152
154
|
*/
|
153
155
|
disablePlugin() {
|
154
156
|
this.hot.rowIndexMapper.unregisterMap('nestedRows');
|
157
|
+
this.unregisterShortcuts();
|
155
158
|
super.disablePlugin();
|
156
159
|
}
|
157
160
|
|
@@ -173,6 +176,44 @@ export class NestedRows extends BasePlugin {
|
|
173
176
|
super.updatePlugin();
|
174
177
|
}
|
175
178
|
|
179
|
+
/**
|
180
|
+
* Register shortcuts responsible for toggling collapsible columns.
|
181
|
+
*
|
182
|
+
* @private
|
183
|
+
*/
|
184
|
+
registerShortcuts() {
|
185
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
186
|
+
keys: [['Enter']],
|
187
|
+
callback: () => {
|
188
|
+
const {
|
189
|
+
highlight
|
190
|
+
} = this.hot.getSelectedRangeLast();
|
191
|
+
if (highlight.col === -1 && highlight.row >= 0) {
|
192
|
+
const row = this.collapsingUI.translateTrimmedRow(highlight.row);
|
193
|
+
if (this.collapsingUI.areChildrenCollapsed(row)) {
|
194
|
+
this.collapsingUI.expandChildren(row);
|
195
|
+
} else {
|
196
|
+
this.collapsingUI.collapseChildren(row);
|
197
|
+
}
|
198
|
+
}
|
199
|
+
},
|
200
|
+
runOnlyIf: () => {
|
201
|
+
var _this$hot$getSelected;
|
202
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
203
|
+
},
|
204
|
+
group: SHORTCUTS_GROUP
|
205
|
+
});
|
206
|
+
}
|
207
|
+
|
208
|
+
/**
|
209
|
+
* Unregister shortcuts responsible for toggling collapsible columns.
|
210
|
+
*
|
211
|
+
* @private
|
212
|
+
*/
|
213
|
+
unregisterShortcuts() {
|
214
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
215
|
+
}
|
216
|
+
|
176
217
|
/**
|
177
218
|
* `beforeRowMove` hook callback.
|
178
219
|
*
|
@@ -830,7 +830,8 @@ function removeExposedUndoRedoMethods(instance) {
|
|
830
830
|
}
|
831
831
|
const hook = _pluginHooks.default.getSingleton();
|
832
832
|
hook.add('afterUpdateSettings', function () {
|
833
|
-
|
833
|
+
var _this$getPlugin;
|
834
|
+
(_this$getPlugin = this.getPlugin('undoRedo')) === null || _this$getPlugin === void 0 ? void 0 : _this$getPlugin.init();
|
834
835
|
});
|
835
836
|
hook.register('beforeUndo');
|
836
837
|
hook.register('afterUndo');
|
@@ -825,7 +825,8 @@ function removeExposedUndoRedoMethods(instance) {
|
|
825
825
|
}
|
826
826
|
const hook = Hooks.getSingleton();
|
827
827
|
hook.add('afterUpdateSettings', function () {
|
828
|
-
|
828
|
+
var _this$getPlugin;
|
829
|
+
(_this$getPlugin = this.getPlugin('undoRedo')) === null || _this$getPlugin === void 0 ? void 0 : _this$getPlugin.init();
|
829
830
|
});
|
830
831
|
hook.register('beforeUndo');
|
831
832
|
hook.register('afterUndo');
|
@@ -7,7 +7,7 @@ var _baseRenderer = require("../baseRenderer");
|
|
7
7
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
8
8
|
var _element = require("../../helpers/dom/element");
|
9
9
|
var _mixed = require("../../helpers/mixed");
|
10
|
-
var
|
10
|
+
var _shortcutContexts = require("../../shortcutContexts");
|
11
11
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
13
|
const isListeningKeyDownEvent = new WeakMap();
|
@@ -158,7 +158,7 @@ function checkboxRenderer(instance, TD, row, col, prop, value, cellProperties) {
|
|
158
158
|
return !areSelectedCheckboxCells(); // False blocks next action associated with the keyboard shortcut.
|
159
159
|
},
|
160
160
|
|
161
|
-
relativeToGroup:
|
161
|
+
relativeToGroup: _shortcutContexts.EDITOR_EDIT_GROUP,
|
162
162
|
position: 'before'
|
163
163
|
}], config);
|
164
164
|
}
|
@@ -3,7 +3,7 @@ import { baseRenderer } from "../baseRenderer/index.mjs";
|
|
3
3
|
import EventManager from "../../eventManager.mjs";
|
4
4
|
import { empty, addClass } from "../../helpers/dom/element.mjs";
|
5
5
|
import { isEmpty, stringify } from "../../helpers/mixed.mjs";
|
6
|
-
import { SHORTCUTS_GROUP_EDITOR } from "../../
|
6
|
+
import { EDITOR_EDIT_GROUP as SHORTCUTS_GROUP_EDITOR } from "../../shortcutContexts/index.mjs";
|
7
7
|
import Hooks from "../../pluginHooks.mjs";
|
8
8
|
const isListeningKeyDownEvent = new WeakMap();
|
9
9
|
const isCheckboxListenerAdded = new WeakMap();
|