seeds_ui-1.0.x-dev/js/messages.js

js/messages.js
/**
 * @file
 * Customization of messages.
 */

((Drupal, once) => {
  // Ensure Drupal.seeds_ui is initialized
  Drupal.seeds_ui = Drupal.seeds_ui || {};

  /**
   * Adds a close button to the message.
   *
   * @param {HTMLElement} message
   *   The message element.
   */
  const closeMessage = (message) => {
    const closeBtn = message.querySelector(".close_button_toast");
    if (closeBtn) {
      closeBtn.addEventListener("click", () => {
        message.classList.add("hidden");
      });
    }
  };

  /**
   * Hides the message container after a delay.
   */
  const hideMessageContainer = () => {
    const messageContainer = document.querySelector(".messages-list");
    if (messageContainer) {
      setTimeout(() => {
        messageContainer.classList.add("hidden");
      }, 5000);
    }
  };

  /**
   * Get messages from context.
   *
   * @type {Drupal~behavior}
   *
   * @prop {Drupal~behaviorAttach} attach
   *   Attaches the close button behavior for messages.
   */
  Drupal.behaviors.messages = {
    attach(context) {
      // Hide the message container after a delay
      hideMessageContainer();

      // Attach close button functionality to messages
      once("messages", '[data-drupal-selector="messages"]', context).forEach(
        (message) => closeMessage(message)
      );
    },
  };

  // Expose the closeMessage function
  Drupal.seeds_ui.closeMessage = closeMessage;
})(Drupal, once);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc