Sha256: 7b299b3de005e2d93c123316e3716006ec19cc6073f57af1e67b6c5efebf5839

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

module Watir
  class DateTimeField < Input

    #
    # Enter the provided value.
    #

    def set!(date)
      date = DateTime.parse date if date.is_a?(String)

      message = "DateTimeField##{__callee__} only accepts instances of DateTime or Time"
      raise ArgumentError, message unless [DateTime, ::Time].include?(date.class)

      date_time_string = date.strftime("%Y-%m-%dT%H:%M")
      element_call(:wait_for_writable) { execute_js(:setValue, @element, date_time_string) }
    end
    alias_method :set, :set!
    alias_method :value=, :set

    protected

  end # DateTimeField

  module Container
    def date_time_field(*args)
      DateTimeField.new(self, extract_selector(args).merge(tag_name: "input", type: "datetime-local"))
    end

    def date_time_fields(*args)
      DateTimeFieldCollection.new(self, extract_selector(args).merge(tag_name: "input", type: "datetime-local"))
    end
  end # Container

  class DateTimeFieldCollection < InputCollection
    private

    def element_class
      DateTimeField
    end
  end # DateTimeFieldCollection
end # Watir

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
watir-6.13.0 lib/watir/elements/date_time_field.rb
watir-6.12.0 lib/watir/elements/date_time_field.rb
watir-6.11.0 lib/watir/elements/date_time_field.rb
watir-6.11.0.beta2 lib/watir/elements/date_time_field.rb
watir-6.11.0.beta1 lib/watir/elements/date_time_field.rb
watir-6.10.3 lib/watir/elements/date_time_field.rb