[FIX] web_editor: add support for a.btn-link in emails templates

closes odoo/odoo#69922

X-original-commit: 7062ad7495d4ecd7e8a1a89419375c74411c1752
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
This commit is contained in:
Sébastien Geelen (sge)
2021-04-27 12:26:39 +00:00
parent b9a17c2135
commit c3e08e7a7b
@@ -77,8 +77,6 @@ const Link = Widget.extend({
}
$node = $node.parent();
}
this.data.className = this.data.iniClassName.replace(/(^|\s+)btn(-[a-z0-9_-]*)?/gi, ' ');
const textLink = this.$link[0] || this.data.range.cloneContents();
const [encodedText, images] = this._encodeNodeToText(textLink);
this.data.originalText = this._decodeText(encodedText, images);
@@ -116,7 +114,7 @@ const Link = Widget.extend({
}
active = subActive;
} else {
active = !this.data.iniClassName || !this.data.iniClassName.includes('btn-');
active = !this.data.iniClassName || this.data.iniClassName.includes('btn-link') || !this.data.iniClassName.includes('btn-');
}
this._setSelectOption($option, active);
}
@@ -144,6 +142,11 @@ const Link = Widget.extend({
* @param {object} data
*/
applyLinkToDom: function (data) {
// Some mass mailing template use <a class="btn btn-link"> instead of just a simple <a>.
// And we need to keep the classes because the a.btn.btn-link have some special css rules.
if (!data.classes.includes('btn') && this.data.iniClassName.includes("btn-link")) {
data.classes += " btn btn-link";
}
const attrs = Object.assign({}, this.data.oldAttributes, {
href: data.url,
target: data.isNewWindow ? '_blank' : '',