aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorMichel Etienne2012-10-01 20:31:41 +0200
committerMichel Etienne2012-10-01 20:31:41 +0200
commita3fa25fe5ca2e1c02d88a7898ddc8ad7c8757475 (patch)
treee1c066baca790deb8aab36108766208f54f58bb9 /app/assets/javascripts
parent8d09e6fbf7c7e804e9c4c80fce195755b572492c (diff)
downloadchouette-core-a3fa25fe5ca2e1c02d88a7898ddc8ad7c8757475.tar.bz2
refactor time-table-edit
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/public/jquery.ui.datepicker-i18n.js9
-rw-r--r--app/assets/javascripts/time_tables.js.coffee39
2 files changed, 47 insertions, 1 deletions
diff --git a/app/assets/javascripts/public/jquery.ui.datepicker-i18n.js b/app/assets/javascripts/public/jquery.ui.datepicker-i18n.js
index 3d0d55b46..b7748a77a 100644
--- a/app/assets/javascripts/public/jquery.ui.datepicker-i18n.js
+++ b/app/assets/javascripts/public/jquery.ui.datepicker-i18n.js
@@ -53,7 +53,14 @@ jQuery(function($){
monthNamesShort: $.datepicker.regional[ $('html').attr('lang') ].monthNamesShort,
monthNames: $.datepicker.regional[ $('html').attr('lang') ].monthNames
} );
- $(element).datepicker("setDate", $.datepicker.parseDate('yy-mm-dd', $(element).val() ) );
+ if ($(element).val().indexOf('/') >= 0)
+ {
+ $(element).datepicker("setDate", $.datepicker.parseDate('dd/mm/y', $(element).val() ) );
+ }
+ else
+ {
+ $(element).datepicker("setDate", $.datepicker.parseDate('yy-mm-dd', $(element).val() ) );
+ }
});
$("form").submit(function(event) {
diff --git a/app/assets/javascripts/time_tables.js.coffee b/app/assets/javascripts/time_tables.js.coffee
new file mode 100644
index 000000000..b85376edb
--- /dev/null
+++ b/app/assets/javascripts/time_tables.js.coffee
@@ -0,0 +1,39 @@
+jQuery ->
+# add trigger to hide/show application dates and periods
+ switch_dates = (event) ->
+ event.preventDefault()
+ $('.time_tables .dates.content').toggle('slow')
+ $('a.dates .switcher').toggle()
+
+ $('.time_tables a.dates').click(switch_dates)
+
+ switch_periods = (event) ->
+ event.preventDefault()
+ $('.time_tables .periods.content').toggle('slow')
+ $('a.periods .switcher').toggle()
+
+ $('.time_tables a.periods').click(switch_periods)
+
+# add trigger when creating new date or period entries to activate datepicker
+ tt_datepickerI18n = (index, element) ->
+ # do nothig if a datepicker is already attached
+ return if ($(element).hasClass('hasDatepicker') )
+ $(element).datepicker({
+ dateFormat: "dd/mm/y",
+ 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
+ })
+ $(element).datepicker("setDate", $.datepicker.parseDate('dd/mm/y', $(element).val() ) ) if ($(element).val().indexOf('/') >= 0)
+ $(element).datepicker("setDate", $.datepicker.parseDate('yy-mm-dd', $(element).val() ) ) if ($(element).val().indexOf('/') < 0)
+
+ after_inserts = ->
+ $('input[type="date"]').each(tt_datepickerI18n)
+
+ bind_after_inserts = ->
+ $('#periods_content').bind('insertion-callback',after_inserts)
+ $('#dates_content').bind('insertion-callback',after_inserts)
+ #after_inserts()
+
+ $(document).ready(bind_after_inserts) if $('.time_tables').length > 0