diff --git a/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js b/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js index be720839f7d60223c5d6f262eceb190ccaad9762..bc7854c58c67bd36043c9251173cfa2e979942b9 100644 --- a/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js +++ b/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js @@ -24,15 +24,15 @@ define( return function (isApplied, isLoading) { var quoteId = quote.getQuoteId(); var url = urlManager.getCancelCouponUrl(quoteId); + var message = $t('Your coupon was successfully removed'); messageList.clear(); return storage.delete( url, false ).done( function (response) { - isLoading(false); var deferred = $.Deferred(); - + isLoading(false); getTotalsAction([], deferred); $.when(deferred).done(function() { isApplied(false); @@ -40,6 +40,7 @@ define( paymentService.getAvailablePaymentMethods() ); }); + messageList.addSuccessMessage({'message': message}); } ).fail( function (response) { diff --git a/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js b/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js index 939a4c559f7f6af78485097a49307d8a5be197d5..5917279fc91248e6ca8f4262fb5a8057959f998c 100644 --- a/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js +++ b/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js @@ -17,14 +17,15 @@ define( 'Magento_Checkout/js/model/error-processor', 'Magento_Ui/js/model/messageList', 'mage/storage', - 'Magento_Checkout/js/action/get-totals' + 'Magento_Checkout/js/action/get-totals', + 'mage/translate' ], - function (ko, $, quote, urlManager, paymentService, errorProcessor, messageList, storage, getTotalsAction) { + function (ko, $, quote, urlManager, paymentService, errorProcessor, messageList, storage, getTotalsAction, $t) { 'use strict'; return function (couponCode, isApplied, isLoading) { var quoteId = quote.getQuoteId(); var url = urlManager.getApplyCouponUrl(couponCode, quoteId); - messageList.clear(); + var message = $t('Your coupon was successfully applied'); return storage.put( url, {}, @@ -32,16 +33,16 @@ define( ).done( function (response) { if (response) { + var deferred = $.Deferred(); isLoading(false); isApplied(true); - var deferred = $.Deferred(); - getTotalsAction([], deferred); $.when(deferred).done(function() { paymentService.setPaymentMethods( paymentService.getAvailablePaymentMethods() ); }); + messageList.addSuccessMessage({'message': message}); } } ).fail( diff --git a/app/code/Magento/Ui/view/frontend/web/js/view/messages.js b/app/code/Magento/Ui/view/frontend/web/js/view/messages.js index 02a5a2e6beb0ec893fd22b10c0a360d0984fa2d8..0e809830e63f609f60651138236add73be1e25dd 100644 --- a/app/code/Magento/Ui/view/frontend/web/js/view/messages.js +++ b/app/code/Magento/Ui/view/frontend/web/js/view/messages.js @@ -2,7 +2,14 @@ * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ -define(['uiComponent', '../model/messageList'], function (Component, messages) { +define( + [ + 'ko', + 'jquery', + 'uiComponent', + '../model/messageList' + ], + function (ko, $, Component, messages) { 'use strict'; return Component.extend({ @@ -12,13 +19,26 @@ define(['uiComponent', '../model/messageList'], function (Component, messages) { defaults: { template: 'Magento_Ui/messages' }, + isHidden: ko.observable(false), + + initialize: function () { + this._super(); + var self = this; + this.isHidden.subscribe(function () { + if (self.isHidden()) { + setTimeout(function () { + $('#message').hide('blind', {}, 500) + }, 5000); + } + }); + }, /** * * @returns {*} */ isVisible: function () { - return this.errorList().length || this.successList().length; + return this.isHidden(this.errorList().length || this.successList().length); }, /** * Remove all errors diff --git a/app/code/Magento/Ui/view/frontend/web/template/messages.html b/app/code/Magento/Ui/view/frontend/web/template/messages.html index d842c4b10ff29428a4427ad00f89a7529ece12ae..c8a3c1ad3ec195a24df46e7896bec0c91868d4c0 100644 --- a/app/code/Magento/Ui/view/frontend/web/template/messages.html +++ b/app/code/Magento/Ui/view/frontend/web/template/messages.html @@ -4,7 +4,7 @@ * See COPYING.txt for license details. */ --> -<div class="messages" data-bind="visible: isVisible(), click: removeAll"> +<div id="message" class="messages" data-bind="visible: isVisible(), click: removeAll"> <!-- ko foreach: errorList --> <div class="message message-error error"> <div data-ui-id="checkout-cart-validationmessages-message-error" data-bind="text: $data"></div>