Class: Ariadne::Form::Select::Component
- Inherits:
-
BaseInputComponent
- Object
- ViewComponentContrib::Base
- BaseComponent
- BaseInputComponent
- Ariadne::Form::Select::Component
- Defined in:
- app/components/ariadne/form/select/component.rb
Constant Summary collapse
- Choice =
Data.define(:name, :value, :selected)
Constants included from LabelHelper
LabelHelper::BASE_LABEL_STYLES
Constants inherited from BaseComponent
BaseComponent::ACCEPT_ANYTHING
Constants included from ViewHelper
Constants included from AttributesHelper
AttributesHelper::PLURAL_ARIA_ATTRIBUTES, AttributesHelper::PLURAL_DATA_ATTRIBUTES
Instance Attribute Summary collapse
-
#choices ⇒ Object
readonly
Returns the value of attribute choices.
Attributes inherited from BaseInputComponent
Instance Method Summary collapse
-
#initialize ⇒ Component
constructor
A new instance of Component.
- #select_styles ⇒ Object
- #selected?(choice) ⇒ Boolean
- #selected_choice ⇒ Object
- #with_choice(name:, value:, selected: false) ⇒ Object
Methods inherited from BaseInputComponent
#add_label_classes, #form_control?, #full_width?, #hidden?, #html_attributes, #label_arguments
Methods included from LabelHelper
Methods inherited from BaseComponent
audited_at, #class_for, #component, component_id, #component_id, component_name, generate_id, #html_attributes, 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
Constructor Details
#initialize ⇒ Component
Returns a new instance of Component.
31 32 33 34 |
# File 'app/components/ariadne/form/select/component.rb', line 31 def initialize(**) super @choices = [] end |
Instance Attribute Details
#choices ⇒ Object (readonly)
Returns the value of attribute choices.
21 22 23 |
# File 'app/components/ariadne/form/select/component.rb', line 21 def choices @choices end |
Instance Method Details
#select_styles ⇒ Object
48 49 50 |
# File 'app/components/ariadne/form/select/component.rb', line 48 def select_styles merge_tailwind_classes([style(:select), html_attrs[:class]].join(" ")) end |
#selected?(choice) ⇒ Boolean
44 45 46 |
# File 'app/components/ariadne/form/select/component.rb', line 44 def selected?(choice) choice == selected_choice end |
#selected_choice ⇒ Object
40 41 42 |
# File 'app/components/ariadne/form/select/component.rb', line 40 def selected_choice @selected_choice ||= @choices.find(&:selected) end |