Drupal → Добавить класс элементу пославшему друпаловский ajax запрос
Код добавляет элементу, инициализировавшему друпаловский 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);
Оставить комментарий