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)


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

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



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

def action_items_for(action, render_context = nil)
  action_items.select { |item| item.display_on? action, render_context }.sort_by(&:priority)
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.
    

    :priority: A single integer value. To control the display order. Default is 10.



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

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



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

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



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

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