class ActiveAdmin::Views::TabbedNavigation

Renders an ActiveAdmin::Menu as a set of unordered list items.

This component takes cares of deciding which items should be displayed given the current context and renders them appropriately.

The entire component is rendered within one ul element.

Attributes

menu[R]

Public Instance Methods

build(menu, options = {}) click to toggle source

Build a new tabbed navigation component.

@param [ActiveAdmin::Menu] menu the Menu to render @param [Hash] options the options as passed to the underlying ul element.

Calls superclass method
# File lib/active_admin/views/tabbed_navigation.rb, line 19
def build(menu, options = {})
  @menu = menu
  super(default_options.merge(options))
  build_menu
end
menu_items() click to toggle source

The top-level menu items that should be displayed.

tag_name() click to toggle source
# File lib/active_admin/views/tabbed_navigation.rb, line 30
def tag_name
  'ul'
end

Private Instance Methods

build_menu() click to toggle source
# File lib/active_admin/views/tabbed_navigation.rb, line 36
def build_menu
  menu_items.each do |item|
    build_menu_item(item)
  end
end
build_menu_item(item) click to toggle source
# File lib/active_admin/views/tabbed_navigation.rb, line 42
def build_menu_item(item)
  li :id => item.id do |li|
    li.add_class "current" if item.current? assigns[:current_tab]

    text_node link_to item.label(self), item.url(self), item.html_options

    if children = item.items(self).presence
      li.add_class "has_nested"
      ul do
        children.each{ |child| build_menu_item child }
      end
    end
  end
end
default_options() click to toggle source
# File lib/active_admin/views/tabbed_navigation.rb, line 57
def default_options
  { :id => "tabs" }
end