From 0a07dd16b5eaf2c35fff107abef5b6dc3b7ed967 Mon Sep 17 00:00:00 2001 From: danielvincent Date: Wed, 5 Jan 2011 14:04:50 -0800 Subject: [PATCH] posts are properly socketed on filtered streams --- app/views/aspects/_aspect_stream.haml | 2 +- app/views/aspects/show.html.haml | 2 +- public/javascripts/web-socket-receiver.js | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/views/aspects/_aspect_stream.haml b/app/views/aspects/_aspect_stream.haml index 0b3bbff3b..383ae62a4 100644 --- a/app/views/aspects/_aspect_stream.haml +++ b/app/views/aspects/_aspect_stream.haml @@ -4,6 +4,6 @@ = render 'shared/publisher', :aspect => aspect, :aspect_ids => aspect_ids -#main_stream.stream +#main_stream.stream{:data => {:guids => aspect_ids.join(',')}} = render 'shared/stream', :posts => post_hashes = will_paginate @posts diff --git a/app/views/aspects/show.html.haml b/app/views/aspects/show.html.haml index f078fc62e..71a10a393 100644 --- a/app/views/aspects/show.html.haml +++ b/app/views/aspects/show.html.haml @@ -27,6 +27,6 @@ = render 'aspects/no_contacts_message', :aspect => @aspect, :contact_count => @aspect_contacts_count, :options => false = render 'aspects/no_posts_message', :post_count => @post_count, :contact_count=> @aspect_contacts_count - #main_stream.stream + #main_stream.stream{:data => {:guids => @aspect.id}} = render 'shared/stream', :posts => @post_hashes =will_paginate @posts diff --git a/public/javascripts/web-socket-receiver.js b/public/javascripts/web-socket-receiver.js index 0304a3525..bccb67955 100644 --- a/public/javascripts/web-socket-receiver.js +++ b/public/javascripts/web-socket-receiver.js @@ -139,20 +139,20 @@ var WebSocketReceiver = { }, onPageForAspects: function(aspectIds) { - if(location.pathname == '/aspects' && WebSocketReceiver.onPageOne()) { - return true - } - var found = false; + var streamIds = $('#main_stream').attr('data-guids'), + found = false; + $.each(aspectIds, function(index, value) { - if(WebSocketReceiver.onPageForAspect(value)) { + if(WebSocketReceiver.onStreamForAspect(value, streamIds)) { found = true; + return false; }; }); return found; }, - onPageForAspect: function(aspectId) { - return (location.href.indexOf(aspectId) != -1 ) + onStreamForAspect: function(aspectId, streamIds) { + return (streamIds.search(aspectId) != -1); }, onPageOne: function() {