Sha256: 1a51f514918fd902fd70ff245c7b81cfa3726425cc5ef69b044239be5793ac39

Contents?: true

Size: 515 Bytes

Versions: 2

Compression:

Stored size: 515 Bytes

Contents

# frozen_string_literal: true

class FoxTail::Dropdown::MenuComponent < FoxTail::BaseComponent
  renders_many :items, lambda { |options = {}|
    options[:theme] = theme.theme :item
    FoxTail::Dropdown::MenuItemComponent.new options
  }

  def render?
    items?
  end

  def before_render
    super

    html_attributes[:class] = classnames theme.apply(:root, self), html_class
  end

  def call
    content_tag :ul, html_attributes do
      items.each { |item| concat content_tag(:li, item) }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fox_tail-0.1.1 app/components/fox_tail/dropdown/menu_component.rb
fox_tail-0.1.0 app/components/fox_tail/dropdown/menu_component.rb