From 25173a4c29b57a01cbe415de439f2da0f4760507 Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Mon, 25 Jan 2021 12:20:35 +0000 Subject: [PATCH] [FIX] website_form, *: remove "Shown on mobile" opt for hidden fields *: website Part of https://github.com/odoo/odoo/pull/47949 task-2011583 --- .../static/src/js/editor/snippets.options.js | 15 +++++++++++++++ addons/website/views/snippets/snippets.xml | 2 +- .../src/snippets/s_website_form/options.js | 18 ++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js index b869e44337b..cb7bba8c7fd 100644 --- a/addons/website/static/src/js/editor/snippets.options.js +++ b/addons/website/static/src/js/editor/snippets.options.js @@ -2587,6 +2587,21 @@ options.registry.ScrollButton = options.Class.extend({ }, }); +options.registry.MobileVisibility = options.Class.extend({ + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + */ + async _computeVisibility() { + // Same as default but overridden by other apps + return true; + }, +}); + return { UrlPickerUserValueWidget: UrlPickerUserValueWidget, FontFamilyPickerUserValueWidget: FontFamilyPickerUserValueWidget, diff --git a/addons/website/views/snippets/snippets.xml b/addons/website/views/snippets/snippets.xml index ae20120d2ef..42018a882f2 100644 --- a/addons/website/views/snippets/snippets.xml +++ b/addons/website/views/snippets/snippets.xml @@ -481,7 +481,7 @@ -
diff --git a/addons/website_form/static/src/snippets/s_website_form/options.js b/addons/website_form/static/src/snippets/s_website_form/options.js index 50c01b1018b..7f841aa0465 100644 --- a/addons/website_form/static/src/snippets/s_website_form/options.js +++ b/addons/website_form/static/src/snippets/s_website_form/options.js @@ -4,6 +4,7 @@ odoo.define('website_form_editor', function (require) { const core = require('web.core'); const FormEditorRegistry = require('website_form.form_editor_registry'); const options = require('web_editor.snippets.options'); +require('website.editor.snippets.options'); const qweb = core.qweb; const _t = core._t; @@ -1149,4 +1150,21 @@ options.registry.WebsiteFormSubmitRequired = DisableOverlayButtonOption.extend({ return this._super.apply(this, arguments); } }); + +// Disable "Shown on Mobile" option if for an hidden field +options.registry.MobileVisibility.include({ + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + */ + async _computeVisibility() { + // Same as default but overridden by other apps + return await this._super(...arguments) + && !this.$target.hasClass('s_website_form_field_hidden'); + }, +}); });