diff options
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.js | 24 |
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 |
