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
|
2012-09-26 04:07:41 +02:00
|
|
|
active ? "active" : nil
|
2012-04-09 00:01:42 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
def wall_tab?
|
2012-08-11 00:07:50 +02:00
|
|
|
current_page?(controller: "projects", action: "wall", id: @project)
|
2012-04-09 00:01:42 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
def project_tab_class
|
2012-09-16 15:21:20 +02:00
|
|
|
[:show, :files, :edit, :update].each do |action|
|
2012-09-26 04:07:41 +02:00
|
|
|
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
|
2012-09-26 04:07:41 +02:00
|
|
|
"active"
|
2012-04-09 00:01:42 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def commit_tab_class
|
2012-06-03 02:58:49 +02:00
|
|
|
if ['commits', 'repositories', 'protected_branches'].include? controller.controller_name
|
2012-09-26 04:07:41 +02:00
|
|
|
"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
|