Sha256: 30be17fb13b5b72c56b73d7ef9c0b202bd3b9d6c5c6f74d6d62abde5aa755121

Contents?: true

Size: 1.39 KB

Versions: 3

Compression:

Stored size: 1.39 KB

Contents

module TaoForm
  module Components
    class DatetimePickerComponent < FieldComponent

      attr_reader :html_options, :disabled

      def initialize view, builder, attribute_name, options = {}, html_options = {}
        super view, builder, attribute_name, options
        @html_options = transform_html_options html_options
        @disabled = @html_options[:disabled].presence || false
      end

      def render &block
        if block_given?
          super
        else
          super {
            builder.send :datetime_field, attribute_name, {disabled: disabled}
          }
        end
      end

      def render_date_picker
        date_options = {
          placeholder: options[:date_placeholder]
        }
        date_html_options = {disabled: disabled}
        view.tao_date_picker nil, nil, date_options, date_html_options do
          view.date_field_tag nil, nil, class: 'date-field', disabled: disabled
        end
      end

      def render_time_picker
        time_options = {
          placeholder: options[:time_placeholder],
          minute_step: options[:minute_step]
        }
        time_html_options = {disabled: disabled}
        view.tao_time_picker nil, nil, time_options, time_html_options do
          view.time_field_tag nil, nil, class: 'time-field', disabled: disabled
        end
      end

      def self.component_name
        :datetime_picker
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tao_form-0.1.2 lib/tao_form/components/datetime_picker_component.rb
tao_form-0.1.1 lib/tao_form/components/datetime_picker_component.rb
tao_form-0.1.0 lib/tao_form/components/datetime_picker_component.rb