diff --git a/changes/changelog.d/942.enhancement b/changes/changelog.d/942.enhancement new file mode 100644 index 000000000..66a1bfff3 --- /dev/null +++ b/changes/changelog.d/942.enhancement @@ -0,0 +1 @@ +Added a retry option for failed uploads (#942) diff --git a/front/src/components/library/FileUpload.vue b/front/src/components/library/FileUpload.vue index d88efd5ab..9e86600b3 100644 --- a/front/src/components/library/FileUpload.vue +++ b/front/src/components/library/FileUpload.vue @@ -91,9 +91,20 @@
+ | + | + | + + | + + + + + | @@ -251,6 +273,13 @@ export default { self.uploads.objects[event.upload.uuid] = event.upload; self.needsRefresh = true }); + }, + retry (files) { + files.forEach((file) => { + this.$refs.upload.update(file, {error: '', progress: '0.00'}) + }) + this.$refs.upload.active = true; + } }, computed: { @@ -274,6 +303,7 @@ export default { server, network, timeout, + retry: this.$pgettext('*/*/*/Verb', "Retry"), extension: this.$gettextInterpolate(extension, { extensions: this.supportedExtensions.join(", ") }) @@ -295,6 +325,11 @@ export default { return f.error; }).length; }, + retryableFiles () { + return this.files.filter(f => { + return f.error; + }); + }, processableFiles() { return ( this.uploads.pending + @@ -342,7 +377,9 @@ export default { uploadedSize () { let uploaded = 0 this.files.forEach((f) => { - uploaded += f.size * (f.progress / 100) + if (!f.error) { + uploaded += f.size * (f.progress / 100) + } }) return uploaded }
---|