diff options
Diffstat (limited to 'addons/mail/static/src/xml')
| -rw-r--r-- | addons/mail/static/src/xml/abstract_thread_window.xml | 2 | ||||
| -rw-r--r-- | addons/mail/static/src/xml/discuss.xml | 14 | ||||
| -rw-r--r-- | addons/mail/static/src/xml/thread.xml | 97 |
3 files changed, 90 insertions, 23 deletions
diff --git a/addons/mail/static/src/xml/abstract_thread_window.xml b/addons/mail/static/src/xml/abstract_thread_window.xml index e62cdba042b..af72d5dd36c 100644 --- a/addons/mail/static/src/xml/abstract_thread_window.xml +++ b/addons/mail/static/src/xml/abstract_thread_window.xml @@ -15,7 +15,7 @@ </div> <div class="o_thread_window_content"> </div> - <div t-if='widget.hasThread()' class="o_thread_composer o_chat_mini_composer"> + <div t-if="widget.needsComposer()" class="o_thread_composer o_chat_mini_composer"> <input class="o_composer_text_field" t-att-placeholder="widget.options.placeholder"/> </div> </div> diff --git a/addons/mail/static/src/xml/discuss.xml b/addons/mail/static/src/xml/discuss.xml index ad9a809ba03..eb03e3c0c55 100644 --- a/addons/mail/static/src/xml/discuss.xml +++ b/addons/mail/static/src/xml/discuss.xml @@ -40,7 +40,7 @@ <t t-set="counter" t-value="starredCounter"/> <t t-call="mail.discuss.SidebarCounter"/> </div> - <div t-if="isModerator" t-attf-class="o_mail_discuss_title_main o_mail_discuss_item #{(activeThreadID == 'mailbox_moderation') ? 'o_active': ''}" + <div t-if="isMyselfModerator" t-attf-class="o_mail_discuss_title_main o_mail_discuss_item #{(activeThreadID == 'mailbox_moderation') ? 'o_active': ''}" data-thread-id="mailbox_moderation"> <span class="o_thread_name"> <i class="fa fa-envelope mr8"/>Moderation Queue</span> <t t-set="counter" t-value="moderationCounter"/> @@ -58,7 +58,7 @@ <t t-set="inputPlaceholder">Add a channel</t> </t> - <t t-set="type" t-value="'dm'"/> + <t t-set="type" t-value="'dm_chat'"/> <t t-call="mail.discuss.SidebarTitle"> <t t-set="title">Direct Messages</t> <t t-set="icon" t-value="fa-user"/> @@ -133,7 +133,7 @@ <input type="text" class="o_input" t-attf-placeholder="#{inputPlaceholder}"/> </div> <t t-foreach="threads" t-as="thread"> - <t t-set="counter" t-value="thread.getType() === 'mailbox' ? thread.getMailboxCounter() : thread.isChat() ? thread.getUnreadCounter() : thread.getNeedactionCounter()"/> + <t t-set="counter" t-value="thread.getType() === 'mailbox' ? thread.getMailboxCounter() : thread.isTwoUserThread() ? thread.getUnreadCounter() : thread.getNeedactionCounter()"/> <div t-if="thread.getType() === type" t-att-data-thread-id="thread.getID()" t-att-title="thread.getName()" t-attf-class="o_mail_discuss_item #{thread.hasUnreadMessages() ? ' o_unread_message' : ''} #{(activeThreadID == thread.getID()) ? 'o_active': ''}"> <span class="o_thread_name"> @@ -221,7 +221,7 @@ <span class="fa fa-inbox"/> <span class="o_tab_title">Inbox</span> </div> - <div class="o_mail_mobile_tab" data-type="dm"> + <div class="o_mail_mobile_tab" data-type="dm_chat"> <span class="fa fa-user"/> <span class="o_tab_title">Chat</span> </div> @@ -246,7 +246,7 @@ <div t-if="!disableAddThread" class="o_mail_add_thread" t-att-data-type="type"> <span t-if="type == 'private' || type == 'public'">#</span> <t t-set="inputPlaceholder" t-if="type == 'private' || type == 'public'">Add a channel</t> - <t t-set="inputPlaceholder" t-if="type == 'dm'">Open chat</t> + <t t-set="inputPlaceholder" t-if="type == 'dm_chat'">Open chat</t> <input type="text" t-attf-placeholder="#{inputPlaceholder}"/> </div> <t t-foreach="previews" t-as="preview"> @@ -266,7 +266,7 @@ @param {string} [preview.documentModel] @param {string|integer} preview.id @param {string} [preview.imageSRC] - @param {boolean} [preview.isAuthor] + @param {boolean} [preview.isMyselfAuthor] @param {moment} [preview.date] @param {string} [preview.author] @param {string} [preview.body] @@ -293,7 +293,7 @@ <span class="o_last_message_date"> <t t-esc="preview.date ? preview.date.fromNow() : ''"/> </span> </div> <div t-if="preview.body" class="o_last_message_preview"> - <t t-if="preview.isAuthor"> + <t t-if="preview.isMyselfAuthor"> <span class="fa fa-mail-reply" role="img" aria-label="Reply"/> You: </t> <t t-elif="preview.author"> diff --git a/addons/mail/static/src/xml/thread.xml b/addons/mail/static/src/xml/thread.xml index b3443418c2b..b33452382ac 100644 --- a/addons/mail/static/src/xml/thread.xml +++ b/addons/mail/static/src/xml/thread.xml @@ -3,22 +3,13 @@ <!-- @param {mail.model.AbstractThread} thread + @param {Object} options @param {boolean} [options.displayEmptyThread] - @param {boolean} [options.displayLoadMore] @param {boolean} [options.displayNoMatchFound] - @param {integer} [options.displayOrder] 1 or -1 - @param {Object} ORDER - @param {integer} ORDER.ASC=1 - @param {integer} ORDER.DESC=-1 --> <t t-name="mail.widget.Thread"> <t t-if="thread.hasMessages()"> - <t t-set="messages" t-value="thread.getMessages()"/> - <t t-if="options.displayLoadMore and options.displayOrder == ORDER.ASC" - t-call="mail.widget.Thread.LoadMore"/> <t t-call="mail.widget.Thread.Content"/> - <t t-if="options.displayLoadMore and options.displayOrder == ORDER.DESC" - t-call="mail.widget.Thread.LoadMore"/> </t> <t t-elif="options.displayEmptyThread"> <t t-call="mail.widget.Thread.Empty" /> @@ -134,14 +125,90 @@ </div> <!-- - @param {mail.model.AbstractMessage[]} messages messages ordered by increasing IDs + @param {mail.model.AbstractThread} thread + @param {Object} options + @param {integer} [options.displayOrder] 1 or -1 chronological order for the thread messages + @param {Object} ORDER + @param {integer} ORDER.ASC=1 messages are ordered by increasing IDs, from bottom to top + @param {integer} ORDER.DESC=-1 messages are ordered by increasing IDs, from top to bottom + + Ordering of messages in the thread, messages are indexed by increasing IDs: + _____________ _____________ + | | | | + | message 1 | | message n | + | message 2 | | ... | + | ... | | message 2 | + | message n | | message 1 | + |_____________| |_____________| + + ORDER: DESC ASC + + --> + <t t-name="mail.widget.Thread.Content"> + <t t-set="messages" t-value="thread.getMessages()"/> + <t t-if="options.displayOrder === ORDER.ASC" t-call="mail.widget.Thread.Content.ASC"/> + <t t-else="" t-call="mail.widget.Thread.Content.DESC"/> + </t> + + <!-- + @param {mail.model.AbstractThread} thread + @param {Object} options + @param {boolean} [options.displayLoadMore=false] @param {string|integer} [options.messagesSeparatorPosition] 'top' or message ID, the separator is placed just after this message. + + _____________ + | | + | message n | + | ... | + | message 2 | + | message 1 | + |_____________| + + ASC Order + --> - <t t-name="mail.widget.Thread.Content"> - <t t-if="options.messagesSeparatorPosition == 'top'" t-call="mail.MessagesSeparator"/> + <t t-name="mail.widget.Thread.Content.ASC"> + <div class="o_mail_thread_content_asc"> + <t t-if="options.messagesSeparatorPosition == 'top'" t-call="mail.MessagesSeparator"/> + <t t-set="messages" t-value="messages.slice().reverse()"/> + <t t-call="mail.widget.Thread.Messages"/> + <t t-if="options.displayLoadMore" t-call="mail.widget.Thread.LoadMore"/> + </div> + </t> + + <!-- + @param {mail.model.AbstractThread} thread + @param {Object} options + @param {boolean} [options.displayBottomThreadFreeSpace=false] + @param {boolean} [options.displayLoadMore=false] + + _____________ + | | + | message 1 | + | message 2 | + | ... | + | message n | + |_____________| + + DESC Order + --> + <t t-name="mail.widget.Thread.Content.DESC"> + <div class="o_mail_thread_content_desc"> + <t t-if="options.displayLoadMore" t-call="mail.widget.Thread.LoadMore"/> + <t t-call="mail.widget.Thread.Messages"/> + <t t-if="options.displayBottomThreadFreeSpace"> + <div class="o_thread_bottom_free_space"/> + </t> + </div> + </t> + + <!-- + @param {mail.model.AbstractMessage[]} messages messages are ordered based + on desired display order + --> + <t t-name="mail.widget.Thread.Messages"> <t t-set="current_day" t-value="0"/> - <t t-if="options.displayOrder === ORDER.DESC" t-set="messages" t-value="messages.slice().reverse()"/> <t t-foreach="messages" t-as="message"> <div t-if="current_day !== message.getDateDay()" class="o_thread_date_separator"> <span class="o_thread_date"> @@ -261,7 +328,7 @@ <t t-if="message.needsModerationByUser()"> <t t-call="mail.MessageModerationDecision"/> </t> - <t t-elif="message.isAuthor()"> + <t t-elif="message.isMyselfAuthor()"> <t t-call="mail.MessageModerationFeedback"/> </t> </t> |
