Sha256: e6d99d7390ea49a008fb110420042ae74e556c0ce5a872de94fd30a9fc696a24

Contents?: true

Size: 1 KB

Versions: 229

Compression:

Stored size: 1 KB

Contents

module Avo
  module Fields
    class DateField < TextField
      attr_reader :first_day_of_week
      attr_reader :picker_format
      attr_reader :disable_mobile
      attr_reader :format
      attr_reader :picker_options

      def initialize(id, **args, &block)
        super(id, **args, &block)

        add_string_prop args, :first_day_of_week, 1
        add_string_prop args, :picker_format, "Y-m-d"
        add_string_prop args, :format, "yyyy-LL-dd"
        add_boolean_prop args, :disable_mobile
        add_object_prop args, :picker_options
      end

      def formatted_value
        return if value.blank?

        try_iso8601
      end

      def edit_formatted_value
        formatted_value
      end

      private

      def try_iso8601
        if value.respond_to?(:iso8601)
          value.iso8601
        elsif value.is_a?(String)
          parsed = DateTime.parse(value.dup)
          if parsed.present?
            parsed
          end
        else
          value
        end
      end
    end
  end
end

Version data entries

229 entries across 229 versions & 1 rubygems

Version Path
avo-3.18.1.tw4 lib/avo/fields/date_field.rb
avo-3.18.1 lib/avo/fields/date_field.rb
avo-3.18.0.tw4 lib/avo/fields/date_field.rb
avo-3.18.0 lib/avo/fields/date_field.rb
avo-3.17.9.beta2 lib/avo/fields/date_field.rb
avo-3.17.9.beta1 lib/avo/fields/date_field.rb
avo-3.17.9.tw4 lib/avo/fields/date_field.rb
avo-3.17.9 lib/avo/fields/date_field.rb
avo-3.17.8.tw4 lib/avo/fields/date_field.rb
avo-3.17.8 lib/avo/fields/date_field.rb
avo-3.17.7 lib/avo/fields/date_field.rb
avo-3.17.6.tw4 lib/avo/fields/date_field.rb
avo-3.17.6 lib/avo/fields/date_field.rb
avo-3.17.5 lib/avo/fields/date_field.rb
avo-3.17.4 lib/avo/fields/date_field.rb
avo-3.17.3 lib/avo/fields/date_field.rb
avo-3.17.5.tw4 lib/avo/fields/date_field.rb
avo-3.17.4.tw4 lib/avo/fields/date_field.rb
avo-3.17.3.tw4 lib/avo/fields/date_field.rb
avo-3.17.2.tw4 lib/avo/fields/date_field.rb