Вы здесь

Drupal 8: Как добавить overlay к better messages

Создать файл better_messages.js и подключить его в своей теме. В dependencies библиотеки указать "- better_messages/better_messages".  Дальше переопределяем поведение скрипта при открытии и закрытии:

(function ($) {
 
  'use strict';
 
  Drupal.behaviors.psihoBetterMessages = {
    attach: function (context, settings) {
      if(settings.better_messages){
 
        var betterMessages = settings.better_messages;
        var message_box = $('#better-messages-default.better-messages-overlay').once('psiho-better-messages');
        var message_mask = $('.better-messages-mask').once('psiho-better-messages');
 
        betterMessages.open = function () {
          var method = 'fadeIn';
          switch (betterMessages.popin.effect) {
            case 'fadeIn':
            case 'slideDown':
              method = betterMessages.popin.effect;
              break;
          }
          message_box[method](betterMessages.popin.duration);
          message_mask[method](betterMessages.popin.duration);
        };
 
        betterMessages.close = function () {
          var method = 'fadeOut';
          switch (betterMessages.popout.effect) {
            case 'fadeOut':
              break;
            case 'slideUp':
              method = betterMessages.popout.effect;
              break;
          }
          message_box[method](betterMessages.popout.duration);
          message_mask[method](betterMessages.popout.duration);
        };
 
        message_mask.on('click', () => {
          betterMessages.close()
        });
 
      }
    }
  };
})(jQuery);

 

Тэги: 
Поделиться:

Оставить комментарий