TrestleAdmin/trestle

View on GitHub
lib/trestle/form/fields/datetime_select.rb

Summary

Maintainability
A
1 hr
Test Coverage
module Trestle
  class Form
    module Fields
      class DatetimeSelect < Field
        attr_reader :html_options

        def initialize(builder, template, name, options={}, html_options={}, &block)
          super(builder, template, name, options, &block)

          @html_options = default_html_options.merge(html_options)
        end

        def field
          tag.div(class: "datetime-select") do
            builder.raw_datetime_select(name, options, html_options, &block)
          end
        end

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

Trestle::Form::Builder.register(:datetime_select, Trestle::Form::Fields::DatetimeSelect)