alert_message-1.0.x-dev/js/alert_message_read.js

js/alert_message_read.js
/**
 * @file
 * Alert message read.
 */
((Drupal) => {
  Drupal.behaviors.alert_message_read = {
    attach(context) {
      const closeButtons = once('alert-message-dismiss', '.alert-message-close', context);
      closeButtons.forEach((closeButton) => {
        closeButton.addEventListener(
          'click',
          () => {
            const messageId = closeButton.getAttribute('data-message-id');
            let data = [];
            const cookie = document.cookie
              .split('; ')
              .find((row) => row.startsWith('alertMessageClosed='));
            if (cookie) {
              data = JSON.parse(cookie.split('=')[1]);
            }
            data.push(messageId);
            document.cookie = `alertMessageClosed=${JSON.stringify(data)}; path=/`;
            const message = document.getElementById(
              `alert-message-${messageId}`,
            );
            message.remove();
          },
          { once: true },
        );
      });
    },
  };
})(Drupal);

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

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