Class: ActiveAdminAddons::InputBase

Inherits:
Formtastic::Inputs::StringInput
  • Object
show all
Includes:
InputHtmlHelpers, InputMethods, InputOptionsHandler
Defined in:
lib/activeadmin_addons/support/input_base.rb

Instance Method Summary collapse

Methods included from InputHtmlHelpers

#build_hidden_control, #build_separator, #empty_input_id, #method_to_input_array_name, #method_to_input_id, #method_to_input_name, #prefixed_method, #selected_values_id

Methods included from InputMethods

#association_name, #build_virtual_attr, #input_related_items, #input_value, #method_model, #model_name, #object_class, #tableize_method, #translated_method, #url_from_method, #valid_method, #valid_object

Methods included from InputOptionsHandler

#attr_options, #control_attributes, #css_classes, #data_attr_options, #get_data_attr_value, #load_attr, #load_class, #load_data_attr

Instance Method Details

#concat(part) ⇒ Object



42
43
44
# File 'lib/activeadmin_addons/support/input_base.rb', line 42

def concat(part)
  parts << part
end

#input_html_optionsObject



18
19
20
# File 'lib/activeadmin_addons/support/input_base.rb', line 18

def input_html_options
  super.merge(control_attributes)
end

#load_control_attributesObject



30
31
32
# File 'lib/activeadmin_addons/support/input_base.rb', line 30

def load_control_attributes
  # Override on child classes if needed
end

#load_input_classObject



26
27
28
# File 'lib/activeadmin_addons/support/input_base.rb', line 26

def load_input_class
  load_class(self.class.to_s.underscore.dasherize)
end

#partsObject



38
39
40
# File 'lib/activeadmin_addons/support/input_base.rb', line 38

def parts
  @parts ||= []
end

#parts_to_htmlObject



22
23
24
# File 'lib/activeadmin_addons/support/input_base.rb', line 22

def parts_to_html
  parts.flatten.join("\n").html_safe
end

#render_custom_inputObject



34
35
36
# File 'lib/activeadmin_addons/support/input_base.rb', line 34

def render_custom_input
  # Override on child classes if needed
end

#to_htmlObject



7
8
9
10
11
12
13
14
15
16
# File 'lib/activeadmin_addons/support/input_base.rb', line 7

def to_html
  load_input_class
  load_control_attributes
  render_custom_input
  if parts.any?
    return input_wrapping { parts_to_html }
  else
    super
  end
end