diff --git a/addons/mass_mailing/static/src/js/mass_mailing_widget.js b/addons/mass_mailing/static/src/js/mass_mailing_widget.js index ee7eb703407..8d87ff91124 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing_widget.js +++ b/addons/mass_mailing/static/src/js/mass_mailing_widget.js @@ -244,6 +244,8 @@ var MassMailingFieldHtml = FieldHtml.extend({ } this.switchThemeLast = themeParams; + this.$lastContent = this.$content.find('.o_mail_wrapper_td').contents(); + this.$content.closest('body').removeClass(this._allClasses).addClass(themeParams.className); const old_layout = this.$content.find('.o_layout')[0]; @@ -475,7 +477,11 @@ var MassMailingFieldHtml = FieldHtml.extend({ self._switchThemes(themeParams); }); $themeSelector.on("mouseleave", ".dropdown-item", function (e) { - self._switchThemes(selectedTheme); + if (self.$lastContent) { + self._switchThemes(Object.assign({}, selectedTheme, {template: self.$lastContent})); + } else { + self._switchThemes(selectedTheme); + } }); $themeSelector.on("click", '[data-toggle="dropdown"]', function (e) { var $menu = $themeSelector.find('.dropdown-menu'); @@ -498,6 +504,9 @@ var MassMailingFieldHtml = FieldHtml.extend({ // Notify form view $themeSelector.find('.dropdown-item.selected').removeClass('selected'); $themeSelector.find('.dropdown-item:eq(' + themesParams.indexOf(selectedTheme) + ')').addClass('selected'); + + // Invalidate previous content. + self.$lastContent = undefined; }; $themeSelector.on("click", ".dropdown-item", selectTheme);