summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/js/composers/basic_composer.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail/static/src/js/composers/basic_composer.js')
-rw-r--r--addons/mail/static/src/js/composers/basic_composer.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/addons/mail/static/src/js/composers/basic_composer.js b/addons/mail/static/src/js/composers/basic_composer.js
index c8f7d702af4..1a40e3f48fa 100644
--- a/addons/mail/static/src/js/composers/basic_composer.js
+++ b/addons/mail/static/src/js/composers/basic_composer.js
@@ -123,6 +123,9 @@ var BasicComposer = Widget.extend({
$(window).on(this.fileuploadID, this._onAttachmentLoaded.bind(this));
this.on('change:attachment_ids', this, this._renderAttachments);
+ this.call('mail_service', 'getMailBus')
+ .on('update_typing_partners', this, this._onUpdateTypingPartners);
+
// Mention
this._mentionManager.prependTo(this.$('.o_composer'));
@@ -793,6 +796,24 @@ var BasicComposer = Widget.extend({
this._mentionManager.detectDelimiter();
}
},
+ /**
+ * @private
+ * @param {integer|string} threadID
+ */
+ _onUpdateTypingPartners: function (threadID) {
+ if (!this.options.showTyping) {
+ return;
+ }
+ if (!this.options.thread) {
+ return;
+ }
+ if (this.options.thread.getID() !== threadID) {
+ return;
+ }
+ this.$('.o_composer_thread_typing').html(QWeb.render('mail.Composer.ThreadTyping', {
+ thread: this.options.thread,
+ }));
+ },
});
return BasicComposer;