# HG changeset patch # User Atul Varma # Date 1241141670 25200 # Node ID 91f31d2030b9074437e3c3d81b5fb9707ecc01bf # Parent 0effc4481d18b44a454b02247ddd90a6a714388b simplified msg display code more diff -r 0effc4481d18 -r 91f31d2030b9 media/js/openwebchat.js --- 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 = $('
'); - $('#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.');