Class: BulmaX::Select

Inherits:
BaseInput show all
Defined in:
lib/bulma_x/select.rb

Defined Under Namespace

Classes: Option

Constant Summary

Constants inherited from BaseComponent

BaseComponent::BLANK_VALUES, BaseComponent::BOOLEAN, BaseComponent::COLORS, BaseComponent::COLOR_MODIFIER, BaseComponent::COLOR_PALETTE, BaseComponent::MODIFIERS, BaseComponent::MODIFIERS_DECLINED, BaseComponent::MODIFIERS_PALETTE

Constants included from BulmaX::Shared::SpacingOptions

BulmaX::Shared::SpacingOptions::VALID_SPACING_KEYS, BulmaX::Shared::SpacingOptions::VALID_SPACING_VALUES

Instance Method Summary collapse

Methods inherited from BaseComponent

#after_template, #attributes, #base_attributes, #base_classes, #before_template, #classes, #compact_blank, #css, #initialize, #render_root

Methods included from BulmaX::Shared::AriaOptions

#aria_attributes, included

Methods included from BulmaX::Shared::GlobalOptions

#global_attributes, #global_classes, included

Methods included from BulmaX::Shared::DataOptions

#data_attributes, included

Methods included from BulmaX::Shared::FlexOptions

#flex_classes, included

Methods included from BulmaX::Shared::SpacingOptions

included, #spacing_classes

Methods included from BulmaX::Shared::TextOptions

included, #text_classes

Methods included from ComponentDsl

included

Constructor Details

This class inherits a constructor from BulmaX::BaseComponent

Instance Method Details

#multiple(count) ⇒ Object



24
25
26
27
28
29
# File 'lib/bulma_x/select.rb', line 24

def multiple(count)
  @multiple = true
  @rows = count

  self
end

#root_attributesObject



38
39
40
# File 'lib/bulma_x/select.rb', line 38

def root_attributes
  super.merge(multiple: @multiple, size: @rows, name: @name, value: @value)
end

#root_classesObject



31
32
33
34
35
36
# File 'lib/bulma_x/select.rb', line 31

def root_classes
  super + [
    @multiple && 'is-multiple',
    @arrow && 'is-link'
  ]
end

#view_templateObject



16
17
18
19
20
21
22
# File 'lib/bulma_x/select.rb', line 16

def view_template(&)
  slot(:container) do
    super do
      slots(:option).each { render it }
    end
  end
end