1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /**
- * @file
- * Message template overrides.
- */
- (Drupal => {
- /**
- * 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);
|