Class: ActiveAdmin::Menu

Inherits:
Object
  • Object
show all
Defined in:
lib/active_admin/menu.rb

Overview

Each Namespace builds up it’s own menu as the global navigation

To build a new menu:

menu = Menu.new do |m|
  m.add MenuItem.new(:label => "Dashboard", :url => "/")
  m.add MenuItem.new(:label => "Admin", :url => "/admin")
end

If you’re interested in configuring a menu item, take a look at the options available in ‘ActiveAdmin::MenuItem`

Defined Under Namespace

Classes: ItemCollection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|_self| ... } ⇒ Menu

Returns a new instance of Menu.

Yields:

  • (_self)

Yield Parameters:



19
20
21
22
23
# File 'lib/active_admin/menu.rb', line 19

def initialize
  @children = Menu::ItemCollection.new

  yield(self) if block_given?
end

Instance Attribute Details

#childrenObject

Returns the value of attribute children.



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

def children
  @children
end

Instance Method Details

#[](id) ⇒ Object



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

def [](id)
  @children.find_by_id(id)
end

#add(*menu_items) ⇒ Object

Add a new MenuItem to the menu

Example:

menu = Menu.new
dash = MenuItem.new :label => "Dashboard"
menu.add dash

Accepts as many menu items as you wish to add:

menu = Menu.new
dash = MenuItem.new :label => "Dashboard"
admin = MenuItem.new :label => "Admin"
menu.add dash, admin

Parameters:

  • menu_items (MenuItem)

    Add as many menu items as you pass in



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

def add(*menu_items)
  menu_items.each do |menu_item|
    menu_item.parent = nil
    @children << menu_item
  end
end

#itemsObject



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

def items
  @children.sort
end