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 | 1x 1x 1x 91x 80x 6x 3x 2x | import { hasSelectionInBlockGroup } from './hasSelectionInBlockGroup';
import { hasSelectionInSegment } from './hasSelectionInSegment';
import type { ReadonlyContentModelBlock } from 'roosterjs-content-model-types';
/**
* Check if there is selection within the given block
* @param block The block to check
*/
export function hasSelectionInBlock(block: ReadonlyContentModelBlock): boolean {
switch (block.blockType) {
case 'Paragraph':
return block.segments.some(hasSelectionInSegment);
case 'Table':
return block.rows.some(row => row.cells.some(hasSelectionInBlockGroup));
case 'BlockGroup':
return hasSelectionInBlockGroup(block);
case 'Divider':
case 'Entity':
return !!block.isSelected;
default:
return false;
}
}
|