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



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

def action_items
  @action_items ||= []
end

#action_items?Boolean

Used by active_admin Base view

Returns:

  • (Boolean)


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

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



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

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.



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

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



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

def clear_action_items!
  @action_items = []
end

#initialize(*args) ⇒ Object

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



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

def initialize(*args)
  super
  add_default_action_items
end

#remove_action_item(name) ⇒ Object



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

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