[FIX] web_editor: keep <i/> elements after icon edition

Any non `<span/>` element which was transformed into an icon thanks to
the media dialog was transform into a `<span/>` then processed by
summernote. In some cases, this processing breaks the DOM... for no
reason as the DOM should not have been transformed into a `<span/>` in
the first place: `<i/>` elements inside a `<span/>` for example should
stay `<i/>` elements after edition.

closes odoo/odoo#60202

X-original-commit: 4bfcb80e3664ccc74b7ec5e7e10ace6e44ab98d3
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit is contained in:
qsm-odoo
2020-10-16 17:37:30 +00:00
parent b94021bad2
commit c3a9d74f0c
@@ -1191,7 +1191,7 @@ var IconWidget = SearchableMediaWidget.extend({
var style = this.$media.attr('style') || '';
var iconFont = this._getFont(this.selectedIcon) || {base: 'fa', font: ''};
var finalClasses = _.uniq(this.nonIconClasses.concat([iconFont.base, iconFont.font]));
if (!this.$media.is('span')) {
if (!this.$media.is('span, i')) {
var $span = $('<span/>');
$span.data(this.$media.data());
this.$media = $span;