From fd753c0133e9afc26b5e32ca1940149458079f73 Mon Sep 17 00:00:00 2001 From: Nicolas Lupien Date: Thu, 4 Apr 2013 13:44:32 +1100 Subject: [PATCH] Added Navigation Icons You can specify `navigation_icon 'icon-something'` to your model configuration and it the icon will appear in the main navigation menu. --- app/helpers/rails_admin/application_helper.rb | 3 ++- lib/rails_admin/config/model.rb | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/helpers/rails_admin/application_helper.rb b/app/helpers/rails_admin/application_helper.rb index c9c751de88..d7343028ad 100644 --- a/app/helpers/rails_admin/application_helper.rb +++ b/app/helpers/rails_admin/application_helper.rb @@ -79,9 +79,10 @@ def navigation nodes_stack, nodes, level=0 model_param = node.abstract_model.to_param url = url_for(:action => :index, :controller => 'rails_admin/main', :model_name => model_param) level_class = " nav-level-#{level}" if level > 0 + nav_icon = node.navigation_icon ? %{}.html_safe : '' li = content_tag :li, "data-model"=>model_param do - link_to node.label_plural, url, :class => "pjax#{level_class}" + link_to nav_icon + node.label_plural, url, :class => "pjax#{level_class}" end li + navigation(nodes_stack, nodes_stack.select{ |n| n.parent.to_s == node.abstract_model.model_name}, level+1) end.join.html_safe diff --git a/lib/rails_admin/config/model.rb b/lib/rails_admin/config/model.rb index 6d1fa0a892..e16ff594c7 100644 --- a/lib/rails_admin/config/model.rb +++ b/lib/rails_admin/config/model.rb @@ -82,6 +82,10 @@ def pluralize(count) @navigation_label ||= (parent_module = abstract_model.model.parent) != Object ? parent_module.to_s : nil end + register_instance_option :navigation_icon do + nil + end + # Act as a proxy for the base section configuration that actually # store the configurations. def method_missing(m, *args, &block)