Module: UI::AccordionBehavior
- Included in:
- Accordion, AccordionComponent
- Defined in:
- app/behaviors/ui/accordion_behavior.rb
Overview
UI::AccordionBehavior
Instance Method Summary collapse
-
#accordion_data_attributes ⇒ Object
Generate Stimulus controller data attributes.
-
#accordion_html_attributes ⇒ Object
Build complete HTML attributes hash for accordion container.
-
#merged_data_attributes ⇒ Object
Merge user-provided data attributes with accordion controller data.
Instance Method Details
#accordion_data_attributes ⇒ Object
Generate Stimulus controller data attributes
31 32 33 34 35 36 37 |
# File 'app/behaviors/ui/accordion_behavior.rb', line 31 def accordion_data_attributes { controller: "ui--accordion", ui__accordion_type_value: @type || "single", ui__accordion_collapsible_value: @collapsible || false } end |
#accordion_html_attributes ⇒ Object
Build complete HTML attributes hash for accordion container
46 47 48 49 50 51 52 53 |
# File 'app/behaviors/ui/accordion_behavior.rb', line 46 def accordion_html_attributes base_attrs = @attributes&.except(:data) || {} base_attrs.merge( class: @classes || "", "data-orientation": @orientation || "vertical", data: merged_data_attributes ) end |
#merged_data_attributes ⇒ Object
Merge user-provided data attributes with accordion controller data
40 41 42 43 |
# File 'app/behaviors/ui/accordion_behavior.rb', line 40 def merged_data_attributes user_data = @attributes&.fetch(:data, {}) || {} user_data.merge(accordion_data_attributes) end |