/**
- * @file
- * Polyfill for HTML5 date input.
- */
+* DO NOT EDIT THIS FILE.
+* See the following change record for more information,
+* https://www.drupal.org/node/2815083
+* @preserve
+**/
(function ($, Modernizr, Drupal) {
-
- 'use strict';
-
- /**
- * Attach datepicker fallback on date elements.
- *
- * @type {Drupal~behavior}
- *
- * @prop {Drupal~behaviorAttach} attach
- * Attaches the behavior. Accepts in `settings.date` an object listing
- * elements to process, keyed by the HTML ID of the form element containing
- * the human-readable value. Each element is an datepicker settings object.
- * @prop {Drupal~behaviorDetach} detach
- * Detach the behavior destroying datepickers on effected elements.
- */
Drupal.behaviors.date = {
- attach: function (context, settings) {
+ attach: function attach(context, settings) {
var $context = $(context);
- // Skip if date are supported by the browser.
+
if (Modernizr.inputtypes.date === true) {
return;
}
var $input = $(this);
var datepickerSettings = {};
var dateFormat = $input.data('drupalDateFormat');
- // The date format is saved in PHP style, we need to convert to jQuery
- // datepicker.
- datepickerSettings.dateFormat = dateFormat
- .replace('Y', 'yy')
- .replace('m', 'mm')
- .replace('d', 'dd');
- // Add min and max date if set on the input.
+
+ datepickerSettings.dateFormat = dateFormat.replace('Y', 'yy').replace('m', 'mm').replace('d', 'dd');
+
if ($input.attr('min')) {
datepickerSettings.minDate = $input.attr('min');
}
$input.datepicker(datepickerSettings);
});
},
- detach: function (context, settings, trigger) {
+ detach: function detach(context, settings, trigger) {
if (trigger === 'unload') {
$(context).find('input[data-drupal-date-format]').findOnce('datePicker').datepicker('destroy');
}
}
};
-
-})(jQuery, Modernizr, Drupal);
+})(jQuery, Modernizr, Drupal);
\ No newline at end of file