From c975bdfb5d261183a3a9fe1adf609b14dd1bda66 Mon Sep 17 00:00:00 2001
From: Patrizio Bekerle <patrizio@bekerle.com>
Date: Wed, 18 Mar 2020 12:14:44 +0100
Subject: [PATCH] Improve sendFinishedEvent (VPU/Middleware/API#40)

---
 packages/file-handling/src/vpu-fileupload.js | 24 ++++++++++++--------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/packages/file-handling/src/vpu-fileupload.js b/packages/file-handling/src/vpu-fileupload.js
index a9dab860..d9d91e96 100644
--- a/packages/file-handling/src/vpu-fileupload.js
+++ b/packages/file-handling/src/vpu-fileupload.js
@@ -95,13 +95,17 @@ class VPUFileUpload extends VPULitElement {
         ([...files]).forEach(this.uploadFile.bind(this))
     }
 
-    sendFinishedEvent(status, filename) {
-        const data =  {
-            status: status,
-            filename: filename
-        };
-        const event = new CustomEvent("vpu-fileupload-finished", { "detail": data, bubbles: true, composed: true });
-        this.dispatchEvent(event);
+    sendFinishedEvent(response, file) {
+        response.json().then((json) => {
+            const data =  {
+                status: response.status,
+                filename: file.name,
+                json: json
+            };
+
+            const event = new CustomEvent("vpu-fileupload-finished", { "detail": data, bubbles: true, composed: true });
+            this.dispatchEvent(event);
+        });
     }
 
     uploadFile(file) {
@@ -120,12 +124,12 @@ class VPUFileUpload extends VPULitElement {
             .then((response) => {
                 /* Done. Inform the user */
                 console.log(`Status: ${response.status} for file ${file.name}`);
-                this.sendFinishedEvent(response.status, file.name);
+                this.sendFinishedEvent(response, file);
             })
             .catch((response) => {
                 /* Error. Inform the user */
-                console.log(`Status: ${response.status} for file ${file.name}`);
-                this.sendFinishedEvent(response.status, file.name);
+                console.log(`Error status: ${response.status} for file ${file.name}`);
+                this.sendFinishedEvent(response, file);
             })
     }
 
-- 
GitLab