class ActiveAdmin::BatchAction

Constants

DEFAULT_CONFIRM_MESSAGE

Attributes

block[R]
sym[R]
title[R]

Public Class Methods

new(sym, title, options = {}, &block) click to toggle source

Create a Batch Action

Examples:

BatchAction.new :flag

> Will create an action that appears in the action list popover

BatchAction.new(:flag) { |selection| redirect_to collection_path, notice: "#{selection.length} users flagged" }

> Will create an action that uses a block to process the request (which receives one paramater of the selected objects)

BatchAction.new("Perform Long Operation on") { |selection| }

> You can create batch actions with a title instead of a Symbol

BatchAction.new(:flag, if: proc{ can? :flag, AdminUser }) { |selection| }

> You can provide an ‘:if` proc to choose when the batch action should be displayed

BatchAction.new :flag, confirm: true

> You can pass ‘true` to `:confirm` to use the default confirm message.

BatchAction.new(:flag, confirm: "Are you sure?") { |selection| }

> You can pass a custom confirmation message through ‘:confirm`

BatchAction.new(:flag, form: {foo: :text, bar: :checkbox}) { |selection, inputs| }

> You can pass a hash of options to ‘:form` that will be rendered as form input fields for the user to fill out.

# File lib/active_admin/batch_actions/resource_extension.rb, line 116
def initialize(sym, title, options = {}, &block)
  @sym = sym
  @title = title
  @options = options
  @block = block
  @confirm = options[:confirm]
  @block ||= proc {}
end

Public Instance Methods

<=>(other) click to toggle source

sort operator

# File lib/active_admin/batch_actions/resource_extension.rb, line 151
def <=>(other)
  self.priority <=> other.priority
end
confirm() click to toggle source
# File lib/active_admin/batch_actions/resource_extension.rb, line 125
def confirm
  if @confirm == true
    DEFAULT_CONFIRM_MESSAGE
  elsif !@confirm && @options[:form]
    DEFAULT_CONFIRM_MESSAGE
  else
    @confirm
  end
end
display_if_block() click to toggle source

Returns the display if block. If the block was not explicitly defined a default block always returning true will be returned.

# File lib/active_admin/batch_actions/resource_extension.rb, line 141
def display_if_block
  @options[:if] || proc { true }
end
inputs() click to toggle source
# File lib/active_admin/batch_actions/resource_extension.rb, line 135
def inputs
  @options[:form]
end
priority() click to toggle source

Used for sorting

# File lib/active_admin/batch_actions/resource_extension.rb, line 146
def priority
  @options[:priority] || 10
end