Sha256: c033c33cebbf7ff79890cfd29d951db532e194835688e47b7058b4ab76544f6e

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

module SimpleForm
  module Inputs
    class DateTimePickerInput < Base
      def input
        template.content_tag(:div, class: 'input-group date datetimepicker') do
          template.concat span_calendar
          template.concat @builder.datetime_field(attribute_name, input_html_options)
        end
      end

      private

      def input_html_options
        if options.key? :value
          value = options[:value]
        elsif object.respond_to?(attribute_name)
          value = object.send(attribute_name)
        else
          value = ''
        end

        value = Time.zone.parse(value) if value.is_a?(String)
        value = value.strftime("%Y-%m-%d %H:%M") if value.respond_to?(:strftime)

        { class: 'form-control', readonly: true, value: value.presence || '' }
      end

      def span_calendar
        template.content_tag(:span, class: 'input-group-addon') do
          template.concat icon_calendar
        end
      end

      def icon_calendar
        '<i class="glyphicon glyphicon-calendar"></i>'.html_safe
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
simple_form_bootstrap3-0.2.9 lib/simple_form/inputs/date_time_picker_input.rb
simple_form_bootstrap3-0.2.8 lib/simple_form/inputs/date_time_picker_input.rb
simple_form_bootstrap3-0.2.7 lib/simple_form/inputs/date_time_picker_input.rb
simple_form_bootstrap3-0.2.6 lib/simple_form/inputs/date_time_picker_input.rb
simple_form_bootstrap3-0.2.5 lib/simple_form/inputs/date_time_picker_input.rb