[FIX] web_editor: include selected td's descendants in getTraversedNodes
When a td has the `o_selected_td` class, it should be included in the traversed/selected nodes, along with all its descendants. A syntax error made it so that the descendants weren't in fact included. closes odoo/odoo#112669 X-original-commit: 9f9279babbd98c343f51028fc719d7d9f1b2f887 Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
This commit is contained in:
@@ -669,7 +669,8 @@ export function getTraversedNodes(editable, range = getDeepRange(editable)) {
|
||||
const selectedTable = closestElement(node, '.o_selected_table');
|
||||
if (selectedTable) {
|
||||
for (const selectedTd of selectedTable.querySelectorAll('.o_selected_td')) {
|
||||
traversedNodes.add(selectedTd, ...descendants(selectedTd));
|
||||
traversedNodes.add(selectedTd);
|
||||
descendants(selectedTd).forEach(descendant => traversedNodes.add(descendant));
|
||||
}
|
||||
} else {
|
||||
traversedNodes.add(node);
|
||||
@@ -692,7 +693,7 @@ export function getSelectedNodes(editable) {
|
||||
return [];
|
||||
}
|
||||
const range = sel.getRangeAt(0);
|
||||
return getTraversedNodes(editable).flatMap(
|
||||
return [...new Set(getTraversedNodes(editable).flatMap(
|
||||
node => {
|
||||
const td = closestElement(node, '.o_selected_td');
|
||||
if (td) {
|
||||
@@ -703,7 +704,7 @@ export function getSelectedNodes(editable) {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
);
|
||||
))];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user