Elgg  Version 5.1
date.js
Go to the documentation of this file.
1 define(['jquery', 'elgg', 'jquery-ui/widgets/datepicker'], function ($, elgg) {
2  // the language module may need loading
3  var i18n_ready = $.Deferred();
4  if (elgg.config.current_language === 'en') {
5  i18n_ready.resolve();
6  } else {
7  require(['jquery-ui/i18n/datepicker-' + elgg.config.current_language], function () {
8  i18n_ready.resolve();
9  }, function () {
10  // if load fails (e.g. lang code mismatch), carry on with English
11  i18n_ready.resolve();
12  });
13  }
14 
15  var datepicker = {
31  init: function (selector) {
32  if (!$(selector).length) {
33  return;
34  }
35 
36  var defaults = {
37  dateFormat: 'yy-mm-dd',
38  nextText: '»',
39  prevText: '«',
40  changeMonth: true,
41  changeYear: true
42  };
43 
44  $(selector).each(function () {
45  var $elem = $(this);
46  var opts = $elem.data('datepickerOpts') || {};
47  opts = $.extend({}, defaults, opts);
48 
49  opts.onSelect = function (dateText, instance) {
50  if ($(this).is('.elgg-input-timestamp')) {
51  timestamp = '';
52  if (dateText.length) {
53  // convert to unix timestamp
54  var timestamp = Date.UTC(instance.selectedYear, instance.selectedMonth, instance.selectedDay);
55  timestamp = timestamp / 1000;
56  }
57 
58  $('input[rel="' + this.id + '"]').val(timestamp);
59  }
60  };
61 
62  // defer until language loaded
63  i18n_ready.then(function () {
64  $elem.datepicker(opts);
65  $elem.on('keyup', function(event) {
66  switch (event.keyCode) {
67  case $.ui.keyCode.DELETE:
68  case $.ui.keyCode.BACKSPACE:
69  $.datepicker._clearDate(event.target);
70  break;
71  }
72  });
73  });
74  });
75  }
76  };
77 
78  return datepicker;
79 });
define(['jquery', 'elgg', 'jquery-ui/widgets/datepicker'], function($, elgg){var i18n_ready=$.Deferred();if(elgg.config.current_language=== 'en'){i18n_ready.resolve();}else{require(['jquery-ui/i18n/datepicker-'+elgg.config.current_language], function(){i18n_ready.resolve();}, function(){i18n_ready.resolve();});}var datepicker={init:function(selector){if(!$(selector).length){return;}var defaults={dateFormat: 'yy-mm-dd', nextText: '»', prevText: '«', changeMonth:true, changeYear:true};$(selector).each(function(){var $elem=$(this);var opts=$elem.data('datepickerOpts')||{};opts=$.extend({}, defaults, opts);opts.onSelect=function(dateText, instance){if($(this).is('.elgg-input-timestamp')){timestamp= '';if(dateText.length){var timestamp=Date.UTC(instance.selectedYear, instance.selectedMonth, instance.selectedDay);timestamp=timestamp/1000;}$('input[rel="' + this.id + '"]').val(timestamp);}};i18n_ready.then(function(){$elem.datepicker(opts);$elem.on('keyup', function(event){switch(event.keyCode){case $.ui.keyCode.DELETE:case $.ui.keyCode.BACKSPACE:$.datepicker._clearDate(event.target);break;}});});});}};return datepicker;})
var elgg
Definition: elgglib.js:4