claro-8.x-1.x-dev/js/messages.es6.js
js/messages.es6.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | /** * @file * Message template overrides. */ (Drupal => { /** * Override Drupal.Message.defaultWrapper() because it prevents adding classes * to the wrapper. * * @return {HTMLElement} * The default destination for JavaScript messages. * * @todo Revisit this after https://www.drupal.org/node/3086723 has been * resolved. */ Drupal.Message.defaultWrapper = () => { let 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" ); wrapper.classList.add( "messages-list" ); } return wrapper.innerHTML === "" ? Drupal.Message.messageInternalWrapper(wrapper) : wrapper.firstElementChild; }; /** * Overrides message theme function. * * @param {object} message * The message object. * @param {string} message.text * The message text. * @param {object} options * The message context. * @param {string} options.type * The message type. * @param {string} options.id * ID of the message, for reference. * * @return {HTMLElement} * A DOM Node. */ Drupal.theme.message = ({ text }, { type, id }) => { const messagesTypes = Drupal.Message.getMessageTypeLabels(); const messageWrapper = document.createElement( "div" ); messageWrapper.setAttribute( "class" , `messages messages--${type}`); messageWrapper.setAttribute( "role" , type === "error" || type === "warning" ? "alert" : "status" ); messageWrapper.setAttribute( "aria-labelledby" , `${id}-title`); messageWrapper.setAttribute( "data-drupal-message-id" , id); messageWrapper.setAttribute( "data-drupal-message-type" , type); messageWrapper.innerHTML = ` <div class= "messages__header" > <h2 id= "${id}-title" class= "messages__title" > ${messagesTypes[type]} </h2> </div> <div class= "messages__content" > ${text} </div> `; return messageWrapper; }; })(Drupal); |