diff --git a/app/views/js/_websocket_js.haml b/app/views/js/_websocket_js.haml index cc31c3b31..4cf690cf0 100644 --- a/app/views/js/_websocket_js.haml +++ b/app/views/js/_websocket_js.haml @@ -12,35 +12,50 @@ var obj = jQuery.parseJSON(evt.data); debug("got a " + obj['class']); - - function onPageOne() { - var c = document.location.search.charAt(document.location.search.length-1); - return ((c =='') || (c== '1')); - } - - if (obj['class']=="retractions"){ - var post_id = obj['post_id']; - $('#' + post_id ).fadeOut(500, function(){ - $(this).remove; - }); - + processRetraction(obj['post_id']); + }else if (obj['class']=="comments"){ - var post_id = obj['post_id'] - $('#'+ post_id + ' .comment_set li:last' ).before( - $(obj['html']).fadeIn("fast", function(){}) - ) - }else if(((location.href.indexOf(obj['class']) != -1 ) || (location.pathname == '/')) && onPageOne()) { - $("#stream").prepend( - $(obj['html']).fadeIn("fast", function(){ - $("#stream label:first").inFieldLabels(); - } - ) - ); - }; - }; + processComment(obj['post_id'], obj['html']) + + }else{ + processPost(obj['class'], obj['html']) + } + }; ws.onclose = function() { debug("socket closed"); }; ws.onopen = function() { ws.send(location.pathname); debug("connected..."); - };}); + }; + + function processRetraction(post_id){ + $('#' + post_id ).fadeOut(500, function(){ + $(this).remove; + }); + } + + function processComment(post_id, html){ + $('#'+ post_id + ' .comment_set li:last' ).before( + $(html).fadeIn("fast", function(){}) + ); + } + + function processPost(className, html){ + if(onPageForClass(className)){ + $("#stream").prepend( + $(html).fadeIn("fast", function(){ + $("#stream label:first").inFieldLabels(); + }) + ); + } + } + + function onPageForClass(className){ + return ((location.href.indexOf(className) != -1 ) || (location.pathname == '/')) && onPageOne(); + } + + function onPageOne() { + var c = document.location.search.charAt(document.location.search.length-1); + return ((c =='') || (c== '1')); + } + });