diff --git a/addons/web_editor/static/src/js/editor/odoo-editor/src/commands/commands.js b/addons/web_editor/static/src/js/editor/odoo-editor/src/commands/commands.js index 379dd0cd613..468fc4c2f56 100644 --- a/addons/web_editor/static/src/js/editor/odoo-editor/src/commands/commands.js +++ b/addons/web_editor/static/src/js/editor/odoo-editor/src/commands/commands.js @@ -579,7 +579,8 @@ export const editorCommands = { // Change tags setTag(editor, tagName) { const restoreCursor = preserveCursor(editor.document); - const selectedBlocks = [...new Set(getTraversedNodes(editor.editable).map(closestBlock))]; + const range = getDeepRange(editor.editable, { correctTripleClick: true }); + const selectedBlocks = [...new Set(getTraversedNodes(editor.editable, range).map(closestBlock))]; for (const block of selectedBlocks) { if ( ['P', 'PRE', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'BLOCKQUOTE'].includes( diff --git a/addons/web_editor/static/src/js/editor/odoo-editor/src/utils/utils.js b/addons/web_editor/static/src/js/editor/odoo-editor/src/utils/utils.js index 9b9c754eb56..1a1a2207d2a 100644 --- a/addons/web_editor/static/src/js/editor/odoo-editor/src/utils/utils.js +++ b/addons/web_editor/static/src/js/editor/odoo-editor/src/utils/utils.js @@ -598,9 +598,8 @@ export function getCursorDirection(anchorNode, anchorOffset, focusNode, focusOff * @param {Node} editable * @returns {Node[]} */ -export function getTraversedNodes(editable) { +export function getTraversedNodes(editable, range = getDeepRange(editable)) { const document = editable.ownerDocument; - const range = getDeepRange(editable); if (!range) return []; const iterator = document.createNodeIterator(range.commonAncestorContainer); let node;