[FIX] web_editor: prevent traceback on apply style to empty lines

When the selection only contains empty lines, no text nodes are
selected. `applyInlineStyle` however counted on text nodes being
selected, resulting in a traceback.

task-2740204

closes odoo/odoo#85059

X-original-commit: ee6c71a3bcd6ec927acbe4eaf4c21acb28396e87
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
This commit is contained in:
Antoine Guenet
2022-02-22 15:19:38 +00:00
parent 2e44cb41ea
commit 51c9629aa1
@@ -265,12 +265,14 @@ export function applyInlineStyle(editor, applyStyle) {
}
applyStyle(textNode.parentElement);
}
const firstNode = selectedTextNodes[0];
const lastNode = selectedTextNodes[selectedTextNodes.length - 1];
if (direction === DIRECTIONS.RIGHT) {
setSelection(firstNode, 0, lastNode, lastNode.length);
} else {
setSelection(lastNode, lastNode.length, firstNode, 0);
if (selectedTextNodes.length) {
const firstNode = selectedTextNodes[0];
const lastNode = selectedTextNodes[selectedTextNodes.length - 1];
if (direction === DIRECTIONS.RIGHT) {
setSelection(firstNode, 0, lastNode, lastNode.length);
} else {
setSelection(lastNode, lastNode.length, firstNode, 0);
}
}
}
function addColumn(editor, beforeOrAfter) {