Class: ActiveAdmin::BatchAction
- Inherits:
 - 
      Object
      
        
- Object
 - ActiveAdmin::BatchAction
 
 
- Includes:
 - Comparable
 
- Defined in:
 - lib/active_admin/batch_actions/resource_extension.rb
 
Constant Summary collapse
- DEFAULT_CONFIRM_MESSAGE =
 proc { I18n.t "active_admin.batch_actions.default_confirmation" }
Instance Attribute Summary collapse
- 
  
    
      #block  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute block.
 - 
  
    
      #sym  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute sym.
 - 
  
    
      #title  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute title.
 
Instance Method Summary collapse
- 
  
    
      #<=>(other)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
sort operator.
 - #confirm ⇒ Object
 - 
  
    
      #display_if_block  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Returns the display if block.
 - 
  
    
      #initialize(sym, title, options = {}, &block)  ⇒ BatchAction 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Create a Batch Action.
 - #inputs ⇒ Object
 - 
  
    
      #priority  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Used for sorting.
 
Constructor Details
#initialize(sym, title, options = {}, &block) ⇒ BatchAction
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.
      116 117 118 119 120 121 122 123  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 116 def initialize(sym, title, = {}, &block) @sym = sym @title = title @options = @block = block @confirm = [:confirm] @block ||= proc {} end  | 
  
Instance Attribute Details
#block ⇒ Object (readonly)
Returns the value of attribute block.
      87 88 89  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 87 def block @block end  | 
  
#sym ⇒ Object (readonly)
Returns the value of attribute sym.
      87 88 89  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 87 def sym @sym end  | 
  
#title ⇒ Object (readonly)
Returns the value of attribute title.
      87 88 89  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 87 def title @title end  | 
  
Instance Method Details
#<=>(other) ⇒ Object
sort operator
      151 152 153  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 151 def <=>(other) self.priority <=> other.priority end  | 
  
#confirm ⇒ Object
      125 126 127 128 129 130 131 132 133  | 
    
      # 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 ⇒ Object
Returns the display if block. If the block was not explicitly defined a default block always returning true will be returned.
      141 142 143  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 141 def display_if_block @options[:if] || proc { true } end  | 
  
#inputs ⇒ Object
      135 136 137  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 135 def inputs @options[:form] end  | 
  
#priority ⇒ Object
Used for sorting
      146 147 148  | 
    
      # File 'lib/active_admin/batch_actions/resource_extension.rb', line 146 def priority @options[:priority] || 10 end  |