From 931c1ef6edeea22a595a9e9b6ef47f9421608c62 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Mon, 27 Apr 2009 14:13:51 -0700 Subject: [PATCH] [#1999] Added a link to expand/collapse all Deliverable rows to the sidebar --- app/helpers/deliverables_helper.rb | 6 +++--- app/views/deliverables/_sidebar.html.erb | 1 + assets/javascripts/budget.js | 23 +++++++++++++++++++++++ config/locales/en.yml | 1 + lang/en.yml | 1 + 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/helpers/deliverables_helper.rb b/app/helpers/deliverables_helper.rb index 2dca8cf..4840f7f 100644 --- a/app/helpers/deliverables_helper.rb +++ b/app/helpers/deliverables_helper.rb @@ -73,8 +73,8 @@ module DeliverablesHelper end def toggle_arrows(deliverable_id) - open_js = "$('deliverable-details-#{deliverable_id}').show(); $$('.toggle_#{deliverable_id}').each(function(e) {e.toggle();})" - close_js = "$('deliverable-details-#{deliverable_id}').hide(); $$('.toggle_#{deliverable_id}').each(function(e) {e.toggle();})" + open_js = "expandRow(#{deliverable_id})" + close_js = "collapseRow(#{deliverable_id})" return toggle_arrow(deliverable_id, "toggle-arrow-closed.gif", open_js, false) + toggle_arrow(deliverable_id, "toggle-arrow-open.gif", close_js, true) @@ -86,7 +86,7 @@ module DeliverablesHelper content_tag(:span, link_to_function(image_tag(image, :plugin => "budget_plugin"), js), - :class => "toggle_" + deliverable_id.to_s, + :class => "toggle toggle_" + deliverable_id.to_s, :style => style ) diff --git a/app/views/deliverables/_sidebar.html.erb b/app/views/deliverables/_sidebar.html.erb index 977430b..6159c06 100644 --- a/app/views/deliverables/_sidebar.html.erb +++ b/app/views/deliverables/_sidebar.html.erb @@ -1,3 +1,4 @@

<%= l(:budget_title) %>

<%= link_to l(:label_issue_view_all), { :controller => 'issues', :action => 'index', :project_id => @project, :set_filter => 1 } %>
<%= link_to_function l(:label_new_deliverable), "$('new-deliverable').toggle();" if allowed_management? %>
+<%= link_to_function l(:label_toggle_all), "toggleAll();" if allowed_management? %>
diff --git a/assets/javascripts/budget.js b/assets/javascripts/budget.js index e468923..fe7d2c4 100644 --- a/assets/javascripts/budget.js +++ b/assets/javascripts/budget.js @@ -108,3 +108,26 @@ Object.extend(BudgetModule.prototype, { }); Budget = new BudgetModule(); +function toggleAll() { + $$('.deliverable-details').each(function(ele) { + ele.toggle(); + }); + $$('.toggle').each(function(e) { + e.toggle(); + }); +} + + +function expandRow(deliverable_id) { + $('deliverable-details-'+ deliverable_id).show(); + $$('.toggle_' + deliverable_id).each(function(e) { + e.toggle(); + }); +} + +function collapseRow(deliverable_id) { + $('deliverable-details-'+ deliverable_id).hide(); + $$('.toggle_' + deliverable_id).each(function(e) { + e.toggle(); + }); +} diff --git a/config/locales/en.yml b/config/locales/en.yml index bd5237e..b411999 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -45,3 +45,4 @@ en: label_fixed_amount: "Fixed Amount: " label_hours_estimated: "Hours Estimated: " label_hours_used: "Hours Used: " + label_toggle_all: "Expand all deliverable rows" diff --git a/lang/en.yml b/lang/en.yml index 2432e1b..f4bf4ac 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -44,3 +44,4 @@ label_labor: "Labor: " label_fixed_amount: "Fixed Amount: " label_hours_estimated: "Hours Estimated: " label_hours_used: "Hours Used: " +label_toggle_all: "Expand all deliverable rows"