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"