show flash messages when adding a person to an aspect

This commit is contained in:
danielgrippi 2011-10-26 16:36:35 -07:00
parent 53b27a7627
commit dd00523616
6 changed files with 31 additions and 13 deletions

View file

@ -56,7 +56,7 @@ module AspectGlobalHelper
end
def aspect_membership_dropdown(contact, person, hang, aspect=nil)
selected_aspects = all_aspects.select{|aspect| contact.in_aspect?(aspect) }
selected_aspects = all_aspects.select{|aspect| contact.in_aspect?(aspect)}
render "shared/aspect_dropdown",
:selected_aspects => selected_aspects,

View file

@ -87,18 +87,19 @@
%link{:rel => "alternate", :href => "#{@person.public_url}.atom", :type => "application/atom+xml", :title => "#{t('.public_feed', :name => @person.name)}"}
%body{:class => "#{yield(:body_class)}"}
- unless @page == :logged_out
- flash.each do |name, msg|
%div{:id => "flash_#{name}"}
.message
= msg
- unless @landing_page
%a{:id=>"back-to-top", :title=>"Back to top", :href=>"#"}
⇧
#notifications
- unless @page == :logged_out
- flash.each do |name, msg|
%div{:id => "flash_#{name}"}
.message
= msg
%header{:class=>('landing' unless current_user)}
= render 'layouts/header'

View file

@ -13,7 +13,7 @@
▼
.wrapper
%ul.dropdown_list{:unSelectable => 'on', 'data-person_id' => (person.id if defined?(person) && person), 'data-service_uid' => (service_uid if defined?(service_uid))}
%ul.dropdown_list{:unSelectable => 'on', 'data-person_id' => (person.id if defined?(person) && person), 'data-service_uid' => (service_uid if defined?(service_uid)), 'data-person-short-name' => (person.first_name if defined?(person) && person)}
- for aspect in all_aspects
= aspect_dropdown_list_item(aspect, selected_aspects.include?(aspect) )

View file

@ -39,6 +39,8 @@ en:
add_to_aspect: "Add contact"
select_aspects: "Select aspects"
all_aspects: "All aspects"
stopped_sharing_with: "You have stopped sharing with {{name}}."
started_sharing_with: "You have started sharing with {{name}}!"
toggle:
zero: "Select aspects"
one: "In {{count}} aspect"

View file

@ -9,18 +9,28 @@ var AspectsDropdown = {
allAspects = dropdown.children().length,
replacement;
console.log(dropdown);
if (number == 0) {
button.removeClass(inAspectClass);
if( dropdown.closest('#publisher').length ) {
replacement = Diaspora.I18n.t("aspect_dropdown.select_aspects");
} else {
replacement = Diaspora.I18n.t("aspect_dropdown.add_to_aspect");
/* flash message prompt */
var message = Diaspora.I18n.t("aspect_dropdown.stopped_sharing_with", {name: dropdown.data('person-short-name')});
Diaspora.page.flashMessages.render({success: true, notice: message});
}
}else if (selectedAspects == allAspects) {
replacement = Diaspora.I18n.t('aspect_dropdown.all_aspects');
}else if (number == 1) {
button.addClass(inAspectClass);
replacement = dropdown.find(".selected").first().text();
/* flash message prompt */
if( dropdown.closest('#publisher').length == 0 ) {
var message = Diaspora.I18n.t("aspect_dropdown.started_sharing_with", {name: dropdown.data('person-short-name')});
Diaspora.page.flashMessages.render({success: true, notice: message});
}
}else if (number < 3) {
replacement = Diaspora.I18n.t('aspect_dropdown.toggle.few', { count: number.toString()})
}else if (number > 3) {

View file

@ -10,17 +10,22 @@
var flashMessages = $("#flash_notice, #flash_error, #flash_alert");
flashMessages.animate({
top: 0
}).delay(4000).animate({
}, 400).delay(4000).animate({
top: -100
}, flashMessages.remove);
}, 400, function(){
$(this).remove();
});
};
this.render = function(result) {
$("<div/>", {
id: (result.success) ? "flash_notice" : "flash_error"
id: result.success ? "flash_notice" : "flash_error"
})
.prependTo(document.body)
.html(result.notice);
.html($("<div/>", {
class: "message"
})
.html(result.notice))
.prependTo(document.body);
self.animateMessages();
};