Skip to content
Snippets Groups Projects
Commit ef319dbb authored by Arnaud Levy's avatar Arnaud Levy
Browse files

big menu

parent f8de1702
No related branches found
No related tags found
No related merge requests found
class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base
def render(item_container)
SimpleNavigation.config.selected_class = 'active'
content = '<ul class="sidebar-nav">'
item_container.items.each do |item|
content << make(item)
......@@ -12,6 +11,12 @@ class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base
protected
def make(item)
kind = item.send(:options)[:kind]
kind == :header ? make_header(item)
: make_item(item)
end
def make_item(item)
li = "<li class=\"sidebar-item #{ item.html_options[:class] }\">"
li += make_a(item)
li += make_subnavigation(item) if consider_sub_navigation?(item)
......@@ -19,6 +24,10 @@ class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base
li
end
def make_header(item)
"<li class=\"sidebar-header\">#{ item.name }</li>"
end
def make_a(item)
icon = item.send(:options)[:icon]
a = "<a href=\"#{ item.url }\" class=\"sidebar-link#{ item.selected? ? '' : ' collapsed' }\""
......
This diff is collapsed.
......@@ -11,7 +11,7 @@
<%= stylesheet_link_tag 'admin', media: 'all' %>
<%= favicon_link_tag 'favicon.png' %>
</head>
<body data-theme="dark" data-layout="fluid" data-sidebar-position="left" data-sidebar-behavior="sticky">
<body data-theme="dark" data-layout="fluid" data-sidebar-position="left">
<div class="wrapper">
<%= render 'admin/application/nav' %>
<div class="main">
......
......@@ -2,18 +2,40 @@ SimpleNavigation::Configuration.run do |navigation|
navigation.renderer = ::Appstack::SimpleNavigationRenderer
navigation.auto_highlight = true
navigation.highlight_on_subpath = true
navigation.selected_class = 'active'
navigation.items do |primary|
primary.item :dashboard, t('dashboard'), admin_root_path, { icon: 'tachometer-alt' }
primary.item :users, User.model_name.human(count: 2), admin_users_path, { icon: 'user' }
primary.item :education, Features::Education.model_name.human, nil, { icon: 'graduation-cap' } do |secondary|
primary.item :teaching, 'Enseignement', nil, { kind: :header }
primary.item :education, 'Formations', nil, { icon: 'graduation-cap' } do |secondary|
secondary.item :dashboard, t('dashboard'), admin_features_education_dashboard_path
secondary.item :programs, Features::Education::Program.model_name.human(count: 2), admin_features_education_programs_path
secondary.item :qualiopi, Features::Education::Qualiopi.model_name.human, admin_features_education_qualiopi_criterions_path
end
primary.item :teaching, 'Ecoles', nil, { icon: 'university' }
primary.item :teaching, 'Enseignants', nil, { icon: 'user-graduate' }
primary.item :teaching, 'Feedbacks', nil, { icon: 'comments' }
primary.item :teaching, 'Ressources éducatives', nil, { icon: 'laptop' }
primary.item :teaching, 'Recherche', nil, { kind: :header }
primary.item :teaching, 'Laboratoires', nil, { icon: 'flask' }
primary.item :teaching, 'Chercheurs', nil, { icon: 'microscope' }
primary.item :teaching, 'Journaux', nil, { icon: 'newspaper' }
primary.item :teaching, 'Veille', nil, { icon: 'eye' }
primary.item :teaching, 'Communication', nil, { kind: :header }
primary.item :websites, Features::Websites.model_name.human, nil, { icon: 'sitemap' } do |secondary|
secondary.item :dashboard, t('dashboard'), admin_features_websites_dashboard_path
secondary.item :sites, Features::Websites::Site.model_name.human(count: 2), admin_features_websites_sites_path
end
primary.item :settings, 'Paramètres', nil, { icon: 'cog' }
primary.item :teaching, 'Lettres d\'information', nil, { icon: 'envelope' }
primary.item :teaching, 'Alumni', nil, { icon: 'users' }
primary.item :teaching, 'Administration', nil, { kind: :header }
primary.item :users, User.model_name.human(count: 2), admin_users_path, { icon: 'user' }
primary.item :settings, 'Campus', nil, { icon: 'map-marker-alt' }
primary.item :settings, 'Admissions', nil, { icon: 'door-open' }
primary.item :settings, 'Statistiques', nil, { icon: 'cog' }
primary.item :settings, 'Qualité', admin_features_education_qualiopi_criterions_path, { icon: 'tasks' }
end
end
......@@ -2,6 +2,7 @@ SimpleNavigation::Configuration.run do |navigation|
navigation.renderer = ::Appstack::SimpleNavigationRenderer
navigation.auto_highlight = true
navigation.highlight_on_subpath = true
navigation.selected_class = 'active'
navigation.items do |primary|
primary.item :dashboard, t('dashboard'), adminserver_root_path, { icon: 'tachometer-alt', highlights_on: %r{adminserver$} }
primary.item :universities, University.model_name.human(count: 2), adminserver_universities_path, { icon: 'university' }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment