All files / roosterjs-content-model-api/lib/modelApi/selection collapseTableSelection.ts

100% Statements 6/6
100% Branches 6/6
100% Functions 1/1
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201x                 1x       56x 28x 28x 20x      
import { addSegment, createSelectionMarker, mutateBlock } from 'roosterjs-content-model-dom';
import type {
    ShallowMutableContentModelTableRow,
    TableSelectionCoordinates,
} from 'roosterjs-content-model-types';
 
/**
 * @internal
 */
export function collapseTableSelection(
    rows: ShallowMutableContentModelTableRow[],
    selection: TableSelectionCoordinates
) {
    const { firstColumn, firstRow } = selection;
    const cell = rows[firstRow]?.cells[firstColumn];
    if (cell) {
        addSegment(mutateBlock(cell), createSelectionMarker());
    }
}