From d6fe694000b4e9d1301d2c9f30784bcb0b3a2e94 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio@bekerle.com> Date: Mon, 23 Mar 2020 15:09:19 +0100 Subject: [PATCH] Add file to event in case of error (VPU/Middleware/API#40) --- packages/file-handling/src/vpu-fileupload.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/file-handling/src/vpu-fileupload.js b/packages/file-handling/src/vpu-fileupload.js index e1f68a8e..ed74b2f2 100644 --- a/packages/file-handling/src/vpu-fileupload.js +++ b/packages/file-handling/src/vpu-fileupload.js @@ -103,20 +103,28 @@ class VPUFileUpload extends VPULitElement { this.asyncForEach(files, async (file) => this.uploadFile(file)); } - sendFinishedEvent(response, file) { + sendFinishedEvent(response, file, sendFile = false) { response.json().then((json) => { - const data = { + let data = { status: response.status, filename: file.name, json: json }; + if (sendFile) { + data.file = file; + } + console.log(data); const event = new CustomEvent("vpu-fileupload-finished", { "detail": data, bubbles: true, composed: true }); this.dispatchEvent(event); }); } + /** + * @param file + * @returns {Promise<void>} + */ async uploadFile(file) { let url = this.url; let formData = new FormData(); @@ -133,12 +141,12 @@ class VPUFileUpload extends VPULitElement { .then((response) => { /* Done. Inform the user */ console.log(`Status: ${response.status} for file ${file.name}`); - this.sendFinishedEvent(response, file); + this.sendFinishedEvent(response, file, response.status === 503); }) .catch((response) => { /* Error. Inform the user */ console.log(`Error status: ${response.status} for file ${file.name}`); - this.sendFinishedEvent(response, file); + this.sendFinishedEvent(response, file, true); }) } -- GitLab