diff --git a/src/app/clients/clients-view/address-tab/address-tab.component.html b/src/app/clients/clients-view/address-tab/address-tab.component.html index d2fa49d1b..7b2398fc3 100644 --- a/src/app/clients/clients-view/address-tab/address-tab.component.html +++ b/src/app/clients/clients-view/address-tab/address-tab.component.html @@ -1,12 +1,17 @@
+

Address

+
+ + + {{address.addressType}} @@ -15,13 +20,16 @@ {{address.relationship}} + +
- +
+

Street : {{address.street}}
Address Line 1 : {{address.addressLine1}}
@@ -36,6 +44,9 @@ Postal Code : {{address.postalCode}}
Active Status : {{address.isActive}}

+
+
+
diff --git a/src/app/clients/clients-view/address-tab/address-tab.component.scss b/src/app/clients/clients-view/address-tab/address-tab.component.scss index 23b964989..afe194e94 100644 --- a/src/app/clients/clients-view/address-tab/address-tab.component.scss +++ b/src/app/clients/clients-view/address-tab/address-tab.component.scss @@ -1,22 +1,22 @@ .tab-container { - padding:1%; - margin: 1%; - - .address { - .address-actions{ - margin-top: 1%; - button{ - margin-right: 1%; - } - } - h3 { - margin: 1% auto; - } - - p { - line-height: 30px; - margin-left: 2%; + padding:1%; + margin: 1%; + + .address { + .address-actions{ + margin-top: 1%; + button{ + margin-right: 1%; } } + h3 { + margin: 1% auto; + } + + p { + line-height: 30px; + margin-left: 2%; + } } +} \ No newline at end of file diff --git a/src/app/clients/clients-view/address-tab/address-tab.component.ts b/src/app/clients/clients-view/address-tab/address-tab.component.ts index cd3978959..caf4039be 100644 --- a/src/app/clients/clients-view/address-tab/address-tab.component.ts +++ b/src/app/clients/clients-view/address-tab/address-tab.component.ts @@ -1,4 +1,5 @@ -import { Component, OnInit } from '@angular/core'; +/** Angular Imports */ +import { Component } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { MatDialog } from '@angular/material'; import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base'; @@ -11,21 +12,33 @@ import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.componen /** Custom Services */ import { ClientsService } from '../../clients.service'; +/** + * Clients Address Tab Component + */ @Component({ selector: 'mifosx-address-tab', templateUrl: './address-tab.component.html', styleUrls: ['./address-tab.component.scss'] }) -export class AddressTabComponent implements OnInit { +export class AddressTabComponent { + /** Client Address Data */ clientAddressData: any; + /** Client Address Field Config */ clientAddressFieldConfig: any; + /** Client Address Template */ clientAddressTemplate: any; + /** Client Id */ clientId: string; + /** + * @param {ActivatedRoute} route Activated Route + * @param {ClientsService} clientService Clients Service + * @param {MatDialog} dialog Mat Dialog + */ constructor(private route: ActivatedRoute, - private clientService: ClientsService, - private dialog: MatDialog) { + private clientService: ClientsService, + private dialog: MatDialog) { this.route.data.subscribe((data: { clientAddressData: any, clientAddressFieldConfig: any, @@ -38,11 +51,10 @@ export class AddressTabComponent implements OnInit { }); } - ngOnInit() { - } - + /** + * Adds a client address. + */ addAddress() { - const data = { title: 'Add Client Address', formfields: this.getAddressFormFields('add') @@ -63,6 +75,11 @@ export class AddressTabComponent implements OnInit { }); } + /** + * Edits an existing address. + * @param {any} address Client address + * @param {number} index address index + */ editAddress(address: any, index: number) { const data = { title: 'Edit Client Address', @@ -85,7 +102,11 @@ export class AddressTabComponent implements OnInit { }); } - toogleAddress(address: any) { + /** + * Toggles address activity. + * @param {any} address Client Address + */ + toggleAddress(address: any) { const addressData = { 'addressId': address.addressId, 'isActive': address.isActive ? false : true @@ -95,14 +116,28 @@ export class AddressTabComponent implements OnInit { }); } + /** + * Checks if field is enabled in address config. + * @param {any} fieldName Field Name + */ isFieldEnabled(fieldName: any) { return (this.clientAddressFieldConfig.find((fieldObj: any) => fieldObj.field === fieldName)).is_enabled; } + /** + * Find Pipe doesn't work with accordian + * @param {any} fieldName Field Name + * @param {any} fieldId Field Id + */ getSelectedValue(fieldName: any, fieldId: any) { return (this.clientAddressTemplate[fieldName].find((fieldObj: any) => fieldObj.id === fieldId)); } + /** + * Returns address form fields for form dialog. + * @param {string} formType Form Type + * @param {any} address Address + */ getAddressFormFields(formType?: string, address?: any) { let formfields: FormfieldBase[] = []; if (formType === 'add') { diff --git a/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.html b/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.html index abfbd971e..6d703d968 100644 --- a/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.html +++ b/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.html @@ -1,34 +1,38 @@ -
+
-
+ -
+ - - Amount - - - Amount is required - - +
+ + + Amount + + + Amount is required + + + + + Transaction date + + + + + Transaction date is required + + + +
+ +
+ + +
+ + - - Transaction date - - - - - Transaction date is required - - - -
- -
- - -
- - +
diff --git a/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.scss b/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.scss index 71a761bce..d774f68da 100644 --- a/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.scss +++ b/src/app/clients/clients-view/charges/client-pay-charges/client-pay-charges.component.scss @@ -1,4 +1,3 @@ -.tab-container { - padding: 1%; - margin: 1%; +.container { + max-width: 37rem; } diff --git a/src/app/clients/clients-view/charges/view-charge/view-charge.component.html b/src/app/clients/clients-view/charges/view-charge/view-charge.component.html index a40b11fd6..005f384e7 100644 --- a/src/app/clients/clients-view/charges/view-charge/view-charge.component.html +++ b/src/app/clients/clients-view/charges/view-charge/view-charge.component.html @@ -1,9 +1,9 @@
- - diff --git a/src/app/clients/clients-view/client-actions/accept-client-transfer/accept-client-transfer.component.ts b/src/app/clients/clients-view/client-actions/accept-client-transfer/accept-client-transfer.component.ts index 289a3baaa..e7d530101 100644 --- a/src/app/clients/clients-view/client-actions/accept-client-transfer/accept-client-transfer.component.ts +++ b/src/app/clients/clients-view/client-actions/accept-client-transfer/accept-client-transfer.component.ts @@ -40,14 +40,14 @@ export class AcceptClientTransferComponent implements OnInit { } /** - * Creates the accept-approval savings form. + * Creates the accept client transfer form. */ ngOnInit() { this.createAcceptClientTransferForm(); } /** - * Creates the accept-approval savings account form. + * Creates the accept client transfer form. */ createAcceptClientTransferForm() { this.acceptClientTransferForm = this.formBuilder.group({ diff --git a/src/app/clients/clients-view/client-actions/activate-client/activate-client.component.ts b/src/app/clients/clients-view/client-actions/activate-client/activate-client.component.ts index dcc1666c7..0f42a484e 100644 --- a/src/app/clients/clients-view/client-actions/activate-client/activate-client.component.ts +++ b/src/app/clients/clients-view/client-actions/activate-client/activate-client.component.ts @@ -23,7 +23,7 @@ export class ActivateClientComponent implements OnInit { maxDate = new Date(); /** Activate client form. */ activateClientForm: FormGroup; - /** Client Account Id */ + /** Client Id */ clientId: any; /** diff --git a/src/app/clients/clients-view/client-actions/client-assign-staff/client-assign-staff.component.ts b/src/app/clients/clients-view/client-actions/client-assign-staff/client-assign-staff.component.ts index 86f39aad8..8a2e53a49 100644 --- a/src/app/clients/clients-view/client-actions/client-assign-staff/client-assign-staff.component.ts +++ b/src/app/clients/clients-view/client-actions/client-assign-staff/client-assign-staff.component.ts @@ -18,7 +18,7 @@ export class ClientAssignStaffComponent implements OnInit { /** Client Assign Staff form. */ clientAssignStaffForm: FormGroup; - /** Field Officer Data */ + /** Staff Data */ staffData: any; /** Client Data */ clientData: any; diff --git a/src/app/clients/clients-view/client-actions/close-client/close-client.component.ts b/src/app/clients/clients-view/client-actions/close-client/close-client.component.ts index ebfa0821f..826d4bde1 100644 --- a/src/app/clients/clients-view/client-actions/close-client/close-client.component.ts +++ b/src/app/clients/clients-view/client-actions/close-client/close-client.component.ts @@ -21,7 +21,7 @@ export class CloseClientComponent implements OnInit { minDate = new Date(2000, 0, 1); /** Maximum date allowed. */ maxDate = new Date(); - /** Close Share Account form. */ + /** Close Client form. */ closeClientForm: FormGroup; /** Client Data */ closureData: any; diff --git a/src/app/clients/clients-view/client-actions/reject-client-transfer/reject-client-transfer.component.ts b/src/app/clients/clients-view/client-actions/reject-client-transfer/reject-client-transfer.component.ts index daf5b5ba9..4ed7eb4cc 100644 --- a/src/app/clients/clients-view/client-actions/reject-client-transfer/reject-client-transfer.component.ts +++ b/src/app/clients/clients-view/client-actions/reject-client-transfer/reject-client-transfer.component.ts @@ -16,7 +16,7 @@ import { ClientsService } from 'app/clients/clients.service'; }) export class RejectClientTransferComponent implements OnInit { - /** Reject Approval Savings Account form. */ + /** Reject Client Transfer form. */ rejectClientTransferForm: FormGroup; /** Client Id */ clientId: any; @@ -39,15 +39,12 @@ export class RejectClientTransferComponent implements OnInit { this.clientId = this.route.parent.snapshot.params['clientId']; } - /** - * Creates the reject-approval savings form. - */ ngOnInit() { this.createRejectClientTransferForm(); } /** - * Creates the reject-approval savings account form. + * Creates the reject client transfer form. */ createRejectClientTransferForm() { this.rejectClientTransferForm = this.formBuilder.group({ diff --git a/src/app/clients/clients-view/client-actions/take-survey/take-survey.component.ts b/src/app/clients/clients-view/client-actions/take-survey/take-survey.component.ts index 4724211f7..d5c89b99a 100644 --- a/src/app/clients/clients-view/client-actions/take-survey/take-survey.component.ts +++ b/src/app/clients/clients-view/client-actions/take-survey/take-survey.component.ts @@ -1,10 +1,11 @@ /** Angular Imports */ -import { Component, OnInit } from '@angular/core'; +import { Component } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; /** Custom Services */ import { ClientsService } from '../../../clients.service'; import { AuthenticationService } from '../../../../core/authentication/authentication.service'; + /** * Take Survey Component */ @@ -13,7 +14,7 @@ import { AuthenticationService } from '../../../../core/authentication/authentic templateUrl: './take-survey.component.html', styleUrls: ['./take-survey.component.scss'] }) -export class TakeSurveyComponent implements OnInit { +export class TakeSurveyComponent { /** List of all Survey Data */ allSurveyData: any; @@ -38,7 +39,10 @@ export class TakeSurveyComponent implements OnInit { /** * Retrieves the survey data from `resolve`. - * @param {ActivatedRoute} route Activated Route. + * @param {ActivatedRoute} route Activated Route + * @param {ClientsService} clientsService ClientsService + * @param {Router} router Router + * @param {AuthenticationService} authenticationService AuthenticationService */ constructor(private route: ActivatedRoute, private clientsService: ClientsService, @@ -48,15 +52,12 @@ export class TakeSurveyComponent implements OnInit { this.allSurveyData = data.clientActionData; this.clientId = this.route.parent.parent.snapshot.paramMap.get('clientId'); }); - /** Retrieves User ID */ const savedCredentials = this.authenticationService.getCredentials(); this.userId = savedCredentials.userId; } - ngOnInit() { - } - + // TODO: document the function onSurveyChange(resEvent: any) { if (resEvent.value) { this.surveyData = resEvent.value; @@ -68,6 +69,7 @@ export class TakeSurveyComponent implements OnInit { } } + // TODO: document the function groupBy(array: any, func: any) { const groups = {}; array.forEach((ele: any) => { @@ -80,6 +82,24 @@ export class TakeSurveyComponent implements OnInit { }); } + + /** + * Checks if there is any response or not from the user and enables the submit button accordingly + */ + isAnyResponse(): boolean { + if (this.surveyData) { + this.surveyData.questionDatas.forEach((element: any) => { + if (element.answer) { + return false; + } + }); + } + return true; + } + + /** + * Submits the user survey response. + */ submit() { this.formData = { userId: 0, @@ -109,24 +129,9 @@ export class TakeSurveyComponent implements OnInit { this.formData.scorecardValues.push(tmp); } }); - - // Submits the user survey response this.clientsService.createNewSurvey(this.surveyData.id, this.formData).subscribe(() => { this.router.navigate(['../'], { relativeTo: this.route }); - }); } - // Checks if there is any response or not from the user and enables the submit button accordingly - isAnyResponse(): boolean { - if (this.surveyData) { - this.surveyData.questionDatas.forEach((element: any) => { - if (element.answer) { - return false; - } - }); - } - return true; - } - } diff --git a/src/app/clients/clients-view/client-actions/undo-client-transfer/undo-client-transfer.component.ts b/src/app/clients/clients-view/client-actions/undo-client-transfer/undo-client-transfer.component.ts index 2369a73cf..463df9da3 100644 --- a/src/app/clients/clients-view/client-actions/undo-client-transfer/undo-client-transfer.component.ts +++ b/src/app/clients/clients-view/client-actions/undo-client-transfer/undo-client-transfer.component.ts @@ -16,7 +16,7 @@ import { ClientsService } from 'app/clients/clients.service'; }) export class UndoClientTransferComponent implements OnInit { - /** Undo Approval Savings Account form. */ + /** Undo Client Transfer form. */ undoClientTransferForm: FormGroup; /** Client Id */ clientId: any; @@ -40,14 +40,14 @@ export class UndoClientTransferComponent implements OnInit { } /** - * Creates the undo-approval savings form. + * Creates the undo client transfer form. */ ngOnInit() { this.createUndoClientTransferForm(); } /** - * Creates the undo-approval savings account form. + * Creates the undo client transfer form. */ createUndoClientTransferForm() { this.undoClientTransferForm = this.formBuilder.group({ diff --git a/src/app/clients/clients-view/client-actions/update-client-savings-account/update-client-savings-account.component.ts b/src/app/clients/clients-view/client-actions/update-client-savings-account/update-client-savings-account.component.ts index 0abd51263..1b7e4bb7f 100644 --- a/src/app/clients/clients-view/client-actions/update-client-savings-account/update-client-savings-account.component.ts +++ b/src/app/clients/clients-view/client-actions/update-client-savings-account/update-client-savings-account.component.ts @@ -18,7 +18,7 @@ export class UpdateClientSavingsAccountComponent implements OnInit { /** Client Update Savings Account form. */ clientSavingsAccountForm: FormGroup; - /** Savings Accounts Officer Data */ + /** Savings Accounts Data */ savingsAccounts: any; /** Client Data */ clientData: any; @@ -39,9 +39,6 @@ export class UpdateClientSavingsAccountComponent implements OnInit { }); } - /** - * Creates the client update savings account form. - */ ngOnInit() { this.savingsAccounts = this.clientData.savingAccountOptions; this.createClientSavingsAccountForm(); diff --git a/src/app/clients/clients-view/clients-view.component.html b/src/app/clients/clients-view/clients-view.component.html index 06a42de63..2fc184f02 100644 --- a/src/app/clients/clients-view/clients-view.component.html +++ b/src/app/clients/clients-view/clients-view.component.html @@ -10,13 +10,13 @@ [src]="(clientImage)?clientImage:'assets/images/user_placeholder.png'">
- - -
@@ -54,7 +54,7 @@ - + @@ -65,8 +65,8 @@ - - + + - + @@ -90,22 +90,23 @@ Assign Staff - - + - - - + + + + @@ -127,20 +128,23 @@ Family Members + [active]="identities.isActive" *mifosxHasPermission="'READ_CLIENTIDENTIFIER'"> Identities + [active]="documents.isActive" *mifosxHasPermission="'READ_DOCUMENT'"> Documents - + Notes - - {{clientDatatable.registeredTableName}} - + + + {{clientDatatable.registeredTableName}} + + diff --git a/src/app/clients/clients-view/custom-dialogs/capture-image-dialog/capture-image-dialog.component.html b/src/app/clients/clients-view/custom-dialogs/capture-image-dialog/capture-image-dialog.component.html index 5bc3bd597..1380429f7 100644 --- a/src/app/clients/clients-view/custom-dialogs/capture-image-dialog/capture-image-dialog.component.html +++ b/src/app/clients/clients-view/custom-dialogs/capture-image-dialog/capture-image-dialog.component.html @@ -4,9 +4,11 @@ - + + -

+ +

diff --git a/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.html b/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.html index 75339a241..0bf688911 100644 --- a/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.html +++ b/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.html @@ -98,6 +98,7 @@
+
diff --git a/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts b/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts index 9a425fab1..9e3c51b6e 100644 --- a/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts +++ b/src/app/clients/clients-view/family-members-tab/add-family-member/add-family-member.component.ts @@ -1,3 +1,4 @@ +/** Angular Imports */ import { Component, OnInit } from '@angular/core'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { Router, ActivatedRoute } from '@angular/router'; @@ -6,13 +7,16 @@ import { DatePipe } from '@angular/common'; /** Custom Services */ import { ClientsService } from '../../../clients.service'; - +/** + * Add Family Member Component + */ @Component({ selector: 'mifosx-add-family-member', templateUrl: './add-family-member.component.html', styleUrls: ['./add-family-member.component.scss'] }) export class AddFamilyMemberComponent implements OnInit { + /** Minimum Due Date allowed. */ minDate = new Date(2000, 0, 1); /** Maximum Due Date allowed. */ @@ -21,12 +25,21 @@ export class AddFamilyMemberComponent implements OnInit { addFamilyMemberForm: FormGroup; /** Add family member template. */ addFamilyMemberTemplate: any; + /** Client ID */ clientId: any; + + /** + * @param {FormBuilder} formBuilder FormBuilder + * @param {DatePipe} datePipe Date Pipe + * @param {Router} router Router + * @param {Route} route Route + * @param {ClientsService} clientsService Clients Service + */ constructor(private formBuilder: FormBuilder, - private datePipe: DatePipe, - private router: Router, - private route: ActivatedRoute, - private clientsService: ClientsService) { + private datePipe: DatePipe, + private router: Router, + private route: ActivatedRoute, + private clientsService: ClientsService) { this.route.data.subscribe((data: { clientTemplate: any }) => { this.addFamilyMemberTemplate = data.clientTemplate.familyMemberOptions; }); @@ -36,10 +49,11 @@ export class AddFamilyMemberComponent implements OnInit { ngOnInit() { this.createAddFamilyMemberForm(); - } - + /** + * Creates the add family member form + */ createAddFamilyMemberForm() { this.addFamilyMemberForm = this.formBuilder.group({ 'firstName': ['', Validators.required], @@ -56,6 +70,9 @@ export class AddFamilyMemberComponent implements OnInit { }); } + /** + * Submits the form and adds the family member + */ submit() { const prevDateOfBirth: Date = this.addFamilyMemberForm.value.dateOfBirth; // TODO: Update once language and date settings are setup @@ -69,7 +86,6 @@ export class AddFamilyMemberComponent implements OnInit { this.clientsService.addFamilyMember(this.clientId, familyMemberData).subscribe(res => { this.router.navigate(['../'], { relativeTo: this.route }); }); - } } diff --git a/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.html b/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.html index 1cf711ccb..cda9db27d 100644 --- a/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.html +++ b/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.html @@ -98,6 +98,7 @@
+
diff --git a/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.ts b/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.ts index 7ecc0f7a3..3adb73122 100644 --- a/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.ts +++ b/src/app/clients/clients-view/family-members-tab/edit-family-member/edit-family-member.component.ts @@ -1,3 +1,4 @@ +/** Angular Imports */ import { Component, OnInit } from '@angular/core'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { Router, ActivatedRoute } from '@angular/router'; @@ -6,12 +7,16 @@ import { DatePipe } from '@angular/common'; /** Custom Services */ import { ClientsService } from '../../../clients.service'; +/** + * Edit Family Member Component + */ @Component({ selector: 'mifosx-edit-family-member', templateUrl: './edit-family-member.component.html', styleUrls: ['./edit-family-member.component.scss'] }) export class EditFamilyMemberComponent implements OnInit { + /** Minimum Due Date allowed. */ minDate = new Date(2000, 0, 1); /** Maximum Due Date allowed. */ @@ -20,13 +25,21 @@ export class EditFamilyMemberComponent implements OnInit { editFamilyMemberForm: FormGroup; /** Add family member template. */ addFamilyMemberTemplate: any; + /** Family Members Details */ familyMemberDetails: any; + /** + * @param {FormBuilder} formBuilder Form Builder + * @param {DatePipe} datePipe DatePipe + * @param {Router} router Router + * @param {ActivatedRoute} route Route + * @param {ClientsService} clientsService Clients Service + */ constructor(private formBuilder: FormBuilder, - private datePipe: DatePipe, - private router: Router, - private route: ActivatedRoute, - private clientsService: ClientsService) { + private datePipe: DatePipe, + private router: Router, + private route: ActivatedRoute, + private clientsService: ClientsService) { this.route.data.subscribe((data: { clientTemplate: any, editFamilyMember: any }) => { this.addFamilyMemberTemplate = data.clientTemplate.familyMemberOptions; this.familyMemberDetails = data.editFamilyMember; @@ -35,9 +48,12 @@ export class EditFamilyMemberComponent implements OnInit { ngOnInit() { this.createEditFamilyMemberForm(this.familyMemberDetails); - } + /** + * Creates Edit Family Member Form + * @param {any} familyMember Family Member + */ createEditFamilyMemberForm(familyMember: any) { this.editFamilyMemberForm = this.formBuilder.group({ 'firstName': [familyMember.firstName, Validators.required], @@ -54,6 +70,9 @@ export class EditFamilyMemberComponent implements OnInit { }); } + /** + * Submits the form and updates the client family member. + */ submit() { const prevDateOfBirth: Date = this.editFamilyMemberForm.value.dateOfBirth; // TODO: Update once language and date settings are setup @@ -67,6 +86,6 @@ export class EditFamilyMemberComponent implements OnInit { this.clientsService.editFamilyMember(this.familyMemberDetails.clientId, this.familyMemberDetails.id, familyMemberData).subscribe(res => { this.router.navigate(['../../'], { relativeTo: this.route }); }); - } + } diff --git a/src/app/clients/clients-view/family-members-tab/family-members-tab.component.html b/src/app/clients/clients-view/family-members-tab/family-members-tab.component.html index 2b1c7d6f5..f0dad409d 100644 --- a/src/app/clients/clients-view/family-members-tab/family-members-tab.component.html +++ b/src/app/clients/clients-view/family-members-tab/family-members-tab.component.html @@ -1,13 +1,19 @@
+ +

Family Members

+
+ + + {{member.firstName+' '+member.middleName+' '+member.lastName}} @@ -16,7 +22,9 @@ {{member.relationship}} + +
-
+

First Name : {{member.firstName}}
Middle Name : {{member.middleName}}
@@ -43,5 +51,7 @@ + -

\ No newline at end of file + +
diff --git a/src/app/clients/clients-view/family-members-tab/family-members-tab.component.ts b/src/app/clients/clients-view/family-members-tab/family-members-tab.component.ts index c6c7a8fb8..0012e4c72 100644 --- a/src/app/clients/clients-view/family-members-tab/family-members-tab.component.ts +++ b/src/app/clients/clients-view/family-members-tab/family-members-tab.component.ts @@ -1,5 +1,6 @@ -import { Component, OnInit } from '@angular/core'; -import { Router, ActivatedRoute } from '@angular/router'; +/** Angular Imports */ +import { Component } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; import { MatDialog } from '@angular/material'; /** Custom Components */ @@ -8,25 +9,32 @@ import { DeleteDialogComponent } from '../../../shared/delete-dialog/delete-dial /** 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 implements OnInit { +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 router: Router, - private clientsService: ClientsService, - public dialog: MatDialog) { + private clientsService: ClientsService, + public dialog: MatDialog) { this.route.data.subscribe((data: { clientFamilyMembers: any }) => { this.clientFamilyMembers = data.clientFamilyMembers; }); } - ngOnInit() { - } - /** * Deletes the family member and redirects to family members tab. */ diff --git a/src/app/clients/clients-view/general-tab/general-tab.component.html b/src/app/clients/clients-view/general-tab/general-tab.component.html index 6d62481e7..703af8caf 100644 --- a/src/app/clients/clients-view/general-tab/general-tab.component.html +++ b/src/app/clients/clients-view/general-tab/general-tab.component.html @@ -1,4 +1,5 @@
+

Performance History

@@ -13,26 +14,26 @@

- -
+
-
+

Upcoming Charges

-
+ @@ -45,6 +46,7 @@ + @@ -55,22 +57,20 @@ - - @@ -79,13 +79,13 @@ +
Name + [ngClass]="(!(element.isWaived || element.isPaid)) | statusLookup"> {{element.name}} Due {{element.amount}} Paid {{element.amountPaid}} {{element.amountWaived}} Outstanding {{element.amountOutstanding}} Actions
- -
+
-
+

Loan Accounts

@@ -96,6 +96,7 @@
+ @@ -125,7 +126,6 @@ - - +
{{element.accountBalance}} Type @@ -133,7 +133,6 @@ Actions @@ -168,6 +167,7 @@
@@ -190,6 +190,7 @@ Original Loan {{element.lastActiveTransactionDate | date}} + Loan Balance {{element.loanBalance}} @@ -200,7 +201,6 @@ {{element.accountBalance}} - Type @@ -216,13 +216,13 @@ + - -
+
-
+

Saving Accounts

@@ -289,6 +289,7 @@ + @@ -314,13 +315,13 @@ + - -
+
-
+

Fixed Deposit Accounts

@@ -331,6 +332,7 @@
+ @@ -378,6 +380,7 @@ +
@@ -404,12 +407,13 @@ + -
+
-
+

Recurring Deposit Accounts

@@ -468,16 +472,15 @@ - + - @@ -503,9 +506,9 @@
-
+
-
+

Shares Accounts

@@ -556,13 +559,14 @@ - + + @@ -594,6 +598,7 @@ +
diff --git a/src/app/clients/clients-view/general-tab/general-tab.component.scss b/src/app/clients/clients-view/general-tab/general-tab.component.scss index 482461bff..716347d60 100644 --- a/src/app/clients/clients-view/general-tab/general-tab.component.scss +++ b/src/app/clients/clients-view/general-tab/general-tab.component.scss @@ -29,11 +29,11 @@ } -.headingContent{ +.heading-content { margin-bottom: 1%; margin-top: 1%; } -.headingName { +.heading-name { display: block; } diff --git a/src/app/clients/clients-view/general-tab/general-tab.component.ts b/src/app/clients/clients-view/general-tab/general-tab.component.ts index 49fec3c01..c3a042e2b 100644 --- a/src/app/clients/clients-view/general-tab/general-tab.component.ts +++ b/src/app/clients/clients-view/general-tab/general-tab.component.ts @@ -1,7 +1,6 @@ /** Angular Imports */ import { Component, OnInit } from '@angular/core'; import { Router, ActivatedRoute } from '@angular/router'; -import { DatePipe } from '@angular/common'; /** Custom Services. */ import { ClientsService } from 'app/clients/clients.service'; @@ -15,27 +14,54 @@ import { ClientsService } from 'app/clients/clients.service'; styleUrls: ['./general-tab.component.scss'] }) export class GeneralTabComponent { + + /** Open Loan Accounts Columns */ openLoansColumns: string[] = ['Account No', 'Loan Account', 'Original Loan', 'Loan Balance', 'Amount Paid', 'Type', 'Actions']; + /** Closed Loan Accounts Columns */ closedLoansColumns: string[] = ['Account No', 'Loan Account', 'Original Loan', 'Loan Balance', 'Amount Paid', 'Type', 'Closed Date']; + /** Open Savings Accounts Columns */ openSavingsColumns: string[] = ['Account No', 'Saving Account', 'Last Active', 'Balance', 'Actions']; + /** Closed Savings Accounts Columns */ closedSavingsColumns: string[] = ['Account No', 'Saving Account', 'Closed Date']; + /** Open Shares Accounts Columns */ openSharesColumns: string[] = ['Account No', 'Share Account', 'Approved Shares', 'Pending For Approval Shares', 'Actions']; + /** Closed Shares Accounts Columns */ closedSharesColumns: string[] = ['Account No', 'Share Account', 'Approved Shares', 'Pending For Approval Shares', 'Closed Date']; + /** Upcoming Charges Columns */ upcomingChargesColumns: string[] = ['Name', 'Due as of', 'Due', 'Paid', 'Waived', 'Outstanding', 'Actions']; + + /** Client Account Data */ clientAccountData: any; + /** Loan Accounts Data */ loanAccounts: any; + /** Savings Accounts Data */ savingAccounts: any; + /** Shares Accounts Data */ shareAccounts: any; + /** Upcoming Charges Data */ upcomingCharges: any; + /** Client Summary Data */ clientSummary: any; + + /** Show Closed Loan Accounts */ showClosedLoanAccounts = false; + /** Show Closed Saving Accounts */ showClosedSavingAccounts = false; + /** Show Closed Share Accounts */ showClosedShareAccounts = false; + /** Show Closed Reccuring Deposits Accounts */ showClosedRecurringAccounts = false; + /** Show Closed Fixed Deposits Accounts */ showClosedFixedAccounts = false; + /** Client Id */ clientid: any; + /** + * @param {ActivatedRoute} route Activated Route + * @param {ClientsService} clientService Clients Service + * @param {Router} router Router + */ constructor( private route: ActivatedRoute, private clientService: ClientsService, @@ -52,21 +78,37 @@ export class GeneralTabComponent { }); } + /** + * Toggles Loan Accounts Overview + */ toggleLoanAccountsOverview() { this.showClosedLoanAccounts = !this.showClosedLoanAccounts; } + /** + * Toggles Loan Accounts Overview + */ toggleSavingAccountsOverview() { this.showClosedSavingAccounts = !this.showClosedSavingAccounts; } + + /** + * Toggles Loan Accounts Overview + */ toggleShareAccountsOverview() { this.showClosedShareAccounts = !this.showClosedShareAccounts; } + /** + * Toggles Reccuring Accounts Overview + */ toggleRecurringAccountsOverview() { this.showClosedRecurringAccounts = !this.showClosedRecurringAccounts; } + /** + * Toggles Fixed Accounts Overview + */ toggleFixedAccountsOverview() { this.showClosedFixedAccounts = !this.showClosedFixedAccounts; } @@ -93,7 +135,6 @@ export class GeneralTabComponent { }); } - /** * Stops the propagation to view pages. * @param $event Mouse Event @@ -102,6 +143,9 @@ export class GeneralTabComponent { $event.stopPropagation(); } + /** + * @param {any} loanId Loan Id + */ routeTransferFund(loanId: any) { const queryParams: any = { loanId: loanId, accountType: 'fromloans' }; this.router.navigate(['../', 'loans', loanId, 'transfer-funds', 'make-account-transfer'], { relativeTo: this.route, queryParams: queryParams }); 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 2d96cfb7a..0e21a9c06 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 @@ -1,62 +1,60 @@
- -

Identities

- + - - + + - - + + - - + + - - + + - - + + - - + + +
Id - {{identity.id}} Id {{identity.id}} Description {{identity.description}} Description {{identity.description}} type {{identity.documentType.name}} - type {{identity.documentType.name}} Identity Documents -
- {{document.name}} - -
-
Identity Documents +
+ {{document.name}} + +
+
Status - {{(identity.status==='clientIdentifierStatusType.active')?'active':'inactive'}} Status + {{(identity.status==='clientIdentifierStatusType.active')?'active':'inactive'}} + Actions - - - Actions + + +
\ No newline at end of file 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 fffdae4ae..4c291f43c 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 @@ -1,7 +1,10 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; +/** Angular Imports */ +import { Component, ViewChild } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { MatTable } from '@angular/material/table'; import { MatDialog } from '@angular/material'; + +/** Custom Models */ import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base'; import { InputBase } from 'app/shared/form-dialog/formfield/model/input-base'; import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base'; @@ -14,22 +17,36 @@ import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.componen /** Custom Services */ import { ClientsService } from '../../clients.service'; +/** + * Identities Tab Component + */ @Component({ selector: 'mifosx-identities-tab', templateUrl: './identities-tab.component.html', styleUrls: ['./identities-tab.component.scss'] }) -export class IdentitiesTabComponent implements OnInit { +export class IdentitiesTabComponent { - @ViewChild('identifiersTable') identifiersTable: MatTable; - identitiesColumns: string[] = ['id', 'description', 'type', 'documents', 'status', 'actions']; + /** Client Identities */ clientIdentities: any; + /** Client Identifier Template */ clientIdentifierTemplate: any; + /** Client Id */ clientId: string; + /** Identities Columns */ + identitiesColumns: string[] = ['id', 'description', 'type', 'documents', 'status', 'actions']; + /** Identifiers Table */ + @ViewChild('identifiersTable') identifiersTable: MatTable; + + /** + * @param {ActivatedRoute} route Activated Route + * @param {MatDialog} dialog Mat Dialog + * @param {ClientsService} clientService Clients Service + */ constructor(private route: ActivatedRoute, - public dialog: MatDialog, - private clientService: ClientsService) { + public dialog: MatDialog, + private clientService: ClientsService) { this.clientId = this.route.parent.snapshot.paramMap.get('clientId'); this.route.data.subscribe((data: { clientIdentities: any, clientIdentifierTemplate: any }) => { this.clientIdentities = data.clientIdentities; @@ -37,8 +54,11 @@ export class IdentitiesTabComponent implements OnInit { }); } - ngOnInit() { } - + /** + * Download Client Document + * @param {string} parentEntityId Parent Entity Id + * @param {string} documentId Document ID + */ download(parentEntityId: string, documentId: string) { this.clientService.downloadClientIdentificationDocument(parentEntityId, documentId).subscribe(res => { const url = window.URL.createObjectURL(res); @@ -46,6 +66,9 @@ export class IdentitiesTabComponent implements OnInit { }); } + /** + * Add Client Identifier + */ addIdentifier() { const formfields: FormfieldBase[] = [ new SelectBase({ @@ -103,6 +126,12 @@ export class IdentitiesTabComponent implements OnInit { }); } + /** + * Delete Client Identifier + * @param {string} clientId Client Id + * @param {string} identifierId Identifier Id + * @param {number} index Index + */ deleteIdentifier(clientId: string, identifierId: string, index: number) { const deleteIdentifierDialogRef = this.dialog.open(DeleteDialogComponent, { data: { deleteContext: `identifier id:${identifierId}` } @@ -117,6 +146,11 @@ export class IdentitiesTabComponent implements OnInit { }); } + /** + * Upload Document + * @param {number} index Index + * @param {string} identifierId Identifier Id + */ uploadDocument(index: number, identifierId: string) { const uploadDocumentDialogRef = this.dialog.open(UploadDocumentDialogComponent, { data: { documentIdentifier: true } diff --git a/src/app/clients/clients-view/notes-tab/notes-tab.component.html b/src/app/clients/clients-view/notes-tab/notes-tab.component.html index ca0fafd4d..e28473787 100644 --- a/src/app/clients/clients-view/notes-tab/notes-tab.component.html +++ b/src/app/clients/clients-view/notes-tab/notes-tab.component.html @@ -1,17 +1,26 @@
+

Notes

+
+
+ - +
+
+ +

{{clientNote.note}}

@@ -20,13 +29,15 @@ Date: {{clientNote.createdOn | date}}

- -
+
+
\ No newline at end of file diff --git a/src/app/clients/clients-view/notes-tab/notes-tab.component.ts b/src/app/clients/clients-view/notes-tab/notes-tab.component.ts index 7bf1ccff5..b74795feb 100644 --- a/src/app/clients/clients-view/notes-tab/notes-tab.component.ts +++ b/src/app/clients/clients-view/notes-tab/notes-tab.component.ts @@ -1,3 +1,4 @@ +/** Angular Imports */ import { Component, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { MatDialog } from '@angular/material'; @@ -10,24 +11,38 @@ import { DeleteDialogComponent } from '../../../shared/delete-dialog/delete-dial import { ClientsService } from '../../clients.service'; import { EditNotesDialogComponent } from '../custom-dialogs/edit-notes-dialog/edit-notes-dialog.component'; +/** + * Notes Tab Component + */ @Component({ selector: 'mifosx-notes-tab', templateUrl: './notes-tab.component.html', styleUrls: ['./notes-tab.component.scss'] }) export class NotesTabComponent implements OnInit { + + /** Client ID */ clientId: string; + /** Username */ username: string; + /** Client Notes */ clientNotes: any; + /** Note Form */ noteForm: FormGroup; + + /** Notes Form Reference */ @ViewChild('formRef') formRef: any; - + /** + * @param {ActivatedRoute} route Activated Route + * @param {FormBuilder} formBuilder Form Builder + * @param {ClientsService} clientsService Clients Service + * @param {MatDialog} dialog Mat Dialog + */ constructor(private route: ActivatedRoute, - private formBuilder: FormBuilder, - private clientsService: ClientsService, - public dialog: MatDialog) { - + private formBuilder: FormBuilder, + private clientsService: ClientsService, + public dialog: MatDialog) { this.username = JSON.parse(sessionStorage.getItem('mifosXCredentials')).username; this.clientId = this.route.parent.snapshot.params['clientId']; this.route.data.subscribe((data: { clientNotes: any }) => { @@ -39,24 +54,21 @@ export class NotesTabComponent implements OnInit { this.createNoteForm(); } + /** + * Creates the note form + */ createNoteForm() { this.noteForm = this.formBuilder.group({ 'note': ['', Validators.required] }); } - submit() { - this.clientsService.createClientNote(this.clientId, this.noteForm.value).subscribe((response: any) => { - this.clientNotes.push({ - id: response.resourceId, - createdByUsername: this.username, - createdOn: new Date(), - note: this.noteForm.value.note - }); - this.formRef.resetForm(); - }); - } - + /** + * Edits a client note. + * @param {string} noteId Note Id + * @param {string} noteContent Note Content + * @param {number} index Index + */ editNote(noteId: string, noteContent: string, index: number) { const editNoteDialogRef = this.dialog.open(EditNotesDialogComponent, { data: { noteContent: noteContent } @@ -70,8 +82,11 @@ export class NotesTabComponent implements OnInit { }); } - - + /** + * Deletes a client note. + * @param {string} noteId Note Id + * @param {number} index Index + */ deleteNote(noteId: string, index: number) { const deleteNoteDialogRef = this.dialog.open(DeleteDialogComponent, { data: { deleteContext: `Note id:${noteId}` } @@ -86,4 +101,19 @@ export class NotesTabComponent implements OnInit { }); } + /** + * Creates a client note. + */ + submit() { + this.clientsService.createClientNote(this.clientId, this.noteForm.value).subscribe((response: any) => { + this.clientNotes.push({ + id: response.resourceId, + createdByUsername: this.username, + createdOn: new Date(), + note: this.noteForm.value.note + }); + this.formRef.resetForm(); + }); + } + } diff --git a/src/app/clients/clients.component.html b/src/app/clients/clients.component.html index 58efe9bbc..5e232a622 100644 --- a/src/app/clients/clients.component.html +++ b/src/app/clients/clients.component.html @@ -8,10 +8,10 @@
- -