1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-12-24 01:11:12 +00:00

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

Patch by Marius BALTEANU.

git-svn-id: http://svn.redmine.org/redmine/trunk@18271 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2019-06-20 07:06:47 +00:00
parent db3ee07a55
commit d4312d2565
2 changed files with 18 additions and 1 deletions

View File

@ -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

View File

@ -1,10 +1,14 @@
<% 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 %>