muck-services 3.1.1 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/app/controllers/muck/identity_feeds_controller.rb +28 -27
- data/app/helpers/muck_services_service_helper.rb +22 -0
- data/app/models/service.rb +1 -1
- data/app/views/identity_feeds/{_available_service_categories.html.erb → _available_service_categories.erb} +0 -0
- data/app/views/identity_feeds/_form.erb +11 -5
- data/app/views/identity_feeds/_services_for_user.erb +11 -0
- data/app/views/identity_feeds/create.erb +10 -0
- data/app/views/identity_feeds/destroy.erb +1 -0
- data/app/views/identity_feeds/{edit.html.erb → edit.erb} +0 -0
- data/app/views/identity_feeds/index.erb +49 -0
- data/app/views/identity_feeds/{new.html.erb → new.erb} +0 -0
- data/app/views/service_templates/{_facebook.html.erb → _facebook.erb} +1 -1
- data/app/views/service_templates/{_friendfeed.html.erb → _friendfeed.erb} +1 -1
- data/app/views/service_templates/{_goodreads.html.erb → _goodreads.erb} +0 -0
- data/app/views/service_templates/{_linkedin.html.erb → _linkedin.erb} +1 -1
- data/app/views/service_templates/{_netflix.html.erb → _netflix.erb} +1 -1
- data/app/views/service_templates/{_polyvore.html.erb → _polyvore.erb} +0 -0
- data/app/views/service_templates/{_zotero_group.html.erb → _zotero_group.erb} +0 -0
- data/app/views/services/{_edit_service.html.erb → _edit_service.erb} +0 -0
- data/app/views/services/{_new_service.html.erb → _new_service.erb} +0 -0
- data/app/views/services/{_personal_recommendations.html.erb → _personal_recommendations.erb} +0 -0
- data/app/views/services/{_summary.html.erb → _summary.erb} +0 -0
- data/app/views/services/{_view_service.html.erb → _view_service.erb} +0 -0
- data/config/locales/en.yml +10 -10
- data/db/bootstrap/services.yml +2 -2
- data/muck-services.gemspec +22 -19
- data/public/javascripts/muck_services-src.js +134 -0
- data/public/javascripts/muck_services.js +10 -104
- data/public/stylesheets/muck-services.css +1 -0
- metadata +25 -22
- data/app/views/identity_feeds/_services_for_user.html.erb +0 -25
- data/app/views/identity_feeds/index.html.erb +0 -32
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.2.0
|
@@ -22,43 +22,51 @@ class Muck::IdentityFeedsController < ApplicationController
|
|
22
22
|
@feed = Feed.new
|
23
23
|
respond_to do |format|
|
24
24
|
format.html { render :template => 'identity_feeds/new' }
|
25
|
-
format.
|
25
|
+
format.js { render :template => 'identity_feeds/new', :layout => false }
|
26
|
+
format.pjs { render :template => 'identity_feeds/new', :layout => false }
|
26
27
|
end
|
27
28
|
end
|
28
29
|
|
29
30
|
def create
|
30
31
|
@service = Service.find(params[:service_id])
|
32
|
+
|
31
33
|
if !params[:uri].blank?
|
32
|
-
|
33
|
-
|
34
|
+
uri = params[:uri]
|
35
|
+
elsif !@service.uri_data_template.blank? && params[:username]
|
36
|
+
uri = @service.uri_data_template
|
37
|
+
else
|
38
|
+
uri = nil
|
39
|
+
end
|
40
|
+
|
41
|
+
if uri
|
42
|
+
@feed = Feed.new(:uri => uri, :login => params[:username])
|
43
|
+
feeds = Service.create_tag_feeds_for_service(@service, uri, params[:username], params[:password], current_user.id)
|
34
44
|
if feeds.blank?
|
35
|
-
success = false
|
45
|
+
@success = false
|
36
46
|
if params[:username]
|
37
|
-
message = I18n.t('muck.services.no_feeds_from_username')
|
47
|
+
@message = I18n.t('muck.services.no_feeds_from_username')
|
38
48
|
else
|
39
|
-
message = I18n.t('muck.services.no_feeds_at_uri')
|
49
|
+
@message = I18n.t('muck.services.no_feeds_at_uri')
|
40
50
|
end
|
41
51
|
else
|
42
|
-
success, messages = add_feeds_to_parent(@parent, feeds)
|
43
|
-
message = messages.join('<br />')
|
52
|
+
@success, messages = add_feeds_to_parent(@parent, feeds)
|
53
|
+
@message = messages.join('<br />')
|
44
54
|
end
|
45
55
|
else
|
46
|
-
success = false
|
47
|
-
message = I18n.t('muck.services.please_specify_url')
|
56
|
+
@success = false
|
57
|
+
@message = I18n.t('muck.services.please_specify_url')
|
48
58
|
end
|
49
59
|
|
60
|
+
@user_services = @parent.identity_feeds.find(:all, :include => [{:feed => :service}]) if @success
|
61
|
+
|
50
62
|
respond_to do |format|
|
51
63
|
format.html do
|
52
|
-
flash[:notice] = message if message
|
64
|
+
flash[:notice] = @message.html_safe if @message
|
53
65
|
redirect_to polymorphic_url([@parent, :identity_feeds])
|
54
66
|
end
|
55
|
-
format.pjs
|
56
|
-
|
57
|
-
|
58
|
-
end
|
59
|
-
format.json do
|
60
|
-
render :json => {:parent => @parent, :service => @service, :feeds => feeds, :success => success, :message => message }.as_json
|
61
|
-
end
|
67
|
+
format.pjs { render :template => 'identity_feeds/create', :layout => false }
|
68
|
+
format.js { render :template => 'identity_feeds/create', :layout => false }
|
69
|
+
format.json { render :json => {:parent => @parent, :service => @service, :feeds => feeds, :success => @success, :message => @message }.as_json }
|
62
70
|
end
|
63
71
|
end
|
64
72
|
|
@@ -82,11 +90,8 @@ class Muck::IdentityFeedsController < ApplicationController
|
|
82
90
|
flash[:notice] = t("muck.services.identity_feed_removed")
|
83
91
|
redirect_to polymorphic_url([@identity_feed.ownable, :identity_feeds])
|
84
92
|
end
|
85
|
-
format.js
|
86
|
-
|
87
|
-
page << "jQuery('##{@identity_feed.dom_id}').fadeOut();"
|
88
|
-
end
|
89
|
-
end
|
93
|
+
format.js { render :template => 'identity_feeds/destroy', :layout => false }
|
94
|
+
format.pjs { render :template => 'identity_feeds/destroy', :layout => false }
|
90
95
|
format.json do
|
91
96
|
render :json => { :success => true,
|
92
97
|
:identity_feed => @identity_feed,
|
@@ -122,10 +127,6 @@ class Muck::IdentityFeedsController < ApplicationController
|
|
122
127
|
@parent.can_edit?(current_user)
|
123
128
|
end
|
124
129
|
|
125
|
-
def get_new_html(service, parent, feed)
|
126
|
-
render_to_string(:partial => 'identity_feeds/form', :locals => { :service => service, :parent => parent, :feed => feed })
|
127
|
-
end
|
128
|
-
|
129
130
|
def get_edit_html(identity_feed)
|
130
131
|
render_to_string(:partial => 'identity_feeds/form', :locals => { :service => identity_feed.feed.service, :parent => identity_feed.ownable, :feed => identity_feed.feed })
|
131
132
|
end
|
@@ -71,12 +71,19 @@ module MuckServicesServiceHelper
|
|
71
71
|
service_link(path, identity_feed.feed.service, link_css, wrapper, link_text)
|
72
72
|
end
|
73
73
|
|
74
|
+
# Renders a link with an icon and text
|
74
75
|
def service_external_link(identity_feed, link_css = nil, wrapper = nil)
|
75
76
|
path = identity_feed.feed.display_uri || identity_feed.feed.uri
|
76
77
|
link_text = identity_feed.feed.title unless identity_feed.feed.title.blank?
|
77
78
|
service_link(path, identity_feed.feed.service, link_css, wrapper, link_text, 'blank')
|
78
79
|
end
|
79
80
|
|
81
|
+
# Render a link with an icon an no text
|
82
|
+
def service_external_icon_link(identity_feed, link_css = nil, wrapper = nil, target = 'blank', id = nil)
|
83
|
+
path = identity_feed.feed.display_uri || identity_feed.feed.uri
|
84
|
+
service_icon_link(path, identity_feed.feed.service, link_css, wrapper, target, id)
|
85
|
+
end
|
86
|
+
|
80
87
|
# Renders a delete button for an identity_feed
|
81
88
|
def service_delete(identity_feed, button_type = :button, button_text = t("muck.general.delete"))
|
82
89
|
render(:partial => 'shared/delete', :locals => { :delete_object => identity_feed,
|
@@ -96,6 +103,21 @@ module MuckServicesServiceHelper
|
|
96
103
|
end
|
97
104
|
end
|
98
105
|
|
106
|
+
# Renders a service link optionally wrapping it in the specified element
|
107
|
+
def service_icon_link(path, service, link_css, wrapper, target = nil, id = nil)
|
108
|
+
if service.respond_to?(:icon)
|
109
|
+
service_name = service.icon
|
110
|
+
else
|
111
|
+
service_name = "#{service}.png"
|
112
|
+
end
|
113
|
+
link = %Q{<a #{'id=' + id if id} href="#{path}" #{'target=' + target if target} class="service-link #{link_css}">#{service_icon(service_name, 16, service.name)}</a>}.html_safe
|
114
|
+
if wrapper
|
115
|
+
content_tag(wrapper, link, :class => 'identity-service').html_safe
|
116
|
+
else
|
117
|
+
link
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
99
121
|
def url_by_identity_feed(owner, identity_feed, service)
|
100
122
|
if identity_feed
|
101
123
|
polymorphic_url([owner, identity_feed], :service_id => service.to_param).html_safe
|
data/app/models/service.rb
CHANGED
@@ -156,7 +156,7 @@ class Service < ActiveRecord::Base
|
|
156
156
|
# creates a feed for a service with a username and optional password
|
157
157
|
def self.create_tag_feeds_for_service(service, uri, username, password, contributor)
|
158
158
|
uris = service.generate_uris(username, password, uri)
|
159
|
-
uris.collect{ |u| Feed.find_or_create(u.url, u.title, username, password, service.id, contributor) } if uris
|
159
|
+
uris.collect{ |u| Feed.find_or_create(u.url, u.title, username, password, service.id, contributor, u.human_url) } if uris
|
160
160
|
end
|
161
161
|
|
162
162
|
def self.build_photo_feeds(terms, user, service_ids = nil, refresh_services = false)
|
File without changes
|
@@ -1,5 +1,6 @@
|
|
1
|
+
<div id="identity-feed-message"></div>
|
1
2
|
<div id="identity-feed">
|
2
|
-
<%= form_for(:feed, :url => url_by_identity_feed(parent, @identity_feed, service)) do |f| -%>
|
3
|
+
<%= form_for(:feed, :url => url_by_identity_feed(parent, @identity_feed, service), :html => { :class => 'add-identity' } ) do |f| -%>
|
3
4
|
<%= service_title(service) %>
|
4
5
|
<% if service.template.blank? -%>
|
5
6
|
<% if service.uri_data_template.blank? -%>
|
@@ -11,10 +12,15 @@
|
|
11
12
|
<%= render :partial => "service_templates/#{service.template}", :locals => { :service => service, :feed => feed } -%>
|
12
13
|
<% end -%>
|
13
14
|
<div class="button form-row">
|
14
|
-
<%= f.submit t('muck.services.import_service', :service => service.name), :id => '
|
15
|
-
<span id="finding_uri_message" style="display:none;">
|
16
|
-
<%= t('muck.services.submitting_feed_message')
|
15
|
+
<%= f.submit t('muck.services.import_service', :service => service.name), :id => 'submit_add_feed' %>
|
16
|
+
<span id="finding_uri_message" class="waiting" style="display:none;">
|
17
|
+
<%= t('muck.services.submitting_feed_message') %>
|
17
18
|
</span>
|
18
19
|
</div>
|
19
20
|
<% end -%>
|
20
|
-
</div>
|
21
|
+
</div>
|
22
|
+
<script type="text/javascript">
|
23
|
+
jQuery(document).ready(function() {
|
24
|
+
apply_add_feed();
|
25
|
+
});
|
26
|
+
</script>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div id="my-services" class="services-main <%= css %>">
|
2
|
+
<h2><%= title || I18n.t('muck.services.my_services') %></h2>
|
3
|
+
<ul id="my-services-list" class="services-list">
|
4
|
+
<% if edit -%>
|
5
|
+
<%= render(:partial => 'services/edit_service', :collection => identity_feeds) %>
|
6
|
+
<% else -%>
|
7
|
+
<%= render(:partial => 'services/view_service', :collection => identity_feeds) %>
|
8
|
+
<% end -%>
|
9
|
+
</ul>
|
10
|
+
</div>
|
11
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if @success -%>
|
2
|
+
jQuery('#my-services').replaceWith('<%= escape_javascript(services_for_user(@user_services, nil, 'span-5').html_safe) %>');
|
3
|
+
apply_delete_feed();
|
4
|
+
jQuery.fancybox.close();
|
5
|
+
<% else -%>
|
6
|
+
jQuery('#identity-feed-message').addClass('error');
|
7
|
+
jQuery('#identity-feed-message').html("<%=@message.html_safe%>");
|
8
|
+
jQuery('#submit_add_feed').show();
|
9
|
+
jQuery('#finding_uri_message').hide();
|
10
|
+
<% end -%>
|
@@ -0,0 +1 @@
|
|
1
|
+
jQuery('#<%=@identity_feed.dom_id%>').fadeOut();
|
File without changes
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<%= output_errors('', {:class => 'help-box'}) %>
|
2
|
+
<%= available_service_categories(@service_categories, nil, 'span-15') %>
|
3
|
+
<%= services_for_user(@user_services, nil, 'span-5') %>
|
4
|
+
|
5
|
+
<script type="text/javascript">
|
6
|
+
jQuery(document).ready(function() {
|
7
|
+
jQuery('a.lightbox').fancybox({
|
8
|
+
'width': 400,
|
9
|
+
'height': 100,
|
10
|
+
'ajax' : {
|
11
|
+
dataType: 'html',
|
12
|
+
beforeSend: add_headers
|
13
|
+
}
|
14
|
+
});
|
15
|
+
jQuery('a#facebook-link').fancybox({
|
16
|
+
'width': 400,
|
17
|
+
'height': 375,
|
18
|
+
'ajax' : {
|
19
|
+
dataType: 'html',
|
20
|
+
beforeSend: add_headers
|
21
|
+
}
|
22
|
+
});
|
23
|
+
jQuery('a#zotero-groups-link').fancybox({
|
24
|
+
'width': 400,
|
25
|
+
'height': 130,
|
26
|
+
'ajax' : {
|
27
|
+
dataType: 'html',
|
28
|
+
beforeSend: add_headers
|
29
|
+
}
|
30
|
+
});
|
31
|
+
jQuery('a#netflix-link').fancybox({
|
32
|
+
'width': 400,
|
33
|
+
'height': 160,
|
34
|
+
'ajax' : {
|
35
|
+
dataType: 'html',
|
36
|
+
beforeSend: add_headers
|
37
|
+
}
|
38
|
+
});
|
39
|
+
});
|
40
|
+
</script>
|
41
|
+
|
42
|
+
<script type="text/javascript">
|
43
|
+
jQuery(document).ready(function() {
|
44
|
+
//apply_delete_hover();
|
45
|
+
apply_delete_feed();
|
46
|
+
});
|
47
|
+
</script>
|
48
|
+
|
49
|
+
|
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<%= text_field_tag :uri, feed.uri %>
|
2
|
-
<p><%= t('muck.services.facebook_link', :link => '<a href="http://www.facebook.com/posted.php" target="blank">Click Here</a>') %></p>
|
2
|
+
<p><%= t('muck.services.facebook_link', :link => '<a href="http://www.facebook.com/posted.php" target="blank">Click Here</a>').html_safe %></p>
|
3
3
|
<img src="/images/service_icons/facebook_my_links.jpg" />
|
4
4
|
<p><%= t('muck.services.facebook_instructions') %></p>
|
@@ -1,2 +1,2 @@
|
|
1
1
|
<%= text_field_tag :uri, feed.uri %>
|
2
|
-
<%= t('muck.services.friendfeed_rss', :link => '<a href="http://friendfeed.com/">Friendfeed home page</a>') %>
|
2
|
+
<%= t('muck.services.friendfeed_rss', :link => '<a href="http://friendfeed.com/" target="_blank">Friendfeed home page</a>').html_safe %>
|
File without changes
|
@@ -1,2 +1,2 @@
|
|
1
1
|
<%= text_field_tag :uri, feed.uri %>
|
2
|
-
<%= t('muck.services.linkedin_rss', :link => '<a href="http://www.linkedin.com/myprofile?editwp=">LinkedIn Public Profile page</a>') %>
|
2
|
+
<%= t('muck.services.linkedin_rss', :link => '<a href="http://www.linkedin.com/myprofile?editwp=" target="_blank">LinkedIn Public Profile page</a>').html_safe %>
|
@@ -1,2 +1,2 @@
|
|
1
1
|
<%= text_field_tag :uri, feed.uri %>
|
2
|
-
<%= t('muck.services.netflix_rss', :link => '<a href="http://www.netflix.com/RSSFeeds">Netflix Queue RSS page</a>') %>
|
2
|
+
<%= t('muck.services.netflix_rss', :link => '<a href="http://www.netflix.com/RSSFeeds" target="_blank">Netflix Queue RSS page</a>').html_safe %>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/app/views/services/{_personal_recommendations.html.erb → _personal_recommendations.erb}
RENAMED
File without changes
|
File without changes
|
File without changes
|
data/config/locales/en.yml
CHANGED
@@ -50,7 +50,7 @@ en:
|
|
50
50
|
rss: RSS
|
51
51
|
validate_feed: Mark feed as valid
|
52
52
|
discover_feed_message: Searching for information about the url you provided. Please wait.
|
53
|
-
service_feed_name: "%{term}
|
53
|
+
service_feed_name: "%{term} on %{service}"
|
54
54
|
please_specify_url: Please specify a url
|
55
55
|
available_sources: Available Sources
|
56
56
|
import_service: Import %{service}
|
@@ -61,7 +61,7 @@ en:
|
|
61
61
|
add_aggregation_title: "Name for aggregation:"
|
62
62
|
back: Back
|
63
63
|
polyvore_prompt: Polyvore profile URL
|
64
|
-
login_or_signup_prompt: "%{signup}
|
64
|
+
login_or_signup_prompt: "%{signup} or %{login} to discuss and share resources."
|
65
65
|
facebook_shares: Facebook Shared Links
|
66
66
|
facebook: Facebook
|
67
67
|
for: for
|
@@ -70,18 +70,18 @@ en:
|
|
70
70
|
loading_content_image: <%= t('muck.services.loading_image') %>
|
71
71
|
save_aggreation: Save this Aggregation
|
72
72
|
metadata: metadata
|
73
|
-
signup_to_save_aggreation: "%{login}
|
73
|
+
signup_to_save_aggreation: "%{login} or %{signup} to save this search"
|
74
74
|
visit: visit
|
75
75
|
facebook_link: You can find your URL on your Facebook My Links page. %{link} and then click on 'My Links'
|
76
|
-
course_search_results: Courses <b>%{first}
|
76
|
+
course_search_results: Courses <b>%{first} - %{last}</b> of <b>%{total}</b> for search <b>%{terms}</b>
|
77
77
|
only_courses: Only Courses
|
78
|
-
no_hits: Your search - <b>%{search}
|
78
|
+
no_hits: Your search - <b>%{search}</b> - did not match any <b>%{resource_type}</b>. Please try a different search or choose a different language.
|
79
79
|
no_recommendations: No recommendations were found.
|
80
80
|
feed_successfully_created: Thank you for submitting a feed. You will be emailed when the feed is approved.
|
81
81
|
login: Login
|
82
82
|
next_label: Next
|
83
83
|
add_rss: Add Rss
|
84
|
-
already_added_username_feed: You've already added a %{service}
|
84
|
+
already_added_username_feed: You've already added a %{service} account with the username %{username}
|
85
85
|
topic_feeds_for: Feeds for %{terms}
|
86
86
|
explore: Search the Web
|
87
87
|
videos: Videos
|
@@ -98,7 +98,7 @@ en:
|
|
98
98
|
loading_message: "Loading... "
|
99
99
|
feed_successfully_updated: Feed was successfully updated.
|
100
100
|
approval_status: Approved
|
101
|
-
course_tag_results: Courses <b>%{first}
|
101
|
+
course_tag_results: Courses <b>%{first} - %{last}</b> of <b>%{total}</b> tagged <b>%{terms}</b>
|
102
102
|
goodreads_prompt: Goodreads profile URL
|
103
103
|
feed_remove: Feed Removed
|
104
104
|
loading_image: Loading Image
|
@@ -123,7 +123,7 @@ en:
|
|
123
123
|
oai_endpoint_successfully_created: Successfully added OAI endpoint
|
124
124
|
add_extended_feed_title: Add new feed
|
125
125
|
gm_title: Related Resources
|
126
|
-
resource_tag_results: Resources <b>%{first}
|
126
|
+
resource_tag_results: Resources <b>%{first} - %{last}</b> of <b>%{total}</b> tagged <b>%{terms}</b>
|
127
127
|
rdf: RDF
|
128
128
|
amazon_prompt: Please enter the email you use with Amazon.com
|
129
129
|
edit_aggregation_title: Editing %{title}
|
@@ -192,7 +192,7 @@ en:
|
|
192
192
|
already_shared: You've previously shared this page.
|
193
193
|
add_edit_feeds: Add/Edit Feeds
|
194
194
|
harvest_interval: Harvest interval (hrs)
|
195
|
-
resource_search_results: Resources <b>%{first}
|
195
|
+
resource_search_results: Resources <b>%{first} - %{last}</b> of <b>%{total}</b> for search <b>%{terms}</b>
|
196
196
|
successfully_added_uri_feed: Successfully added %{uri}
|
197
197
|
no_feeds_found: No feeds were found
|
198
198
|
direct_link: "[direct link]"
|
@@ -207,7 +207,7 @@ en:
|
|
207
207
|
add_feed: Add Feed
|
208
208
|
identity_feeds: Identity Feeds
|
209
209
|
added_date: Added
|
210
|
-
no_tagged_courses: No <b>courses</b> were found tagged with <b>%{tags}
|
210
|
+
no_tagged_courses: No <b>courses</b> were found tagged with <b>%{tags}</b>. <a href='/resources'>Start over</a> or show <a href='/resources/tags/%{tags}'>all resources tagged %{tags}</a>.
|
211
211
|
personal_recommendations: Recommendations
|
212
212
|
feed_id: ID
|
213
213
|
repository_short_title: "Repository Short Title:"
|
data/db/bootstrap/services.yml
CHANGED
@@ -317,7 +317,7 @@ pandora:
|
|
317
317
|
icon: pandora.png
|
318
318
|
use_for: "identity"
|
319
319
|
service_category_id: 5
|
320
|
-
active:
|
320
|
+
active: false
|
321
321
|
technorati_tags:
|
322
322
|
id: 27
|
323
323
|
sort: 27
|
@@ -719,7 +719,7 @@ amazon:
|
|
719
719
|
icon: amazon.png
|
720
720
|
use_for: "identity"
|
721
721
|
service_category_id: 12
|
722
|
-
active:
|
722
|
+
active: false
|
723
723
|
prompt: amazon_prompt
|
724
724
|
twitter_tags:
|
725
725
|
id: 59
|
data/muck-services.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{muck-services}
|
8
|
-
s.version = "3.
|
8
|
+
s.version = "3.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Joel Duffin", "Justin Ball"]
|
12
|
-
s.date = %q{2011-01
|
12
|
+
s.date = %q{2011-02-01}
|
13
13
|
s.description = %q{This gem contains the rails specific code for dealing with feeds, aggregations and recommendations. It is meant to work with the muck-raker gem.}
|
14
14
|
s.email = %q{justin@tatemae.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -104,12 +104,14 @@ Gem::Specification.new do |s|
|
|
104
104
|
"app/views/feeds/new_oai_rss.html.erb",
|
105
105
|
"app/views/feeds/show.html.erb",
|
106
106
|
"app/views/feeds/unban.html.erb",
|
107
|
-
"app/views/identity_feeds/_available_service_categories.
|
107
|
+
"app/views/identity_feeds/_available_service_categories.erb",
|
108
108
|
"app/views/identity_feeds/_form.erb",
|
109
|
-
"app/views/identity_feeds/_services_for_user.
|
110
|
-
"app/views/identity_feeds/
|
111
|
-
"app/views/identity_feeds/
|
112
|
-
"app/views/identity_feeds/
|
109
|
+
"app/views/identity_feeds/_services_for_user.erb",
|
110
|
+
"app/views/identity_feeds/create.erb",
|
111
|
+
"app/views/identity_feeds/destroy.erb",
|
112
|
+
"app/views/identity_feeds/edit.erb",
|
113
|
+
"app/views/identity_feeds/index.erb",
|
114
|
+
"app/views/identity_feeds/new.erb",
|
113
115
|
"app/views/oai_endpoints/_form.html.erb",
|
114
116
|
"app/views/oai_endpoints/_oai_endpoint_row.html.erb",
|
115
117
|
"app/views/oai_endpoints/new.html.erb",
|
@@ -123,18 +125,18 @@ Gem::Specification.new do |s|
|
|
123
125
|
"app/views/recommendations/index.rss.builder",
|
124
126
|
"app/views/recommendations/index.xml.builder",
|
125
127
|
"app/views/recommendations/real_time.html.erb",
|
126
|
-
"app/views/service_templates/_facebook.
|
127
|
-
"app/views/service_templates/_friendfeed.
|
128
|
-
"app/views/service_templates/_goodreads.
|
129
|
-
"app/views/service_templates/_linkedin.
|
130
|
-
"app/views/service_templates/_netflix.
|
131
|
-
"app/views/service_templates/_polyvore.
|
132
|
-
"app/views/service_templates/_zotero_group.
|
133
|
-
"app/views/services/_edit_service.
|
134
|
-
"app/views/services/_new_service.
|
135
|
-
"app/views/services/_personal_recommendations.
|
136
|
-
"app/views/services/_summary.
|
137
|
-
"app/views/services/_view_service.
|
128
|
+
"app/views/service_templates/_facebook.erb",
|
129
|
+
"app/views/service_templates/_friendfeed.erb",
|
130
|
+
"app/views/service_templates/_goodreads.erb",
|
131
|
+
"app/views/service_templates/_linkedin.erb",
|
132
|
+
"app/views/service_templates/_netflix.erb",
|
133
|
+
"app/views/service_templates/_polyvore.erb",
|
134
|
+
"app/views/service_templates/_zotero_group.erb",
|
135
|
+
"app/views/services/_edit_service.erb",
|
136
|
+
"app/views/services/_new_service.erb",
|
137
|
+
"app/views/services/_personal_recommendations.erb",
|
138
|
+
"app/views/services/_summary.erb",
|
139
|
+
"app/views/services/_view_service.erb",
|
138
140
|
"app/views/services_mailer/notification_feed_added.html.erb",
|
139
141
|
"app/views/services_mailer/notification_feed_added.text.erb",
|
140
142
|
"app/views/services_mailer/notification_oai_endpoint_added.html.erb",
|
@@ -252,6 +254,7 @@ Gem::Specification.new do |s|
|
|
252
254
|
"lib/muck-services/services.rb",
|
253
255
|
"lib/tasks/muck_services.rake",
|
254
256
|
"muck-services.gemspec",
|
257
|
+
"public/javascripts/muck_services-src.js",
|
255
258
|
"public/javascripts/muck_services.js",
|
256
259
|
"public/stylesheets/frame.css",
|
257
260
|
"public/stylesheets/muck-services.css"
|
@@ -0,0 +1,134 @@
|
|
1
|
+
function apply_add_feed(){
|
2
|
+
jQuery('.add-identity').bind('submit', function(){
|
3
|
+
jQuery('#submit_add_feed').hide();
|
4
|
+
jQuery('#finding_uri_message').show();
|
5
|
+
jQuery(this).ajaxSubmit({
|
6
|
+
dataType: 'script',
|
7
|
+
beforeSend: add_headers
|
8
|
+
});
|
9
|
+
return false;
|
10
|
+
});
|
11
|
+
}
|
12
|
+
|
13
|
+
function apply_delete_feed(){
|
14
|
+
jQuery('.identity-feed-delete').bind('submit', function(){
|
15
|
+
jQuery(this).replaceWith(jQuery(jQuery('#muck_ajax_delete_control_message').html()).show());
|
16
|
+
jQuery(this).ajaxSubmit({
|
17
|
+
dataType: 'script',
|
18
|
+
beforeSend: add_headers
|
19
|
+
});
|
20
|
+
return false;
|
21
|
+
});
|
22
|
+
}
|
23
|
+
|
24
|
+
function apply_delete_hover(){
|
25
|
+
jQuery('ul#my-services-list li form').hide();
|
26
|
+
jQuery('ul#my-services-list li').hover(function(){
|
27
|
+
jQuery(this).children('form').show(); }, function(){
|
28
|
+
jQuery(this).children('form').hide(); });
|
29
|
+
}
|
30
|
+
|
31
|
+
function apply_show_entry_content(){
|
32
|
+
jQuery('.combined-feed-list .feed-item .feed-title').hover(
|
33
|
+
function () {
|
34
|
+
jQuery(this).next('.combined-feed-list .feed-item .feed-content').show();
|
35
|
+
},
|
36
|
+
function () {
|
37
|
+
jQuery(this).next('.combined-feed-list .feed-item .feed-content').hide();
|
38
|
+
}
|
39
|
+
);
|
40
|
+
jQuery('.combined-feed-list .feed-item .feed-content').hover(
|
41
|
+
function () {
|
42
|
+
jQuery(this).show();
|
43
|
+
},
|
44
|
+
function () {
|
45
|
+
jQuery(this).hide();
|
46
|
+
}
|
47
|
+
);
|
48
|
+
}
|
49
|
+
|
50
|
+
function show_tool(tool) {
|
51
|
+
jQuery('.tool').hide();
|
52
|
+
jQuery('#content_iframe').width('75%');
|
53
|
+
jQuery('#' + tool + '_tool').show();
|
54
|
+
jQuery('#recs_panel').css("left", jQuery("#content_iframe").width() - 252);
|
55
|
+
maximize_space();
|
56
|
+
return false;
|
57
|
+
}
|
58
|
+
function maximize_space() {
|
59
|
+
var container = jQuery(".tools_container");
|
60
|
+
var spacer = jQuery('#comments_tools_close_wrapper').height() + 5;
|
61
|
+
container.height(jQuery(window).height() - (jQuery('#toolbar').height() + spacer));
|
62
|
+
}
|
63
|
+
function setup_entry_comment_submit(){
|
64
|
+
jQuery(".entry-comment-submit").click(function() {
|
65
|
+
jQuery(this).siblings('textarea').hide();
|
66
|
+
jQuery(".entry-comment-submit").hide();
|
67
|
+
jQuery(this).parent().append('<p class="entry-comment-loading"><img src="/images/spinner.gif" alt="loading..." /> ' + ADD_COMMENT_MESSAGE + '</p>');
|
68
|
+
var form = jQuery(this).parents('form');
|
69
|
+
jQuery.post(form.attr('action'), form.serialize() + '&format=json',
|
70
|
+
function(data){
|
71
|
+
var json = eval('(' + data + ')');
|
72
|
+
if(!json.success){
|
73
|
+
jQuery.jGrowl.info(json.message);
|
74
|
+
} else {
|
75
|
+
jQuery('.entry-comment-loading').remove();
|
76
|
+
jQuery('#comments_tool').find('textarea').show();
|
77
|
+
jQuery('#comments_tool').find('textarea').val('');
|
78
|
+
jQuery(".entry-comment-submit").show();
|
79
|
+
jQuery("#comments_container").animate({ scrollTop: jQuery("#comments_tool").attr("scrollHeight") }, 3000);
|
80
|
+
var contents = jQuery(json.html)
|
81
|
+
contents.hide();
|
82
|
+
jQuery('#comments_wrapper').append(contents);
|
83
|
+
contents.fadeIn("slow");
|
84
|
+
apply_frame_comment_hover();
|
85
|
+
}
|
86
|
+
});
|
87
|
+
return false;
|
88
|
+
});
|
89
|
+
}
|
90
|
+
function apply_frame_comment_hover(){
|
91
|
+
jQuery('.comment_holder').hover(
|
92
|
+
function () { jQuery(this).addClass('comment-hover'); },
|
93
|
+
function () { jQuery(this).removeClass('comment-hover'); } );
|
94
|
+
}
|
95
|
+
function setup_share_submit(){
|
96
|
+
jQuery('#share_submit_share_new').click(function() {
|
97
|
+
jQuery(this).parent().append('<p class="share-loading"><img src="/images/spinner.gif" alt="loading..." /> ' + ADD_SHARE_MESSAGE + '</p>');
|
98
|
+
jQuery('#share_submit_share_new').hide();
|
99
|
+
var form = jQuery(this).parents('form');
|
100
|
+
jQuery.post(form.attr('action'), form.serialize() + '&format=json',
|
101
|
+
function(data){
|
102
|
+
var json = eval('(' + data + ')');
|
103
|
+
jQuery('.share-loading').remove();
|
104
|
+
jQuery('#share_submit_share_new').show();
|
105
|
+
if(!json.success){
|
106
|
+
jQuery.jGrowl.info(json.message);
|
107
|
+
} else {
|
108
|
+
jQuery.jGrowl.info(json.message);
|
109
|
+
}
|
110
|
+
});
|
111
|
+
return false;
|
112
|
+
});
|
113
|
+
}
|
114
|
+
|
115
|
+
jQuery(document).ready(function() {
|
116
|
+
jQuery("#content_iframe").load(maximize_iframe_height);
|
117
|
+
jQuery(window).bind('resize', function() {
|
118
|
+
maximize_iframe_height();
|
119
|
+
});
|
120
|
+
});
|
121
|
+
|
122
|
+
function maximize_iframe_height() {
|
123
|
+
var frame = jQuery("#content_iframe");
|
124
|
+
frame.height(jQuery(window).height() - jQuery('#toolbar').height());
|
125
|
+
jQuery('#recs_panel').css("left", jQuery("#content_iframe").width() - 252);
|
126
|
+
}
|
127
|
+
|
128
|
+
function initRecsPanel() {
|
129
|
+
var panel = jQuery("#recs_panel");
|
130
|
+
panel.append("<div id='rec_close_box' title='Close'>x</div>");
|
131
|
+
jQuery("#rec_close_box").click(function() {jQuery("#recs_panel").hide();jQuery("#show_recommendations_link").show();return false;});
|
132
|
+
panel.css("left", jQuery("#toolbar").width() - 250);
|
133
|
+
if (panel.draggable) panel.draggable();
|
134
|
+
}
|
@@ -1,104 +1,10 @@
|
|
1
|
-
function
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
function () {
|
12
|
-
jQuery(this).show();
|
13
|
-
},
|
14
|
-
function () {
|
15
|
-
jQuery(this).hide();
|
16
|
-
}
|
17
|
-
);
|
18
|
-
}
|
19
|
-
|
20
|
-
function show_tool(tool) {
|
21
|
-
jQuery('.tool').hide();
|
22
|
-
jQuery('#content_iframe').width('75%');
|
23
|
-
jQuery('#' + tool + '_tool').show();
|
24
|
-
jQuery('#recs_panel').css("left", jQuery("#content_iframe").width() - 252);
|
25
|
-
maximize_space();
|
26
|
-
return false;
|
27
|
-
}
|
28
|
-
function maximize_space() {
|
29
|
-
var container = jQuery(".tools_container");
|
30
|
-
var spacer = jQuery('#comments_tools_close_wrapper').height() + 5;
|
31
|
-
container.height(jQuery(window).height() - (jQuery('#toolbar').height() + spacer));
|
32
|
-
}
|
33
|
-
function setup_entry_comment_submit(){
|
34
|
-
jQuery(".entry-comment-submit").click(function() {
|
35
|
-
jQuery(this).siblings('textarea').hide();
|
36
|
-
jQuery(".entry-comment-submit").hide();
|
37
|
-
jQuery(this).parent().append('<p class="entry-comment-loading"><img src="/images/spinner.gif" alt="loading..." /> ' + ADD_COMMENT_MESSAGE + '</p>');
|
38
|
-
var form = jQuery(this).parents('form');
|
39
|
-
jQuery.post(form.attr('action'), form.serialize() + '&format=json',
|
40
|
-
function(data){
|
41
|
-
var json = eval('(' + data + ')');
|
42
|
-
if(!json.success){
|
43
|
-
jQuery.jGrowl.info(json.message);
|
44
|
-
} else {
|
45
|
-
jQuery('.entry-comment-loading').remove();
|
46
|
-
jQuery('#comments_tool').find('textarea').show();
|
47
|
-
jQuery('#comments_tool').find('textarea').val('');
|
48
|
-
jQuery(".entry-comment-submit").show();
|
49
|
-
jQuery("#comments_container").animate({ scrollTop: jQuery("#comments_tool").attr("scrollHeight") }, 3000);
|
50
|
-
var contents = jQuery(json.html)
|
51
|
-
contents.hide();
|
52
|
-
jQuery('#comments_wrapper').append(contents);
|
53
|
-
contents.fadeIn("slow");
|
54
|
-
apply_frame_comment_hover();
|
55
|
-
}
|
56
|
-
});
|
57
|
-
return false;
|
58
|
-
});
|
59
|
-
}
|
60
|
-
function apply_frame_comment_hover(){
|
61
|
-
jQuery('.comment_holder').hover(
|
62
|
-
function () { jQuery(this).addClass('comment-hover'); },
|
63
|
-
function () { jQuery(this).removeClass('comment-hover'); } );
|
64
|
-
}
|
65
|
-
function setup_share_submit(){
|
66
|
-
jQuery('#share_submit_share_new').click(function() {
|
67
|
-
jQuery(this).parent().append('<p class="share-loading"><img src="/images/spinner.gif" alt="loading..." /> ' + ADD_SHARE_MESSAGE + '</p>');
|
68
|
-
jQuery('#share_submit_share_new').hide();
|
69
|
-
var form = jQuery(this).parents('form');
|
70
|
-
jQuery.post(form.attr('action'), form.serialize() + '&format=json',
|
71
|
-
function(data){
|
72
|
-
var json = eval('(' + data + ')');
|
73
|
-
jQuery('.share-loading').remove();
|
74
|
-
jQuery('#share_submit_share_new').show();
|
75
|
-
if(!json.success){
|
76
|
-
jQuery.jGrowl.info(json.message);
|
77
|
-
} else {
|
78
|
-
jQuery.jGrowl.info(json.message);
|
79
|
-
}
|
80
|
-
});
|
81
|
-
return false;
|
82
|
-
});
|
83
|
-
}
|
84
|
-
|
85
|
-
jQuery(document).ready(function() {
|
86
|
-
jQuery("#content_iframe").load(maximize_iframe_height);
|
87
|
-
jQuery(window).bind('resize', function() {
|
88
|
-
maximize_iframe_height();
|
89
|
-
});
|
90
|
-
});
|
91
|
-
|
92
|
-
function maximize_iframe_height() {
|
93
|
-
var frame = jQuery("#content_iframe");
|
94
|
-
frame.height(jQuery(window).height() - jQuery('#toolbar').height());
|
95
|
-
jQuery('#recs_panel').css("left", jQuery("#content_iframe").width() - 252);
|
96
|
-
}
|
97
|
-
|
98
|
-
function initRecsPanel() {
|
99
|
-
var panel = jQuery("#recs_panel");
|
100
|
-
panel.append("<div id='rec_close_box' title='Close'>x</div>");
|
101
|
-
jQuery("#rec_close_box").click(function() {jQuery("#recs_panel").hide();jQuery("#show_recommendations_link").show();return false;});
|
102
|
-
panel.css("left", jQuery("#toolbar").width() - 250);
|
103
|
-
if (panel.draggable) panel.draggable();
|
104
|
-
}
|
1
|
+
function apply_add_feed(){jQuery(".add-identity").bind("submit",function(){jQuery("#submit_add_feed").hide();jQuery("#finding_uri_message").show();jQuery(this).ajaxSubmit({dataType:"script",beforeSend:add_headers});return false})}function apply_delete_feed(){jQuery(".identity-feed-delete").bind("submit",function(){jQuery(this).replaceWith(jQuery(jQuery("#muck_ajax_delete_control_message").html()).show());jQuery(this).ajaxSubmit({dataType:"script",beforeSend:add_headers});return false})}
|
2
|
+
function apply_delete_hover(){jQuery("ul#my-services-list li form").hide();jQuery("ul#my-services-list li").hover(function(){jQuery(this).children("form").show()},function(){jQuery(this).children("form").hide()})}
|
3
|
+
function apply_show_entry_content(){jQuery(".combined-feed-list .feed-item .feed-title").hover(function(){jQuery(this).next(".combined-feed-list .feed-item .feed-content").show()},function(){jQuery(this).next(".combined-feed-list .feed-item .feed-content").hide()});jQuery(".combined-feed-list .feed-item .feed-content").hover(function(){jQuery(this).show()},function(){jQuery(this).hide()})}
|
4
|
+
function show_tool(b){jQuery(".tool").hide();jQuery("#content_iframe").width("75%");jQuery("#"+b+"_tool").show();jQuery("#recs_panel").css("left",jQuery("#content_iframe").width()-252);maximize_space();return false}function maximize_space(){var b=jQuery(".tools_container"),a=jQuery("#comments_tools_close_wrapper").height()+5;b.height(jQuery(window).height()-(jQuery("#toolbar").height()+a))}
|
5
|
+
function setup_entry_comment_submit(){jQuery(".entry-comment-submit").click(function(){jQuery(this).siblings("textarea").hide();jQuery(".entry-comment-submit").hide();jQuery(this).parent().append('<p class="entry-comment-loading"><img src="/images/spinner.gif" alt="loading..." /> '+ADD_COMMENT_MESSAGE+"</p>");var b=jQuery(this).parents("form");jQuery.post(b.attr("action"),b.serialize()+"&format=json",function(a){a=eval("("+a+")");if(a.success){jQuery(".entry-comment-loading").remove();jQuery("#comments_tool").find("textarea").show();
|
6
|
+
jQuery("#comments_tool").find("textarea").val("");jQuery(".entry-comment-submit").show();jQuery("#comments_container").animate({scrollTop:jQuery("#comments_tool").attr("scrollHeight")},3E3);a=jQuery(a.html);a.hide();jQuery("#comments_wrapper").append(a);a.fadeIn("slow");apply_frame_comment_hover()}else jQuery.jGrowl.info(a.message)});return false})}
|
7
|
+
function apply_frame_comment_hover(){jQuery(".comment_holder").hover(function(){jQuery(this).addClass("comment-hover")},function(){jQuery(this).removeClass("comment-hover")})}
|
8
|
+
function setup_share_submit(){jQuery("#share_submit_share_new").click(function(){jQuery(this).parent().append('<p class="share-loading"><img src="/images/spinner.gif" alt="loading..." /> '+ADD_SHARE_MESSAGE+"</p>");jQuery("#share_submit_share_new").hide();var b=jQuery(this).parents("form");jQuery.post(b.attr("action"),b.serialize()+"&format=json",function(a){a=eval("("+a+")");jQuery(".share-loading").remove();jQuery("#share_submit_share_new").show();jQuery.jGrowl.info(a.message)});return false})}
|
9
|
+
jQuery(document).ready(function(){jQuery("#content_iframe").load(maximize_iframe_height);jQuery(window).bind("resize",function(){maximize_iframe_height()})});function maximize_iframe_height(){jQuery("#content_iframe").height(jQuery(window).height()-jQuery("#toolbar").height());jQuery("#recs_panel").css("left",jQuery("#content_iframe").width()-252)}
|
10
|
+
function initRecsPanel(){var b=jQuery("#recs_panel");b.append("<div id='rec_close_box' title='Close'>x</div>");jQuery("#rec_close_box").click(function(){jQuery("#recs_panel").hide();jQuery("#show_recommendations_link").show();return false});b.css("left",jQuery("#toolbar").width()-250);b.draggable&&b.draggable()};
|
@@ -13,6 +13,7 @@
|
|
13
13
|
#identity-feed input[type="text"] {width:380px;}
|
14
14
|
ul#my-services-list li {position:relative;}
|
15
15
|
ul#my-services-list li form {right:-25px;position:absolute;top:3px;}
|
16
|
+
ul#my-services-list li .waiting{height:15px;display:inline-block;}
|
16
17
|
ul.service-summary{margin:0;padding:0;list-style:none;}
|
17
18
|
ul.service-summary a.service-link{display:inline-block;margin:2px 0;padding:2px 0 5px 28px;text-decoration:none;}
|
18
19
|
#data-sources #sources-list ul {float:left;display:inline-block;height:170px;margin:0 20px;width:150px;}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: muck-services
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 3.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 3.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Joel Duffin
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-01
|
19
|
+
date: 2011-02-01 00:00:00 -07:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -312,12 +312,14 @@ files:
|
|
312
312
|
- app/views/feeds/new_oai_rss.html.erb
|
313
313
|
- app/views/feeds/show.html.erb
|
314
314
|
- app/views/feeds/unban.html.erb
|
315
|
-
- app/views/identity_feeds/_available_service_categories.
|
315
|
+
- app/views/identity_feeds/_available_service_categories.erb
|
316
316
|
- app/views/identity_feeds/_form.erb
|
317
|
-
- app/views/identity_feeds/_services_for_user.
|
318
|
-
- app/views/identity_feeds/
|
319
|
-
- app/views/identity_feeds/
|
320
|
-
- app/views/identity_feeds/
|
317
|
+
- app/views/identity_feeds/_services_for_user.erb
|
318
|
+
- app/views/identity_feeds/create.erb
|
319
|
+
- app/views/identity_feeds/destroy.erb
|
320
|
+
- app/views/identity_feeds/edit.erb
|
321
|
+
- app/views/identity_feeds/index.erb
|
322
|
+
- app/views/identity_feeds/new.erb
|
321
323
|
- app/views/oai_endpoints/_form.html.erb
|
322
324
|
- app/views/oai_endpoints/_oai_endpoint_row.html.erb
|
323
325
|
- app/views/oai_endpoints/new.html.erb
|
@@ -331,18 +333,18 @@ files:
|
|
331
333
|
- app/views/recommendations/index.rss.builder
|
332
334
|
- app/views/recommendations/index.xml.builder
|
333
335
|
- app/views/recommendations/real_time.html.erb
|
334
|
-
- app/views/service_templates/_facebook.
|
335
|
-
- app/views/service_templates/_friendfeed.
|
336
|
-
- app/views/service_templates/_goodreads.
|
337
|
-
- app/views/service_templates/_linkedin.
|
338
|
-
- app/views/service_templates/_netflix.
|
339
|
-
- app/views/service_templates/_polyvore.
|
340
|
-
- app/views/service_templates/_zotero_group.
|
341
|
-
- app/views/services/_edit_service.
|
342
|
-
- app/views/services/_new_service.
|
343
|
-
- app/views/services/_personal_recommendations.
|
344
|
-
- app/views/services/_summary.
|
345
|
-
- app/views/services/_view_service.
|
336
|
+
- app/views/service_templates/_facebook.erb
|
337
|
+
- app/views/service_templates/_friendfeed.erb
|
338
|
+
- app/views/service_templates/_goodreads.erb
|
339
|
+
- app/views/service_templates/_linkedin.erb
|
340
|
+
- app/views/service_templates/_netflix.erb
|
341
|
+
- app/views/service_templates/_polyvore.erb
|
342
|
+
- app/views/service_templates/_zotero_group.erb
|
343
|
+
- app/views/services/_edit_service.erb
|
344
|
+
- app/views/services/_new_service.erb
|
345
|
+
- app/views/services/_personal_recommendations.erb
|
346
|
+
- app/views/services/_summary.erb
|
347
|
+
- app/views/services/_view_service.erb
|
346
348
|
- app/views/services_mailer/notification_feed_added.html.erb
|
347
349
|
- app/views/services_mailer/notification_feed_added.text.erb
|
348
350
|
- app/views/services_mailer/notification_oai_endpoint_added.html.erb
|
@@ -460,6 +462,7 @@ files:
|
|
460
462
|
- lib/muck-services/services.rb
|
461
463
|
- lib/tasks/muck_services.rake
|
462
464
|
- muck-services.gemspec
|
465
|
+
- public/javascripts/muck_services-src.js
|
463
466
|
- public/javascripts/muck_services.js
|
464
467
|
- public/stylesheets/frame.css
|
465
468
|
- public/stylesheets/muck-services.css
|
@@ -1,25 +0,0 @@
|
|
1
|
-
<div id="my-services" class="services-main <%= css %>">
|
2
|
-
<h2><%= title || I18n.t('muck.services.my_services') %></h2>
|
3
|
-
<ul id="my-services-list" class="services-list">
|
4
|
-
<% if edit -%>
|
5
|
-
<%= render(:partial => 'services/edit_service', :collection => identity_feeds) %>
|
6
|
-
<% else -%>
|
7
|
-
<%= render(:partial => 'services/view_service', :collection => identity_feeds) %>
|
8
|
-
<% end -%>
|
9
|
-
</ul>
|
10
|
-
</div>
|
11
|
-
<% content_for :javascript do -%>
|
12
|
-
jQuery(document).ready(function() {
|
13
|
-
jQuery('ul#my-services-list li form').hide();
|
14
|
-
jQuery('ul#my-services-list li').hover(
|
15
|
-
function () { jQuery(this).children('form').show(); },
|
16
|
-
function () { jQuery(this).children('form').hide(); }
|
17
|
-
);
|
18
|
-
|
19
|
-
jQuery('.muck_ajax_delete_control').click(function(){
|
20
|
-
jQuery(this).parents('li').html(jQuery('#muck_ajax_delete_control_message').html());
|
21
|
-
return true;
|
22
|
-
});
|
23
|
-
});
|
24
|
-
<% end -%>
|
25
|
-
|
@@ -1,32 +0,0 @@
|
|
1
|
-
<%= output_errors('', {:class => 'help-box'}) %>
|
2
|
-
<%= available_service_categories(@service_categories, nil, 'span-15') %>
|
3
|
-
<%= services_for_user(@user_services, nil, 'span-5') %>
|
4
|
-
|
5
|
-
<% content_for :javascript do -%>
|
6
|
-
jQuery(document).ready(function() {
|
7
|
-
jQuery('a.lightbox').fancybox({
|
8
|
-
'hideOnContentClick': false,
|
9
|
-
'overlayShow': true,
|
10
|
-
'frameWidth': 400,
|
11
|
-
'frameHeight': 100
|
12
|
-
});
|
13
|
-
jQuery('a#facebook-link').fancybox({
|
14
|
-
'hideOnContentClick': false,
|
15
|
-
'overlayShow': true,
|
16
|
-
'frameWidth': 400,
|
17
|
-
'frameHeight': 275
|
18
|
-
});
|
19
|
-
jQuery('a#zotero-groups-link').fancybox({
|
20
|
-
'hideOnContentClick': false,
|
21
|
-
'overlayShow': true,
|
22
|
-
'frameWidth': 400,
|
23
|
-
'frameHeight': 130
|
24
|
-
});
|
25
|
-
jQuery('a#netflix-link').fancybox({
|
26
|
-
'hideOnContentClick': false,
|
27
|
-
'overlayShow': true,
|
28
|
-
'frameWidth': 400,
|
29
|
-
'frameHeight': 160
|
30
|
-
});
|
31
|
-
});
|
32
|
-
<% end -%>
|