diff --git a/src-ui/src/app/services/upload-documents.service.ts b/src-ui/src/app/services/upload-documents.service.ts index 84f09ff38..ba97f0d9c 100644 --- a/src-ui/src/app/services/upload-documents.service.ts +++ b/src-ui/src/app/services/upload-documents.service.ts @@ -1,25 +1,25 @@ -import { Injectable } from '@angular/core'; -import { HttpEventType } from '@angular/common/http'; -import { FileSystemFileEntry, NgxFileDropEntry } from 'ngx-file-drop'; -import { ConsumerStatusService, FileStatusPhase } from './consumer-status.service'; -import { DocumentService } from './rest/document.service'; +import { Injectable } from '@angular/core' +import { HttpEventType } from '@angular/common/http' +import { FileSystemFileEntry, NgxFileDropEntry } from 'ngx-file-drop' +import { + ConsumerStatusService, + FileStatusPhase, +} from './consumer-status.service' +import { DocumentService } from './rest/document.service' @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class UploadDocumentsService { - constructor( private documentService: DocumentService, private consumerStatusService: ConsumerStatusService - ) { - } + ) {} uploadFiles(files: NgxFileDropEntry[]) { for (const droppedFile of files) { if (droppedFile.fileEntry.isFile) { - - const fileEntry = droppedFile.fileEntry as FileSystemFileEntry; + const fileEntry = droppedFile.fileEntry as FileSystemFileEntry fileEntry.file((file: File) => { let formData = new FormData() formData.append('document', file, file.name) @@ -27,30 +27,38 @@ export class UploadDocumentsService { status.message = $localize`Connecting...` - this.documentService.uploadDocument(formData).subscribe(event => { - if (event.type == HttpEventType.UploadProgress) { - status.updateProgress(FileStatusPhase.UPLOADING, event.loaded, event.total) - status.message = $localize`Uploading...` - } else if (event.type == HttpEventType.Response) { - status.taskId = event.body["task_id"] - status.message = $localize`Upload complete, waiting...` - } - - }, error => { - switch (error.status) { - case 400: { - this.consumerStatusService.fail(status, error.error.document) - break; + this.documentService.uploadDocument(formData).subscribe({ + next: (event) => { + if (event.type == HttpEventType.UploadProgress) { + status.updateProgress( + FileStatusPhase.UPLOADING, + event.loaded, + event.total + ) + status.message = $localize`Uploading...` + } else if (event.type == HttpEventType.Response) { + status.taskId = event.body['task_id'] + status.message = $localize`Upload complete, waiting...` } - default: { - this.consumerStatusService.fail(status, $localize`HTTP error: ${error.status} ${error.statusText}`) - break; + }, + error: (error) => { + switch (error.status) { + case 400: { + this.consumerStatusService.fail(status, error.error.document) + break + } + default: { + this.consumerStatusService.fail( + status, + $localize`HTTP error: ${error.status} ${error.statusText}` + ) + break + } } - } + }, }) - }); + }) } } } - }