Sha256: e224dbcadbf5baa3dd378d8cdcc6806d0475a7d5b5d01d1c2a036feef18dd268

Contents?: true

Size: 892 Bytes

Versions: 9

Compression:

Stored size: 892 Bytes

Contents

module Trestle
  class Form
    module Fields
      class CollectionSelect < Field
        attr_reader :collection, :value_method, :text_method, :html_options

        def initialize(builder, template, name, collection, value_method, text_method, options={}, html_options={})
          super(builder, template, name, options)

          @collection, @value_method, @text_method = collection, value_method, text_method
          @html_options = default_html_options.merge(html_options)
        end

        def field
          builder.raw_collection_select(name, collection, value_method, text_method, options, html_options)
        end

        def default_html_options
          Trestle::Options.new(class: ["form-control"], data: { enable_select2: true })
        end
      end
    end
  end
end

Trestle::Form::Builder.register(:collection_select, Trestle::Form::Fields::CollectionSelect)

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
trestle-0.8.12 lib/trestle/form/fields/collection_select.rb
trestle-0.8.11 lib/trestle/form/fields/collection_select.rb
trestle-0.8.10 lib/trestle/form/fields/collection_select.rb
trestle-0.8.9 lib/trestle/form/fields/collection_select.rb
trestle-0.8.8 lib/trestle/form/fields/collection_select.rb
trestle-0.8.7 lib/trestle/form/fields/collection_select.rb
trestle-0.8.6 lib/trestle/form/fields/collection_select.rb
trestle-0.8.5 lib/trestle/form/fields/collection_select.rb
trestle-0.8.4 lib/trestle/form/fields/collection_select.rb