Module: ActiveAdmin::Resource::ActionItems

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

Instance Method Summary collapse

Instance Method Details

#action_itemsArray

Returns The set of action items for this resource

Returns:

  • (Array)

    The set of action items for this resource



15
16
17
# File 'lib/active_admin/resource/action_items.rb', line 15

def action_items
  @action_items ||= []
end

#action_items?Boolean

Used by active_admin Base view

Returns:

  • (Boolean)


50
51
52
# File 'lib/active_admin/resource/action_items.rb', line 50

def action_items?
  !!@action_items && @action_items.any?
end

#action_items_for(action, render_context = nil) ⇒ Array

Returns a set of action items to display for a specific controller action

Parameters:

  • action (String, Symbol)

    the action to retrieve action items for

Returns:

  • (Array)

    Array of ActionItems for the controller actions



40
41
42
# File 'lib/active_admin/resource/action_items.rb', line 40

def action_items_for(action, render_context = nil)
  action_items.select{ |item| item.display_on? action, render_context }
end

#add_action_item(name, options = {}, &block) ⇒ Object

Add a new action item to a resource

Parameters:

  • name (Symbol)
  • options (Hash) (defaults to: {})

    valid keys include: :only: A single or array of controller actions to display

    this action item on.

    :except: A single or array of controller actions not to

    display this action item on.


27
28
29
# File 'lib/active_admin/resource/action_items.rb', line 27

def add_action_item(name, options = {}, &block)
  self.action_items << ActiveAdmin::ActionItem.new(name, options, &block)
end

#clear_action_items!Object

Clears all the existing action items for this resource



45
46
47
# File 'lib/active_admin/resource/action_items.rb', line 45

def clear_action_items!
  @action_items = []
end

#initialize(*args) ⇒ Object

Adds the default action items to a resource when it's initialized



9
10
11
12
# File 'lib/active_admin/resource/action_items.rb', line 9

def initialize(*args)
  super
  add_default_action_items
end

#remove_action_item(name) ⇒ Object



31
32
33
# File 'lib/active_admin/resource/action_items.rb', line 31

def remove_action_item(name)
  self.action_items.delete_if { |item| item.name == name }
end