Mercurial > cosocket
diff media/js/openwebchat.js @ 79:91f31d2030b9
simplified msg display code more
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Thu, 30 Apr 2009 18:34:30 -0700 |
parents | 0effc4481d18 |
children | 002868ce7212 |
line wrap: on
line diff
--- a/media/js/openwebchat.js Thu Apr 30 18:15:32 2009 -0700 +++ b/media/js/openwebchat.js Thu Apr 30 18:34:30 2009 -0700 @@ -69,11 +69,6 @@ listenForMessages: function listenForMessages(options) { var self = this; - function processMessage(msg) { - options.storage.append(msg); - options.onMessage(msg); - } - jQuery.ajax( {type: 'GET', url: 'listen', @@ -90,7 +85,9 @@ success: function(data, textStatus) { // TODO: Make sure data.messages is an array. for (var i = 0; i < data.messages.length; i++) - processMessage(data.messages[i]); + options.storage.append(data.messages[i]); + + options.onMessages(data.messages); // Start another long poll. self.listenForMessages(options); } @@ -197,10 +194,7 @@ var lastAuthor; - function onMessage(msg, doAnimation) { - if (typeof(doAnimation) == "undefined") - doAnimation = true; - + function onMessage(msg, container) { if (owStorage.get('lastMessage') == msg.content) owStorage.set('lastMessage', ''); @@ -211,25 +205,28 @@ else lastAuthor = msg.author; - if (doAnimation) - message.hide(); + container.append(message); + } + + function onMessages(msgs) { + var container = $('<div class="messages"></div>'); - $('#incoming-messages').append(message); + for (var i = 0; i < msgs.length; i++) + onMessage(msgs[i], container); - if (doAnimation) - message.slideDown(scrollToBottom); + container.hide(); + $('#incoming-messages').append(container); + container.slideDown(scrollToBottom); } $('#incoming-messages').hide(); - for (var i = 0; i < convStorage.length; i++) - onMessage(convStorage.get(i), false); - + onMessage(convStorage.get(i), $('#incoming-messages')); $('#incoming-messages').slideDown(); OpenWebChat.listenForMessages( {storage: convStorage, - onMessage: onMessage, + onMessages: onMessages, onError: function onError(exception) { if (window.console) window.console.log('The error', exception, 'occurred.');