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
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.array.push.js");
|
5
|
+
require("core-js/modules/es.error.cause.js");
|
5
6
|
var _base = require("../base");
|
6
7
|
var _element = require("../../helpers/dom/element");
|
7
8
|
var _number = require("../../helpers/number");
|
@@ -14,6 +15,13 @@ var _hideColumn = _interopRequireDefault(require("./contextMenuItem/hideColumn")
|
|
14
15
|
var _showColumn = _interopRequireDefault(require("./contextMenuItem/showColumn"));
|
15
16
|
var _translations = require("../../translations");
|
16
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
19
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
20
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
21
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
22
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
23
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
24
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
17
25
|
_pluginHooks.default.getSingleton().register('beforeHideColumns');
|
18
26
|
_pluginHooks.default.getSingleton().register('afterHideColumns');
|
19
27
|
_pluginHooks.default.getSingleton().register('beforeUnhideColumns');
|
@@ -129,29 +137,38 @@ const PLUGIN_PRIORITY = 310;
|
|
129
137
|
* :::
|
130
138
|
*/
|
131
139
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
140
|
+
var _settings = /*#__PURE__*/new WeakMap();
|
141
|
+
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
132
142
|
class HiddenColumns extends _base.BasePlugin {
|
143
|
+
constructor() {
|
144
|
+
super(...arguments);
|
145
|
+
/**
|
146
|
+
* Cached plugin settings.
|
147
|
+
*
|
148
|
+
* @private
|
149
|
+
* @type {object}
|
150
|
+
*/
|
151
|
+
_classPrivateFieldInitSpec(this, _settings, {
|
152
|
+
writable: true,
|
153
|
+
value: {}
|
154
|
+
});
|
155
|
+
/**
|
156
|
+
* Map of hidden columns by the plugin.
|
157
|
+
*
|
158
|
+
* @private
|
159
|
+
* @type {null|HidingMap}
|
160
|
+
*/
|
161
|
+
_classPrivateFieldInitSpec(this, _hiddenColumnsMap, {
|
162
|
+
writable: true,
|
163
|
+
value: null
|
164
|
+
});
|
165
|
+
}
|
133
166
|
static get PLUGIN_KEY() {
|
134
167
|
return PLUGIN_KEY;
|
135
168
|
}
|
136
169
|
static get PLUGIN_PRIORITY() {
|
137
170
|
return PLUGIN_PRIORITY;
|
138
171
|
}
|
139
|
-
|
140
|
-
/**
|
141
|
-
* Cached plugin settings.
|
142
|
-
*
|
143
|
-
* @private
|
144
|
-
* @type {object}
|
145
|
-
*/
|
146
|
-
#settings = {};
|
147
|
-
/**
|
148
|
-
* Map of hidden columns by the plugin.
|
149
|
-
*
|
150
|
-
* @private
|
151
|
-
* @type {null|HidingMap}
|
152
|
-
*/
|
153
|
-
#hiddenColumnsMap = null;
|
154
|
-
|
155
172
|
/**
|
156
173
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
157
174
|
* hook and if it returns `true` then the {@link HiddenColumns#enablePlugin} method is called.
|
@@ -172,14 +189,14 @@ class HiddenColumns extends _base.BasePlugin {
|
|
172
189
|
}
|
173
190
|
const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
174
191
|
if ((0, _object.isObject)(pluginSettings)) {
|
175
|
-
this
|
192
|
+
_classPrivateFieldSet(this, _settings, pluginSettings);
|
176
193
|
if ((0, _mixed.isUndefined)(pluginSettings.copyPasteEnabled)) {
|
177
194
|
pluginSettings.copyPasteEnabled = true;
|
178
195
|
}
|
179
196
|
}
|
180
|
-
this
|
181
|
-
this
|
182
|
-
this.hot.columnIndexMapper.registerMap(this.pluginName, this
|
197
|
+
_classPrivateFieldSet(this, _hiddenColumnsMap, new _translations.HidingMap());
|
198
|
+
_classPrivateFieldGet(this, _hiddenColumnsMap).addLocalHook('init', () => this.onMapInit());
|
199
|
+
this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(this, _hiddenColumnsMap));
|
183
200
|
this.addHook('afterContextMenuDefaultOptions', function () {
|
184
201
|
return _this.onAfterContextMenuDefaultOptions(...arguments);
|
185
202
|
});
|
@@ -209,7 +226,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
209
226
|
*/
|
210
227
|
disablePlugin() {
|
211
228
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
212
|
-
this
|
229
|
+
_classPrivateFieldSet(this, _settings, {});
|
213
230
|
super.disablePlugin();
|
214
231
|
this.resetCellsMeta();
|
215
232
|
}
|
@@ -223,7 +240,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
223
240
|
const currentHideConfig = this.getHiddenColumns();
|
224
241
|
const isValidConfig = this.isValidConfig(columns);
|
225
242
|
let destinationHideConfig = currentHideConfig;
|
226
|
-
const hidingMapValues = this
|
243
|
+
const hidingMapValues = _classPrivateFieldGet(this, _hiddenColumnsMap).getValues().slice();
|
227
244
|
const isAnyColumnShowed = columns.length > 0;
|
228
245
|
if (isValidConfig && isAnyColumnShowed) {
|
229
246
|
const physicalColumns = columns.map(visualColumn => this.hot.toPhysicalColumn(visualColumn));
|
@@ -246,7 +263,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
246
263
|
return;
|
247
264
|
}
|
248
265
|
if (isValidConfig && isAnyColumnShowed) {
|
249
|
-
this
|
266
|
+
_classPrivateFieldGet(this, _hiddenColumnsMap).setValues(hidingMapValues);
|
250
267
|
}
|
251
268
|
|
252
269
|
// @TODO Should call once per render cycle, currently fired separately in different plugins
|
@@ -285,7 +302,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
285
302
|
if (isConfigValid) {
|
286
303
|
this.hot.batchExecution(() => {
|
287
304
|
(0, _array.arrayEach)(columns, visualColumn => {
|
288
|
-
this
|
305
|
+
_classPrivateFieldGet(this, _hiddenColumnsMap).setValueAtIndex(this.hot.toPhysicalColumn(visualColumn), true);
|
289
306
|
});
|
290
307
|
}, true);
|
291
308
|
}
|
@@ -310,7 +327,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
310
327
|
* @returns {number[]}
|
311
328
|
*/
|
312
329
|
getHiddenColumns() {
|
313
|
-
return (0, _array.arrayMap)(this
|
330
|
+
return (0, _array.arrayMap)(_classPrivateFieldGet(this, _hiddenColumnsMap).getHiddenIndexes(), physicalColumnIndex => {
|
314
331
|
return this.hot.toVisualColumn(physicalColumnIndex);
|
315
332
|
});
|
316
333
|
}
|
@@ -322,7 +339,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
322
339
|
* @returns {boolean}
|
323
340
|
*/
|
324
341
|
isHidden(column) {
|
325
|
-
return this
|
342
|
+
return _classPrivateFieldGet(this, _hiddenColumnsMap).getValueAtIndex(this.hot.toPhysicalColumn(column)) || false;
|
326
343
|
}
|
327
344
|
|
328
345
|
/**
|
@@ -366,7 +383,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
366
383
|
if (this.isHidden(column)) {
|
367
384
|
return 0;
|
368
385
|
}
|
369
|
-
if (this
|
386
|
+
if (_classPrivateFieldGet(this, _settings).indicators && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
|
370
387
|
// Add additional space for hidden column indicator.
|
371
388
|
if (typeof width === 'number' && this.hot.hasColHeaders()) {
|
372
389
|
return width + 15;
|
@@ -383,7 +400,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
383
400
|
* @param {object} cellProperties Object containing the cell properties.
|
384
401
|
*/
|
385
402
|
onAfterGetCellMeta(row, column, cellProperties) {
|
386
|
-
if (this
|
403
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled === false && this.isHidden(column)) {
|
387
404
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
388
405
|
cellProperties.skipColumnOnPaste = true;
|
389
406
|
}
|
@@ -413,7 +430,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
413
430
|
*/
|
414
431
|
onModifyCopyableRange(ranges) {
|
415
432
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
416
|
-
if (this
|
433
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled) {
|
417
434
|
return ranges;
|
418
435
|
}
|
419
436
|
const newRanges = [];
|
@@ -456,7 +473,7 @@ class HiddenColumns extends _base.BasePlugin {
|
|
456
473
|
* @param {HTMLElement} TH Header's TH element.
|
457
474
|
*/
|
458
475
|
onAfterGetColHeader(column, TH) {
|
459
|
-
if (!this
|
476
|
+
if (!_classPrivateFieldGet(this, _settings).indicators || column < 0) {
|
460
477
|
return;
|
461
478
|
}
|
462
479
|
const classList = [];
|
@@ -487,8 +504,8 @@ class HiddenColumns extends _base.BasePlugin {
|
|
487
504
|
* @private
|
488
505
|
*/
|
489
506
|
onMapInit() {
|
490
|
-
if (Array.isArray(this
|
491
|
-
this.hideColumns(this
|
507
|
+
if (Array.isArray(_classPrivateFieldGet(this, _settings).columns)) {
|
508
|
+
this.hideColumns(_classPrivateFieldGet(this, _settings).columns);
|
492
509
|
}
|
493
510
|
}
|
494
511
|
|
@@ -496,8 +513,8 @@ class HiddenColumns extends _base.BasePlugin {
|
|
496
513
|
* Destroys the plugin instance.
|
497
514
|
*/
|
498
515
|
destroy() {
|
499
|
-
this
|
500
|
-
this
|
516
|
+
_classPrivateFieldSet(this, _settings, null);
|
517
|
+
_classPrivateFieldSet(this, _hiddenColumnsMap, null);
|
501
518
|
super.destroy();
|
502
519
|
}
|
503
520
|
}
|
@@ -1,4 +1,12 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
+
import "core-js/modules/es.error.cause.js";
|
3
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
6
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
7
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
8
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
9
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
2
10
|
import { BasePlugin } from "../base/index.mjs";
|
3
11
|
import { addClass } from "../../helpers/dom/element.mjs";
|
4
12
|
import { rangeEach } from "../../helpers/number.mjs";
|
@@ -123,29 +131,38 @@ export const PLUGIN_PRIORITY = 310;
|
|
123
131
|
* ```
|
124
132
|
* :::
|
125
133
|
*/
|
134
|
+
var _settings = /*#__PURE__*/new WeakMap();
|
135
|
+
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
126
136
|
export class HiddenColumns extends BasePlugin {
|
137
|
+
constructor() {
|
138
|
+
super(...arguments);
|
139
|
+
/**
|
140
|
+
* Cached plugin settings.
|
141
|
+
*
|
142
|
+
* @private
|
143
|
+
* @type {object}
|
144
|
+
*/
|
145
|
+
_classPrivateFieldInitSpec(this, _settings, {
|
146
|
+
writable: true,
|
147
|
+
value: {}
|
148
|
+
});
|
149
|
+
/**
|
150
|
+
* Map of hidden columns by the plugin.
|
151
|
+
*
|
152
|
+
* @private
|
153
|
+
* @type {null|HidingMap}
|
154
|
+
*/
|
155
|
+
_classPrivateFieldInitSpec(this, _hiddenColumnsMap, {
|
156
|
+
writable: true,
|
157
|
+
value: null
|
158
|
+
});
|
159
|
+
}
|
127
160
|
static get PLUGIN_KEY() {
|
128
161
|
return PLUGIN_KEY;
|
129
162
|
}
|
130
163
|
static get PLUGIN_PRIORITY() {
|
131
164
|
return PLUGIN_PRIORITY;
|
132
165
|
}
|
133
|
-
|
134
|
-
/**
|
135
|
-
* Cached plugin settings.
|
136
|
-
*
|
137
|
-
* @private
|
138
|
-
* @type {object}
|
139
|
-
*/
|
140
|
-
#settings = {};
|
141
|
-
/**
|
142
|
-
* Map of hidden columns by the plugin.
|
143
|
-
*
|
144
|
-
* @private
|
145
|
-
* @type {null|HidingMap}
|
146
|
-
*/
|
147
|
-
#hiddenColumnsMap = null;
|
148
|
-
|
149
166
|
/**
|
150
167
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
151
168
|
* hook and if it returns `true` then the {@link HiddenColumns#enablePlugin} method is called.
|
@@ -166,14 +183,14 @@ export class HiddenColumns extends BasePlugin {
|
|
166
183
|
}
|
167
184
|
const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
168
185
|
if (isObject(pluginSettings)) {
|
169
|
-
this
|
186
|
+
_classPrivateFieldSet(this, _settings, pluginSettings);
|
170
187
|
if (isUndefined(pluginSettings.copyPasteEnabled)) {
|
171
188
|
pluginSettings.copyPasteEnabled = true;
|
172
189
|
}
|
173
190
|
}
|
174
|
-
this
|
175
|
-
this
|
176
|
-
this.hot.columnIndexMapper.registerMap(this.pluginName, this
|
191
|
+
_classPrivateFieldSet(this, _hiddenColumnsMap, new HidingMap());
|
192
|
+
_classPrivateFieldGet(this, _hiddenColumnsMap).addLocalHook('init', () => this.onMapInit());
|
193
|
+
this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(this, _hiddenColumnsMap));
|
177
194
|
this.addHook('afterContextMenuDefaultOptions', function () {
|
178
195
|
return _this.onAfterContextMenuDefaultOptions(...arguments);
|
179
196
|
});
|
@@ -203,7 +220,7 @@ export class HiddenColumns extends BasePlugin {
|
|
203
220
|
*/
|
204
221
|
disablePlugin() {
|
205
222
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
206
|
-
this
|
223
|
+
_classPrivateFieldSet(this, _settings, {});
|
207
224
|
super.disablePlugin();
|
208
225
|
this.resetCellsMeta();
|
209
226
|
}
|
@@ -217,7 +234,7 @@ export class HiddenColumns extends BasePlugin {
|
|
217
234
|
const currentHideConfig = this.getHiddenColumns();
|
218
235
|
const isValidConfig = this.isValidConfig(columns);
|
219
236
|
let destinationHideConfig = currentHideConfig;
|
220
|
-
const hidingMapValues = this
|
237
|
+
const hidingMapValues = _classPrivateFieldGet(this, _hiddenColumnsMap).getValues().slice();
|
221
238
|
const isAnyColumnShowed = columns.length > 0;
|
222
239
|
if (isValidConfig && isAnyColumnShowed) {
|
223
240
|
const physicalColumns = columns.map(visualColumn => this.hot.toPhysicalColumn(visualColumn));
|
@@ -240,7 +257,7 @@ export class HiddenColumns extends BasePlugin {
|
|
240
257
|
return;
|
241
258
|
}
|
242
259
|
if (isValidConfig && isAnyColumnShowed) {
|
243
|
-
this
|
260
|
+
_classPrivateFieldGet(this, _hiddenColumnsMap).setValues(hidingMapValues);
|
244
261
|
}
|
245
262
|
|
246
263
|
// @TODO Should call once per render cycle, currently fired separately in different plugins
|
@@ -279,7 +296,7 @@ export class HiddenColumns extends BasePlugin {
|
|
279
296
|
if (isConfigValid) {
|
280
297
|
this.hot.batchExecution(() => {
|
281
298
|
arrayEach(columns, visualColumn => {
|
282
|
-
this
|
299
|
+
_classPrivateFieldGet(this, _hiddenColumnsMap).setValueAtIndex(this.hot.toPhysicalColumn(visualColumn), true);
|
283
300
|
});
|
284
301
|
}, true);
|
285
302
|
}
|
@@ -304,7 +321,7 @@ export class HiddenColumns extends BasePlugin {
|
|
304
321
|
* @returns {number[]}
|
305
322
|
*/
|
306
323
|
getHiddenColumns() {
|
307
|
-
return arrayMap(this
|
324
|
+
return arrayMap(_classPrivateFieldGet(this, _hiddenColumnsMap).getHiddenIndexes(), physicalColumnIndex => {
|
308
325
|
return this.hot.toVisualColumn(physicalColumnIndex);
|
309
326
|
});
|
310
327
|
}
|
@@ -316,7 +333,7 @@ export class HiddenColumns extends BasePlugin {
|
|
316
333
|
* @returns {boolean}
|
317
334
|
*/
|
318
335
|
isHidden(column) {
|
319
|
-
return this
|
336
|
+
return _classPrivateFieldGet(this, _hiddenColumnsMap).getValueAtIndex(this.hot.toPhysicalColumn(column)) || false;
|
320
337
|
}
|
321
338
|
|
322
339
|
/**
|
@@ -360,7 +377,7 @@ export class HiddenColumns extends BasePlugin {
|
|
360
377
|
if (this.isHidden(column)) {
|
361
378
|
return 0;
|
362
379
|
}
|
363
|
-
if (this
|
380
|
+
if (_classPrivateFieldGet(this, _settings).indicators && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
|
364
381
|
// Add additional space for hidden column indicator.
|
365
382
|
if (typeof width === 'number' && this.hot.hasColHeaders()) {
|
366
383
|
return width + 15;
|
@@ -377,7 +394,7 @@ export class HiddenColumns extends BasePlugin {
|
|
377
394
|
* @param {object} cellProperties Object containing the cell properties.
|
378
395
|
*/
|
379
396
|
onAfterGetCellMeta(row, column, cellProperties) {
|
380
|
-
if (this
|
397
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled === false && this.isHidden(column)) {
|
381
398
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
382
399
|
cellProperties.skipColumnOnPaste = true;
|
383
400
|
}
|
@@ -407,7 +424,7 @@ export class HiddenColumns extends BasePlugin {
|
|
407
424
|
*/
|
408
425
|
onModifyCopyableRange(ranges) {
|
409
426
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
410
|
-
if (this
|
427
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled) {
|
411
428
|
return ranges;
|
412
429
|
}
|
413
430
|
const newRanges = [];
|
@@ -450,7 +467,7 @@ export class HiddenColumns extends BasePlugin {
|
|
450
467
|
* @param {HTMLElement} TH Header's TH element.
|
451
468
|
*/
|
452
469
|
onAfterGetColHeader(column, TH) {
|
453
|
-
if (!this
|
470
|
+
if (!_classPrivateFieldGet(this, _settings).indicators || column < 0) {
|
454
471
|
return;
|
455
472
|
}
|
456
473
|
const classList = [];
|
@@ -481,8 +498,8 @@ export class HiddenColumns extends BasePlugin {
|
|
481
498
|
* @private
|
482
499
|
*/
|
483
500
|
onMapInit() {
|
484
|
-
if (Array.isArray(this
|
485
|
-
this.hideColumns(this
|
501
|
+
if (Array.isArray(_classPrivateFieldGet(this, _settings).columns)) {
|
502
|
+
this.hideColumns(_classPrivateFieldGet(this, _settings).columns);
|
486
503
|
}
|
487
504
|
}
|
488
505
|
|
@@ -490,8 +507,8 @@ export class HiddenColumns extends BasePlugin {
|
|
490
507
|
* Destroys the plugin instance.
|
491
508
|
*/
|
492
509
|
destroy() {
|
493
|
-
this
|
494
|
-
this
|
510
|
+
_classPrivateFieldSet(this, _settings, null);
|
511
|
+
_classPrivateFieldSet(this, _hiddenColumnsMap, null);
|
495
512
|
super.destroy();
|
496
513
|
}
|
497
514
|
}
|
@@ -28,9 +28,9 @@ function showRowItem(hiddenRowsPlugin) {
|
|
28
28
|
let endVisualRow = rows[rows.length - 1];
|
29
29
|
|
30
30
|
// Add to the selection one more visual row on the top.
|
31
|
-
startVisualRow = (_this$rowIndexMapper$ = this.rowIndexMapper.getNearestNotHiddenIndex(startVisualRow - 1, -1))
|
31
|
+
startVisualRow = (_this$rowIndexMapper$ = this.rowIndexMapper.getNearestNotHiddenIndex(startVisualRow - 1, -1)) !== null && _this$rowIndexMapper$ !== void 0 ? _this$rowIndexMapper$ : 0;
|
32
32
|
// Add to the selection one more visual row on the bottom.
|
33
|
-
endVisualRow = (_this$rowIndexMapper$2 = this.rowIndexMapper.getNearestNotHiddenIndex(endVisualRow + 1, 1))
|
33
|
+
endVisualRow = (_this$rowIndexMapper$2 = this.rowIndexMapper.getNearestNotHiddenIndex(endVisualRow + 1, 1)) !== null && _this$rowIndexMapper$2 !== void 0 ? _this$rowIndexMapper$2 : this.countRows() - 1;
|
34
34
|
hiddenRowsPlugin.showRows(rows);
|
35
35
|
|
36
36
|
// We render rows at first. It was needed for getting fixed rows.
|
@@ -22,9 +22,9 @@ export default function showRowItem(hiddenRowsPlugin) {
|
|
22
22
|
let endVisualRow = rows[rows.length - 1];
|
23
23
|
|
24
24
|
// Add to the selection one more visual row on the top.
|
25
|
-
startVisualRow = (_this$rowIndexMapper$ = this.rowIndexMapper.getNearestNotHiddenIndex(startVisualRow - 1, -1))
|
25
|
+
startVisualRow = (_this$rowIndexMapper$ = this.rowIndexMapper.getNearestNotHiddenIndex(startVisualRow - 1, -1)) !== null && _this$rowIndexMapper$ !== void 0 ? _this$rowIndexMapper$ : 0;
|
26
26
|
// Add to the selection one more visual row on the bottom.
|
27
|
-
endVisualRow = (_this$rowIndexMapper$2 = this.rowIndexMapper.getNearestNotHiddenIndex(endVisualRow + 1, 1))
|
27
|
+
endVisualRow = (_this$rowIndexMapper$2 = this.rowIndexMapper.getNearestNotHiddenIndex(endVisualRow + 1, 1)) !== null && _this$rowIndexMapper$2 !== void 0 ? _this$rowIndexMapper$2 : this.countRows() - 1;
|
28
28
|
hiddenRowsPlugin.showRows(rows);
|
29
29
|
|
30
30
|
// We render rows at first. It was needed for getting fixed rows.
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.array.push.js");
|
5
|
+
require("core-js/modules/es.error.cause.js");
|
5
6
|
var _base = require("../base");
|
6
7
|
var _element = require("../../helpers/dom/element");
|
7
8
|
var _number = require("../../helpers/number");
|
@@ -14,6 +15,13 @@ var _hideRow = _interopRequireDefault(require("./contextMenuItem/hideRow"));
|
|
14
15
|
var _showRow = _interopRequireDefault(require("./contextMenuItem/showRow"));
|
15
16
|
var _translations = require("../../translations");
|
16
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
19
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
20
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
21
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
22
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
23
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
24
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
17
25
|
_pluginHooks.default.getSingleton().register('beforeHideRows');
|
18
26
|
_pluginHooks.default.getSingleton().register('afterHideRows');
|
19
27
|
_pluginHooks.default.getSingleton().register('beforeUnhideRows');
|
@@ -129,29 +137,38 @@ const PLUGIN_PRIORITY = 320;
|
|
129
137
|
* :::
|
130
138
|
*/
|
131
139
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
140
|
+
var _settings = /*#__PURE__*/new WeakMap();
|
141
|
+
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
132
142
|
class HiddenRows extends _base.BasePlugin {
|
143
|
+
constructor() {
|
144
|
+
super(...arguments);
|
145
|
+
/**
|
146
|
+
* Cached settings from Handsontable settings.
|
147
|
+
*
|
148
|
+
* @private
|
149
|
+
* @type {object}
|
150
|
+
*/
|
151
|
+
_classPrivateFieldInitSpec(this, _settings, {
|
152
|
+
writable: true,
|
153
|
+
value: {}
|
154
|
+
});
|
155
|
+
/**
|
156
|
+
* Map of hidden rows by the plugin.
|
157
|
+
*
|
158
|
+
* @private
|
159
|
+
* @type {HidingMap|null}
|
160
|
+
*/
|
161
|
+
_classPrivateFieldInitSpec(this, _hiddenRowsMap, {
|
162
|
+
writable: true,
|
163
|
+
value: null
|
164
|
+
});
|
165
|
+
}
|
133
166
|
static get PLUGIN_KEY() {
|
134
167
|
return PLUGIN_KEY;
|
135
168
|
}
|
136
169
|
static get PLUGIN_PRIORITY() {
|
137
170
|
return PLUGIN_PRIORITY;
|
138
171
|
}
|
139
|
-
|
140
|
-
/**
|
141
|
-
* Cached settings from Handsontable settings.
|
142
|
-
*
|
143
|
-
* @private
|
144
|
-
* @type {object}
|
145
|
-
*/
|
146
|
-
#settings = {};
|
147
|
-
/**
|
148
|
-
* Map of hidden rows by the plugin.
|
149
|
-
*
|
150
|
-
* @private
|
151
|
-
* @type {HidingMap|null}
|
152
|
-
*/
|
153
|
-
#hiddenRowsMap = null;
|
154
|
-
|
155
172
|
/**
|
156
173
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
157
174
|
* hook and if it returns `true` then the {@link HiddenRows#enablePlugin} method is called.
|
@@ -172,14 +189,14 @@ class HiddenRows extends _base.BasePlugin {
|
|
172
189
|
}
|
173
190
|
const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
174
191
|
if ((0, _object.isObject)(pluginSettings)) {
|
175
|
-
this
|
192
|
+
_classPrivateFieldSet(this, _settings, pluginSettings);
|
176
193
|
if ((0, _mixed.isUndefined)(pluginSettings.copyPasteEnabled)) {
|
177
194
|
pluginSettings.copyPasteEnabled = true;
|
178
195
|
}
|
179
196
|
}
|
180
|
-
this
|
181
|
-
this
|
182
|
-
this.hot.rowIndexMapper.registerMap(this.pluginName, this
|
197
|
+
_classPrivateFieldSet(this, _hiddenRowsMap, new _translations.HidingMap());
|
198
|
+
_classPrivateFieldGet(this, _hiddenRowsMap).addLocalHook('init', () => this.onMapInit());
|
199
|
+
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(this, _hiddenRowsMap));
|
183
200
|
this.addHook('afterContextMenuDefaultOptions', function () {
|
184
201
|
return _this.onAfterContextMenuDefaultOptions(...arguments);
|
185
202
|
});
|
@@ -209,7 +226,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
209
226
|
*/
|
210
227
|
disablePlugin() {
|
211
228
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
212
|
-
this
|
229
|
+
_classPrivateFieldSet(this, _settings, {});
|
213
230
|
super.disablePlugin();
|
214
231
|
this.resetCellsMeta();
|
215
232
|
}
|
@@ -223,7 +240,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
223
240
|
const currentHideConfig = this.getHiddenRows();
|
224
241
|
const isValidConfig = this.isValidConfig(rows);
|
225
242
|
let destinationHideConfig = currentHideConfig;
|
226
|
-
const hidingMapValues = this
|
243
|
+
const hidingMapValues = _classPrivateFieldGet(this, _hiddenRowsMap).getValues().slice();
|
227
244
|
const isAnyRowShowed = rows.length > 0;
|
228
245
|
if (isValidConfig && isAnyRowShowed) {
|
229
246
|
const physicalRows = rows.map(visualRow => this.hot.toPhysicalRow(visualRow));
|
@@ -246,7 +263,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
246
263
|
return;
|
247
264
|
}
|
248
265
|
if (isValidConfig && isAnyRowShowed) {
|
249
|
-
this
|
266
|
+
_classPrivateFieldGet(this, _hiddenRowsMap).setValues(hidingMapValues);
|
250
267
|
}
|
251
268
|
this.hot.runHooks('afterUnhideRows', currentHideConfig, destinationHideConfig, isValidConfig && isAnyRowShowed, isValidConfig && destinationHideConfig.length < currentHideConfig.length);
|
252
269
|
}
|
@@ -282,7 +299,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
282
299
|
if (isConfigValid) {
|
283
300
|
this.hot.batchExecution(() => {
|
284
301
|
(0, _array.arrayEach)(rows, visualRow => {
|
285
|
-
this
|
302
|
+
_classPrivateFieldGet(this, _hiddenRowsMap).setValueAtIndex(this.hot.toPhysicalRow(visualRow), true);
|
286
303
|
});
|
287
304
|
}, true);
|
288
305
|
}
|
@@ -307,7 +324,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
307
324
|
* @returns {number[]}
|
308
325
|
*/
|
309
326
|
getHiddenRows() {
|
310
|
-
return (0, _array.arrayMap)(this
|
327
|
+
return (0, _array.arrayMap)(_classPrivateFieldGet(this, _hiddenRowsMap).getHiddenIndexes(), physicalRowIndex => {
|
311
328
|
return this.hot.toVisualRow(physicalRowIndex);
|
312
329
|
});
|
313
330
|
}
|
@@ -319,7 +336,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
319
336
|
* @returns {boolean}
|
320
337
|
*/
|
321
338
|
isHidden(row) {
|
322
|
-
return this
|
339
|
+
return _classPrivateFieldGet(this, _hiddenRowsMap).getValueAtIndex(this.hot.toPhysicalRow(row)) || false;
|
323
340
|
}
|
324
341
|
|
325
342
|
/**
|
@@ -375,7 +392,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
375
392
|
* @param {object} cellProperties Object containing the cell properties.
|
376
393
|
*/
|
377
394
|
onAfterGetCellMeta(row, column, cellProperties) {
|
378
|
-
if (this
|
395
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled === false && this.isHidden(row)) {
|
379
396
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
380
397
|
cellProperties.skipRowOnPaste = true;
|
381
398
|
}
|
@@ -405,7 +422,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
405
422
|
*/
|
406
423
|
onModifyCopyableRange(ranges) {
|
407
424
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
408
|
-
if (this
|
425
|
+
if (_classPrivateFieldGet(this, _settings).copyPasteEnabled) {
|
409
426
|
return ranges;
|
410
427
|
}
|
411
428
|
const newRanges = [];
|
@@ -448,7 +465,7 @@ class HiddenRows extends _base.BasePlugin {
|
|
448
465
|
* @param {HTMLElement} TH Header's TH element.
|
449
466
|
*/
|
450
467
|
onAfterGetRowHeader(row, TH) {
|
451
|
-
if (!this
|
468
|
+
if (!_classPrivateFieldGet(this, _settings).indicators || row < 0) {
|
452
469
|
return;
|
453
470
|
}
|
454
471
|
const classList = [];
|
@@ -479,8 +496,8 @@ class HiddenRows extends _base.BasePlugin {
|
|
479
496
|
* @private
|
480
497
|
*/
|
481
498
|
onMapInit() {
|
482
|
-
if (Array.isArray(this
|
483
|
-
this.hideRows(this
|
499
|
+
if (Array.isArray(_classPrivateFieldGet(this, _settings).rows)) {
|
500
|
+
this.hideRows(_classPrivateFieldGet(this, _settings).rows);
|
484
501
|
}
|
485
502
|
}
|
486
503
|
|
@@ -488,8 +505,8 @@ class HiddenRows extends _base.BasePlugin {
|
|
488
505
|
* Destroys the plugin instance.
|
489
506
|
*/
|
490
507
|
destroy() {
|
491
|
-
this
|
492
|
-
this
|
508
|
+
_classPrivateFieldSet(this, _settings, null);
|
509
|
+
_classPrivateFieldSet(this, _hiddenRowsMap, null);
|
493
510
|
super.destroy();
|
494
511
|
}
|
495
512
|
}
|