class ActiveAdmin::Views::DropdownMenu

Action List - A button with a drop down menu of links

Creating a new action list:

dropdown_menu "Administration" do
  item "Edit Details", edit_details_path
  item "Edit My Account", edit_my_account_path
end

This will create a button with the label “Administration” and a drop down once clicked with 2 options.

Public Instance Methods

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

Build a new action list

@param [String] name The name to display in the button

@param [Hash] options A set of options that get passed along to

to the parent dom element.
Calls superclass method
# File lib/active_admin/views/components/dropdown_menu.rb, line 25
def build(name, options = {})
  options = options.dup

  # Easily set options for the button or menu
  button_options = options.delete(:button) || {}
  menu_options = options.delete(:menu) || {}

  @button = build_button(name, button_options)
  @menu = build_menu(menu_options)

  super(options)
end
item(*args) click to toggle source
# File lib/active_admin/views/components/dropdown_menu.rb, line 38
def item(*args)
  within @menu do
    li link_to(*args)
  end
end

Private Instance Methods

build_button(name, button_options) click to toggle source
# File lib/active_admin/views/components/dropdown_menu.rb, line 46
def build_button(name, button_options)
  button_options[:class] ||= ''
  button_options[:class] << ' dropdown_menu_button'

  button_options[:href] = '#'

  a name, button_options
end
build_menu(options) click to toggle source
# File lib/active_admin/views/components/dropdown_menu.rb, line 55
def build_menu(options)
  options[:class] ||= ''
  options[:class] << ' dropdown_menu_list'

  menu_list = nil

  div class: 'dropdown_menu_list_wrapper' do
    menu_list = ul(options)
  end

  menu_list
end