function showActive(activeMembers) {
renderActive(activeMembers.body);
stompClient.send('/app/activeUsers', {}, '');
}
function renderActive(activeMembers) {
var previouslySelected = $('.user-selected').text();
var usersWithPendingMessages = new Object();
$.each($('.pending-messages'), function(index, value) {
usersWithPendingMessages[value.id.substring(5)] = true; // strip the user-
});
var members = $.parseJSON(activeMembers);
var userDiv = $('
', {id: 'users'});
$.each(members, function(index, value) {
if (value === whoami) {
return true;
}
var userLine = $('
', {id: 'user-' + value});
userLine.addClass('user-entry');
if (previouslySelected === value) {
userLine.addClass('user-selected');
}
else {
userLine.addClass('user-unselected');
}
var userNameDisplay = $('');
userNameDisplay.html(value);
userLine.append(userNameDisplay);
userLine.click(function() {
var foo = this;
$('.chat-container').hide();
$('.user-entry').removeClass('user-selected');
$('.user-entry').addClass('user-unselected');
userLine.removeClass('user-unselected');
userLine.removeClass('pending-messages');
userLine.addClass('user-selected');
userLine.children('.newmessage').remove();
var chatWindow = getChatWindow(value);
chatWindow.show();
});
if (value in usersWithPendingMessages) {
userLine.append(newMessageIcon());
userLine.addClass('pending-messages');
}
userDiv.append(userLine);
});
$('#userList').html(userDiv);
}