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 | 1x 1x 1x 2890x 2890x 189x 1987x 1815x 172x 172x 50x 43x 7x | import { shouldSetValue } from '../utils/shouldSetValue';
import { wrapAllChildNodes } from '../../domUtils/moveChildNodes';
import type { BoldFormat } from 'roosterjs-content-model-types';
import type { FormatHandler } from '../FormatHandler';
/**
* @internal
*/
export const boldFormatHandler: FormatHandler<BoldFormat> = {
parse: (format, element, context, defaultStyle) => {
const fontWeight = element.style.fontWeight || defaultStyle.fontWeight;
if (shouldSetValue(fontWeight, '400', format.fontWeight, defaultStyle.fontWeight)) {
format.fontWeight = fontWeight;
}
},
apply: (format, element, context) => {
if (typeof format.fontWeight === 'undefined') {
return;
}
const blockFontWeight = context.implicitFormat.fontWeight;
if (
(blockFontWeight && blockFontWeight != format.fontWeight) ||
(!blockFontWeight && format.fontWeight && format.fontWeight != 'normal')
) {
if (format.fontWeight == 'bold') {
wrapAllChildNodes(element, 'b');
} else {
element.style.fontWeight = format.fontWeight || 'normal';
}
}
},
};
|