summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/js/thread_windows/thread_window.js
diff options
context:
space:
mode:
authorXavierDo <xdo@odoo.com>2019-01-14 14:51:20 +0000
committerXavierDo <xdo@odoo.com>2019-02-07 12:53:07 +0000
commit062f748efb51e267496cc35c844dc8f59c267204 (patch)
tree007e4715849652d5852a2fcca839513e6eb17683 /addons/mail/static/src/js/thread_windows/thread_window.js
parent086405344e7302d9f7b243ba0c30d55131aeb3fe (diff)
[IMP] mail: add a Read More on out of office message
Task: 1856205
Diffstat (limited to 'addons/mail/static/src/js/thread_windows/thread_window.js')
-rw-r--r--addons/mail/static/src/js/thread_windows/thread_window.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/addons/mail/static/src/js/thread_windows/thread_window.js b/addons/mail/static/src/js/thread_windows/thread_window.js
index 331228c91c8..41b0ef6d36c 100644
--- a/addons/mail/static/src/js/thread_windows/thread_window.js
+++ b/addons/mail/static/src/js/thread_windows/thread_window.js
@@ -21,6 +21,7 @@ var ThreadWindow = AbstractThreadWindow.extend({
'click .o_mail_thread': '_onThreadWindowFocus',
'click .o_thread_composer': '_onThreadWindowFocus',
'click .o_thread_window_expand': '_onClickExpand',
+ 'click .o_out_of_office_read_more_less_button': '_onClickOutOfOfficeReadMoreLess',
}),
/**
* Version of thread window that supports {mail.model.Thread}
@@ -80,6 +81,7 @@ var ThreadWindow = AbstractThreadWindow.extend({
self.$input = self.$('.o_composer_text_field');
});
}
+ this._updateOutOfOfficeReadMoreLessButton();
return $.when(superDef, composerDef);
},
@@ -250,6 +252,19 @@ var ThreadWindow = AbstractThreadWindow.extend({
})
.focus();
},
+ /**
+ * @private
+ */
+ _updateOutOfOfficeReadMoreLessButton: function () {
+ var $readMore = this.$('.o_out_of_office_text');
+ var isOverflowing = $readMore.prop('scrollWidth') > $readMore.width();
+ var isOverflowShown = !$readMore.hasClass('o_text_wrap');
+ if (isOverflowing || isOverflowShown) {
+ var $button = this.$('.o_out_of_office_read_more_less_button');
+ $button.show();
+ $button.text(isOverflowing ? _t('Read more') : _t('Read less'));
+ }
+ },
//--------------------------------------------------------------------------
// Handlers
@@ -289,6 +304,15 @@ var ThreadWindow = AbstractThreadWindow.extend({
}
}, 1000, true),
/**
+ * @private
+ * @param {MouseEvent} ev
+ */
+ _onClickOutOfOfficeReadMoreLess: function (ev) {
+ ev.preventDefault();
+ this.$('.o_out_of_office_text').toggleClass('o_text_wrap');
+ this._updateOutOfOfficeReadMoreLessButton();
+ },
+ /**
* @override
* @private
* @param {KeyboardEvent} ev