Class: DrgcmsFormFields::DateSelect
- Inherits:
-
DrgcmsField
- Object
- DrgcmsField
- DrgcmsFormFields::DateSelect
- Defined in:
- app/models/drgcms_form_fields.rb
Overview
Implementation of date_select DRG CMS form field.
Form options:
-
type:date_select (required) -
name:Field name (required) -
options:options which apply to date_select field (optional) -
html:html options which apply to password field (optional)
Form example:
50:
name: valid_from
type: date_select
options:
include_blank: true
html:
class: my-date-class
Instance Attribute Summary
Attributes inherited from DrgcmsField
Class Method Summary collapse
-
.get_data(params, name) ⇒ Object
Get data for DateSelect field According to gist.github.com/315227.
Instance Method Summary collapse
-
#render ⇒ Object
Render date_select field html code.
Methods inherited from DrgcmsField
#hash_to_options, #initialize, #record_text_for, #ro_standard, #set_initial_value, #t
Constructor Details
This class inherits a constructor from DrgcmsFormFields::DrgcmsField
Class Method Details
.get_data(params, name) ⇒ Object
Get data for DateSelect field According to gist.github.com/315227
892 893 894 895 896 897 898 899 900 901 902 903 904 |
# File 'app/models/drgcms_form_fields.rb', line 892 def self.get_data(params, name) attrs = params['record'].collect do |key, value| if key =~ /^#{Regexp.escape(name.to_s)}\((\d+)(\w)\)$/ [$1.to_i, value.send("to_#$2")] end end.compact.sort_by(&:first).map(&:last) # Return nil if error begin Time.zone.local(*attrs) #unless attrs.empty? rescue nil end end |
Instance Method Details
#render ⇒ Object
Render date_select field html code
876 877 878 879 880 881 882 883 884 885 886 |
# File 'app/models/drgcms_form_fields.rb', line 876 def render return ro_standard( @parent.dc_format_value(@record[@yaml['name']])) if @readonly # @yaml['options'] ||= {} set_initial_value('options','default') @yaml['options'].symbolize_keys! @yaml['html'].symbolize_keys! record = record_text_for(@yaml['name']) @html << @parent.date_select(record, @yaml['name'], @yaml['options'], @yaml['html']) self end |