Class: StimulusPlumbers::Components::Combobox::Builder

Inherits:
Plumber::Slots
  • Object
show all
Defined in:
lib/stimulus_plumbers/components/combobox/builder.rb

Overview

Yielded to ‘Combobox#render`: selects a variant renderer, then exposes its `metadata` (trigger/wrapper wiring) and renders its panel body.

Defined Under Namespace

Modules: DefaultMetadata

Instance Method Summary collapse

Methods inherited from Plumber::Slots

#any?, #initialize, #none?, #options_for, #resolve, slot

Constructor Details

This class inherits a constructor from StimulusPlumbers::Plumber::Slots

Instance Method Details

#date(**options) ⇒ Object



11
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 11

def date(**options)      = select(Date, options)


9
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 9

def dropdown(**options)  = select(Dropdown, options)

#metadataObject



17
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 17

def   = renderer ? renderer::Metadata : DefaultMetadata

#optionsObject



16
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 16

def options   = selection ? selection[:options] : {}

#render_panel(template, panel_attrs:) ⇒ Object



19
20
21
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 19

def render_panel(template, panel_attrs:)
  renderer&.new(template)&.render(panel_attrs: panel_attrs, **options)
end

#rendererObject



15
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 15

def renderer  = selection&.fetch(:renderer)

#selected?Boolean

Returns:

  • (Boolean)


14
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 14

def selected? = @slots.key?(:variant)

#time(**options) ⇒ Object



12
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 12

def time(**options)      = select(Time, options)

#typeahead(**options) ⇒ Object



10
# File 'lib/stimulus_plumbers/components/combobox/builder.rb', line 10

def typeahead(**options) = select(Typeahead, options)