Class: Effective::FormBuilderInputs::EffectiveTimePicker

Inherits:
Effective::FormBuilderInput show all
Defined in:
app/models/effective/form_builder_inputs/effective_time_picker.rb

Instance Method Summary collapse

Methods inherited from Effective::FormBuilderInput

#field_name, #initialize, #js_options, #options

Constructor Details

This class inherits a constructor from Effective::FormBuilderInput

Instance Method Details

#default_input_htmlObject



10
11
12
# File 'app/models/effective/form_builder_inputs/effective_time_picker.rb', line 10

def default_input_html
  {class: 'effective_time_picker time'}
end

#default_input_jsObject



6
7
8
# File 'app/models/effective/form_builder_inputs/effective_time_picker.rb', line 6

def default_input_js
  { format: 'LT', showClear: false, useCurrent: 'hour' }
end

#html_optionsObject



32
33
34
35
36
37
38
39
40
41
42
43
# File 'app/models/effective/form_builder_inputs/effective_time_picker.rb', line 32

def html_options
  super.tap do |html_options|
    if js_options[:format] == default_input_js[:format] # Unless someone changed from the default
      html_options[:pattern] = '\d\d?:\d{2} \D{2}' # Match default pattern defined above
    end

    if options[:date_linked] == false
      html_options[:class] << 'not-date-linked'
    end

  end
end

#to_htmlObject



14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/models/effective/form_builder_inputs/effective_time_picker.rb', line 14

def to_html
  if options[:input_group] == false
    return text_field_tag(field_name, value, tag_options)
  end

  (:div, class: 'input-group') do
    (:span, class: 'input-group-addon') do
      (:i, '', class: 'glyphicon glyphicon-time').html_safe
    end +
    text_field_tag(field_name, value, tag_options)
  end
end

#valueObject



27
28
29
30
# File 'app/models/effective/form_builder_inputs/effective_time_picker.rb', line 27

def value
  val = super
  val.respond_to?(:strftime) ? val.strftime('%H:%M') : val
end