closes #2035, closes #2036

This commit is contained in:
barisusakli
2014-09-02 05:04:39 -04:00
parent ff46d1211d
commit 171f02101d
10 changed files with 45 additions and 74 deletions

View File

@@ -7,7 +7,6 @@ define('chat', ['taskbar', 'string', 'sounds', 'forum/chats'], function(taskbar,
var newMessage = false;
module.prepareDOM = function() {
// Chats Dropdown
var chatsToggleEl = $('#chat_dropdown'),
chatsListEl = $('#chat-list');
@@ -74,7 +73,6 @@ define('chat', ['taskbar', 'string', 'sounds', 'forum/chats'], function(taskbar,
if (modal.is(":visible")) {
module.bringModalToTop(modal);
checkOnlineStatus(modal);
taskbar.updateActive(modal.attr('UUID'));
Chats.scrollToBottom(modal.find('#chat-content'));
} else {
@@ -114,6 +112,10 @@ define('chat', ['taskbar', 'string', 'sounds', 'forum/chats'], function(taskbar,
var modal = module.getModal(withUid);
modal.find('.user-typing').addClass('hide');
});
socket.on('user.isOnline', function(err, data) {
updateStatus(data.status);
});
};
module.bringModalToTop = function(chatModal) {
@@ -138,20 +140,16 @@ define('chat', ['taskbar', 'string', 'sounds', 'forum/chats'], function(taskbar,
function checkStatus(chatModal) {
socket.emit('user.isOnline', chatModal.attr('touid'), function(err, data) {
translator.translate('[[global:' + data.status + ']]', function(translated) {
$('#chat-user-status').attr('class', 'fa fa-circle status ' + data.status)
.attr('title', translated)
.attr('data-original-title', translated);
});
updateStatus(data.status);
});
}
function checkOnlineStatus(chatModal) {
if(parseInt(chatModal.attr('intervalId'), 10) === 0) {
chatModal.attr('intervalId', setInterval(function() {
checkStatus(chatModal);
}, 1000));
}
function updateStatus(status) {
translator.translate('[[global:' + status + ']]', function(translated) {
$('#chat-user-status').attr('class', 'fa fa-circle status ' + status)
.attr('title', translated)
.attr('data-original-title', translated);
});
}
module.createModal = function(username, touid, callback) {
@@ -221,7 +219,7 @@ define('chat', ['taskbar', 'string', 'sounds', 'forum/chats'], function(taskbar,
addSendHandler(chatModal);
getChatMessages(chatModal, function() {
checkOnlineStatus(chatModal);
checkStatus(chatModal);
});
chatModal.find('.user-typing .text').translateText('[[modules:chat.user_typing, ' + username + ']]');
@@ -259,7 +257,7 @@ define('chat', ['taskbar', 'string', 'sounds', 'forum/chats'], function(taskbar,
module.load = function(uuid) {
var chatModal = $('div[UUID="'+uuid+'"]');
chatModal.removeClass('hide');
checkOnlineStatus(chatModal);
checkStatus(chatModal);
taskbar.updateActive(uuid);
Chats.scrollToBottom(chatModal.find('#chat-content'));
module.center(chatModal);