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



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



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



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



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