module ActiveAdmin::Resource::ActionItems
Public Class Methods
Source
# File lib/active_admin/resource/action_items.rb, line 10 def initialize(*args) super add_default_action_items end
Adds the default action items to a resource when it’s initialized
Calls superclass method
Public Instance Methods
Source
# File lib/active_admin/resource/action_items.rb, line 16 def action_items @action_items ||= [] end
@return [Array] The set of action items for this resource
Source
# File lib/active_admin/resource/action_items.rb, line 52 def action_items? !!@action_items && @action_items.any? end
Used by active_admin Base
view
Source
# 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
Returns a set of action items to display for a specific controller action
@param [String, Symbol] action the action to retrieve action items for
@return [Array] Array of ActionItems
for the controller actions
Source
# 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
Add a new action item to a resource
@param [Symbol] name @param [Hash] options 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.
Source
# File lib/active_admin/resource/action_items.rb, line 47 def clear_action_items! @action_items = [] end
Clears all the existing action items for this resource
Source
# 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
Private Instance Methods
Source
# File lib/active_admin/resource/action_items.rb, line 59 def add_default_action_items add_default_new_action_item add_default_edit_action_item add_default_show_action_item end
Adds the default action items to each resource
Source
# File lib/active_admin/resource/action_items.rb, line 76 def add_default_edit_action_item add_action_item :edit, only: :show do if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::EDIT, resource) localizer = ActiveAdmin::Localizers.resource(active_admin_config) link_to localizer.t(:edit_model), edit_resource_path(resource) end end end
Adds the default Edit link on show
Source
# File lib/active_admin/resource/action_items.rb, line 66 def add_default_new_action_item add_action_item :new, only: :index do if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::NEW, active_admin_config.resource_class) localizer = ActiveAdmin::Localizers.resource(active_admin_config) link_to localizer.t(:new_model), new_resource_path end end end
Adds the default New link on index
Source
# File lib/active_admin/resource/action_items.rb, line 86 def add_default_show_action_item add_action_item :destroy, only: :show do if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource) localizer = ActiveAdmin::Localizers.resource(active_admin_config) link_to localizer.t(:delete_model), resource_path(resource), method: :delete, data: { confirm: localizer.t(:delete_confirmation) } end end end
Adds the default Destroy link on show