diff --git a/src/app/clients/clients-view/documents-tab/documents-tab.component.html b/src/app/clients/clients-view/documents-tab/documents-tab.component.html
index 7b2ea9ca3..54384fb82 100644
--- a/src/app/clients/clients-view/documents-tab/documents-tab.component.html
+++ b/src/app/clients/clients-view/documents-tab/documents-tab.component.html
@@ -1,46 +1,47 @@
-
+
-
Documents
+
Documents
-
\ No newline at end of file
diff --git a/src/app/clients/clients-view/documents-tab/documents-tab.component.ts b/src/app/clients/clients-view/documents-tab/documents-tab.component.ts
index b54f0794b..4c3f9acc1 100644
--- a/src/app/clients/clients-view/documents-tab/documents-tab.component.ts
+++ b/src/app/clients/clients-view/documents-tab/documents-tab.component.ts
@@ -5,6 +5,9 @@ import { MatDialog } from '@angular/material';
/** Custom Services */
import { ClientsService } from '../../clients.service';
+
+/** Custom Components */
+import { UploadDocumentDialogComponent } from '../upload-document-dialog/upload-document-dialog.component';
import { DeleteDialogComponent } from '../../../shared/delete-dialog/delete-dialog.component';
@@ -17,6 +20,7 @@ export class DocumentsTabComponent implements OnInit {
@ViewChild('documentsTable') documentsTable: MatTable;
documentsColumns: string[] = ['name', 'description', 'fileName', 'actions'];
clientDocuments: any;
+ clientId: string;
constructor(private route: ActivatedRoute,
@@ -24,7 +28,10 @@ export class DocumentsTabComponent implements OnInit {
public dialog: MatDialog) {
this.route.data.subscribe((data: { clientDocuments: any }) => {
this.clientDocuments = data.clientDocuments;
+ console.log(this.clientDocuments);
+
});
+ this.clientId = this.route.parent.snapshot.paramMap.get('clientId');
}
ngOnInit() {
@@ -38,10 +45,10 @@ export class DocumentsTabComponent implements OnInit {
}
deleteDocument(parentEntityId: string, documentId: string, index: number) {
- const deleteFamilyMemberDialogRef = this.dialog.open(DeleteDialogComponent, {
+ const deleteDocumentDialogRef = this.dialog.open(DeleteDialogComponent, {
data: { deleteContext: `document id:${documentId}` }
});
- deleteFamilyMemberDialogRef.afterClosed().subscribe((response: any) => {
+ deleteDocumentDialogRef.afterClosed().subscribe((response: any) => {
if (response.delete) {
this.clientService.deleteClientDocument(parentEntityId, documentId).subscribe(res => {
this.clientDocuments.splice(index, 1);
@@ -51,4 +58,31 @@ export class DocumentsTabComponent implements OnInit {
});
}
+ uploadDocument() {
+ const uploadDocumentDialogRef = this.dialog.open(UploadDocumentDialogComponent, {
+ data: { documentIdentifier: false }
+ });
+ uploadDocumentDialogRef.afterClosed().subscribe((dialogResponse: any) => {
+ console.log(dialogResponse);
+ if (dialogResponse) {
+ const formData: FormData = new FormData;
+ formData.append('name', dialogResponse.fileName);
+ formData.append('file', dialogResponse.file);
+ formData.append('description', dialogResponse.description);
+ this.clientService.uploadClientDocument(this.clientId, formData).subscribe((res: any) => {
+ this.clientDocuments.push({
+ id: res.resourceId,
+ parentEntityType: 'clients',
+ parentEntityId: this.clientId,
+ name: dialogResponse.fileName,
+ description: dialogResponse.description,
+ fileName: dialogResponse.file.name
+ });
+ this.documentsTable.renderRows();
+ console.log('document Uploaded');
+ });
+ }
+ });
+ }
+
}
diff --git a/src/app/clients/clients-view/identities-tab/identities-tab.component.html b/src/app/clients/clients-view/identities-tab/identities-tab.component.html
index d72cd46da..3e6f54227 100644
--- a/src/app/clients/clients-view/identities-tab/identities-tab.component.html
+++ b/src/app/clients/clients-view/identities-tab/identities-tab.component.html
@@ -49,7 +49,7 @@
-
+
diff --git a/src/app/clients/clients-view/identities-tab/identities-tab.component.ts b/src/app/clients/clients-view/identities-tab/identities-tab.component.ts
index 53c0424d2..36c5115ca 100644
--- a/src/app/clients/clients-view/identities-tab/identities-tab.component.ts
+++ b/src/app/clients/clients-view/identities-tab/identities-tab.component.ts
@@ -53,7 +53,9 @@ export class IdentitiesTabComponent implements OnInit {
}
uploadDocument(index: number, identifierId: string) {
- const uploadDocumentDialogRef = this.dialog.open(UploadDocumentDialogComponent);
+ const uploadDocumentDialogRef = this.dialog.open(UploadDocumentDialogComponent, {
+ data: { documentIdentifier: true }
+ });
uploadDocumentDialogRef.afterClosed().subscribe((dialogResponse: any) => {
if (dialogResponse) {
const formData: FormData = new FormData;
@@ -65,7 +67,7 @@ export class IdentitiesTabComponent implements OnInit {
parentEntityType: 'client_identifiers',
parentEntityId: identifierId,
name: dialogResponse.fileName,
- fileName: dialogResponse.file.fileName
+ fileName: dialogResponse.file.name
});
this.identifiersTable.renderRows();
});
diff --git a/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.html b/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.html
index ee30e8c05..c9cd2dcca 100644
--- a/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.html
+++ b/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.html
@@ -1,22 +1,26 @@
Upload Client Documents
-
+
+ Cancel
+ Confirm
+
+
+
\ No newline at end of file
diff --git a/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.ts b/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.ts
index f5fd00ff8..92cd674cb 100644
--- a/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.ts
+++ b/src/app/clients/clients-view/upload-document-dialog/upload-document-dialog.component.ts
@@ -12,10 +12,12 @@ export class UploadDocumentDialogComponent implements OnInit {
uploadDocumentForm: FormGroup;
file: any;
uploadDocumentData: any = [];
-
+ documentIdentifier = false;
constructor(public dialogRef: MatDialogRef,
private formBuilder: FormBuilder,
- @Inject(MAT_DIALOG_DATA) public data: any) { }
+ @Inject(MAT_DIALOG_DATA) public data: any) {
+ this.documentIdentifier = data.documentIdentifier;
+ }
ngOnInit() {
this.createUploadDocumentForm();
@@ -27,6 +29,7 @@ export class UploadDocumentDialogComponent implements OnInit {
createUploadDocumentForm() {
this.uploadDocumentForm = this.formBuilder.group({
'fileName': ['', Validators.required],
+ 'description': [''],
'file': ['']
});
}
diff --git a/src/app/clients/clients.service.ts b/src/app/clients/clients.service.ts
index aecbcac69..0197640e0 100644
--- a/src/app/clients/clients.service.ts
+++ b/src/app/clients/clients.service.ts
@@ -105,6 +105,10 @@ export class ClientsService {
return this.http.get(`/clients/${parentEntityId}/documents/${documentId}/attachment`, { responseType: 'blob' });
}
+ uploadClientDocument(clientId: string, documentData: any) {
+ return this.http.post(`/clients/${clientId}/documents`, documentData);
+ }
+
deleteClientDocument(parentEntityId: string, documentId: string) {
return this.http.delete(`/clients/${parentEntityId}/documents/${documentId}`);
}