gitlabhq/app/helpers/tab_helper.rb

62 lines
2.4 KiB
Ruby
Raw Normal View History

2012-04-09 00:01:42 +02:00
module TabHelper
2012-09-26 03:18:39 +02:00
def tab_class(tab_key)
active = case tab_key
# Project Area
when :wall; wall_tab?
when :wiki; controller.controller_name == "wikis"
when :network; current_page?(controller: "projects", action: "graph", id: @project)
when :merge_requests; controller.controller_name == "merge_requests"
# Dashboard Area
when :help; controller.controller_name == "help"
when :search; current_page?(search_path)
when :dash_issues; current_page?(dashboard_issues_path)
when :dash_mr; current_page?(dashboard_merge_requests_path)
when :root; current_page?(dashboard_path) || current_page?(root_path)
# Profile Area
when :profile; current_page?(controller: "profile", action: :show)
when :history; current_page?(controller: "profile", action: :history)
when :account; current_page?(controller: "profile", action: :account)
when :token; current_page?(controller: "profile", action: :token)
when :design; current_page?(controller: "profile", action: :design)
when :ssh_keys; controller.controller_name == "keys"
# Admin Area
when :admin_root; controller.controller_name == "dashboard"
when :admin_users; controller.controller_name == 'users'
when :admin_projects; controller.controller_name == "projects"
when :admin_hooks; controller.controller_name == 'hooks'
when :admin_resque; controller.controller_name == 'resque'
when :admin_logs; controller.controller_name == 'logs'
else
false
end
active ? "active" : nil
2012-04-09 00:01:42 +02:00
end
def wall_tab?
current_page?(controller: "projects", action: "wall", id: @project)
2012-04-09 00:01:42 +02:00
end
def project_tab_class
[:show, :files, :edit, :update].each do |action|
return "active" if current_page?(controller: "projects", action: action, id: @project)
2012-04-09 00:01:42 +02:00
end
2012-06-03 02:58:49 +02:00
if ['snippets', 'hooks', 'deploy_keys', 'team_members'].include? controller.controller_name
"active"
2012-04-09 00:01:42 +02:00
end
end
def branches_tab_class
if current_page?(branches_project_repository_path(@project)) ||
controller.controller_name == "protected_branches" ||
current_page?(project_repository_path(@project))
2012-06-03 02:58:49 +02:00
'active'
2012-04-09 00:01:42 +02:00
end
end
end