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 class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base
def render(item_container) def render(item_container)
SimpleNavigation.config.selected_class = 'active'
content = '<ul class="sidebar-nav">' content = '<ul class="sidebar-nav">'
item_container.items.each do |item| item_container.items.each do |item|
content << make(item) content << make(item)
...@@ -12,6 +11,12 @@ class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base ...@@ -12,6 +11,12 @@ class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base
protected protected
def make(item) 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 = "<li class=\"sidebar-item #{ item.html_options[:class] }\">"
li += make_a(item) li += make_a(item)
li += make_subnavigation(item) if consider_sub_navigation?(item) li += make_subnavigation(item) if consider_sub_navigation?(item)
...@@ -19,6 +24,10 @@ class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base ...@@ -19,6 +24,10 @@ class Appstack::SimpleNavigationRenderer < SimpleNavigation::Renderer::Base
li li
end end
def make_header(item)
"<li class=\"sidebar-header\">#{ item.name }</li>"
end
def make_a(item) def make_a(item)
icon = item.send(:options)[:icon] icon = item.send(:options)[:icon]
a = "<a href=\"#{ item.url }\" class=\"sidebar-link#{ item.selected? ? '' : ' collapsed' }\"" a = "<a href=\"#{ item.url }\" class=\"sidebar-link#{ item.selected? ? '' : ' collapsed' }\""
......
This diff is collapsed.
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<%= stylesheet_link_tag 'admin', media: 'all' %> <%= stylesheet_link_tag 'admin', media: 'all' %>
<%= favicon_link_tag 'favicon.png' %> <%= favicon_link_tag 'favicon.png' %>
</head> </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"> <div class="wrapper">
<%= render 'admin/application/nav' %> <%= render 'admin/application/nav' %>
<div class="main"> <div class="main">
......
...@@ -2,18 +2,40 @@ SimpleNavigation::Configuration.run do |navigation| ...@@ -2,18 +2,40 @@ SimpleNavigation::Configuration.run do |navigation|
navigation.renderer = ::Appstack::SimpleNavigationRenderer navigation.renderer = ::Appstack::SimpleNavigationRenderer
navigation.auto_highlight = true navigation.auto_highlight = true
navigation.highlight_on_subpath = true navigation.highlight_on_subpath = true
navigation.selected_class = 'active'
navigation.items do |primary| navigation.items do |primary|
primary.item :dashboard, t('dashboard'), admin_root_path, { icon: 'tachometer-alt' } 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 :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 :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 secondary.item :qualiopi, Features::Education::Qualiopi.model_name.human, admin_features_education_qualiopi_criterions_path
end 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| 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 :dashboard, t('dashboard'), admin_features_websites_dashboard_path
secondary.item :sites, Features::Websites::Site.model_name.human(count: 2), admin_features_websites_sites_path secondary.item :sites, Features::Websites::Site.model_name.human(count: 2), admin_features_websites_sites_path
end 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
end end
...@@ -2,6 +2,7 @@ SimpleNavigation::Configuration.run do |navigation| ...@@ -2,6 +2,7 @@ SimpleNavigation::Configuration.run do |navigation|
navigation.renderer = ::Appstack::SimpleNavigationRenderer navigation.renderer = ::Appstack::SimpleNavigationRenderer
navigation.auto_highlight = true navigation.auto_highlight = true
navigation.highlight_on_subpath = true navigation.highlight_on_subpath = true
navigation.selected_class = 'active'
navigation.items do |primary| navigation.items do |primary|
primary.item :dashboard, t('dashboard'), adminserver_root_path, { icon: 'tachometer-alt', highlights_on: %r{adminserver$} } 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' } 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