Mercurial > cosocket
diff media/js/openwebchat.js @ 78:0effc4481d18
refactored display code a bit
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Thu, 30 Apr 2009 18:15:32 -0700 |
parents | 1c99c08d2a54 |
children | 91f31d2030b9 |
line wrap: on
line diff
--- a/media/js/openwebchat.js Thu Apr 30 17:47:32 2009 -0700 +++ b/media/js/openwebchat.js Thu Apr 30 18:15:32 2009 -0700 @@ -179,6 +179,24 @@ window.scrollTo(0, $('#bottom').position().top); } + function msg2dom(msg) { + var message = $('<div class="message"></div>'); + message.append('<div class="author"></div>'); + message.append('<div class="timestamp"></div>'); + message.append('<div class="content"></div>'); + message.append('<div class="raw-content"></div>'); + + $('.content', message).html(msg.content); + $('.raw-content', message).text(msg.content); + + $('.author', message).text(msg.author); + $('.timestamp', message).text(msg.time); + + return message; + } + + var lastAuthor; + function onMessage(msg, doAnimation) { if (typeof(doAnimation) == "undefined") doAnimation = true; @@ -186,24 +204,20 @@ if (owStorage.get('lastMessage') == msg.content) owStorage.set('lastMessage', ''); - var block = $('#templates .message').clone(); - $('.content', block).html(msg.content); + var message = msg2dom(msg); - var author = msg.author ? msg.author : 'Anonymous'; - if (author != $('#content .author:last').text()) - $('.author', block).text(author); + if (msg.author == lastAuthor) + $('.author', message).hide(); else - $('.author', block).remove(); - - $('.timestamp', block).text(msg.time); + lastAuthor = msg.author; if (doAnimation) - block.hide(); + message.hide(); - $('#incoming-messages').append(block); + $('#incoming-messages').append(message); if (doAnimation) - block.slideDown(scrollToBottom); + message.slideDown(scrollToBottom); } $('#incoming-messages').hide();