Class: FlexiAdmin::Components::Resource::FormElementComponent

Inherits:
BaseComponent
  • Object
show all
Includes:
Helpers::ResourceHelper
Defined in:
lib/flexi_admin/components/resource/form_element_component.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers::ResourceHelper

#autocomplete_path, #bulk_action_path, #datalist_path, #edit_resource_path, #paginate, #resource__path, #resource_input_name, #resource_path, #resources_path, #scope, #scope_plural, #scope_singular

Constructor Details

#initialize(resource, url:, css_class:, method: :post, **html_options) ⇒ FormElementComponent

Returns a new instance of FormElementComponent.



11
12
13
14
15
16
17
18
19
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 11

def initialize(resource, url:, css_class:, method: :post, **html_options)
  @resource = resource
  @url = url
  @css_class = css_class
  @method = method
  data = html_options[:data] || {}
  @merged_data = merge_data_keys(data)
  @html_options_except_data = html_options.except(:data)
end

Instance Attribute Details

#css_classObject (readonly)

Returns the value of attribute css_class.



9
10
11
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 9

def css_class
  @css_class
end

#html_options_except_dataObject (readonly)

Returns the value of attribute html_options_except_data.



9
10
11
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 9

def html_options_except_data
  @html_options_except_data
end

#merged_dataObject (readonly)

Returns the value of attribute merged_data.



9
10
11
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 9

def merged_data
  @merged_data
end

#methodObject (readonly)

Returns the value of attribute method.



9
10
11
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 9

def method
  @method
end

#resourceObject (readonly)

Returns the value of attribute resource.



9
10
11
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 9

def resource
  @resource
end

#urlObject (readonly)

Returns the value of attribute url.



9
10
11
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 9

def url
  @url
end

Instance Method Details

#form_idObject



21
22
23
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 21

def form_id
  resource.try(:identifier) || "form"
end

#merge_data_keys(data) ⇒ Object



25
26
27
28
29
# File 'lib/flexi_admin/components/resource/form_element_component.rb', line 25

def merge_data_keys(data)
  controller = data[:controller]
  controllers = controller.present? ? [controller, "form-validation"] : ["form-validation"]
  data.merge(controller: controllers.join(" "))
end