Class: Bs5::AccordionComponent::ItemComponent
- Inherits:
-
ViewComponent::Base
- Object
- ViewComponent::Base
- Bs5::AccordionComponent::ItemComponent
- Defined in:
- app/components/bs5/accordion_component.rb
Instance Attribute Summary collapse
-
#title ⇒ Object
readonly
Returns the value of attribute title.
Instance Method Summary collapse
- #button_class ⇒ Object
- #call ⇒ Object
- #collapse_class ⇒ Object
- #collapse_id ⇒ Object
- #collapsed? ⇒ Boolean
- #header_id ⇒ Object
- #id ⇒ Object
-
#initialize(title:, collapsed: true) ⇒ ItemComponent
constructor
A new instance of ItemComponent.
Constructor Details
#initialize(title:, collapsed: true) ⇒ ItemComponent
Returns a new instance of ItemComponent.
31 32 33 34 |
# File 'app/components/bs5/accordion_component.rb', line 31 def initialize(title:, collapsed: true) @title = title @collapsed = collapsed end |
Instance Attribute Details
#title ⇒ Object (readonly)
Returns the value of attribute title.
29 30 31 |
# File 'app/components/bs5/accordion_component.rb', line 29 def title @title end |
Instance Method Details
#button_class ⇒ Object
56 57 58 59 60 |
# File 'app/components/bs5/accordion_component.rb', line 56 def class_names = ['accordion-button'] class_names << %w[collapsed] if collapsed? class_names.join(' ') end |
#call ⇒ Object
36 37 38 |
# File 'app/components/bs5/accordion_component.rb', line 36 def call content end |
#collapse_class ⇒ Object
62 63 64 65 66 |
# File 'app/components/bs5/accordion_component.rb', line 62 def collapse_class class_names = %w[accordion-collapse collapse] class_names << %w[show] unless collapsed? class_names.join(' ') end |
#collapse_id ⇒ Object
48 49 50 |
# File 'app/components/bs5/accordion_component.rb', line 48 def collapse_id "collapse-#{id}" end |
#collapsed? ⇒ Boolean
52 53 54 |
# File 'app/components/bs5/accordion_component.rb', line 52 def collapsed? @collapsed end |
#header_id ⇒ Object
44 45 46 |
# File 'app/components/bs5/accordion_component.rb', line 44 def header_id "header-#{id}" end |
#id ⇒ Object
40 41 42 |
# File 'app/components/bs5/accordion_component.rb', line 40 def id object_id end |