diff --git a/src/frontend/app/indexation/indexation.component.ts b/src/frontend/app/indexation/indexation.component.ts index a29653afe40545a68e490423fc37ddc43d71d528..de9784337a53079c6f907f4622e592b778b4fec7 100644 --- a/src/frontend/app/indexation/indexation.component.ts +++ b/src/frontend/app/indexation/indexation.component.ts @@ -208,11 +208,6 @@ export class IndexationComponent implements OnInit { } saveDocument(data: any, index: number) { - data.forEach((element: any) => { - (element.workflow as any[]).forEach((item: any) => { - item.signaturePositions = (item.signaturePositions as any[]).filter((el: any) => el.docIndex === data.indexOf(element)); - }); - }); return new Promise((resolve) => { this.http.post('../rest/documents', data[index]).pipe( tap(() => { @@ -260,7 +255,9 @@ export class IndexationComponent implements OnInit { if (file.reference !== '') { formattedReference = this.datePipe.transform(today, 'y/MM/dd') + '/' + file.reference; } + formattedObj.push({ + docIndex: file.docIndex, title: file.title, reference: formattedReference, encodedDocument: file.content, @@ -277,7 +274,7 @@ export class IndexationComponent implements OnInit { userId: item.userId, mode: this.authService.getWorkflowMode(item.role), signatureMode: this.authService.getSignatureMode(item.role), - signaturePositions: item.signaturePositions !== undefined ? this.formatPositions(item.signaturePositions.filter((pos: any) => pos.mainDocument === file.mainDocument && file.signPos !== undefined)).map((itemFile: any) => ({ + signaturePositions: item.signaturePositions !== undefined ? this.formatPositions(item.signaturePositions.filter((pos: any) => pos.mainDocument === file.mainDocument && file.signPos !== undefined && pos.docIndex === file.docIndex)).map((itemFile: any) => ({ page: itemFile.page, docIndex: itemFile.docIndex, positionX: itemFile.position.positionX, @@ -318,7 +315,8 @@ export class IndexationComponent implements OnInit { title: filename.substr(0, filename.lastIndexOf('.')), reference: filename.substr(0, filename.lastIndexOf('.')).substr(0, 53), mainDocument: true, - content: '' + content: '', + docIndex: index, }; const reader = new FileReader(); reader.readAsArrayBuffer(fileInput.target.files[index]); @@ -327,6 +325,7 @@ export class IndexationComponent implements OnInit { file.reference = this.filesToUpload.length === 0 ? file.reference : ''; file.content = this.getBase64Document(value.target.result); this.filesToUpload.push(file); + this.setFilePosition(); if (this.filesToUpload.length === 1) { setTimeout(() => { this.menu.open('right-menu'); @@ -345,6 +344,11 @@ export class IndexationComponent implements OnInit { }); } + setFilePosition() { + this.filesToUpload.forEach((file: any, position: number) => { + file['docIndex'] = position; + }); + } isExtensionAllowed(files: any[]) { for (let index = 0; index < files.length; index++) { @@ -370,6 +374,7 @@ export class IndexationComponent implements OnInit { element.signaturePositions = []; }); } + this.setFilePosition(); } async signPos(index: number) {