/** * DO NOT EDIT THIS FILE. * See the following change record for more information, * https://www.drupal.org/node/2815083 * @preserve **/ var _createClass = 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } (function (Drupal) { Drupal.Message = function () { function _class() { var messageWrapper = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; _classCallCheck(this, _class); if (!messageWrapper) { this.messageWrapper = Drupal.Message.defaultWrapper(); } else { this.messageWrapper = messageWrapper; } } _createClass(_class, [{ key: 'add', value: function add(message) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; if (!options.hasOwnProperty('type')) { options.type = 'status'; } if (typeof message !== 'string') { throw new Error('Message must be a string.'); } Drupal.Message.announce(message, options); options.id = options.id ? String(options.id) : options.type + '-' + Math.random().toFixed(15).replace('0.', ''); if (!Drupal.Message.getMessageTypeLabels().hasOwnProperty(options.type)) { var type = options.type; throw new Error('The message type, ' + type + ', is not present in Drupal.Message.getMessageTypeLabels().'); } this.messageWrapper.appendChild(Drupal.theme('message', { text: message }, options)); return options.id; } }, { key: 'select', value: function select(id) { return this.messageWrapper.querySelector('[data-drupal-message-id^="' + id + '"]'); } }, { key: 'remove', value: function remove(id) { return this.messageWrapper.removeChild(this.select(id)); } }, { key: 'clear', value: function clear() { var _this = this; Array.prototype.forEach.call(this.messageWrapper.querySelectorAll('[data-drupal-message-id]'), function (message) { _this.messageWrapper.removeChild(message); }); } }], [{ key: 'defaultWrapper', value: function defaultWrapper() { var wrapper = document.querySelector('[data-drupal-messages]'); if (!wrapper) { wrapper = document.querySelector('[data-drupal-messages-fallback]'); wrapper.removeAttribute('data-drupal-messages-fallback'); wrapper.setAttribute('data-drupal-messages', ''); wrapper.classList.remove('hidden'); } return wrapper.innerHTML === '' ? Drupal.Message.messageInternalWrapper(wrapper) : wrapper.firstElementChild; } }, { key: 'getMessageTypeLabels', value: function getMessageTypeLabels() { return { status: Drupal.t('Status message'), error: Drupal.t('Error message'), warning: Drupal.t('Warning message') }; } }, { key: 'announce', value: function announce(message, options) { if (!options.priority && (options.type === 'warning' || options.type === 'error')) { options.priority = 'assertive'; } if (options.announce !== '') { Drupal.announce(options.announce || message, options.priority); } } }, { key: 'messageInternalWrapper', value: function messageInternalWrapper(messageWrapper) { var innerWrapper = document.createElement('div'); innerWrapper.setAttribute('class', 'messages__wrapper'); messageWrapper.insertAdjacentElement('afterbegin', innerWrapper); return innerWrapper; } }]); return _class; }(); Drupal.theme.message = function (_ref, _ref2) { var text = _ref.text; var type = _ref2.type, id = _ref2.id; var messagesTypes = Drupal.Message.getMessageTypeLabels(); var messageWrapper = document.createElement('div'); messageWrapper.setAttribute('class', 'messages messages--' + type); messageWrapper.setAttribute('role', type === 'error' || type === 'warning' ? 'alert' : 'status'); messageWrapper.setAttribute('data-drupal-message-id', id); messageWrapper.setAttribute('data-drupal-message-type', type); messageWrapper.setAttribute('aria-label', messagesTypes[type]); messageWrapper.innerHTML = '' + text; return messageWrapper; }; })(Drupal);