1/** 2 * Attaches the calendar behavior to all required fields 3 */ 4(function($) { 5 function makeFocusHandler(e) { 6 if (!$(this).hasClass('date-popup-init')) { 7 var datePopup = e.data; 8 // Explicitely filter the methods we accept. 9 switch (datePopup.func) { 10 case 'datepicker': 11 $(this) 12 .datepicker(datePopup.settings) 13 .addClass('date-popup-init'); 14 $(this).click(function(){ 15 $(this).focus(); 16 }); 17 if (datePopup.settings.syncEndDate) { 18 $('.start-date-wrapper').each(function(){ 19 var start_date_wrapper = this; 20 $(this).find('input:eq(0)').change(function(){ 21 $(start_date_wrapper).next('.end-date-wrapper').find('input:eq(0)').val($(this).val()); 22 }); 23 }); 24 } 25 break; 26 27 case 'timeEntry': 28 $(this) 29 .timeEntry(datePopup.settings) 30 .addClass('date-popup-init'); 31 $(this).click(function(){ 32 $(this).focus(); 33 }); 34 break; 35 36 case 'timepicker': 37 // Translate the PHP date format into the style the timepicker uses. 38 datePopup.settings.timeFormat = datePopup.settings.timeFormat 39 // 12-hour, leading zero, 40 .replace('h', 'hh') 41 // 12-hour, no leading zero. 42 .replace('g', 'h') 43 // 24-hour, leading zero. 44 .replace('H', 'HH') 45 // 24-hour, no leading zero. 46 .replace('G', 'H') 47 // AM/PM. 48 .replace('A', 'p') 49 // Minutes with leading zero. 50 .replace('i', 'mm') 51 // Seconds with leading zero. 52 .replace('s', 'ss'); 53 54 datePopup.settings.startTime = new Date(datePopup.settings.startTime); 55 $(this) 56 .timepicker(datePopup.settings) 57 .addClass('date-popup-init'); 58 $(this).click(function(){ 59 $(this).focus(); 60 }); 61 break; 62 } 63 } 64 } 65 66 Drupal.behaviors.date_popup = { 67 attach: function (context) { 68 for (var id in Drupal.settings.datePopup) { 69 $('#'+ id).bind('focus', Drupal.settings.datePopup[id], makeFocusHandler); 70 } 71 } 72 }; 73})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.