diff options
| author | Aaron Bohy <aab@odoo.com> | 2015-12-30 11:15:04 +0100 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2016-01-14 11:22:25 +0100 |
| commit | 18fccd9d6c612e0a2ff9ddfa37f877cfa51e5c0d (patch) | |
| tree | 57003be9e947fe38eb28548cc1b0ff2407c0f231 /addons/mail/static/src/xml/chat_window.xml | |
| parent | 37238d343ad2c58a1d7f8f65c89df31939853949 (diff) | |
[IMP] mail: put chat windows in a dropdown in case of overflow
Former algorithm to display chat windows was pretty basic: each window was
positionned 5 pixels to the left of the previous one, starting from the bottom
right corner of the screen. Thus, when there were too many chat windows to fit
in the screen, they overflowed to the left.
This rev. handles this case by hidding overflowing chat windows and making them
available in a dropdown positionned 5 pixels to the left of the last visible
chat window.
Diffstat (limited to 'addons/mail/static/src/xml/chat_window.xml')
| -rw-r--r-- | addons/mail/static/src/xml/chat_window.xml | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/addons/mail/static/src/xml/chat_window.xml b/addons/mail/static/src/xml/chat_window.xml index 01e475a6eb8..58d04c19838 100644 --- a/addons/mail/static/src/xml/chat_window.xml +++ b/addons/mail/static/src/xml/chat_window.xml @@ -1,16 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <templates xml:space="preserve"> - <t t-name="mail.ChatWindow"> <div class="o_chat_window"> <div class="o_chat_header"> - <span class="o_chat_title"> - <t t-esc="widget.title"/> - </span> - <span> - <a href="#" class="o_chat_window_close fa fa-close"></a> - </span> + <t t-call="mail.ChatWindowHeaderContent"> + <t t-set="title" t-value="widget.title"/> + <t t-set="unread_counter" t-value="widget.unread_msgs"/> + </t> </div> <div class="o_chat_content"> </div> @@ -20,4 +17,37 @@ </div> </t> + <t t-name="mail.ChatWindowsDropdown"> + <div t-attf-class="o_chat_window o_chat_window_dropdown dropup #{open ? 'open' : ''}"> + <span class="o_chat_window_dropdown_toggler dropdown-toggle" data-toggle="dropdown"> + <i class="fa fa-comments-o"/> <t t-esc="sessions.length"/> + <span class="o_total_unread_counter"> + <t t-if="unread_counter"><t t-esc="unread_counter"/></t> + </span> + </span> + <ul class="dropdown-menu"> + <t t-foreach="sessions" t-as="session"> + <li class="o_chat_header" t-att-data-session-id="session.id"> + <t t-call="mail.ChatWindowHeaderContent"> + <t t-set="title" t-value="session.name"/> + <t t-set="unread_counter" t-value="session.window.unread_msgs"/> + </t> + </li> + </t> + </ul> + </div> + </t> + + <t t-name="mail.ChatWindowHeaderContent"> + <span class="o_chat_title"> + <t t-esc="title"/> + <span class="o_unread_counter"> + <t t-if="unread_counter">(<t t-esc="unread_counter"/>)</t> + </span> + </span> + <span> + <a href="#" class="o_chat_window_close fa fa-close"/> + </span> + </t> + </templates> |
