From 34ea4030b1c447571c03384065cef38ce813e700 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Fri, 27 Aug 2021 17:16:47 +0000 Subject: [PATCH] [FIX] web_editor: restore linked date field edition 4eafd788470da was not correctly adapted with new editor. The `removeClass` and the css for that class was left in the code but the code in charge of adding that class was just removed, breaking the behavior. closes odoo/odoo#75786 X-original-commit: e59f91d74ad07430a4942efeeb479a538993c918 Signed-off-by: Antoine Guenet Signed-off-by: Romain Derie --- .../web_editor/static/src/js/wysiwyg/wysiwyg.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js index 394203f0bbc..57c4a6c97bf 100644 --- a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js +++ b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js @@ -104,9 +104,16 @@ const Wysiwyg = Widget.extend({ function () { self.odooEditor.observerUnactive(); const $field = $(this); - if (($field.data('oe-type') === "datetime" || $field.data('oe-type') === "date") && !$field.hasClass('o_editable_date_field_format_changed')) { - $field.text($field.data('oe-original-with-format')); - $field.addClass('o_editable_date_field_format_changed'); + if (($field.data('oe-type') === "datetime" || $field.data('oe-type') === "date")) { + let selector = '[data-oe-id="' + $field.data('oe-id') + '"]'; + selector += '[data-oe-field="' + $field.data('oe-field') + '"]'; + selector += '[data-oe-model="' + $field.data('oe-model') + '"]'; + const $linkedFieldNodes = self.$editable.find(selector).addBack(selector); + $linkedFieldNodes.addClass('o_editable_date_field_linked'); + if (!$field.hasClass('o_editable_date_field_format_changed')) { + $linkedFieldNodes.text($field.data('oe-original-with-format')); + $linkedFieldNodes.addClass('o_editable_date_field_format_changed'); + } } if ($field.data('oe-type') === "monetary") { $field.attr('contenteditable', false); @@ -1494,6 +1501,9 @@ const Wysiwyg = Widget.extend({ return new Promise(function () {}); }, _onDocumentMousedown: function (e) { + if (!e.target.classList.contains('o_editable_date_field_linked')) { + this.$editable.find('.o_editable_date_field_linked').removeClass('o_editable_date_field_linked'); + } if (e.target.closest('.oe-toolbar')) { this._onToolbar = true; } else {