From eced95e2d0e5f6d949242e72e69c0cbb8ef55e84 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Thu, 27 Sep 2018 05:58:39 +0000 Subject: [PATCH] [IMP] web_studio: adapt for web_editor refactoring closes odoo/enterprise#3399 --- static/src/js/website_form_editor.js | 11 ++++++++--- static/src/js/website_form_editor_tour.js | 11 +++++++++-- views/website_form_editor_templates.xml | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/static/src/js/website_form_editor.js b/static/src/js/website_form_editor.js index b9b3d092337..fe6196597b4 100644 --- a/static/src/js/website_form_editor.js +++ b/static/src/js/website_form_editor.js @@ -14,6 +14,11 @@ odoo.define('website_form_editor', function (require) { options.registry['website_form_editor'] = options.Class.extend({ xmlDependencies: ['/website_form_editor/static/src/xml/website_form_editor.xml'], + start: function () { + this.$target.addClass('o_fake_not_editable').attr('contentEditable', false); + this.$target.find('label:not(:has(span)), label span').addClass('o_fake_editable').attr('contentEditable', true); + }, + // Generic modal code build_modal: function (modal_title, modal_body, on_save) { var self = this; @@ -291,9 +296,9 @@ odoo.define('website_form_editor', function (require) { } fetch_field_relation.done(function () { - field_rendered.resolve( - qweb.render("website_form_editor.field_" + field.type, {field: field}) - ); + var $content = $(qweb.render("website_form_editor.field_" + field.type, {field: field})); + $content.find('label:not(:has(span)), label span').addClass('o_fake_editable').attr('contentEditable', true); + field_rendered.resolve($content); }); return field_rendered; diff --git a/static/src/js/website_form_editor_tour.js b/static/src/js/website_form_editor_tour.js index 92211dea263..29c7188235b 100644 --- a/static/src/js/website_form_editor_tour.js +++ b/static/src/js/website_form_editor_tour.js @@ -20,6 +20,10 @@ odoo.define('website_form_editor.tour', function(require) { trigger: "#oe_snippets .oe_snippet:has(.s_website_form) .oe_snippet_thumbnail", run: "drag_and_drop #wrap", }, + { + content: "Check dropped snippet", + trigger: "body:has(form[action*='/website_form/'])", + }, { content: "Check if the snippet is dropped and if the modal is opened", trigger: "body:has(form[action*='/website_form/'])" + @@ -235,6 +239,7 @@ odoo.define('website_form_editor.tour', function(require) { { content: "Change the label", trigger: ".col-form-label[for='Custom Multiple Checkboxes']", + extra_trigger: ".s_website_form:not(:has(.col-form-label[for='Custom Multiple Checkboxes']:eq(1)))", run: "text Products" }, { @@ -302,7 +307,7 @@ odoo.define('website_form_editor.tour', function(require) { trigger: ".oe_options .dropdown-item:contains('Radio Buttons')" }, - // Customize custom multiple checkboxes field + // Customize Radio Buttons field { content: "Change the label", trigger: ".col-form-label[for='Custom Radio Buttons']", @@ -354,7 +359,9 @@ odoo.define('website_form_editor.tour', function(require) { }, { content: "Click on Required", - trigger: ".oe_overlay_options .dropdown-item[data-website_form_field_require]" + trigger: ".oe_overlay_options .dropdown-item[data-website_form_field_require]", + extra_trigger: ".form-field.o_website_form_custom.o_website_form_required_custom" + + ":has(.col-form-label:contains('Service'))", }, { content: "Check the resulting field", diff --git a/views/website_form_editor_templates.xml b/views/website_form_editor_templates.xml index ab027b828bc..9b2dbd7c266 100644 --- a/views/website_form_editor_templates.xml +++ b/views/website_form_editor_templates.xml @@ -7,7 +7,7 @@ -