[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.
This commit is contained in:
@@ -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;
|
||||
},
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</t>
|
||||
|
||||
<t t-name="mail.ChatThread.Message">
|
||||
<div class="o_thread_message" t-att-data-message-id="message.id">
|
||||
<div t-att-class="'o_thread_message' + (message.expanded ? ' o_message_expanded' : '')" t-att-data-message-id="message.id">
|
||||
<div t-if="options.display_avatar" class="o_thread_message_sidebar">
|
||||
<t t-if="!message.mailto && message.author_id[0]">
|
||||
<img t-if="message.avatar_src && message.display_author"
|
||||
|
||||
Reference in New Issue
Block a user