module BootstrapForm::Datetimepicker
Public Instance Methods
date_field(name, *args)
click to toggle source
Calls superclass method
# File lib/bootstrap_form/datetimepicker.rb, line 3 def date_field(name, *args) options = args.extract_options!.symbolize_keys! prepare_options(name, options) options[:input_group][:data].merge!({'date-format' => 'L', 'date-extra-formats' => [BootstrapForm::DATE_FORMAT_JS]}.merge(options[:data] || {})) append_min_max(BootstrapForm::DATE_FORMAT_RUBY, options) args << options super end
datetime_local_field(name, *args)
click to toggle source
def datetime_field
(name, *args)
options = args.extract_options!.symbolize_keys! options[:datetimepicker] = true options[:append] = calendar_addon args << options super
end
Calls superclass method
# File lib/bootstrap_form/datetimepicker.rb, line 20 def datetime_local_field(name, *args) options = args.extract_options!.symbolize_keys! prepare_options(name, options) options[:input_group][:data].merge!({'date-extra-formats' => [BootstrapForm::DATE_FORMAT_JS+"THH:mm"+(options[:include_seconds] ? ':ss' : '')]}.merge(options[:data] || {})) append_min_max(BootstrapForm::DATE_FORMAT_RUBY+"T%T", options) args << options super end
Also aliased as: datetime_field
Private Instance Methods
append_min_max(format, options)
click to toggle source
# File lib/bootstrap_form/datetimepicker.rb, line 46 def append_min_max(format, options) options[:input_group][:data].merge!('date-min-date' => options[:min].try(:strftime, format), 'date-max-date' => options[:max].try(:strftime, format)) end
calendar_addon()
click to toggle source
# File lib/bootstrap_form/datetimepicker.rb, line 50 def calendar_addon content_tag('i', '', class: 'fa fa-calendar') end
default_group_id(method_name)
click to toggle source
# File lib/bootstrap_form/datetimepicker.rb, line 54 def default_group_id(method_name) "#{sanitized_object_name}_#{sanitized_method_name(method_name)}_group" end
prepare_options(name, options)
click to toggle source
# File lib/bootstrap_form/datetimepicker.rb, line 33 def prepare_options(name, options) input_group_id = default_group_id(name) options[:datetimepicker] = true options[:append] = calendar_addon options[:input_group_class] = 'date' options[:input_group] ||= {} options[:input_group][:id] = input_group_id options[:input_group][:data] = {'target-input' => 'nearest'} options[:append_tag] = {data: {toggle: 'datetimepicker', target: '#' + input_group_id}} options[:data] ||= {} options[:data][:target] = '#' + input_group_id end
sanitized_method_name(method_name)
click to toggle source
# File lib/bootstrap_form/datetimepicker.rb, line 62 def sanitized_method_name(method_name) method_name.to_s.sub(/\?$/, "") end
sanitized_object_name()
click to toggle source
# File lib/bootstrap_form/datetimepicker.rb, line 58 def sanitized_object_name @object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "") end