1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /**
- * Attaches the calendar behavior to all required fields
- */
- (function ($) {
- Drupal.behaviors.date_popup = {
- attach: function (context) {
- for (var id in Drupal.settings.datePopup) {
- $('#'+ id).bind('focus', Drupal.settings.datePopup[id], function(e) {
- if (!$(this).hasClass('date-popup-init')) {
- var datePopup = e.data;
- // Explicitely filter the methods we accept.
- switch (datePopup.func) {
- case 'datepicker':
- $(this)
- .datepicker(datePopup.settings)
- .addClass('date-popup-init')
- $(this).click(function(){
- $(this).focus();
- });
- break;
- case 'timeEntry':
- $(this)
- .timeEntry(datePopup.settings)
- .addClass('date-popup-init')
- $(this).click(function(){
- $(this).focus();
- });
- break;
- case 'timepicker':
- // Translate the PHP date format into the style the timepicker uses.
- datePopup.settings.timeFormat = datePopup.settings.timeFormat
- // 12-hour, leading zero,
- .replace('h', 'hh')
- // 12-hour, no leading zero.
- .replace('g', 'h')
- // 24-hour, leading zero.
- .replace('H', 'HH')
- // 24-hour, no leading zero.
- .replace('G', 'H')
- // AM/PM.
- .replace('A', 'p')
- // Minutes with leading zero.
- .replace('i', 'mm')
- // Seconds with leading zero.
- .replace('s', 'ss');
- datePopup.settings.startTime = new Date(datePopup.settings.startTime);
- $(this)
- .timepicker(datePopup.settings)
- .addClass('date-popup-init');
- $(this).click(function(){
- $(this).focus();
- });
- break;
- }
- }
- });
- }
- }
- };
- })(jQuery);
|