diff --git a/packages/file-handling/src/vpu-fileupload.js b/packages/file-handling/src/vpu-fileupload.js index e1f68a8e4821ac52f157a17c27f5e89f60b41ad9..ed74b2f251dd7a3cc5f1800ac56cbce539299823 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); }) }