| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | (function ($) {Drupal.behaviors.dateAdmin = {};Drupal.behaviors.dateAdmin.attach = function (context, settings) {  // Remove timezone handling options for fields without hours granularity.  var $hour = $('#edit-field-settings-granularity-hour').once('date-admin');  if ($hour.length) {    new Drupal.dateAdmin.TimezoneHandler($hour);  }};Drupal.dateAdmin = {};/** * Constructor for the TimezoneHandler object. * * This object is responsible for showing the timezone handling options dropdown * when the user has chosen to collect hours as part of the date field, and * hiding it otherwise. */Drupal.dateAdmin.TimezoneHandler = function ($checkbox) {  this.$checkbox = $checkbox;  this.$dropdown = $('#edit-field-settings-tz-handling');  this.$timezoneDiv = $('.form-item-field-settings-tz-handling');  // Store the initial value of the timezone handling dropdown.  this.storeTimezoneHandling();  // Toggle the timezone handling section when the user clicks the "Hour"  // checkbox.  this.$checkbox.bind('click', $.proxy(this.clickHandler, this));  // Trigger the click handler so that if the checkbox is unchecked on initial  // page load, the timezone handling section will be hidden.  this.clickHandler();};/** * Event handler triggered when the user clicks the "Hour" checkbox. */Drupal.dateAdmin.TimezoneHandler.prototype.clickHandler = function () {  if (this.$checkbox.is(':checked')) {    this.restoreTimezoneHandlingOptions();  }  else {    this.hideTimezoneHandlingOptions();  }};/** * Hide the timezone handling options section of the form. */Drupal.dateAdmin.TimezoneHandler.prototype.hideTimezoneHandlingOptions = function () {  this.storeTimezoneHandling();  this.$dropdown.val('none');  this.$timezoneDiv.hide();};/** * Show the timezone handling options section of the form. */Drupal.dateAdmin.TimezoneHandler.prototype.restoreTimezoneHandlingOptions = function () {  var val = this.getTimezoneHandling();  this.$dropdown.val(val);  this.$timezoneDiv.show();};/** * Store the current value of the timezone handling dropdown. */Drupal.dateAdmin.TimezoneHandler.prototype.storeTimezoneHandling = function () {  this._timezoneHandling = this.$dropdown.val();};/** * Return the stored value of the timezone handling dropdown. */Drupal.dateAdmin.TimezoneHandler.prototype.getTimezoneHandling = function () {  return this._timezoneHandling;};})(jQuery);
 |