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
@@ -0,0 +1,96 @@
|
|
1
|
+
import { mixin } from "../../../../helpers/object.mjs";
|
2
|
+
import localHooks from "../../../../mixins/localHooks.mjs";
|
3
|
+
/**
|
4
|
+
* The Selection class allows highlighting (by applying CSS class) the table's cells or headers
|
5
|
+
* and setting up the borders if defined in the settings.
|
6
|
+
*
|
7
|
+
* The Selection coordinates may point to the cells (positive numbers) or headers (negative numbers).
|
8
|
+
*
|
9
|
+
* @class Selection
|
10
|
+
*/
|
11
|
+
class Selection {
|
12
|
+
/**
|
13
|
+
* @param {object} settings The selection settings object. @todo type.
|
14
|
+
* @param {CellRange} cellRange The cell range instance.
|
15
|
+
*/
|
16
|
+
constructor(settings, cellRange) {
|
17
|
+
this.settings = settings;
|
18
|
+
this.cellRange = cellRange || null;
|
19
|
+
}
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Checks if selection is empty.
|
23
|
+
*
|
24
|
+
* @returns {boolean}
|
25
|
+
*/
|
26
|
+
isEmpty() {
|
27
|
+
return this.cellRange === null;
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Adds a cell coords to the selection.
|
32
|
+
*
|
33
|
+
* @param {CellCoords} coords The cell coordinates to add.
|
34
|
+
* @returns {Selection}
|
35
|
+
*/
|
36
|
+
add(coords) {
|
37
|
+
if (this.isEmpty()) {
|
38
|
+
this.cellRange = this.settings.createCellRange(coords);
|
39
|
+
} else {
|
40
|
+
this.cellRange.expand(coords);
|
41
|
+
}
|
42
|
+
return this;
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* If selection range from or to property equals oldCoords, replace it with newCoords. Return boolean
|
47
|
+
* information about success.
|
48
|
+
*
|
49
|
+
* @param {CellCoords} oldCoords An old cell coordinates to replace.
|
50
|
+
* @param {CellCoords} newCoords The new cell coordinates.
|
51
|
+
* @returns {boolean}
|
52
|
+
*/
|
53
|
+
replace(oldCoords, newCoords) {
|
54
|
+
if (!this.isEmpty()) {
|
55
|
+
if (this.cellRange.from.isEqual(oldCoords)) {
|
56
|
+
this.cellRange.from = newCoords;
|
57
|
+
return true;
|
58
|
+
}
|
59
|
+
if (this.cellRange.to.isEqual(oldCoords)) {
|
60
|
+
this.cellRange.to = newCoords;
|
61
|
+
return true;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
return false;
|
65
|
+
}
|
66
|
+
|
67
|
+
/**
|
68
|
+
* Clears selection.
|
69
|
+
*
|
70
|
+
* @returns {Selection}
|
71
|
+
*/
|
72
|
+
clear() {
|
73
|
+
this.cellRange = null;
|
74
|
+
return this;
|
75
|
+
}
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Returns the top left (or top right in RTL) and bottom right (or bottom left in RTL) selection coordinates.
|
79
|
+
*
|
80
|
+
* @returns {number[]} Returns array of coordinates for example `[1, 1, 5, 5]`.
|
81
|
+
*/
|
82
|
+
getCorners() {
|
83
|
+
const topStart = this.cellRange.getOuterTopStartCorner();
|
84
|
+
const bottomEnd = this.cellRange.getOuterBottomEndCorner();
|
85
|
+
return [topStart.row, topStart.col, bottomEnd.row, bottomEnd.col];
|
86
|
+
}
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Destroys the instance.
|
90
|
+
*/
|
91
|
+
destroy() {
|
92
|
+
this.runLocalHooks('destroy');
|
93
|
+
}
|
94
|
+
}
|
95
|
+
mixin(Selection, localHooks);
|
96
|
+
export default Selection;
|
@@ -4,6 +4,9 @@ exports.__esModule = true;
|
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
var _element = require("../../../helpers/dom/element");
|
6
6
|
var _object = require("../../../helpers/object");
|
7
|
+
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; }
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
9
|
+
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); }
|
7
10
|
/**
|
8
11
|
* @todo Describe options.
|
9
12
|
* @typedef SettingsPure
|
@@ -78,27 +81,25 @@ var _object = require("../../../helpers/object");
|
|
78
81
|
* @class Settings
|
79
82
|
*/
|
80
83
|
class Settings {
|
81
|
-
/**
|
82
|
-
* Reference to settings.
|
83
|
-
*
|
84
|
-
* @protected
|
85
|
-
* @type {SettingsPure}
|
86
|
-
*/
|
87
|
-
settings = {};
|
88
|
-
|
89
|
-
/**
|
90
|
-
* The defaults values of settings.
|
91
|
-
* Void 0 means it is required, null means it can be empty.
|
92
|
-
*
|
93
|
-
* @public
|
94
|
-
* @type {Readonly<SettingsPure>}
|
95
|
-
*/
|
96
|
-
defaults = Object.freeze(this.getDefaults());
|
97
|
-
|
98
84
|
/**
|
99
85
|
* @param {SettingsPure} settings The user defined settings.
|
100
86
|
*/
|
101
87
|
constructor(settings) {
|
88
|
+
/**
|
89
|
+
* Reference to settings.
|
90
|
+
*
|
91
|
+
* @protected
|
92
|
+
* @type {SettingsPure}
|
93
|
+
*/
|
94
|
+
_defineProperty(this, "settings", {});
|
95
|
+
/**
|
96
|
+
* The defaults values of settings.
|
97
|
+
* Void 0 means it is required, null means it can be empty.
|
98
|
+
*
|
99
|
+
* @public
|
100
|
+
* @type {Readonly<SettingsPure>}
|
101
|
+
*/
|
102
|
+
_defineProperty(this, "defaults", Object.freeze(this.getDefaults()));
|
102
103
|
(0, _object.objectEach)(this.defaults, (value, key) => {
|
103
104
|
if (settings[key] !== void 0) {
|
104
105
|
this.settings[key] = settings[key];
|
@@ -1,4 +1,7 @@
|
|
1
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); }
|
2
5
|
import { fastInnerText } from "../../../helpers/dom/element.mjs";
|
3
6
|
import { objectEach } from "../../../helpers/object.mjs";
|
4
7
|
/**
|
@@ -74,27 +77,25 @@ import { objectEach } from "../../../helpers/object.mjs";
|
|
74
77
|
* @class Settings
|
75
78
|
*/
|
76
79
|
export default class Settings {
|
77
|
-
/**
|
78
|
-
* Reference to settings.
|
79
|
-
*
|
80
|
-
* @protected
|
81
|
-
* @type {SettingsPure}
|
82
|
-
*/
|
83
|
-
settings = {};
|
84
|
-
|
85
|
-
/**
|
86
|
-
* The defaults values of settings.
|
87
|
-
* Void 0 means it is required, null means it can be empty.
|
88
|
-
*
|
89
|
-
* @public
|
90
|
-
* @type {Readonly<SettingsPure>}
|
91
|
-
*/
|
92
|
-
defaults = Object.freeze(this.getDefaults());
|
93
|
-
|
94
80
|
/**
|
95
81
|
* @param {SettingsPure} settings The user defined settings.
|
96
82
|
*/
|
97
83
|
constructor(settings) {
|
84
|
+
/**
|
85
|
+
* Reference to settings.
|
86
|
+
*
|
87
|
+
* @protected
|
88
|
+
* @type {SettingsPure}
|
89
|
+
*/
|
90
|
+
_defineProperty(this, "settings", {});
|
91
|
+
/**
|
92
|
+
* The defaults values of settings.
|
93
|
+
* Void 0 means it is required, null means it can be empty.
|
94
|
+
*
|
95
|
+
* @public
|
96
|
+
* @type {Readonly<SettingsPure>}
|
97
|
+
*/
|
98
|
+
_defineProperty(this, "defaults", Object.freeze(this.getDefaults()));
|
98
99
|
objectEach(this.defaults, (value, key) => {
|
99
100
|
if (settings[key] !== void 0) {
|
100
101
|
this.settings[key] = settings[key];
|
@@ -82,6 +82,15 @@ const calculatedColumns = {
|
|
82
82
|
*/
|
83
83
|
getVisibleColumnsCount() {
|
84
84
|
return this.dataAccessObject.countColumnsVisible;
|
85
|
+
},
|
86
|
+
/**
|
87
|
+
* Get the number of rendered row headers.
|
88
|
+
*
|
89
|
+
* @returns {number}
|
90
|
+
* @this Table
|
91
|
+
*/
|
92
|
+
getRowHeadersCount() {
|
93
|
+
return this.dataAccessObject.rowHeaders.length;
|
85
94
|
}
|
86
95
|
};
|
87
96
|
(0, _object.defineGetter)(calculatedColumns, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -79,6 +79,15 @@ const calculatedColumns = {
|
|
79
79
|
*/
|
80
80
|
getVisibleColumnsCount() {
|
81
81
|
return this.dataAccessObject.countColumnsVisible;
|
82
|
+
},
|
83
|
+
/**
|
84
|
+
* Get the number of rendered row headers.
|
85
|
+
*
|
86
|
+
* @returns {number}
|
87
|
+
* @this Table
|
88
|
+
*/
|
89
|
+
getRowHeadersCount() {
|
90
|
+
return this.dataAccessObject.rowHeaders.length;
|
82
91
|
}
|
83
92
|
};
|
84
93
|
defineGetter(calculatedColumns, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -82,6 +82,15 @@ const calculatedRows = {
|
|
82
82
|
*/
|
83
83
|
getVisibleRowsCount() {
|
84
84
|
return this.dataAccessObject.countRowsVisible;
|
85
|
+
},
|
86
|
+
/**
|
87
|
+
* Get the number of rendered column headers.
|
88
|
+
*
|
89
|
+
* @returns {number}
|
90
|
+
* @this Table
|
91
|
+
*/
|
92
|
+
getColumnHeadersCount() {
|
93
|
+
return this.dataAccessObject.columnHeaders.length;
|
85
94
|
}
|
86
95
|
};
|
87
96
|
(0, _object.defineGetter)(calculatedRows, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -79,6 +79,15 @@ const calculatedRows = {
|
|
79
79
|
*/
|
80
80
|
getVisibleRowsCount() {
|
81
81
|
return this.dataAccessObject.countRowsVisible;
|
82
|
+
},
|
83
|
+
/**
|
84
|
+
* Get the number of rendered column headers.
|
85
|
+
*
|
86
|
+
* @returns {number}
|
87
|
+
* @this Table
|
88
|
+
*/
|
89
|
+
getColumnHeadersCount() {
|
90
|
+
return this.dataAccessObject.columnHeaders.length;
|
82
91
|
}
|
83
92
|
};
|
84
93
|
defineGetter(calculatedRows, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -74,6 +74,15 @@ const stickyColumnsStart = {
|
|
74
74
|
*/
|
75
75
|
getVisibleColumnsCount() {
|
76
76
|
return this.getRenderedColumnsCount();
|
77
|
+
},
|
78
|
+
/**
|
79
|
+
* Get the number of rendered row headers.
|
80
|
+
*
|
81
|
+
* @returns {number}
|
82
|
+
* @this Table
|
83
|
+
*/
|
84
|
+
getRowHeadersCount() {
|
85
|
+
return this.dataAccessObject.rowHeaders.length;
|
77
86
|
}
|
78
87
|
};
|
79
88
|
(0, _object.defineGetter)(stickyColumnsStart, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -71,6 +71,15 @@ const stickyColumnsStart = {
|
|
71
71
|
*/
|
72
72
|
getVisibleColumnsCount() {
|
73
73
|
return this.getRenderedColumnsCount();
|
74
|
+
},
|
75
|
+
/**
|
76
|
+
* Get the number of rendered row headers.
|
77
|
+
*
|
78
|
+
* @returns {number}
|
79
|
+
* @this Table
|
80
|
+
*/
|
81
|
+
getRowHeadersCount() {
|
82
|
+
return this.dataAccessObject.rowHeaders.length;
|
74
83
|
}
|
75
84
|
};
|
76
85
|
defineGetter(stickyColumnsStart, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -79,6 +79,15 @@ const stickyRowsBottom = {
|
|
79
79
|
*/
|
80
80
|
getVisibleRowsCount() {
|
81
81
|
return this.getRenderedRowsCount();
|
82
|
+
},
|
83
|
+
/**
|
84
|
+
* Get the number of rendered column headers.
|
85
|
+
*
|
86
|
+
* @returns {number}
|
87
|
+
* @this Table
|
88
|
+
*/
|
89
|
+
getColumnHeadersCount() {
|
90
|
+
return 0;
|
82
91
|
}
|
83
92
|
};
|
84
93
|
(0, _object.defineGetter)(stickyRowsBottom, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -76,6 +76,15 @@ const stickyRowsBottom = {
|
|
76
76
|
*/
|
77
77
|
getVisibleRowsCount() {
|
78
78
|
return this.getRenderedRowsCount();
|
79
|
+
},
|
80
|
+
/**
|
81
|
+
* Get the number of rendered column headers.
|
82
|
+
*
|
83
|
+
* @returns {number}
|
84
|
+
* @this Table
|
85
|
+
*/
|
86
|
+
getColumnHeadersCount() {
|
87
|
+
return 0;
|
79
88
|
}
|
80
89
|
};
|
81
90
|
defineGetter(stickyRowsBottom, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -74,6 +74,15 @@ const stickyRowsTop = {
|
|
74
74
|
*/
|
75
75
|
getVisibleRowsCount() {
|
76
76
|
return this.getRenderedRowsCount();
|
77
|
+
},
|
78
|
+
/**
|
79
|
+
* Get the number of rendered column headers.
|
80
|
+
*
|
81
|
+
* @returns {number}
|
82
|
+
* @this Table
|
83
|
+
*/
|
84
|
+
getColumnHeadersCount() {
|
85
|
+
return this.dataAccessObject.columnHeaders.length;
|
77
86
|
}
|
78
87
|
};
|
79
88
|
(0, _object.defineGetter)(stickyRowsTop, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -71,6 +71,15 @@ const stickyRowsTop = {
|
|
71
71
|
*/
|
72
72
|
getVisibleRowsCount() {
|
73
73
|
return this.getRenderedRowsCount();
|
74
|
+
},
|
75
|
+
/**
|
76
|
+
* Get the number of rendered column headers.
|
77
|
+
*
|
78
|
+
* @returns {number}
|
79
|
+
* @this Table
|
80
|
+
*/
|
81
|
+
getColumnHeadersCount() {
|
82
|
+
return this.dataAccessObject.columnHeaders.length;
|
74
83
|
}
|
75
84
|
};
|
76
85
|
defineGetter(stickyRowsTop, 'MIXIN_NAME', MIXIN_NAME, {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.array.push.js");
|
5
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.push.js");
|
6
6
|
var _element = require("../../../helpers/dom/element");
|
7
7
|
var _function = require("../../../helpers/function");
|
8
8
|
var _column = _interopRequireDefault(require("./filter/column"));
|
@@ -12,6 +12,9 @@ var _column2 = _interopRequireDefault(require("./utils/column"));
|
|
12
12
|
var _row2 = _interopRequireDefault(require("./utils/row"));
|
13
13
|
var _overlay = require("./overlay");
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
15
|
+
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; }
|
16
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
17
|
+
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); }
|
15
18
|
/**
|
16
19
|
* @todo These mixes are never added to the class Table, however their members are used here.
|
17
20
|
* @todo Continue: Potentially it works only, because some of these mixes are added to every inherited class.
|
@@ -24,38 +27,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
24
27
|
* @abstract
|
25
28
|
*/
|
26
29
|
class Table {
|
27
|
-
/**
|
28
|
-
* The walkontable settings.
|
29
|
-
*
|
30
|
-
* @protected
|
31
|
-
* @type {Settings}
|
32
|
-
*/
|
33
|
-
wtSettings = null;
|
34
|
-
domBindings;
|
35
|
-
TBODY = null;
|
36
|
-
THEAD = null;
|
37
|
-
COLGROUP = null;
|
38
|
-
/**
|
39
|
-
* Indicates if the table has height bigger than 0px.
|
40
|
-
*
|
41
|
-
* @type {boolean}
|
42
|
-
*/
|
43
|
-
hasTableHeight = true;
|
44
|
-
/**
|
45
|
-
* Indicates if the table has width bigger than 0px.
|
46
|
-
*
|
47
|
-
* @type {boolean}
|
48
|
-
*/
|
49
|
-
hasTableWidth = true;
|
50
|
-
/**
|
51
|
-
* Indicates if the table is visible. By visible, it means that the holder
|
52
|
-
* element has CSS 'display' property different than 'none'.
|
53
|
-
*
|
54
|
-
* @type {boolean}
|
55
|
-
*/
|
56
|
-
isTableVisible = false;
|
57
|
-
tableOffset = 0;
|
58
|
-
holderOffset = 0;
|
59
30
|
/**
|
60
31
|
*
|
61
32
|
* @abstract
|
@@ -66,6 +37,38 @@ class Table {
|
|
66
37
|
* @param {'master'|CLONE_TYPES_ENUM} name Overlay name.
|
67
38
|
*/
|
68
39
|
constructor(dataAccessObject, facadeGetter, domBindings, wtSettings, name) {
|
40
|
+
/**
|
41
|
+
* The walkontable settings.
|
42
|
+
*
|
43
|
+
* @protected
|
44
|
+
* @type {Settings}
|
45
|
+
*/
|
46
|
+
_defineProperty(this, "wtSettings", null);
|
47
|
+
_defineProperty(this, "domBindings", void 0);
|
48
|
+
_defineProperty(this, "TBODY", null);
|
49
|
+
_defineProperty(this, "THEAD", null);
|
50
|
+
_defineProperty(this, "COLGROUP", null);
|
51
|
+
/**
|
52
|
+
* Indicates if the table has height bigger than 0px.
|
53
|
+
*
|
54
|
+
* @type {boolean}
|
55
|
+
*/
|
56
|
+
_defineProperty(this, "hasTableHeight", true);
|
57
|
+
/**
|
58
|
+
* Indicates if the table has width bigger than 0px.
|
59
|
+
*
|
60
|
+
* @type {boolean}
|
61
|
+
*/
|
62
|
+
_defineProperty(this, "hasTableWidth", true);
|
63
|
+
/**
|
64
|
+
* Indicates if the table is visible. By visible, it means that the holder
|
65
|
+
* element has CSS 'display' property different than 'none'.
|
66
|
+
*
|
67
|
+
* @type {boolean}
|
68
|
+
*/
|
69
|
+
_defineProperty(this, "isTableVisible", false);
|
70
|
+
_defineProperty(this, "tableOffset", 0);
|
71
|
+
_defineProperty(this, "holderOffset", 0);
|
69
72
|
this.domBindings = domBindings;
|
70
73
|
/**
|
71
74
|
* Indicates if this instance is of type `MasterTable` (i.e. It is NOT an overlay).
|
@@ -342,7 +345,7 @@ class Table {
|
|
342
345
|
wtOverlays.refreshAll(); // `refreshAll()` internally already calls `refreshSelections()` method
|
343
346
|
wtOverlays.adjustElementsSize();
|
344
347
|
} else {
|
345
|
-
this.
|
348
|
+
this.dataAccessObject.selectionManager.setActiveOverlay(this.facadeGetter()).render(runFastDraw);
|
346
349
|
}
|
347
350
|
if (syncScroll) {
|
348
351
|
wtOverlays.syncScrollWithMaster();
|
@@ -434,75 +437,6 @@ class Table {
|
|
434
437
|
}
|
435
438
|
}
|
436
439
|
|
437
|
-
/**
|
438
|
-
* @param {string} className The CSS class name to remove from the table cells.
|
439
|
-
*/
|
440
|
-
removeClassFromCells(className) {
|
441
|
-
const nodes = this.TABLE.querySelectorAll(`.${className}`);
|
442
|
-
for (let i = 0, len = nodes.length; i < len; i++) {
|
443
|
-
(0, _element.removeClass)(nodes[i], className);
|
444
|
-
}
|
445
|
-
}
|
446
|
-
|
447
|
-
/**
|
448
|
-
* Refresh the table selection by re-rendering Selection instances connected with that instance.
|
449
|
-
*
|
450
|
-
* @param {boolean} fastDraw If fast drawing is enabled than additionally className clearing is applied.
|
451
|
-
*/
|
452
|
-
refreshSelections(fastDraw) {
|
453
|
-
const {
|
454
|
-
wtSettings
|
455
|
-
} = this;
|
456
|
-
const {
|
457
|
-
selections
|
458
|
-
} = this.dataAccessObject;
|
459
|
-
if (!selections) {
|
460
|
-
return;
|
461
|
-
}
|
462
|
-
const highlights = Array.from(selections);
|
463
|
-
const len = highlights.length;
|
464
|
-
if (fastDraw) {
|
465
|
-
const classesToRemove = [];
|
466
|
-
for (let i = 0; i < len; i++) {
|
467
|
-
const {
|
468
|
-
highlightHeaderClassName,
|
469
|
-
highlightRowClassName,
|
470
|
-
highlightColumnClassName
|
471
|
-
} = highlights[i].settings;
|
472
|
-
const classNames = highlights[i].classNames;
|
473
|
-
const classNamesLength = classNames.length;
|
474
|
-
for (let j = 0; j < classNamesLength; j++) {
|
475
|
-
if (!classesToRemove.includes(classNames[j])) {
|
476
|
-
classesToRemove.push(classNames[j]);
|
477
|
-
}
|
478
|
-
}
|
479
|
-
if (highlightHeaderClassName && !classesToRemove.includes(highlightHeaderClassName)) {
|
480
|
-
classesToRemove.push(highlightHeaderClassName);
|
481
|
-
}
|
482
|
-
if (highlightRowClassName && !classesToRemove.includes(highlightRowClassName)) {
|
483
|
-
classesToRemove.push(highlightRowClassName);
|
484
|
-
}
|
485
|
-
if (highlightColumnClassName && !classesToRemove.includes(highlightColumnClassName)) {
|
486
|
-
classesToRemove.push(highlightColumnClassName);
|
487
|
-
}
|
488
|
-
}
|
489
|
-
const additionalClassesToRemove = wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
490
|
-
if (Array.isArray(additionalClassesToRemove)) {
|
491
|
-
for (let i = 0; i < additionalClassesToRemove.length; i++) {
|
492
|
-
classesToRemove.push(additionalClassesToRemove[i]);
|
493
|
-
}
|
494
|
-
}
|
495
|
-
const classesToRemoveLength = classesToRemove.length;
|
496
|
-
for (let i = 0; i < classesToRemoveLength; i++) {
|
497
|
-
// there was no rerender, so we need to remove classNames by ourselves
|
498
|
-
this.removeClassFromCells(classesToRemove[i]);
|
499
|
-
}
|
500
|
-
}
|
501
|
-
for (let i = 0; i < len; i++) {
|
502
|
-
highlights[i].draw(this.facadeGetter(), fastDraw);
|
503
|
-
}
|
504
|
-
}
|
505
|
-
|
506
440
|
/**
|
507
441
|
* Get cell element at coords.
|
508
442
|
* Negative coords.row or coords.col are used to retrieve header cells. If there are multiple header levels, the
|
@@ -564,10 +498,12 @@ class Table {
|
|
564
498
|
let renderedRowIndex = null;
|
565
499
|
let parentElement = null;
|
566
500
|
if (rowIndex < 0) {
|
567
|
-
|
501
|
+
var _this$rowFilter;
|
502
|
+
renderedRowIndex = (_this$rowFilter = this.rowFilter) === null || _this$rowFilter === void 0 ? void 0 : _this$rowFilter.sourceRowToVisibleColHeadedRow(rowIndex);
|
568
503
|
parentElement = this.THEAD;
|
569
504
|
} else {
|
570
|
-
|
505
|
+
var _this$rowFilter2;
|
506
|
+
renderedRowIndex = (_this$rowFilter2 = this.rowFilter) === null || _this$rowFilter2 === void 0 ? void 0 : _this$rowFilter2.sourceToRendered(rowIndex);
|
571
507
|
parentElement = this.TBODY;
|
572
508
|
}
|
573
509
|
if (renderedRowIndex !== void 0 && parentElement !== void 0) {
|
@@ -591,7 +527,7 @@ class Table {
|
|
591
527
|
getColumnHeader(col) {
|
592
528
|
let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
593
529
|
const TR = this.THEAD.childNodes[level];
|
594
|
-
return TR
|
530
|
+
return TR === null || TR === void 0 ? void 0 : TR.childNodes[this.columnFilter.sourceColumnToVisibleRowHeadedColumn(col)];
|
595
531
|
}
|
596
532
|
|
597
533
|
/**
|
@@ -622,15 +558,15 @@ class Table {
|
|
622
558
|
*/
|
623
559
|
getRowHeader(row) {
|
624
560
|
let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
625
|
-
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
626
|
-
return;
|
627
|
-
}
|
628
561
|
const rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
629
562
|
if (level >= rowHeadersCount) {
|
630
563
|
return;
|
631
564
|
}
|
632
|
-
const
|
633
|
-
|
565
|
+
const renderedRow = this.rowFilter.sourceToRendered(row);
|
566
|
+
const visibleRow = renderedRow < 0 ? this.rowFilter.sourceRowToVisibleColHeadedRow(row) : renderedRow;
|
567
|
+
const parentElement = renderedRow < 0 ? this.THEAD : this.TBODY;
|
568
|
+
const TR = parentElement.childNodes[visibleRow];
|
569
|
+
return TR === null || TR === void 0 ? void 0 : TR.childNodes[level];
|
634
570
|
}
|
635
571
|
|
636
572
|
/**
|
@@ -640,14 +576,11 @@ class Table {
|
|
640
576
|
* @returns {HTMLTableCellElement[]}
|
641
577
|
*/
|
642
578
|
getRowHeaders(row) {
|
643
|
-
if (this.columnFilter.sourceColumnToVisibleRowHeadedColumn(0) === 0) {
|
644
|
-
return [];
|
645
|
-
}
|
646
579
|
const THs = [];
|
647
580
|
const rowHeadersCount = this.wtSettings.getSetting('rowHeaders').length;
|
648
581
|
for (let renderedRowIndex = 0; renderedRowIndex < rowHeadersCount; renderedRowIndex++) {
|
649
582
|
const TR = this.TBODY.childNodes[this.rowFilter.sourceToRendered(row)];
|
650
|
-
const TH = TR
|
583
|
+
const TH = TR === null || TR === void 0 ? void 0 : TR.childNodes[renderedRowIndex];
|
651
584
|
if (TH) {
|
652
585
|
THs.push(TH);
|
653
586
|
}
|