All files / roosterjs-content-model-api/lib/modelApi/table createTableStructure.ts

100% Statements 10/10
100% Branches 0/0
100% Functions 2/2
100% Lines 9/9

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 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 361x                   1x           14x   14x   14x 30x 68x             68x       14x    
import { addBlock, createTable, createTableCell } from 'roosterjs-content-model-dom';
import type {
    ContentModelBlockGroup,
    ContentModelTable,
    ContentModelTableCellFormat,
} from 'roosterjs-content-model-types';
 
/**
 * @internal
 */
export function createTableStructure(
    parent: ContentModelBlockGroup,
    columns: number,
    rows: number,
    cellFormat?: ContentModelTableCellFormat
): ContentModelTable {
    const table = createTable(rows);
 
    addBlock(parent, table);
 
    table.rows.forEach(row => {
        for (let i = 0; i < columns; i++) {
            const cell = createTableCell(
                undefined /*spanLeftOrColSpan */,
                undefined /*spanAboveOrRowSpan */,
                undefined /* isHeader */,
                cellFormat
            );
 
            row.cells.push(cell);
        }
    });
 
    return table;
}