Class: Ariadne::Form::BaseInputComponent

Inherits:
BaseComponent
  • Object
show all
Includes:
LabelHelper
Defined in:
app/components/ariadne/form/base_input_component.rb

Constant Summary

Constants included from LabelHelper

LabelHelper::BASE_LABEL_STYLES

Constants inherited from BaseComponent

BaseComponent::ACCEPT_ANYTHING

Constants included from ViewHelper

ViewHelper::HELPERS

Constants included from AttributesHelper

AttributesHelper::PLURAL_ARIA_ATTRIBUTES, AttributesHelper::PLURAL_DATA_ATTRIBUTES

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from LabelHelper

#label_styles, #render_label

Methods inherited from BaseComponent

audited_at, #class_for, #component, component_id, #component_id, component_name, generate_id, i18n_scope, #merge_data_attributes, #merge_tailwind_classes, #options, stimulus_name, translate, #validate_aria_label!

Methods included from AttributesHelper

#aria, #data, #merge_aria, #merge_data, #merge_prefixed_attribute_hashes, #prepend_action, #prepend_controller, #prepend_data_attribute

Methods included from ViewComponent::StyleVariants

#merged_styles

Instance Attribute Details

#label_attributesObject



46
47
48
# File 'app/components/ariadne/form/base_input_component.rb', line 46

def label_attributes
  tag.attributes(@label_attributes || {})
end

Instance Method Details

#add_label_classes(*class_names) ⇒ Object



20
21
22
23
24
# File 'app/components/ariadne/form/base_input_component.rb', line 20

def add_label_classes(*class_names)
  # label_arguments[:class] = merge_class_names(
  #   label_arguments[:class], *class_names
  # )
end

#form_control?Boolean

Whether or not to wrap the component in a FormControl, which renders a label above and validation message beneath the input.

Returns:

  • (Boolean)


40
41
42
# File 'app/components/ariadne/form/base_input_component.rb', line 40

def form_control?
  html_attrs.delete(:form_control) { true }
end

#full_width?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'app/components/ariadne/form/base_input_component.rb', line 34

def full_width?
  @full_width
end

#hidden?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'app/components/ariadne/form/base_input_component.rb', line 30

def hidden?
  !!html_attrs[:hidden]
end

#html_attributesObject



14
15
16
17
18
# File 'app/components/ariadne/form/base_input_component.rb', line 14

def html_attributes
  html_attributes = super
  html_attributes = html_attributes.concat(" required") if required?
  html_attributes
end

#label_argumentsObject



26
27
28
# File 'app/components/ariadne/form/base_input_component.rb', line 26

def label_arguments
  {}
end