Class: UI::CollapsibleTriggerComponent

Inherits:
ViewComponent::Base
  • Object
show all
Includes:
CollapsibleTriggerBehavior
Defined in:
app/view_components/ui/collapsible_trigger_component.rb

Constant Summary

Constants included from CollapsibleTriggerBehavior

UI::CollapsibleTriggerBehavior::TRIGGER_BASE_CLASSES

Instance Method Summary collapse

Methods included from CollapsibleTriggerBehavior

#collapsible_trigger_classes, #collapsible_trigger_data_attributes, #collapsible_trigger_html_attributes

Constructor Details

#initialize(as_child: false, classes: "", **attributes) ⇒ CollapsibleTriggerComponent

Returns a new instance of CollapsibleTriggerComponent.



6
7
8
9
10
# File 'app/view_components/ui/collapsible_trigger_component.rb', line 6

def initialize(as_child: false, classes: "", **attributes)
  @as_child = as_child
  @classes = classes
  @attributes = attributes
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
# File 'app/view_components/ui/collapsible_trigger_component.rb', line 12

def call
  trigger_attrs = collapsible_trigger_html_attributes.deep_merge(@attributes)

  if @as_child
    content
  else
    (:button, content, type: "button", **trigger_attrs)
  end
end