From 66836e53d2cd735f32a67c8e560ac142f0dbe582 Mon Sep 17 00:00:00 2001 From: danielgrippi Date: Sat, 3 Sep 2011 17:46:35 -0700 Subject: [PATCH] Aspect dropdowns read 'All Aspects' if all aspects are selected --- app/views/shared/_aspect_dropdown.html.haml | 4 +++- config/locales/javascript/javascript.en.yml | 1 + public/javascripts/aspects-dropdown.js | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/views/shared/_aspect_dropdown.html.haml b/app/views/shared/_aspect_dropdown.html.haml index 16c2ff457..ff22bda41 100644 --- a/app/views/shared/_aspect_dropdown.html.haml +++ b/app/views/shared/_aspect_dropdown.html.haml @@ -4,7 +4,9 @@ .dropdown{:class => ["hang_#{hang}", defined?(dropdown_class) && dropdown_class]} .button.toggle{:class => ("in_aspects" if selected_aspects.size > 0)} - - if selected_aspects.size == 1 + - if selected_aspects.size == all_aspects.size + = t('all_aspects') + - elsif selected_aspects.size == 1 = selected_aspects.first.name - else = t('.toggle', :count => selected_aspects.size) diff --git a/config/locales/javascript/javascript.en.yml b/config/locales/javascript/javascript.en.yml index f32bb50f7..4ba57a424 100644 --- a/config/locales/javascript/javascript.en.yml +++ b/config/locales/javascript/javascript.en.yml @@ -37,6 +37,7 @@ en: disconnected: "The websocket is closed; posts will no longer be streamed live." aspect_dropdown: add_to_aspect: "Add to aspect" + all_aspects: "All aspects" toggle: zero: "Add to aspect" one: "In {{count}} aspect" diff --git a/public/javascripts/aspects-dropdown.js b/public/javascripts/aspects-dropdown.js index 6906dc1f8..a24b73a0d 100644 --- a/public/javascripts/aspects-dropdown.js +++ b/public/javascripts/aspects-dropdown.js @@ -5,11 +5,15 @@ var AspectsDropdown = { updateNumber: function(dropdown, personId, number, inAspectClass){ var button = dropdown.parents(".dropdown").children('.button.toggle'), + selectedAspects = dropdown.children(".selected").length, + allAspects = dropdown.children().length, replacement; if (number == 0) { button.removeClass(inAspectClass); replacement = Diaspora.I18n.t("aspect_dropdown.toggle.zero"); + }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();