Files
cbsnexora/src/app/clients/clients-view/family-members-tab/family-members-tab.component.ts
T

67 lines
2.0 KiB
TypeScript

/** Angular Imports */
import { Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { MatDialog } from '@angular/material/dialog';
/** Custom Components */
import { DeleteDialogComponent } from '../../../shared/delete-dialog/delete-dialog.component';
/** Custom Services */
import { ClientsService } from '../../clients.service';
/**
* Client Family Members Tab
*/
@Component({
selector: 'mifosx-family-members-tab',
templateUrl: './family-members-tab.component.html',
styleUrls: ['./family-members-tab.component.scss']
})
export class FamilyMembersTabComponent {
/** Client Family Members */
clientFamilyMembers: any;
/**
* @param {ActivatedRoute} route Activated Route
* @param {ClientsService} clientsService Clients Service
* @param {MatDialog }dialog Mat Dialog
*/
constructor(private route: ActivatedRoute,
private clientsService: ClientsService,
public dialog: MatDialog) {
this.route.data.subscribe((data: { clientFamilyMembers: any }) => {
this.clientFamilyMembers = data.clientFamilyMembers;
});
}
/**
* Deletes the family member and redirects to family members tab.
*/
deleteFamilyMember(clientId: string, id: string, name: string, index: number) {
const deleteFamilyMemberDialogRef = this.dialog.open(DeleteDialogComponent, {
data: { deleteContext: `Family member id:${id} name : ${name} ${index}` }
});
deleteFamilyMemberDialogRef.afterClosed().subscribe((response: any) => {
if (response.delete) {
this.clientsService.deleteFamilyMember(clientId, id)
.subscribe(() => {
this.clientFamilyMembers.splice(index, 1);
});
}
});
}
displayName(member: any): string {
let fullName: string = member.firstName;
if (member.middleName) {
fullName = fullName + ' ' + member.middleName;
}
if (member.lastName) {
fullName = fullName + ' ' + member.lastName;
}
return fullName;
}
}