wip. Person#as_json is breaking right now
This commit is contained in:
parent
8f31e99535
commit
675d9d7485
6 changed files with 55 additions and 14 deletions
|
|
@ -106,7 +106,12 @@ class PeopleController < ApplicationController
|
|||
if params[:only_posts]
|
||||
render :partial => 'shared/stream', :locals => {:posts => @posts}
|
||||
else
|
||||
respond_with @person, :locals => {:post_type => :all}
|
||||
respond_to do |format|
|
||||
format.all { respond_with @person, :locals => {:post_type => :all} }
|
||||
format.json {
|
||||
render :json => @person.to_json(:aspect_ids => @aspects_with_person.to_json)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
|
|
|
|||
|
|
@ -220,13 +220,14 @@ class Person < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def as_json(opts={})
|
||||
{
|
||||
:id => self.guid,
|
||||
json = {
|
||||
:id => self.id,
|
||||
:name => self.name,
|
||||
:avatar => self.profile.image_url(:thumb_small),
|
||||
:handle => self.diaspora_handle,
|
||||
:url => "/people/#{self.id}"
|
||||
}
|
||||
json.merge(:aspect_ids => opts[:aspect_ids])
|
||||
end
|
||||
|
||||
protected
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
= person_image_link(comment.author)
|
||||
.content
|
||||
%span.from
|
||||
= person_link(comment.author)
|
||||
= person_link(comment.author, :class => "author")
|
||||
|
||||
%span{:class => direction_for(comment.text)}
|
||||
= markdownify(comment.text, :youtube_maps => comment.youtube_titles)
|
||||
|
|
|
|||
|
|
@ -54,7 +54,12 @@
|
|||
|
||||
#hovercard
|
||||
%img.avatar
|
||||
%h4
|
||||
%a.person
|
||||
= render 'aspect_memberships/aspect_dropdown', :contact => Contact.new, :person => Person.new, :hang => 'left'
|
||||
.hovercard_footer
|
||||
.footer_container
|
||||
Message
|
||||
|
||||
%ul#user_menu.dropdown
|
||||
%li
|
||||
|
|
|
|||
|
|
@ -6,11 +6,12 @@
|
|||
this.hoverCard = {
|
||||
tip: $("#hovercard"),
|
||||
offset: {
|
||||
left: -30,
|
||||
top: -60
|
||||
left: 00,
|
||||
top: 20
|
||||
},
|
||||
personLink: $("#hovercard").find("a.person"),
|
||||
avatar: $("#hovercard").find(".avatar")
|
||||
avatar: $("#hovercard").find(".avatar"),
|
||||
dropdown: $("#hovercard").find(".dropdown_list")
|
||||
};
|
||||
|
||||
$(document.body).delegate("a.author", "hover", this.handleHoverEvent);
|
||||
|
|
@ -32,26 +33,26 @@
|
|||
if(!self.hoverCardTimeout) {
|
||||
self.clearTimeout(false);
|
||||
}
|
||||
self.timeout = setTimeout(self.showHoverCard, 30);
|
||||
self.timeout = setTimeout(self.showHoverCard, 100);
|
||||
};
|
||||
|
||||
this.showHoverCard = function() {
|
||||
self.hoverCard.tip.hide();
|
||||
self.hoverCard.tip.fadeOut('fast');
|
||||
self.hoverCard.tip.prependTo(self.target.parent());
|
||||
|
||||
$.getJSON(self.target.attr("href"), function(person) {
|
||||
var position = self.target.position();
|
||||
self.hoverCard.tip.css({
|
||||
position: "absolute",
|
||||
left: position.left + self.hoverCard.offset.left,
|
||||
top: position.top + self.hoverCard.offset.top
|
||||
});
|
||||
|
||||
self.hoverCard.avatar.attr("src", person.avatar);
|
||||
self.hoverCard.personLink.attr("href", self.target.attr("href"));
|
||||
self.hoverCard.personLink.attr("href", person.url);
|
||||
self.hoverCard.personLink.text(person.name);
|
||||
self.hoverCard.dropdown.attr("data-person-id", person.id);
|
||||
|
||||
self.hoverCard.tip.show();
|
||||
self.hoverCard.tip.fadeIn('fast');
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -3071,8 +3071,37 @@ ul.left_nav
|
|||
:display none
|
||||
|
||||
#hovercard
|
||||
@include box-shadow(0,0,7px,#333)
|
||||
@include border-radius(2px)
|
||||
|
||||
.avatar
|
||||
:position relative
|
||||
:height 70px
|
||||
:width 70px
|
||||
:margin
|
||||
:right 10px
|
||||
|
||||
:position absolute
|
||||
:display none
|
||||
:background
|
||||
:color black
|
||||
:color $background
|
||||
:padding 5px
|
||||
:bottom 25px
|
||||
|
||||
:border 1px solid #ddd
|
||||
|
||||
:width 240px
|
||||
|
||||
:z
|
||||
:index 10
|
||||
|
||||
.hovercard_footer
|
||||
:position absolute
|
||||
:bottom 0
|
||||
:left 0
|
||||
:background
|
||||
:color #eee
|
||||
:width 100%
|
||||
|
||||
.footer_container
|
||||
:padding 0 10px
|
||||
|
|
|
|||
Loading…
Reference in a new issue