From 017c4b0a4d1d57762b0ba98c731f6f35617f7d21 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Mon, 1 Feb 2016 16:02:07 +0100 Subject: [PATCH] [FIX] mail: keep expanded messages expanded after refresh Commit c04103f re-renders the thread every minute to update messages' date. As a consequence, the expanded messages are lost (they are shortened again). This rev. makes sure to keep those messages expanded. --- addons/mail/static/src/js/thread.js | 11 ++++++++--- addons/mail/static/src/less/thread.less | 9 +++++++++ addons/mail/static/src/xml/thread.xml | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) 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 @@ -
+