arch-8.x-1.x-dev/modules/cart/assets/js/api-cart-request.js

modules/cart/assets/js/api-cart-request.js
/**
 * @file
 * Mini-cart JS Behavior.
 */

var ArchApiCartRequest;

(function ($, drupalSettings) {
  'use strict';

  if (ArchApiCartRequest) {
    return;
  }

  ArchApiCartRequest = function requestPromise(action, url, data, cartBeforeChange, responseDataTransform) {
    data.theme = drupalSettings.arch_api_cart.settings.theme;
    var conf = {
      url: url,
      method: 'post',
      dataType: 'json',
      data: data
    };

    return $.ajax(conf)
      .fail(function (jqXHR, textStatus, errorThrown) {
        // @todo alter user about error.
        // eslint-disable-next-line no-console
        console.warn(textStatus, errorThrown, jqXHR);
      })
      .done(function (cartData, status, jqXHR) {
        if (typeof responseDataTransform === 'function') {
          responseDataTransform(cartData);
        }
        $('body').trigger('arch_cart_api_do', {
          tasks: cartData.do || [],
          data: cartData
        });
        $('body').trigger('arch_cart_api_success', {
          action: action,
          data: data,
          cartData: cartData,
          cartBeforeChange: cartBeforeChange
        });
      });
  };

})(jQuery, drupalSettings);

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

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