Remove "is typing" notification after 10 seconds. fixes #508

This commit is contained in:
JC Brand 2015-10-31 17:38:51 +00:00
parent c0863d3eb2
commit b767051d9d
2 changed files with 11 additions and 1 deletions

View File

@ -1370,9 +1370,13 @@
return this; return this;
}, },
clearStatusNotification: function () {
this.$content.find('div.chat-event').remove();
},
showStatusNotification: function (message, keep_old) { showStatusNotification: function (message, keep_old) {
if (!keep_old) { if (!keep_old) {
this.$content.find('div.chat-event').remove(); this.clearStatusNotification();
} }
this.$content.append($('<div class="chat-info chat-event"></div>').text(message)); this.$content.append($('<div class="chat-info chat-event"></div>').text(message));
this.scrollDown(); this.scrollDown();
@ -1575,9 +1579,14 @@
* Parameters: * Parameters:
* (Object) message - The message Backbone object that was added. * (Object) message - The message Backbone object that was added.
*/ */
if (typeof this.clear_status_timeout !== 'undefined') {
clearTimeout(this.clear_status_timeout);
delete this.clear_status_timeout;
}
if (!message.get('message')) { if (!message.get('message')) {
if (message.get('chat_state') === COMPOSING) { if (message.get('chat_state') === COMPOSING) {
this.showStatusNotification(message.get('fullname')+' '+__('is typing')); this.showStatusNotification(message.get('fullname')+' '+__('is typing'));
this.clear_status_timeout = setTimeout(this.clearStatusNotification.bind(this), 10000);
return; return;
} else if (message.get('chat_state') === PAUSED) { } else if (message.get('chat_state') === PAUSED) {
this.showStatusNotification(message.get('fullname')+' '+__('has stopped typing')); this.showStatusNotification(message.get('fullname')+' '+__('has stopped typing'));

View File

@ -7,6 +7,7 @@ Changelog
* #493 Refactor previous bugfix and now an event is emitted when a roster push event from server happens. [teseo] * #493 Refactor previous bugfix and now an event is emitted when a roster push event from server happens. [teseo]
* #502. Chat room not opened in non_amd version. [rjanbiah] * #502. Chat room not opened in non_amd version. [rjanbiah]
* #505 Typo caused [object Object] in room info [gromiak] * #505 Typo caused [object Object] in room info [gromiak]
* #508 "Is typing" doesn't automatically disappear [jcbrand]
* #510 MUC room memberlist is being cleared with page reload when keepalive option is set. [jcbrand] * #510 MUC room memberlist is being cleared with page reload when keepalive option is set. [jcbrand]
* Add the ability to also drag-resize chat boxes horizontally. [jcbrand] * Add the ability to also drag-resize chat boxes horizontally. [jcbrand]