class ActiveAdmin::BatchActions::BatchActionSelector
Public Instance Methods
Source
# File lib/active_admin/batch_actions/views/batch_action_selector.rb, line 13 def build(batch_actions) @batch_actions = Array(batch_actions) @drop_down = build_drop_down end
Build a new batch actions selector
@param [Array] batch_actions An array of batch actions
Source
# File lib/active_admin/batch_actions/views/batch_action_selector.rb, line 20 def to_s children.to_s end
We don’t want to wrap the action list (or any other children) in an unnecessary div, so instead we just return the children
Private Instance Methods
Source
# File lib/active_admin/batch_actions/views/batch_action_selector.rb, line 51 def batch_actions_to_display @batch_actions.select do |batch_action| call_method_or_proc_on(self, batch_action.display_if_block) end end
Return the set of batch actions that should be displayed
Source
# File lib/active_admin/batch_actions/views/batch_action_selector.rb, line 26 def build_drop_down return if batch_actions_to_display.empty? dropdown_menu I18n.t("active_admin.batch_actions.button_label"), class: "batch_actions_selector dropdown_menu", button: { class: "disabled" } do batch_actions_to_display.each do |batch_action| confirmation_text = render_or_call_method_or_proc_on(self, batch_action.confirm) options = { class: "batch_action", "data-action": batch_action.sym, "data-confirm": confirmation_text, "data-inputs": render_in_context(self, batch_action.inputs).to_json } default_title = render_or_call_method_or_proc_on(self, batch_action.title) title = I18n.t("active_admin.batch_actions.labels.#{batch_action.sym}", default: default_title) label = I18n.t("active_admin.batch_actions.action_label", title: title) item label, "#", **options end end end