Drupal → Добавить класс элементу пославшему друпаловский ajax запрос

12.12.2014

Код добавляет элементу, инициализировавшему друпаловский ajax запрос (ссылка, кнопка), класс ajax-loading и удаляющий этот класс после завершения запроса:

Drupal 8

(function ($, Drupal) {
  var originalAjaxBeforeSend = Drupal.Ajax.prototype.beforeSend;
  Drupal.Ajax.prototype.beforeSend = function(xmlhttprequest, options) {
    $(this.element).addClass('ajax-loading');
    originalAjaxBeforeSend.apply(this, arguments);
  };

  var originalAjaxSuccess = Drupal.Ajax.prototype.success;
  Drupal.Ajax.prototype.success = function(response, status) {
    $(this.element).removeClass('ajax-loading');
    originalAjaxSuccess.apply(this, arguments);
  };
})(jQuery, Drupal);

Drupal 7

(function ($) {
  var originalAjaxBeforeSend = Drupal.ajax.prototype.beforeSend;
  Drupal.ajax.prototype.beforeSend = function(xmlhttprequest, options) {
    $(this.element).addClass('ajax-loading');
    originalAjaxBeforeSend.apply(this, arguments);
  }

  var originalAjaxSuccess= Drupal.ajax.prototype.success;
  Drupal.ajax.prototype.success = function(response, status) {
    $(this.element).removeClass('ajax-loading');
    originalAjaxSuccess.apply(this, arguments);
  }
})(jQuery);
Написанное актуально для
Drupal 7, Drupal 8
Похожие записи

Добавить комментарий