From e5380a8e40be47cddf53aa24ff01e7c6802bbdb7 Mon Sep 17 00:00:00 2001 From: Brieuc-brd Date: Thu, 15 Jun 2023 09:23:12 +0200 Subject: [PATCH] [IMP] website, *: add extra elements feature *: website_sale, website_sale_wishlist This commit allows the user to show and hide the menu items they want using the web editor. task-3060986 Part-of: odoo/odoo#119650 --- .../header_extra_element_cta.svg | 4 ++ .../header_extra_element_logo.svg | 6 +++ .../header_extra_element_social.svg | 5 +++ .../header_extra_element_text.svg | 1 + .../static/src/js/editor/snippets.options.js | 29 ++++++------ addons/website/views/snippets/snippets.xml | 45 +++++++++++++++++-- .../website_sale/views/snippets/snippets.xml | 12 +++-- .../website_sale_wishlist/views/snippets.xml | 14 +++--- 8 files changed, 86 insertions(+), 30 deletions(-) create mode 100644 addons/website/static/src/img/snippets_options/header_extra_element_cta.svg create mode 100644 addons/website/static/src/img/snippets_options/header_extra_element_logo.svg create mode 100644 addons/website/static/src/img/snippets_options/header_extra_element_social.svg create mode 100644 addons/website/static/src/img/snippets_options/header_extra_element_text.svg diff --git a/addons/website/static/src/img/snippets_options/header_extra_element_cta.svg b/addons/website/static/src/img/snippets_options/header_extra_element_cta.svg new file mode 100644 index 00000000000..1466c7b1e88 --- /dev/null +++ b/addons/website/static/src/img/snippets_options/header_extra_element_cta.svg @@ -0,0 +1,4 @@ + + + + diff --git a/addons/website/static/src/img/snippets_options/header_extra_element_logo.svg b/addons/website/static/src/img/snippets_options/header_extra_element_logo.svg new file mode 100644 index 00000000000..392960cec09 --- /dev/null +++ b/addons/website/static/src/img/snippets_options/header_extra_element_logo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/addons/website/static/src/img/snippets_options/header_extra_element_social.svg b/addons/website/static/src/img/snippets_options/header_extra_element_social.svg new file mode 100644 index 00000000000..077b2a30a2c --- /dev/null +++ b/addons/website/static/src/img/snippets_options/header_extra_element_social.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/website/static/src/img/snippets_options/header_extra_element_text.svg b/addons/website/static/src/img/snippets_options/header_extra_element_text.svg new file mode 100644 index 00000000000..1940324a0a3 --- /dev/null +++ b/addons/website/static/src/img/snippets_options/header_extra_element_text.svg @@ -0,0 +1 @@ + diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js index 617686e35cf..eabc79f9c56 100644 --- a/addons/website/static/src/js/editor/snippets.options.js +++ b/addons/website/static/src/js/editor/snippets.options.js @@ -2243,19 +2243,7 @@ options.registry.HeaderLayout = options.registry.WebsiteLevelColor.extend({ } }); -options.registry.HeaderNavbar = options.Class.extend({ - /** - * Particular case: we want the option to be associated on the header navbar - * in XML so that the related options only appear on navbar click (not - * header), in a different section, etc... but we still want the target to - * be the header itself. - * - * @constructor - */ - init() { - this._super(...arguments); - this.setTarget(this.$target.closest('#wrapwrap > header')); - }, +options.registry.HeaderExtraElts = options.Class.extend({ //-------------------------------------------------------------------------- // Public @@ -2270,6 +2258,21 @@ options.registry.HeaderNavbar = options.Class.extend({ const signInOptionEl = this.el.querySelector('[data-customize-website-views="portal.user_sign_in"]'); signInOptionEl.dataset.noPreview = 'true'; }, +}); + +options.registry.HeaderNavbar = options.Class.extend({ + /** + * Particular case: we want the option to be associated on the header navbar + * in XML so that the related options only appear on navbar click (not + * header), in a different section, etc... but we still want the target to + * be the header itself. + * + * @constructor + */ + init() { + this._super(...arguments); + this.setTarget(this.$target.closest('#wrapwrap > header')); + }, //-------------------------------------------------------------------------- // Private diff --git a/addons/website/views/snippets/snippets.xml b/addons/website/views/snippets/snippets.xml index 6c9e37b8e0d..9de540467f2 100644 --- a/addons/website/views/snippets/snippets.xml +++ b/addons/website/views/snippets/snippets.xml @@ -955,6 +955,47 @@ data-page-option-name="header_text_color"/> +
+ + + + + + + + + + +
+
On Hover On Click - - - None diff --git a/addons/website_sale/views/snippets/snippets.xml b/addons/website_sale/views/snippets/snippets.xml index 81facfe8b0b..65f5246301a 100644 --- a/addons/website_sale/views/snippets/snippets.xml +++ b/addons/website_sale/views/snippets/snippets.xml @@ -210,10 +210,14 @@
- + +
+ +
+
diff --git a/addons/website_sale_wishlist/views/snippets.xml b/addons/website_sale_wishlist/views/snippets.xml index 6d73fad0458..958fbb19105 100644 --- a/addons/website_sale_wishlist/views/snippets.xml +++ b/addons/website_sale_wishlist/views/snippets.xml @@ -2,15 +2,11 @@