From d2e6015ce0df9ae2c07ae7faacf9afd32cd8a85e Mon Sep 17 00:00:00 2001 From: DramixDw Date: Wed, 20 May 2020 14:54:41 +0000 Subject: [PATCH] [IMP] website: make rvp and countdown closer to wysiwyg Replacing 'in page' message for the "RVP" and the countdown snippets so that we avoid to display some element that won't be there on the saved page. task-2261649 closes odoo/odoo#51632 Signed-off-by: Quentin Smetz (qsm) --- .../static/src/snippets/s_countdown/000.js | 2 +- .../static/src/snippets/s_countdown/000.xml | 5 +--- .../src/snippets/s_countdown/options.js | 5 ++-- addons/website/views/snippets/s_countdown.xml | 11 ++++---- .../static/src/js/website_sale.editor.js | 27 ++++++++++++++++++- .../website_sale/views/snippets/snippets.xml | 12 +++------ 6 files changed, 41 insertions(+), 21 deletions(-) diff --git a/addons/website/static/src/snippets/s_countdown/000.js b/addons/website/static/src/snippets/s_countdown/000.js index f15b5e94e23..d8c6a87b164 100644 --- a/addons/website/static/src/snippets/s_countdown/000.js +++ b/addons/website/static/src/snippets/s_countdown/000.js @@ -109,7 +109,7 @@ const CountdownWidget = publicWidget.Widget.extend({ ); } } - } else if (this.endAction === 'message') { + } else if (this.endAction === 'message' || this.endAction === 'message_no_countdown') { this.$('.s_countdown_end_message').removeClass('d-none'); } }, diff --git a/addons/website/static/src/snippets/s_countdown/000.xml b/addons/website/static/src/snippets/s_countdown/000.xml index 079054471cf..91ee692de87 100644 --- a/addons/website/static/src/snippets/s_countdown/000.xml +++ b/addons/website/static/src/snippets/s_countdown/000.xml @@ -5,11 +5,8 @@
-
- The following message will become visible only once the countdown ends. -
-
+

Happy Odoo Anniversary!

As promised, we will offer 4 free tickets to our next summit.
Visit our Facebook page to know if you are one of the lucky winners.

diff --git a/addons/website/static/src/snippets/s_countdown/options.js b/addons/website/static/src/snippets/s_countdown/options.js index 8d6ff3d5ba3..88184af33d5 100644 --- a/addons/website/static/src/snippets/s_countdown/options.js +++ b/addons/website/static/src/snippets/s_countdown/options.js @@ -22,11 +22,12 @@ options.registry.countdown = options.Class.extend({ */ endAction: function (previewMode, widgetValue, params) { this.$target[0].dataset.endAction = widgetValue; - if (widgetValue === 'message') { + if (widgetValue === 'message' || widgetValue === 'message_no_countdown') { if (!this.$target.find('.s_countdown_end_message').length) { const message = this.endMessage || qweb.render('website.s_countdown.end_message'); this.$target.append(message); } + this.$target.toggleClass('hide-countdown', widgetValue === 'message_no_countdown'); } else { const $message = this.$target.find('.s_countdown_end_message').detach(); if ($message.length) { @@ -75,7 +76,7 @@ options.registry.countdown = options.Class.extend({ // End Action UI this.$el.find('.toggle-edit-message') - .toggleClass('d-none', dataset.endAction !== 'message'); + .toggleClass('d-none', dataset.endAction === 'nothing' || dataset.endAction === 'redirect'); // End Message UI this.updateUIEndMessage(); diff --git a/addons/website/views/snippets/s_countdown.xml b/addons/website/views/snippets/s_countdown.xml index 9b366662106..b07244d8d47 100644 --- a/addons/website/views/snippets/s_countdown.xml +++ b/addons/website/views/snippets/s_countdown.xml @@ -19,15 +19,16 @@
- + Nothing Redirect - Show Message + Show Message and hide countdown + Show Message and keep countdown - + + + - diff --git a/addons/website_sale/static/src/js/website_sale.editor.js b/addons/website_sale/static/src/js/website_sale.editor.js index c70d069b60b..608f6c632b6 100644 --- a/addons/website_sale/static/src/js/website_sale.editor.js +++ b/addons/website_sale/static/src/js/website_sale.editor.js @@ -55,7 +55,7 @@ odoo.define('website_sale.editor', function (require) { var options = require('web_editor.snippets.options'); var publicWidget = require('web.public.widget'); const {Class: EditorMenuBar} = require('web_editor.editor'); -const {qweb} = require('web.core'); +const {qweb, _t} = require('web.core'); EditorMenuBar.include({ custom_events: Object.assign(EditorMenuBar.prototype.custom_events, { @@ -677,4 +677,29 @@ options.registry.WebsiteSaleProductsItem = options.Class.extend({ }).then(reload); }, }); + +options.registry.ProductsRecentlyViewed = options.Class.extend({ + /** + * @override + */ + onBuilt: function () { + this.displayNotification({ + type: 'info', + title: '', + message: _t('The snippet will be visible once one has seen one product'), + }); + }, + /** + * @override + */ + onTargetShow: async function () { + this.$target.removeClass('d-none'); + }, + /** + * @override + */ + onTargetHide: function () { + this.$target.addClass('d-none'); + }, +}); }); diff --git a/addons/website_sale/views/snippets/snippets.xml b/addons/website_sale/views/snippets/snippets.xml index 3bef71ef068..8270be6aa3d 100644 --- a/addons/website_sale/views/snippets/snippets.xml +++ b/addons/website_sale/views/snippets/snippets.xml @@ -2,15 +2,9 @@