Class: Daisy::Layout::JoinComponent

Inherits:
LocoMotion::BaseComponent show all
Defined in:
app/components/daisy/layout/join_component.rb

Constant Summary

Constants inherited from LocoMotion::BaseComponent

LocoMotion::BaseComponent::EMPTY_PART_IGNORED_TAGS, LocoMotion::BaseComponent::SELF_CLOSING_TAGS

Instance Attribute Summary

Attributes inherited from LocoMotion::BaseComponent

#config, #loco_parent

Instance Method Summary collapse

Methods inherited from LocoMotion::BaseComponent

build, #component_ref, #config_option, #cssify, define_modifier, define_modifiers, define_part, define_parts, define_size, define_sizes, #empty_part_content, #initialize, #inspect, #part, register_component_initializer, register_component_setup, #rendered_css, #rendered_data, #rendered_html, #rendered_stimulus_controllers, #rendered_tag_name, renders_many, renders_one, set_component_name, #set_loco_parent, #strip_spaces

Methods included from LocoMotion::Concerns::InspectableComponent

#build_inspect_string

Constructor Details

This class inherits a constructor from LocoMotion::BaseComponent

Instance Method Details

#before_renderObject

Sets up the component’s CSS classes.



92
93
94
# File 'app/components/daisy/layout/join_component.rb', line 92

def before_render
  add_css(:component, "join")
end

#callObject

Renders all joined items, buttons, or radios in sequence, or renders content if none are provided.



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'app/components/daisy/layout/join_component.rb', line 99

def call
  part(:component) do
    if items?
      items.each do |item|
        concat(item)
      end
    elsif buttons?
      buttons.each do |button|
        concat(button)
      end
    elsif radios?
      radios.each do |radio|
        concat(radio)
      end
    else
      content
    end
  end
end