Blame view

framework/javascript/DateField.js 1.18 KB
0084d336   Administrator   Importers CRUD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  (function($) {
  
  	$.fn.extend({
  		ssDatepicker: function(opts) {
  			return $(this).each(function() {
  				if($(this).data('datepicker')) return; // already applied
  
  				$(this).siblings("button").addClass("ui-icon ui-icon-calendar");
  				
  				var holder = $(this).parents('.field.date:first'), 
  					config = $.extend(opts || {}, $(this).data(), $(this).data('jqueryuiconfig'), {});
  				if(!config.showcalendar) return;
  	
  				if(config.locale && $.datepicker.regional[config.locale]) {
  					config = $.extend(config, $.datepicker.regional[config.locale], {});
  				}
  
  				if(config.min) config.minDate = $.datepicker.parseDate('yy-mm-dd', config.min);
  				if(config.max) config.maxDate = $.datepicker.parseDate('yy-mm-dd', config.max);
  	
  				// Initialize and open a datepicker 
  				// live() doesn't have "onmatch", and jQuery.entwine is a bit too heavyweight for this, so we need to do this onclick.
  				config.dateFormat = config.jquerydateformat;
  				$(this).datepicker(config);
  			});
  		}
  	});
  
  	$(document).on("click", ".field.date input.text,.fieldholder-small input.text.date", function() {
  		$(this).ssDatepicker();
  
  		if($(this).data('datepicker')) {
  			$(this).datepicker('show');
  		}
  	});
  }(jQuery));