Module: ActiveAdmin::Resource::Menu

Included in:
Page, ActiveAdmin::Resource
Defined in:
lib/active_admin/resource/menu.rb

Instance Method Summary collapse

Instance Method Details

#add_to_menu(menu_collection) ⇒ Object



60
61
62
63
64
# File 'lib/active_admin/resource/menu.rb', line 60

def add_to_menu(menu_collection)
  if include_in_menu?
    @menu_item = menu_collection.add(menu_item_menu_name, menu_item_options)
  end
end

#default_menu_optionsObject



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/active_admin/resource/menu.rb', line 22

def default_menu_options
  # These local variables are accessible to the procs.
  menu_resource_class = respond_to?(:resource_class) ? resource_class : self
  resource = self
  {
    :id    => resource_name.plural,
    :label => proc{ resource.plural_resource_label },
    :url   => proc{ resource.route_collection_path(params) },
    :if    => proc{ authorized?(:read, menu_resource_class) }
  }
end

#include_in_menu?Boolean

Should this resource be added to the menu system?

Returns:

  • (Boolean)


71
72
73
# File 'lib/active_admin/resource/menu.rb', line 71

def include_in_menu?
  @navigation_menu != false
end


66
67
68
# File 'lib/active_admin/resource/menu.rb', line 66

def menu_item
  @menu_item
end


56
57
58
# File 'lib/active_admin/resource/menu.rb', line 56

def menu_item_menu_name
  @menu_item_menu_name ||= DEFAULT_MENU
end


52
53
54
# File 'lib/active_admin/resource/menu.rb', line 52

def menu_item_menu_name=(menu_name)
  @menu_item_menu_name = menu_name
end


18
19
20
# File 'lib/active_admin/resource/menu.rb', line 18

def menu_item_options
  @menu_item_options ||= default_menu_options
end

Set the menu options. To not add this resource to the menu, just call #menu(false)



8
9
10
11
12
13
14
15
16
# File 'lib/active_admin/resource/menu.rb', line 8

def menu_item_options=(options)
  if options == false
    @navigation_menu = false
    @menu_item_options = {}
  else
    self.menu_item_menu_name = options[:menu_name]
    @menu_item_options = default_menu_options.merge(options)
  end
end


48
49
50
# File 'lib/active_admin/resource/menu.rb', line 48

def navigation_menu
  namespace.fetch_menu(navigation_menu_name)
end


38
39
40
41
42
43
44
45
46
# File 'lib/active_admin/resource/menu.rb', line 38

def navigation_menu_name
  @navigation_menu_name ||= DEFAULT_MENU
  case @navigation_menu_name
  when Proc
    controller.instance_eval(&@navigation_menu_name).to_sym
  else
    @navigation_menu_name
  end
end


34
35
36
# File 'lib/active_admin/resource/menu.rb', line 34

def navigation_menu_name=(menu_name)
  @navigation_menu_name = menu_name
end