Class: Proscenium::UI::Form::Fields::Combobox

Inherits:
Base
  • Object
show all
Defined in:
lib/proscenium/ui/form/fields/combobox.rb

Instance Attribute Summary

Attributes inherited from Base

#attribute, #attributes, #form, #model

Instance Method Summary collapse

Constructor Details

#initialize(attribute, model, form, type: nil, error: nil, **attributes) ⇒ Combobox

Returns a new instance of Combobox.



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/proscenium/ui/form/fields/combobox.rb', line 7

def initialize(attribute, model, form, type: nil, error: nil, **attributes)
  super

  @options_from_attributes = @attributes.delete(:options)
  @src = @attributes.delete(:src)
  @multiple = @attributes.delete(:multiple) || false
  @placeholder = @attributes.delete(:placeholder)
  @min_chars = @attributes.delete(:min_chars) || 0
  @debounce_ms = @attributes.delete(:debounce) || 300
  @disabled = @attributes.delete(:disabled) || false
  @selected_options = @attributes.delete(:selected_options) || []
end

Instance Method Details

#view_templateObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/proscenium/ui/form/fields/combobox.rb', line 20

def view_template
  field :pui_combobox_field do
    label { |content| content }
    render Proscenium::UI::Combobox.new(
      name: resolved_field_name,
      options: resolved_options,
      src: @src,
      multiple: @multiple,
      placeholder: @placeholder,
      value: resolved_value,
      min_chars: @min_chars,
      debounce: @debounce_ms,
      disabled: @disabled,
      selected_options: @selected_options
    )
    render_hint
  end
end