diff --git a/src/app/shared/uploader/uploader.component.ts b/src/app/shared/uploader/uploader.component.ts index 476ba510e0..0ac7870da8 100644 --- a/src/app/shared/uploader/uploader.component.ts +++ b/src/app/shared/uploader/uploader.component.ts @@ -58,6 +58,11 @@ export class UploaderComponent { */ @Output() onCompleteItem: EventEmitter = new EventEmitter(); + /** + * The function to call on error occurred + */ + @Output() onUploadError: EventEmitter = new EventEmitter(); + public uploader: FileUploader; public uploaderId: string; public isOverBaseDropZone = Observable.of(false); @@ -125,6 +130,10 @@ export class UploaderComponent { this.onCompleteItem.emit(responsePath); } }; + this.uploader.onErrorItem = (item: any, response: any, status: any, headers: any) => { + this.onUploadError.emit(null); + this.uploader.cancelAll(); + }; this.uploader.onProgressAll = () => this.onProgress(); this.uploader.onProgressItem = () => this.onProgress(); } diff --git a/src/app/submission/form/submission-upload-files/submission-upload-files.component.html b/src/app/submission/form/submission-upload-files/submission-upload-files.component.html index cbd7dd3c9e..cf916fb413 100644 --- a/src/app/submission/form/submission-upload-files/submission-upload-files.component.html +++ b/src/app/submission/form/submission-upload-files/submission-upload-files.component.html @@ -4,4 +4,5 @@ [enableDragOverDocument]="enableDragOverDocument" [onBeforeUpload]="onBeforeUpload" [uploadFilesOptions]="uploadFilesOptions" - (onCompleteItem)="onCompleteItem($event)"> + (onCompleteItem)="onCompleteItem($event)" + (onUploadError)="onUploadError($event)"> diff --git a/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts b/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts index 7944dc05f6..b474a56e9d 100644 --- a/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts +++ b/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts @@ -85,6 +85,10 @@ export class SubmissionUploadFilesComponent implements OnChanges { ); } + public onUploadError() { + this.notificationsService.error(null, this.translate.get('submission.sections.upload.upload-failed')); + } + /** * Method provided by Angular. Invoked when the instance is destroyed. */