1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* Customer store credit(balance) application
*/
define([
'jquery',
'Magento_Checkout/js/model/quote',
'Magento_Checkout/js/model/resource-url-manager',
'Magento_Checkout/js/model/error-processor',
'Magento_SalesRule/js/model/payment/discount-messages',
'mage/storage',
'Magento_Checkout/js/action/get-payment-information',
'Magento_Checkout/js/model/totals',
'mage/translate',
'Magento_Checkout/js/model/full-screen-loader'
], function ($, quote, urlManager, errorProcessor, messageContainer, storage, getPaymentInformationAction, totals, $t,
fullScreenLoader
) {
'use strict';
return function (isApplied) {
var quoteId = quote.getQuoteId(),
url = urlManager.getCancelCouponUrl(quoteId),
message = $t('Your coupon was successfully removed.');
messageContainer.clear();
fullScreenLoader.startLoader();
return storage.delete(
url,
false
).done(function () {
var deferred = $.Deferred();
totals.isLoading(true);
getPaymentInformationAction(deferred);
$.when(deferred).done(function () {
isApplied(false);
totals.isLoading(false);
fullScreenLoader.stopLoader();
});
messageContainer.addSuccessMessage({
'message': message
});
}).fail(function (response) {
totals.isLoading(false);
fullScreenLoader.stopLoader();
errorProcessor.process(response, messageContainer);
});
};
});