diff --git a/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js b/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js index 42412c80f02..0454a2f819b 100644 --- a/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js +++ b/addons/website_mass_mailing/static/src/js/website_mass_mailing.editor.js @@ -43,10 +43,12 @@ options.registry.mailing_list_subscribe = options.Class.extend({ */ cleanForSave() { const previewClasses = ['o_disable_preview', 'o_enable_preview']; - const subscribeBtn = this.$target[0].querySelector('.js_subscribe_btn'); - subscribeBtn && subscribeBtn.classList.remove(...previewClasses); - const subscribedBtn = this.$target[0].querySelector('.js_subscribed_btn'); - subscribedBtn && subscribedBtn.classList.remove(...previewClasses); + const toCleanElsSelector = + ".js_subscribe_btn, .js_subscribed_btn, #newsletter_form, .s_website_form_end_message"; + const toCleanEls = this.$target[0].querySelectorAll(toCleanElsSelector); + toCleanEls.forEach(element => { + element.classList.remove(...previewClasses); + }); }, //-------------------------------------------------------------------------- @@ -57,13 +59,14 @@ options.registry.mailing_list_subscribe = options.Class.extend({ * @see this.selectClass for parameters */ toggleThanksButton(previewMode, widgetValue, params) { - const subscribeBtnEl = this.$target[0].querySelector('.js_subscribe_btn'); - const thanksBtnEl = this.$target[0].querySelector('.js_subscribed_btn'); + const toSubscribeEl = this.$target[0].querySelector(".js_subscribe_btn, #newsletter_form"); + const thanksMessageEl = + this.$target[0].querySelector(".js_subscribed_btn, .s_website_form_end_message"); - thanksBtnEl.classList.toggle('o_disable_preview', !widgetValue); - thanksBtnEl.classList.toggle('o_enable_preview', widgetValue); - subscribeBtnEl.classList.toggle('o_enable_preview', !widgetValue); - subscribeBtnEl.classList.toggle('o_disable_preview', widgetValue); + thanksMessageEl.classList.toggle("o_disable_preview", !widgetValue); + thanksMessageEl.classList.toggle("o_enable_preview", widgetValue); + toSubscribeEl.classList.toggle("o_enable_preview", !widgetValue); + toSubscribeEl.classList.toggle("o_disable_preview", widgetValue); }, //-------------------------------------------------------------------------- @@ -77,9 +80,9 @@ options.registry.mailing_list_subscribe = options.Class.extend({ if (methodName !== 'toggleThanksButton') { return this._super(...arguments); } - const subscribeBtnEl = this.$target[0].querySelector('.js_subscribe_btn'); - return subscribeBtnEl && subscribeBtnEl.classList.contains('o_disable_preview') ? - 'true' : ''; + const toSubscribeElSelector = + ".js_subscribe_btn.o_disable_preview, #newsletter_form.o_disable_preview"; + return this.$target[0].querySelector(toSubscribeElSelector) ? "true" : ""; }, /** * @override diff --git a/addons/website_mass_mailing/static/src/scss/website_mass_mailing_edit_mode.scss b/addons/website_mass_mailing/static/src/scss/website_mass_mailing_edit_mode.scss index f1995ed3eac..6797c017ffd 100644 --- a/addons/website_mass_mailing/static/src/scss/website_mass_mailing_edit_mode.scss +++ b/addons/website_mass_mailing/static/src/scss/website_mass_mailing_edit_mode.scss @@ -1,5 +1,6 @@ body.editor_enable { - .s_newsletter_subscribe_form { + .s_newsletter_subscribe_form, + .s_newsletter_block[data-newsletter-template="form"] { .o_enable_preview { display: block !important; }