Commit 59d850a8 authored by jplang's avatar jplang

Allow tabs to have a custom action (#3058).

Patch by Marius BALTEANU.

git-svn-id: https://svn.redmine.org/redmine/trunk@18271 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent eeddb6e0
......@@ -407,6 +407,17 @@ module ApplicationHelper
end
end
# Returns the tab action depending on the tab properties
def get_tab_action(tab)
if tab[:onclick]
return tab[:onclick]
elsif tab[:partial]
return "showTab('#{tab[:name]}', this.href)"
else
return nil
end
end
# Returns the default scope for the quick search form
# Could be 'all', 'my_projects', 'subprojects' or nil (current project)
def default_search_project_scope
......
<% default_action = false %>
<div class="tabs">
<ul>
<% tabs.each do |tab| -%>
<% action = get_tab_action(tab) %>
<li><%= link_to l(tab[:label]), (tab[:url] || { :tab => tab[:name] }),
:id => "tab-#{tab[:name]}",
:class => (tab[:name] != selected_tab ? nil : 'selected'),
:onclick => tab[:partial] ? "showTab('#{tab[:name]}', this.href); this.blur(); return false;" : nil %></li>
:onclick => (action.nil? ? nil : "#{ action }; return false;") %></li>
<% default_action = action if tab[:name] == selected_tab %>
<% end -%>
</ul>
<div class="tabs-buttons" style="display:none;">
......@@ -19,3 +23,5 @@
:style => (tab[:name] != selected_tab ? 'display:none' : nil),
:class => 'tab-content') if tab[:partial] %>
<% end -%>
<%= javascript_tag default_action if default_action %>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment