Class: AbAdmin::Views::Inputs::DateTimeInput

Inherits:
SimpleForm::Inputs::Base
  • Object
show all
Defined in:
lib/ab_admin/views/inputs/date_time_input.rb

Instance Method Summary collapse

Instance Method Details

#inputObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ab_admin/views/inputs/date_time_input.rb', line 5

def input
  if options[:no_js]
    return @builder.send(:"#{input_type}_select", attribute_name, input_options, input_html_options)
  end

  input_html_options[:value] ||= formated_value

  html = [@builder.hidden_field(attribute_name, input_html_options)]

  base_dom_id = @builder.object_name.gsub(/\[/, '_').gsub(/\]/, '')
  data_target = "#{base_dom_id}_#{attribute_name}"

  if [:date, :datetime].include? input_type
    attr = "#{data_target}_date"
    html << template.text_field_tag(attr, object.send(attribute_name).try(:strftime, "%d.%m.%Y"), :id => attr,
                                    :class => 'datepicker input-small', :data => {:target => data_target})
  end

  if [:time, :datetime].include? input_type
    attr = "#{data_target}_time"
    html << template.text_field(attr, object.send(attribute_name).try(:strftime, "%H:%M"), :id => attr,
                                :class => 'timepicker input-small', :data => {:target => data_target})
  end

  html.join.html_safe
end