diff --git a/addons/mail/static/src/js/thread.js b/addons/mail/static/src/js/thread.js index 0c57ea8ad88..aee712ea905 100644 --- a/addons/mail/static/src/js/thread.js +++ b/addons/mail/static/src/js/thread.js @@ -38,9 +38,9 @@ var Thread = Widget.extend({ "click .oe_mail_expand": function (event) { event.preventDefault(); event.stopPropagation(); - var $source = $(event.currentTarget); - $source.parents('.o_thread_message_core').find('.o_mail_body_short').toggle(); - $source.parents('.o_thread_message_core').find('.o_mail_body_long').toggle(); + var $message = $(event.currentTarget).parents('.o_thread_message'); + $message.addClass('o_message_expanded'); + this.expanded_msg_ids.push($message.data('message-id')); }, }, @@ -55,6 +55,7 @@ var Thread = Widget.extend({ shorten_messages: true, squash_close_messages: true, }); + this.expanded_msg_ids = []; }, render: function (messages, options) { @@ -132,6 +133,10 @@ var Thread = Widget.extend({ msg.hour = msg.date.format('LT'); } + if (_.contains(this.expanded_msg_ids, message.id)) { + msg.expanded = true; + } + msg.display_subject = message.subject && !message.is_system_notification; return msg; }, diff --git a/addons/mail/static/src/less/thread.less b/addons/mail/static/src/less/thread.less index be86e577b08..7f0f144ffd8 100644 --- a/addons/mail/static/src/less/thread.less +++ b/addons/mail/static/src/less/thread.less @@ -145,6 +145,15 @@ padding: 4px; } } + + &.o_message_expanded .o_thread_message_core { + .o_mail_body_short { + display: none; + } + .o_mail_body_long { + display: block; + } + } } .o_thread_title { margin-top: 20px; diff --git a/addons/mail/static/src/xml/thread.xml b/addons/mail/static/src/xml/thread.xml index 83436f37495..ca863d9ad8f 100644 --- a/addons/mail/static/src/xml/thread.xml +++ b/addons/mail/static/src/xml/thread.xml @@ -46,7 +46,7 @@ -
+