diff --git a/src/view/frontend/web/js/checkout.js b/src/view/frontend/web/js/checkout.js index 3f68afa..25ce783 100644 --- a/src/view/frontend/web/js/checkout.js +++ b/src/view/frontend/web/js/checkout.js @@ -43,6 +43,7 @@ define([ localStorage.remove('checkout-data'); localStorage.remove('cart'); + // Why do we need this? Can it be removed? // self.setCheckoutData(); this.cartData = customerData.get('cart'); @@ -54,12 +55,10 @@ define([ }); $(document).on('ajax:updateCartItemQty', function() { - collectorIframe.suspend(); self.fetchShippingRates(); }); $(document).on('ajax:removeFromCart', function() { - collectorIframe.suspend(); self.fetchShippingRates(); }); @@ -87,9 +86,9 @@ define([ */ console.log("customer updated"); // TODO - This should be possible to be nicer! - if(typeof this.FirstTimeHasTriggered === 'undefined') + if(typeof this.FirstCustomerUpdateHasBeenTriggered === 'undefined') { - this.FirstTimeHasTriggered= true; + this.FirstCustomerUpdateHasBeenTriggered = true; }else{ this.addressUpdated(event); } @@ -397,7 +396,7 @@ define([ /** @inheritdoc */ beforeSend: function () { - collectorIframe.suspend(); + collectorIframe.suspend(); }, /** @inheritdoc */ diff --git a/src/view/frontend/web/js/iframe.js b/src/view/frontend/web/js/iframe.js index 1987261..413a017 100644 --- a/src/view/frontend/web/js/iframe.js +++ b/src/view/frontend/web/js/iframe.js @@ -1,22 +1,20 @@ define([ ], function () { 'use strict'; - - var currentState = ''; + + // Make sure we dont do any resumes before user done a action that sends a suspend + var suspendActionHaveBeenTriggered = false; function suspend() { - if (currentState == '' || currentState== 'resumed') { window.collector.checkout.api.suspend(); console.log("suspended"); - currentState = 'suspended'; - } + suspendActionHaveBeenTriggered = true; }; function resume() { - if (currentState == '' || currentState== 'suspended') { + if (suspendActionHaveBeenTriggered === true) { window.collector.checkout.api.resume(); console.log("resumed"); - currentState = 'resumed'; - } + } }; return {