Sha256: 7574378657a3d7d5596564243967248858006ba1fcea599b508c90e11341bbc9

Contents?: true

Size: 1.29 KB

Versions: 3

Compression:

Stored size: 1.29 KB

Contents

# TODO mettre cet input dans l'espace de nom Adherent.

require 'simple_form'
# la classe DatePickerInput permet d'avoir un champ de saisie de date avec
# un widget qui permet de sélectionner la date.
# Le widget vient de jQueryUI et réagit aux champs ayant la classe input_date_picker
# Un fichier css permet d'afficher un petit calendrier dans le champ de saisie.
# Les champs data-min et date-max sont à fournir et servent de limite au widget
# La méthode input transforme ces valeurs en un format lisible par javascript.
#

# ajout d'un format de date personnalisé
Date::DATE_FORMATS[:date_picker] = "%d/%m/%Y"

class DatePickerInput < SimpleForm::Inputs::Base

 def input(wrapper_options)
   input_html_options['data-jcmin'] = date_min(input_html_options[:date_min])
   input_html_options['data-jcmax'] = date_max(input_html_options[:date_max])
   input_html_classes.unshift('input_date_picker form-control')
   
   input_html_options.delete :date_min
   input_html_options.delete :date_max

    @builder.text_field(attribute_name, input_html_options)
  end
  
 protected
 
  def date_min(option)
    
    option ||= Date.today.years_ago(5)
    option.to_formatted_s(:date_picker)
  end
  
  def date_max(option)
    option ||= Date.today.years_since(5)
    option.to_formatted_s(:date_picker)
  end
end


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
adherent-0.2.2 config/initializers/date_picker_input.rb
adherent-0.2.1 config/initializers/date_picker_input.rb
adherent-0.2.0 config/initializers/date_picker_input.rb