aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorLuc Donnet2014-07-01 11:13:09 +0200
committerLuc Donnet2014-07-01 11:13:09 +0200
commitc03bcfa9b0083cd5f45a70bcf395fc206d0e78df (patch)
tree36201f8c7f91dbcc71477005e2162eb842a0bbee /app/assets/javascripts
parentb6a52ab261bdff0e403547338b688a41f2e8a77b (diff)
downloadchouette-core-c03bcfa9b0083cd5f45a70bcf395fc206d0e78df.tar.bz2
Fix datepicker use when no html5 browser Refs #0026847
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/application.js2
-rw-r--r--app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js78
2 files changed, 79 insertions, 1 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index fa99d193c..748de2483 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -6,7 +6,7 @@
//
//= require jquery
//= require jquery_ujs
-//= require jquery-ui
+//= require jquery.ui.all
//= require modernizr
//= require cocoon
//= require raphael
diff --git a/app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js b/app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js
new file mode 100644
index 000000000..ef2bfb631
--- /dev/null
+++ b/app/assets/javascripts/plugins/jquery.ui.datepicker-i18n.js
@@ -0,0 +1,78 @@
+/* French initialisation for the jQuery UI date picker plugin. */
+/* Written by Keith Wood (kbwood{at}iinet.com.au) and Stéphane Nahmani (sholby@sholby.net). */
+jQuery(function($){
+
+ $.datepicker.regional['fr'] = {
+ closeText: 'Fermer',
+ prevText: '<Préc',
+ nextText: 'Suiv>',
+ currentText: 'Courant',
+ monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
+ 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
+ monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
+ 'Jul','Aoû','Sep','Oct','Nov','Déc'],
+ dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
+ dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
+ dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
+ weekHeader: 'Sm',
+ dateFormat: 'dd/mm/yy',
+ firstDay: 1,
+ isRTL: false,
+ showMonthAfterYear: false,
+ yearSuffix: ''};
+
+ $.datepicker.regional['en'] = {
+ closeText: 'Done',
+ prevText: 'Prev',
+ nextText: 'Next',
+ currentText: 'Today',
+ monthNames: ['January','February','March','April','May','June',
+ 'July','August','September','October','November','December'],
+ monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
+ 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+ dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+ dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+ dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
+ weekHeader: 'Wk',
+ dateFormat: 'dd/mm/yy',
+ firstDay: 1,
+ isRTL: false,
+ showMonthAfterYear: false,
+ yearSuffix: ''};
+
+ if(!(Modernizr.inputtypes && Modernizr.inputtypes.date))
+ {
+ $.datepicker.setDefaults($.datepicker.regional[ "" ]);
+ $("input[type='date']").each( function(index, element)
+ {
+ $(element).datepicker(
+ {
+ dateFormat: "dd/mm/yy",
+ dayNamesShort: $.datepicker.regional[ $('html').attr('lang') ].dayNamesShort,
+ dayNames: $.datepicker.regional[ $('html').attr('lang') ].dayNames,
+ monthNamesShort: $.datepicker.regional[ $('html').attr('lang') ].monthNamesShort,
+ monthNames: $.datepicker.regional[ $('html').attr('lang') ].monthNames
+ } );
+ if ($(element).val().indexOf('/') >= 0)
+ {
+ $(element).datepicker("setDate", $.datepicker.parseDate('dd/mm/yy', $(element).val() ) );
+ }
+ else
+ {
+ $(element).datepicker("setDate", $.datepicker.parseDate('yy-mm-dd', $(element).val() ) );
+ }
+ });
+
+ $("form").submit(function(event) {
+ var $this = $(event.target);
+ $this.find("input[type='date']").each(
+ function(index, element)
+ {
+ var date = $.datepicker.formatDate('yy-mm-dd', $.datepicker.parseDate('dd/mm/yy', $(element).val() ) );
+ $(element).val(date);
+ }
+ );
+ });
+ }
+
+});