Sha256: 31a938589e19cd8d8c334effbe8e4f1b9c2fb3eb78ccf7ad9f0f9ca723ab9de7

Contents?: true

Size: 1.03 KB

Versions: 113

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module Effective
  module FormInputs
    class TimeField < DatetimeField

      def input_html_options
        {
          class: ['form-control', 'effective_date_time_picker', 'effective_time', ('not-date-linked' if not_date_linked?)].compact.join(' '),
          pattern: pattern,
          id: tag_id
        }
      end

      def input_js_options
        { format: format, showTodayButton: false, showClear: false, useCurrent: 'hour', disabledDates: disabled_dates.presence, locale: I18n.locale }.compact
      end

      def input_group_options
        { input_group: { class: 'input-group effective_date_time_picker_input_group' }, prepend: content_tag(:span, icon('clock'), class: 'input-group-text') }
      end

      def datetime_to_s # ruby
        (value&.strftime(am_pm? ? '%I:%M %p' : '%H:%M') rescue nil)
      end

      def pattern # html
        am_pm? ? '\d{1,2}(:\d{2} [aApPmM]{2})?' : '\d{2}(:\d{2})?'
      end

      def format # moment.js
        am_pm? ? 'LT' : 'HH:mm'
      end

    end
  end
end

Version data entries

113 entries across 113 versions & 1 rubygems

Version Path
effective_bootstrap-0.11.12 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.11 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.10 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.9 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.8 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.7 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.6 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.5 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.4 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.3 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.2 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.1 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.11.0 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.10.17 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.10.16 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.10.15 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.10.14 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.10.13 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.10.12 app/models/effective/form_inputs/time_field.rb
effective_bootstrap-0.10.11 app/models/effective/form_inputs/time_field.rb