12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- /**
- * @api
- */
- define([
- 'jquery',
- '../model/quote',
- 'Magento_Checkout/js/model/resource-url-manager',
- 'Magento_Checkout/js/model/error-processor',
- 'mage/storage',
- 'Magento_Checkout/js/model/totals'
- ], function ($, quote, resourceUrlManager, errorProcessor, storage, totals) {
- 'use strict';
- return function (callbacks, deferred) {
- deferred = deferred || $.Deferred();
- totals.isLoading(true);
- return storage.get(
- resourceUrlManager.getUrlForCartTotals(quote),
- false
- ).done(function (response) {
- var proceed = true;
- totals.isLoading(false);
- if (callbacks.length > 0) {
- $.each(callbacks, function (index, callback) {
- proceed = proceed && callback();
- });
- }
- if (proceed) {
- quote.setTotals(response);
- deferred.resolve();
- }
- }).error(function (response) {
- totals.isLoading(false);
- deferred.reject();
- errorProcessor.process(response);
- }).always(function () {
- totals.isLoading(false);
- });
- };
- });
|