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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 1x 1x 1x 1x 1x 1x 1x 20x 1x 58x | import { getMetadata, updateMetadata } from './updateMetadata';
import { TableBorderFormat } from '../../constants/TableBorderFormat';
import {
createBooleanDefinition,
createNumberDefinition,
createObjectDefinition,
createStringDefinition,
} from './definitionCreators';
import type {
ReadonlyContentModelTable,
ShallowMutableContentModelTable,
TableMetadataFormat,
} from 'roosterjs-content-model-types';
const NullStringDefinition = createStringDefinition(
false /** isOptional */,
undefined /** value */,
true /** allowNull */
);
const BooleanDefinition = createBooleanDefinition(false /** isOptional */);
const TableFormatDefinition = createObjectDefinition<Required<TableMetadataFormat>>(
{
topBorderColor: NullStringDefinition,
bottomBorderColor: NullStringDefinition,
verticalBorderColor: NullStringDefinition,
hasHeaderRow: BooleanDefinition,
headerRowColor: NullStringDefinition,
hasFirstColumn: BooleanDefinition,
hasBandedColumns: BooleanDefinition,
hasBandedRows: BooleanDefinition,
bgColorEven: NullStringDefinition,
bgColorOdd: NullStringDefinition,
tableBorderFormat: createNumberDefinition(
false /** isOptional */,
undefined /* value */,
TableBorderFormat.Min /* first table border format */,
TableBorderFormat.Max /* last table border format */
),
verticalAlign: NullStringDefinition,
},
false /* isOptional */,
true /** allowNull */
);
/**
* Get table metadata
* @param table The table Content Model
*/
export function getTableMetadata(table: ReadonlyContentModelTable): TableMetadataFormat | null {
return getMetadata(table, TableFormatDefinition);
}
/**
* Update table metadata with a callback
* @param table The table Content Model
* @param callback The callback function used for updating metadata
*/
export function updateTableMetadata(
table: ShallowMutableContentModelTable,
callback?: (format: TableMetadataFormat | null) => TableMetadataFormat | null
): TableMetadataFormat | null {
return updateMetadata(table, callback, TableFormatDefinition);
}
|