84 lines
4.8 KiB
JavaScript
84 lines
4.8 KiB
JavaScript
/**
|
|
* DO NOT EDIT THIS FILE.
|
|
* See the following change record for more information,
|
|
* https://www.drupal.org/node/2815083
|
|
* @preserve
|
|
**/
|
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
(function (Modernizr, Drupal, once) {
|
|
Drupal.behaviors.date = {
|
|
attach: function attach(context, settings) {
|
|
if (Modernizr.inputtypes.date === false) {
|
|
once('datepicker', '[data-drupal-field-elements="date-time"]').forEach(function (dateTime) {
|
|
var dateInput = dateTime.querySelector('input[type="date"]');
|
|
var timeInput = dateTime.querySelector('input[type="time"]');
|
|
var help = Drupal.theme.dateTimeHelp({
|
|
dateId: "".concat(dateInput.id, "--description"),
|
|
dateDesc: dateInput.dataset.help,
|
|
timeId: "".concat(timeInput.id, "--description"),
|
|
timeDesc: timeInput.dataset.help
|
|
});
|
|
[dateInput, timeInput].forEach(function (input) {
|
|
input.setAttribute('aria-describedby', "".concat(input.id, "--description"));
|
|
input.setAttribute('type', 'text');
|
|
});
|
|
Drupal.DatepickerPolyfill.attachDescription(dateTime, help);
|
|
});
|
|
once('datepicker', '[data-drupal-field-elements="date"]').forEach(function (date) {
|
|
var dateInput = date.querySelector('input[type="date"]');
|
|
var help = Drupal.theme.dateHelp({
|
|
dateDesc: dateInput.dataset.help
|
|
});
|
|
var id = "".concat(date.id, "--description");
|
|
dateInput.setAttribute('aria-describedby', id);
|
|
dateInput.setAttribute('type', 'text');
|
|
Drupal.DatepickerPolyfill.attachDescription(date, help, id);
|
|
});
|
|
}
|
|
}
|
|
};
|
|
Drupal.DatepickerPolyfill = function () {
|
|
function _class() {
|
|
_classCallCheck(this, _class);
|
|
}
|
|
_createClass(_class, null, [{
|
|
key: "attachDescription",
|
|
value: function attachDescription(element, help, id) {
|
|
var description = element.nextElementSibling;
|
|
if (!(description && description.getAttribute('data-drupal-field-elements') === 'description')) {
|
|
description = Drupal.DatepickerPolyfill.descriptionWrapperElement(id);
|
|
element.parentNode.insertBefore(description, element.nextSibling);
|
|
}
|
|
description.insertAdjacentHTML('beforeend', help);
|
|
}
|
|
}, {
|
|
key: "descriptionWrapperElement",
|
|
value: function descriptionWrapperElement(id) {
|
|
var description = document.createElement('div');
|
|
description.classList.add('description');
|
|
description.setAttribute('data-drupal-field-elements', 'description');
|
|
if (id) {
|
|
description.setAttribute('id', id);
|
|
}
|
|
return description;
|
|
}
|
|
}]);
|
|
return _class;
|
|
}();
|
|
Drupal.theme.dateHelp = function (_ref) {
|
|
var dateDesc = _ref.dateDesc;
|
|
return "<div class=\"no-native-datepicker-help\">".concat(dateDesc, "</div>");
|
|
};
|
|
Drupal.theme.dateTimeHelp = function (_ref2) {
|
|
var dateId = _ref2.dateId,
|
|
timeId = _ref2.timeId,
|
|
dateDesc = _ref2.dateDesc,
|
|
timeDesc = _ref2.timeDesc;
|
|
return "<div class=\"no-native-datepicker-help\">\n <span id=\"".concat(dateId, "\">").concat(dateDesc, "</span> <span id=\"").concat(timeId, "\">").concat(timeDesc, "</span>\n </div>");
|
|
};
|
|
})(Modernizr, Drupal, once); |