[FIX] web_editor: fix steps snippet line removed when change icon bg-col
Previously, when changing the background-color of an icon in the s_process_steps snippet, the line that goes through the snippet would disappear from that block. This was caused by our font-application code attempting to remove extraneous DOM nodes when changing a font color or backrgound-color, but not considering elements with a ::before or ::after pseudoelement has having content, and subsequently removing them. opw-2423785 closes odoo/odoo#64412 X-original-commit: 6b363d202d9c35e8249f7bb2b0730b995fdf4a7d Signed-off-by: Samuel Degueldre <sdegueldre@users.noreply.github.com>
This commit is contained in:
@@ -2260,7 +2260,8 @@ $.summernote.pluginEvents.applyFont = function (event, editor, layoutInfo, color
|
||||
}
|
||||
|
||||
// remove node without attributes (move content), and merge the same nodes
|
||||
var className2, style, style2;
|
||||
var className2, style, style2, hasBefore, hasAfter;
|
||||
var noContent = ['none', null, undefined];
|
||||
for (i=0; i<nodes.length; i++) {
|
||||
node = nodes[i];
|
||||
|
||||
@@ -2279,8 +2280,10 @@ $.summernote.pluginEvents.applyFont = function (event, editor, layoutInfo, color
|
||||
$font = $(node);
|
||||
className = dom.orderClass(node);
|
||||
style = dom.orderStyle(node);
|
||||
hasBefore = noContent.indexOf(window.getComputedStyle(node, '::before').content) === -1;
|
||||
hasAfter = noContent.indexOf(window.getComputedStyle(node, '::after').content) === -1;
|
||||
|
||||
if (!className && !style) {
|
||||
if (!className && !style && !hasBefore && !hasAfter) {
|
||||
remove(node, node.parentNode);
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user