add some feedback text & animation; added spec for collapsing tags
This commit is contained in:
parent
e8169ee581
commit
0def71d74f
8 changed files with 23 additions and 10 deletions
|
|
@ -14,13 +14,13 @@ class TagFollowingsController < ApplicationController
|
||||||
# POST /tag_followings
|
# POST /tag_followings
|
||||||
# POST /tag_followings.xml
|
# POST /tag_followings.xml
|
||||||
def create
|
def create
|
||||||
@tag = ActsAsTaggableOn::Tag.find_or_create_by_name(params[:name])
|
@tag = ActsAsTaggableOn::Tag.find_or_create_by_name(tag_name)
|
||||||
@tag_following = current_user.tag_followings.new(:tag_id => @tag.id)
|
@tag_following = current_user.tag_followings.new(:tag_id => @tag.id)
|
||||||
|
|
||||||
if @tag_following.save
|
if @tag_following.save
|
||||||
flash[:notice] = I18n.t('tag_followings.create.success', :name => params[:name])
|
flash[:notice] = I18n.t('tag_followings.create.success', :name => tag_name)
|
||||||
else
|
else
|
||||||
flash[:error] = I18n.t('tag_followings.create.failure', :name => params[:name])
|
flash[:error] = I18n.t('tag_followings.create.failure', :name => tag_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
redirect_to :back
|
redirect_to :back
|
||||||
|
|
@ -63,4 +63,9 @@ class TagFollowingsController < ApplicationController
|
||||||
|
|
||||||
redirect_to multi_path
|
redirect_to multi_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def tag_name
|
||||||
|
@tag_name ||= params[:name].gsub(/\s/,'') if params[:name]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
%ul.sub_nav
|
%ul.sub_nav
|
||||||
- if tags.size > 0
|
- if tags.size > 0
|
||||||
- for tg in tags
|
- for tg in tags
|
||||||
%li.unfollow{:id => tg.name}
|
%li.unfollow{:id => "tag-following-#{tg.name}"}
|
||||||
.unfollow_icon.hidden
|
.unfollow_icon.hidden
|
||||||
= link_to image_tag("icons/monotone_close_exit_delete.png", :height => 16, :title => t('aspects.index.unfollow_tag', :tag => tg.name)), tag_tag_followings_path(:name => tg.name, :remote => true), :confirm => t('are_you_sure'), :method => :delete, :remote => true, :id => "unfollow_" + tg.name
|
= link_to image_tag("icons/monotone_close_exit_delete.png", :height => 16, :title => t('aspects.index.unfollow_tag', :tag => tg.name)), tag_tag_followings_path(:name => tg.name, :remote => true), :confirm => t('are_you_sure'), :method => :delete, :remote => true, :id => "unfollow_" + tg.name
|
||||||
= link_to "##{tg.name}", tag_path(:name => tg.name), :class => "tag_selector"
|
= link_to "##{tg.name}", tag_path(:name => tg.name), :class => "tag_selector"
|
||||||
|
|
|
||||||
|
|
@ -1 +1,3 @@
|
||||||
$("#followed_tags_listing").first().html("<%= escape_javascript(render('tags/followed_tags_listings')) =%>");
|
var tagName = "<%= escape_javascript(@tag.name) %>"
|
||||||
|
$("#followed_tags_listing").find("#tag-following-"+tagName).slideUp(100);
|
||||||
|
Diaspora.page.flashMessages.render({success: true, notice: Diaspora.I18n.t("tags.wasnt_that_interesting", {tagName: tagName})});
|
||||||
|
|
|
||||||
|
|
@ -819,8 +819,8 @@ en:
|
||||||
followed_by: 'followed by'
|
followed_by: 'followed by'
|
||||||
tag_followings:
|
tag_followings:
|
||||||
create:
|
create:
|
||||||
success: "Successfully following: #%{name}"
|
success: "Horray! You're now following #%{name}."
|
||||||
failure: "Failed to follow: #%{name}"
|
failure: "Failed to follow #%{name}. Are you already following it?"
|
||||||
destroy:
|
destroy:
|
||||||
success: "Successfully stopped following: #%{name}"
|
success: "Successfully stopped following: #%{name}"
|
||||||
failure: "Failed to stop following: #%{name}"
|
failure: "Failed to stop following: #%{name}"
|
||||||
|
|
|
||||||
|
|
@ -66,3 +66,5 @@ en:
|
||||||
preparing_your_stream: "Preparing your personialized stream..."
|
preparing_your_stream: "Preparing your personialized stream..."
|
||||||
photo_uploader:
|
photo_uploader:
|
||||||
looking_good: "OMG, you look awesome!"
|
looking_good: "OMG, you look awesome!"
|
||||||
|
tags:
|
||||||
|
wasnt_that_interesting: "OK, I suppose #{{tagName}} wasn't all that interesting..."
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,6 @@ var View = {
|
||||||
/* tag following */
|
/* tag following */
|
||||||
$("#new_tag_following .tag_input").bind('focus', function(evt){
|
$("#new_tag_following .tag_input").bind('focus', function(evt){
|
||||||
$(this).siblings("#tag_following_submit").removeClass('hidden');
|
$(this).siblings("#tag_following_submit").removeClass('hidden');
|
||||||
}).bind('blur', function(evt){
|
|
||||||
$(this).siblings("#tag_following_submit").addClass('hidden');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/* Autoexpand textareas */
|
/* Autoexpand textareas */
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,8 @@ form
|
||||||
@include border-radius(6px)
|
@include border-radius(6px)
|
||||||
@include box-shadow(0, 1px, 5px, rgba(0,0,0,0.4))
|
@include box-shadow(0, 1px, 5px, rgba(0,0,0,0.4))
|
||||||
:display inline-block
|
:display inline-block
|
||||||
:width 400px
|
:min-width 400px
|
||||||
|
:max-width 800px
|
||||||
:padding
|
:padding
|
||||||
:top 45px
|
:top 45px
|
||||||
:bottom 8px
|
:bottom 8px
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,11 @@ describe TagFollowingsController do
|
||||||
flash[:error].should == "Failed to follow: ##{valid_attributes[:name]}"
|
flash[:error].should == "Failed to follow: ##{valid_attributes[:name]}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'squashes the tag' do
|
||||||
|
post :create, :name => "some stuff"
|
||||||
|
assigns[:tag].name.should == "somestuff"
|
||||||
|
end
|
||||||
|
|
||||||
it 'downcases the tag name' do
|
it 'downcases the tag name' do
|
||||||
pending "THIS CAUSES A 500 WE NEED TO FIX IT"
|
pending "THIS CAUSES A 500 WE NEED TO FIX IT"
|
||||||
post "tags/#{valid_attributes[:name].upcase}/tag_followings"
|
post "tags/#{valid_attributes[:name].upcase}/tag_followings"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue