From f6495e2bece592bc179af662efa9432a6afd0fb6 Mon Sep 17 00:00:00 2001 From: ilya Date: Thu, 29 Jul 2010 17:26:05 -0700 Subject: [PATCH] RS IZ photos now fade in on the album upload page --- app/helpers/sockets_helper.rb | 6 +++++- app/models/photo.rb | 4 ++++ app/views/albums/show.html.haml | 7 ++++--- app/views/js/_websocket_js.haml | 11 +++++++++++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/app/helpers/sockets_helper.rb b/app/helpers/sockets_helper.rb index 5b84cbee3..1e9dcc508 100644 --- a/app/helpers/sockets_helper.rb +++ b/app/helpers/sockets_helper.rb @@ -18,7 +18,11 @@ module SocketsHelper puts e.message raise e end - {:class =>object.class.to_s.underscore.pluralize, :html => v, :post_id => obj_id(object)}.to_json + if object.is_a? Photo + {:class =>object.class.to_s.underscore.pluralize, :html => v, :post_id => obj_id(object), :photo_hash => object.thumb_hash }.to_json + else + {:class =>object.class.to_s.underscore.pluralize, :html => v, :post_id => obj_id(object)}.to_json + end end diff --git a/app/models/photo.rb b/app/models/photo.rb index 3498a2e3b..91a4421ff 100644 --- a/app/models/photo.rb +++ b/app/models/photo.rb @@ -51,4 +51,8 @@ class Photo < Post user.profile.update_attributes!(:image_url => nil) end end + + def thumb_hash + {:thumb_url => image.url(:thumb_medium), :id => id, :album_id => album_id} + end end diff --git a/app/views/albums/show.html.haml b/app/views/albums/show.html.haml index f118cf7da..253d94d19 100644 --- a/app/views/albums/show.html.haml +++ b/app/views/albums/show.html.haml @@ -17,9 +17,10 @@ -unless mine? @album %h4= "by #{@album.person.real_name}" -- for photo in @album_photos - .image_thumb - = link_to (image_tag photo.image.url(:thumb_medium)), object_path(photo) +#thumbnails + - for photo in @album_photos + .image_thumb + = link_to (image_tag photo.image.url(:thumb_medium)), object_path(photo) #content_bottom .back diff --git a/app/views/js/_websocket_js.haml b/app/views/js/_websocket_js.haml index a4ec035e2..52b2237d4 100644 --- a/app/views/js/_websocket_js.haml +++ b/app/views/js/_websocket_js.haml @@ -18,6 +18,8 @@ }else if (obj['class']=="comments"){ processComment(obj['post_id'], obj['html']) + }else if (obj['class']=='photos' && onPageForClass('albums')){ + processPhotoInAlbum(obj['photo_hash']) }else{ processPost(obj['class'], obj['html']) } @@ -53,6 +55,15 @@ ); } } + + function processPhotoInAlbum(photoHash){ + if (location.href.indexOf(photoHash['album_id']) == -1){ + return ; + } + html = "
\"New
" + $("#thumbnails").append( $(html).fadeIn("fast") ) + + } function onPageForClass(className){ return ((location.href.indexOf(className) != -1 ) || (location.pathname == '/')) && onPageOne();