merci-8.x-2.x-dev/modules/timepicker/js/timepicker.js

modules/timepicker/js/timepicker.js
/**
 * @file
 * Polyfill for HTML5 time input.
 */

(function ($, Modernizr, Drupal) {

  "use strict";

  /**
   * Attach timepicker fallback on time elements.
   *
   * @type {Drupal~behavior}
   *
   * @prop {Drupal~behaviorAttach} attach
   *   Attaches the behavior. Accepts in `settings.time` an object listing
   *   elements to process, keyed by the HTML ID of the form element containing
   *   the human-readable value. Each element is an timepicker settings object.
   * @prop {Drupal~behaviorDetach} detach
   *   Detach the behavior destroying timepickers on effected elements.
   */
  Drupal.behaviors.time = {
    attach: function (context, settings) {
      var $context = $(context);
      // Skip if time are supported by the browser.
      if (Modernizr.inputtypes.time === true) {
        return;
      }
      $context.find('input[type=time]').once('timePicker').each(function () {
        var $input = $(this);
        var timepickerSettings = {};

        if ($input.attr('step')) {
          timepickerSettings.step = parseInt($input.attr('step')) / 60;
        }
        if (!$input.attr('required')) {
          timepickerSettings.noneOption = true;

        }
        if ($input.attr('min')) {
          timepickerSettings.minTime = $input.attr('min');
        }
        if ($input.attr('max')) {
          timepickerSettings.maxTime = $input.attr('max');
        }
        timepickerSettings.show24Hours = true;
        $input.timeEntry(timepickerSettings);
      });
    },
    detach: function (context, settings, trigger) {
      if (trigger === 'unload') {
        $(context).find('input[type=time]').findOnce('timePicker').timeEntry('destroy');
      }
    }
  };

})(jQuery, Modernizr, Drupal);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc