From a6aa702d96133bfef4fa47c575a9d6ce7bb5d3c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20M=C3=BCller?= <p.mueller@pcsg.de>
Date: Wed, 2 May 2018 10:28:13 +0200
Subject: [PATCH] fix: OrderProcess resize if amazon btn is loaded!

---
 bin/controls/PaymentDisplay.js | 31 +++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/bin/controls/PaymentDisplay.js b/bin/controls/PaymentDisplay.js
index 73672d6..205b078 100644
--- a/bin/controls/PaymentDisplay.js
+++ b/bin/controls/PaymentDisplay.js
@@ -138,8 +138,6 @@ define('package/quiqqer/payment-amazon/bin/controls/PaymentDisplay', [
         $showAmazonPayBtn: function () {
             var self = this;
 
-            this.$OrderProcess.Loader.hide();
-
             // re-display if button was previously rendered and hidden
             this.$AuthBtnElm.removeClass('quiqqer-payment-amazon__hidden');
 
@@ -172,6 +170,14 @@ define('package/quiqqer/payment-amazon/bin/controls/PaymentDisplay', [
                         });
                     },
 
+                    onFinish: function() {
+                        console.log("Amazon onFinish");
+                    },
+
+                    onSuccess: function() {
+                        console.log("Amazon onSuccess");
+                    },
+
                     onError: function (Error) {
                         switch (Error.getErrorCode()) {
                             // handle errors on the shop side (most likely misconfiguration)
@@ -199,6 +205,25 @@ define('package/quiqqer/payment-amazon/bin/controls/PaymentDisplay', [
                     }
                 }
             );
+
+            this.$OrderProcess.Loader.show();
+
+            var waitForBtnElm = setInterval(function() {
+                var AmazonBtnImg = self.$AuthBtnElm.getElement('img');
+
+                if (!AmazonBtnImg) {
+                    return;
+                }
+
+                if (!AmazonBtnImg.complete) {
+                    return;
+                }
+
+                clearInterval(waitForBtnElm);
+
+                self.$OrderProcess.resize();
+                self.$OrderProcess.Loader.hide();
+            }, 200);
         },
 
         /**
@@ -218,8 +243,6 @@ define('package/quiqqer/payment-amazon/bin/controls/PaymentDisplay', [
             this.$WalletElm.set('html', '');
             this.$WalletElm.removeClass('quiqqer-payment-amazon__hidden');
 
-            this.$OrderProcess.resize();
-
             var Options = {
                 sellerId       : this.getAttribute('sellerid'),
                 design         : {
-- 
GitLab