Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2012-09-26 05:18:39 +0400
committerRobert Speicher <rspeicher@gmail.com>2012-09-27 00:32:24 +0400
commitadcc6a0b0e08158353627a8a900971aca07429bd (patch)
tree531c0afbd4401d17b3c48772c63b5351ad945be5 /app/helpers/tab_helper.rb
parent60ac6a28a2f198427c2d1ad68421aee484e14028 (diff)
Move tab_class helper to TabHelper
Diffstat (limited to 'app/helpers/tab_helper.rb')
-rw-r--r--app/helpers/tab_helper.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/app/helpers/tab_helper.rb b/app/helpers/tab_helper.rb
index b5d7ccb7d3c..4cc97b1119d 100644
--- a/app/helpers/tab_helper.rb
+++ b/app/helpers/tab_helper.rb
@@ -1,4 +1,43 @@
module TabHelper
+ def tab_class(tab_key)
+ active = case tab_key
+
+ # Project Area
+ when :wall; wall_tab?
+ when :wiki; controller.controller_name == "wikis"
+ when :issues; issues_tab?
+ 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 ? "current" : nil
+ end
+
def issues_tab?
controller.controller_name == "issues" || controller.controller_name == "milestones"
end