Class: Trestle::Form::Fields::GroupedCollectionSelect

Inherits:
Trestle::Form::Field show all
Defined in:
lib/trestle/form/fields/grouped_collection_select.rb

Instance Attribute Summary collapse

Attributes inherited from Trestle::Form::Field

#block, #builder, #name, #options, #template

Instance Method Summary collapse

Methods inherited from Trestle::Form::Field

#defaults, #disabled?, #errors, #form_group, #normalize_options!, #readonly?, #render

Constructor Details

#initialize(builder, template, name, collection, group_method, group_label_method, option_key_method, option_value_method, options = {}, html_options = {}) ⇒ GroupedCollectionSelect

Returns a new instance of GroupedCollectionSelect.



7
8
9
10
11
12
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 7

def initialize(builder, template, name, collection, group_method, group_label_method, option_key_method, option_value_method, options={}, html_options={})
  super(builder, template, name, options)

  @collection, @group_method, @group_label_method, @option_key_method, @option_value_method = collection, group_method, group_label_method, option_key_method, option_value_method
  @html_options = default_html_options.merge(html_options)
end

Instance Attribute Details

#collectionObject (readonly)

Returns the value of attribute collection.



5
6
7
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 5

def collection
  @collection
end

#group_label_methodObject (readonly)

Returns the value of attribute group_label_method.



5
6
7
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 5

def group_label_method
  @group_label_method
end

#group_methodObject (readonly)

Returns the value of attribute group_method.



5
6
7
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 5

def group_method
  @group_method
end

#html_optionsObject (readonly)

Returns the value of attribute html_options.



5
6
7
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 5

def html_options
  @html_options
end

#option_key_methodObject (readonly)

Returns the value of attribute option_key_method.



5
6
7
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 5

def option_key_method
  @option_key_method
end

#option_value_methodObject (readonly)

Returns the value of attribute option_value_method.



5
6
7
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 5

def option_value_method
  @option_value_method
end

Instance Method Details

#default_html_optionsObject



18
19
20
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 18

def default_html_options
  Trestle::Options.new(class: ["form-select"], disabled: disabled? || readonly?, data: { controller: "select" })
end

#fieldObject



14
15
16
# File 'lib/trestle/form/fields/grouped_collection_select.rb', line 14

def field
  builder.raw_grouped_collection_select(name, collection, group_method, group_label_method, option_key_method, option_value_method, options, html_options)
end