From 0bb311fed59e009f1d0d47761a79d1c1c427bc7d Mon Sep 17 00:00:00 2001 From: gandhimathi Date: Fri, 7 Dec 2018 19:59:05 +0530 Subject: [PATCH] general form changes --- .../general-info/general-info.component.html | 94 ++++++- .../general-info/general-info.component.scss | 13 + .../general-info/general-info.component.ts | 253 +++++++++++++++++- .../other-applicant-details.component.html | 26 ++ .../other-applicant-details.component.scss | 6 + .../other-applicant-details.component.spec.ts | 25 ++ .../other-applicant-details.component.ts | 91 +++++++ .../list-pd/start-pd/start-pd.component.ts | 21 ++ .../manage-pd/manage-pd.module.ts | 7 +- 9 files changed, 526 insertions(+), 10 deletions(-) create mode 100644 ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.html create mode 100644 ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.scss create mode 100644 ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.spec.ts create mode 100644 ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.ts diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.html index ac0280f03..05167d934 100644 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.html @@ -1,3 +1,91 @@ -

- general-info works! -

+
+ +

+
+ {{pageTitle}} +
+
+ +
+

+ + + + Name of Person Met + + +
+
+ {{applicant.controls.applicant_name.value}} + +
+
+
+
+ + + + Applicant Details + + +
+
+ + + {{relation.controls.applicant_name.value | titlecase}} + + + + + + + + Select + + {{comrelShip.name | titlecase}} + + + + + + + Select + + + {{rel | titlecase}} + + + + + + + + Select + + {{relShip.name | titlecase}} + + + + + +
+
+ +
+ +
+ +
+ +
+ + Remarks + + +
+
+ +
+
+ + \ No newline at end of file diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.scss b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.scss index e69de29bb..d730ff59a 100644 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.scss +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.scss @@ -0,0 +1,13 @@ +.paragraph_change { + color: #e00201 !important; + } +.example-section { + height: 120px; + } + + .example-margin { + margin: 0 10px; + } + mat-form-field { + margin: 0 2%; + } \ No newline at end of file diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.ts index 4dceedc89..58a8cb794 100644 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/general-info/general-info.component.ts @@ -1,15 +1,260 @@ -import { Component, OnInit } from '@angular/core'; - +import { Component, OnInit, Input, Output, Inject } from '@angular/core'; +import { FormBuilder, FormGroup, Validators, FormControl, FormArray } from '@angular/forms'; +import { MatDialog, MatDialogRef, MAT_DIALOG_DATA , DialogPosition} from '@angular/material'; +import { NotifierService } from 'angular-notifier'; +import { PdTrigerService } from './../../../../../pd-service/pd-triger.service'; +import {OtherApplicantDetailsComponent} from './../other-applicant-details/other-applicant-details.component'; @Component({ selector: 'app-general-info', templateUrl: './general-info.component.html', - styleUrls: ['./general-info.component.scss'] + styleUrls: ['./general-info.component.scss'], }) export class GeneralInfoComponent implements OnInit { + pageTitle: string ="General Information"; + pdid : string; + form_id:number; + private notifier: NotifierService; + public _generalForm: FormGroup; + public pd_applicants_details: any; + relationShipList:any=[]; + errorMessage:any; + fetch_related_details:any=[]; - constructor() { } + constructor(notifier: NotifierService,private _fb: FormBuilder,private _pd: PdTrigerService , private dialog: MatDialog, @Inject(MAT_DIALOG_DATA) public pd_all_details: any,) { + this.pdid = this.pd_all_details.pdmaster_details.pd_id; + this.notifier = notifier; + this.form_id = 18; + this.pd_applicants_details = this.pd_all_details.pdapplicants_detials; + // push Other options to applicant details + this.pd_applicants_details.push({'pd_co_applicant_id':"0",'applicant_name':'Others', }); + } ngOnInit() { + this.initFormDetails(); + this.getMasterDetails('RELATIONSHIPS',1); + + } + // init form + initFormDetails() { + this._generalForm = this._fb.group({ + pdid:this.pdid, + formid:this.form_id, + applicant_list: this._fb.array([]), + applicant_relation: this._fb.array([]), + general_remark:'' + }); + this.loadFormData(); } +// get all master details + getMasterDetails(table:string,type:number){ + this._pd.getAllMasterDatas(table).subscribe( + data => { + if (data.status == 200) { + if(type==1){ + this.relationShipList=data.records.filter(item => item.isactive == 1); + } + + } + }, error => this.errorMessage = error); + } + + // load form data + loadFormData() { + let params: any = {}; + params.pd_id = this.pdid; + params.pd_form_id = '18'; + let applicantControl = this._generalForm.controls['applicant_list']; + let relationControl = this._generalForm.controls['applicant_relation']; + applicantControl.controls = []; + relationControl.controls = []; + let exist_data:any; + let exist_applicant_relation:any; + this._pd.retriveForm(params).subscribe(data => { + if(data.dataStatus) { + this._generalForm.controls['general_remark'].setValue(data.records.general_remark ? data.records.general_remark : ''); + + exist_data=Object.keys(data.records.selected_applicant).map(function(key) { + return data.records.selected_applicant[key].pd_co_applicant_id; + }); + exist_applicant_relation = Object.keys(data.records.applicant_relation).map(function(key) { + return data.records.applicant_relation[key]; + }); + } + else { + exist_data=[]; + exist_applicant_relation=[]; + } + //find exist and non-exist applicant details + let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id); + let checkApplicantExist =actual_applicant.map((id, index) => { + if (exist_data.indexOf(id) < 0) { + this.pd_applicants_details[index].exist_status=0; + return this.pd_applicants_details[index]; + } + else{ + this.pd_applicants_details[index].exist_status=1; + this.pd_applicants_details[index].applicant_relation_to=''; + this.pd_applicants_details[index].relation=''; + return this.pd_applicants_details[index]; + } + }).filter(item => item != undefined); + + if(checkApplicantExist.length > 0) + { + checkApplicantExist.forEach(val => { + applicantControl.push(this.createApplicant(val)); + }); + + } + if(exist_applicant_relation.length > 0){ + exist_applicant_relation.forEach(val => { + relationControl.push(this.createApplicantRelation(val)); + //push related to details + this.fetch_related_details.push(val.applicant_name); + }); + } + }, error => this.errorMessage = error); + + } + + // create applicant form array + createApplicant(elementValue:any){ + return this._fb.group({ + pd_co_applicant_id: [elementValue.pd_co_applicant_id], + applicant_name: [elementValue.applicant_name], + exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false] + }); + } + + // create applicant relation form array + createApplicantRelation(elementValue: any) { + return this._fb.group({ + pd_co_applicant_id: [elementValue.pd_co_applicant_id], + applicant_name: [elementValue.applicant_name], + company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator], + company_relationship: [elementValue.company_relationship], + applicant_relation_to: [elementValue.applicant_relation_to, Validators.required], + relationship: [elementValue.relationship], + }); + } + + // checkand un check function + checkboxChange(event, index, item) { + if(item.exist_status.value){ + if(item.pd_co_applicant_id.value==0){ + const dialogRef = this.dialog.open(OtherApplicantDetailsComponent, { + data: '', + width:'40%', + disableClose: true + }); + dialogRef.afterClosed() + .subscribe(dataresult => { + if(dataresult.data.length>0){ + let relationControl = this._generalForm.controls['applicant_relation']; + dataresult.data.forEach(element => { + let applicant_details: any= {'pd_co_applicant_id':element.pd_co_applicant_id,'applicant_name':element.applicant_name,'applicant_relation_to':'','relation':'','company_name':'','company_relation':'',}; + relationControl.push(this.createApplicantRelation(applicant_details)); + // push related to details + this.fetch_related_details.push(element.applicant_name); + }); + + } + + }); + } + else{ + let relationControl = this._generalForm.controls['applicant_relation']; + let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':'','company_relation':'',}; + relationControl.push(this.createApplicantRelation(applicant_details)); + // push related to details + this.fetch_related_details.push(item.applicant_name.value); + } + + } + else { + let relationControl = this._generalForm.controls['applicant_relation']; + let pos_id = relationControl.value.map(e=> e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value); + relationControl.removeAt(pos_id); + // remove related to details + let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value); + this.fetch_related_details.splice(pos_name, 1); + } + } + + // submit form details + submitGeneralForm(formData:any) { + if (this._generalForm.invalid) { + this.validateAllFormFields(this._generalForm); + return; + } + else if(formData.applicant_relation.length==0){ + this.notifier.notify('warning', 'Please Choose Name of Person Met.!'); + + } + else{ + let saveRecords:any = {} + let applicantList:any=[]; + let applicantRelationList:any=[]; + // this for applicant list for selected + formData.applicant_list.forEach((element,key) => { + if(element.exist_status==1){ + applicantList.push({ + "pd_co_applicant_id":element.pd_co_applicant_id, + "applicant_name":element.applicant_name, + }) + } + }); + // this is for selected applicant relation + formData.applicant_relation.forEach((element,key) => { + applicantRelationList.push({ + "pd_co_applicant_id":element.pd_co_applicant_id, + "applicant_name":element.applicant_name, + "company_name":element.company_name, + "company_relationship":element.company_relationship, + "applicant_relation_to":element.applicant_relation_to, + "relationship":element.relationship, + }) + }); + + saveRecords.pdid=formData.pdid; + saveRecords.formid=formData.formid; + saveRecords.general_remark=formData.general_remark; + saveRecords.selected_applicant=applicantList; + saveRecords.applicant_relation=applicantRelationList; + this._pd.savePDFormDetailsWithID(saveRecords).subscribe( + dataresult => { + if (dataresult.status == 200) { + this.notifier.notify('success', 'General Information Updated.!'); + + } + else { + this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); + // this.errorMessage = "Some Thing Wents Wrong Try Again !"; + } + }, error => { + this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); + // this.errorMessage = "Something Wents Wrong Try Again !"; + }); + } + } + + // validate all form group and form array fields +validateAllFormFields(formGroup: any) { + Object.keys(formGroup.controls).forEach(field => { + const control = formGroup.get(field); + + if (control instanceof FormControl) { + control.markAsTouched({ onlySelf: true }); + } else if (control instanceof FormGroup) { + this.validateAllFormFields(control); + } else if (control instanceof FormArray) { + this.validateAllFormFields(control); + } + }); +} +} + + + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.html new file mode 100644 index 000000000..4d81081b0 --- /dev/null +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.html @@ -0,0 +1,26 @@ + + +

+
+ {{pageTitle}} +
+
+ +
+

+ + + + + + + + + + + + + + + + diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.scss b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.scss new file mode 100644 index 000000000..ae78439a5 --- /dev/null +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.scss @@ -0,0 +1,6 @@ +.paragraph_change { + color: #e00201 !important; + } + mat-form-field { + margin: 0 2%; + } \ No newline at end of file diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.spec.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.spec.ts new file mode 100644 index 000000000..4cbe5920b --- /dev/null +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OtherApplicantDetailsComponent } from './other-applicant-details.component'; + +describe('OtherApplicantDetailsComponent', () => { + let component: OtherApplicantDetailsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OtherApplicantDetailsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OtherApplicantDetailsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.ts new file mode 100644 index 000000000..a9c990c53 --- /dev/null +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component.ts @@ -0,0 +1,91 @@ +import { Component, OnInit, Input, Output, Inject } from '@angular/core'; +import { FormBuilder, FormGroup, Validators, FormControl, FormArray } from '@angular/forms'; +import { MatDialog, MatDialogRef, MAT_DIALOG_DATA , DialogPosition} from '@angular/material'; + +@Component({ + selector: 'app-other-applicant-details', + templateUrl: './other-applicant-details.component.html', + styleUrls: ['./other-applicant-details.component.scss'] +}) +export class OtherApplicantDetailsComponent implements OnInit { + pageTitle: string ="Add Other Applicant Details"; + public _OtherForm: FormGroup; + applicantInfo:any={'pd_co_applicant_id':"0",'applicant_name':'','company_name':''}; + + constructor(private _fb: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef) { } + + ngOnInit() { + this.initFormDetails(); + } + + // init form + initFormDetails() { + this._OtherForm = this._fb.group({ + applicant_list: this._fb.array([this.createApplicant(this.applicantInfo)]), + }); +} + +// create applicant form array +createApplicant(elementValue:any){ + return this._fb.group({ + pd_co_applicant_id: [elementValue.pd_co_applicant_id], + applicant_name: [elementValue.applicant_name, Validators.required], + //company_name:[elementValue.company_name] +}); +} + +// add more +addMoreApplicant(){ + if (this._OtherForm.invalid) { + this.validateAllFormFields(this._OtherForm); + return; + } + else{ + let relationControl = this._OtherForm.controls['applicant_list']; + relationControl.push(this.createApplicant(this.applicantInfo)); + } + +} + +// remove +removeApplicant(intex:number){ + let control = this._OtherForm.controls['applicant_list']; + control.removeAt(intex); +} + +// save applicant + saveApplicant(formData:any){ + if (this._OtherForm.invalid) { + this.validateAllFormFields(this._OtherForm); + return; + } + else{ + this.dialogRef.close({ + data:formData.applicant_list + }); + } + } + + // close dialogue + closeDialogue(){ + this.dialogRef.close({ + data:[] + }); + } + + // validate all form group and form array fields + validateAllFormFields(formGroup: any) { + Object.keys(formGroup.controls).forEach(field => { + const control = formGroup.get(field); + + if (control instanceof FormControl) { + control.markAsTouched({ onlySelf: true }); + } else if (control instanceof FormGroup) { + this.validateAllFormFields(control); + } else if (control instanceof FormArray) { + this.validateAllFormFields(control); + } + }); + } + +} diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts index 65b8f1588..b16785bbf 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/start-pd/start-pd.component.ts @@ -23,6 +23,7 @@ import {BankingDetailsComponent} from './forms/banking-details/banking-details.c import {BusinessInfoComponent} from './forms/business-info/business-info.component'; import {LenderRepresentativeComponent} from './forms/lender-representative/lender-representative.component'; import {LoanDetailsComponent} from './forms/loan-details/loan-details.component'; +import {GeneralInfoComponent} from './forms/general-info/general-info.component'; @Component({ selector: 'app-start-pd', @@ -323,6 +324,13 @@ pdFullDetails:any=[]; this.pdFullDetails = data.records + // manually push genral forms for test should remove code move + this.categoryFormButtons.unshift({ + "form_id":18, + "form_name": 'General Information', + "isAnswered":false + }) + } else{ this.pdMasterList = ""; @@ -870,6 +878,19 @@ pdFullDetails:any=[]; this.loadTemplates(this.startPD); }); } + else if(this.selectedFormsCategory.form_id==18){ + const generaldialogRef = this.dialog.open(GeneralInfoComponent, { + data: this.pdFullDetails, + position: { right: '0'}, + width:'80%', + disableClose: true + }); + generaldialogRef.afterClosed() + .subscribe(dataresult => { + // this.notifier.notify('success', 'Successfully allocated.!'); + this.loadTemplates(this.startPD); + }); + } } diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts b/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts index 4c3ee77ce..da206115a 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/manage-pd.module.ts @@ -72,6 +72,7 @@ import {RentalInfoComponent} from "./list-pd/start-pd/forms/rental-info/rental-i import { AllocationViewMoreComponent } from './list-pd/allocation-view-more/allocation-view-more.component'; import { PdRequirementComponent } from './list-pd/pd-requirement/pd-requirement.component'; import { GeneralInfoComponent } from './list-pd/start-pd/forms/general-info/general-info.component'; +import { OtherApplicantDetailsComponent } from './list-pd/start-pd/forms/other-applicant-details/other-applicant-details.component'; /** @@ -250,7 +251,7 @@ const pdCustomNotifierOptions: NotifierOptions = { // AgmCoreModule.forRoot({apiKey: 'AIzaSyBtdO5k6CRntAMJCF-H5uZjTCoSGX95cdk'}), OwlDateTimeModule, // OwlNativeDateTimeModule, // ], - declarations: [RentalInfoComponent, TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent, PdReportComponent, AssessedIncomeComponent, AllocationViewMoreComponent, PdRequirementComponent, GeneralInfoComponent], + declarations: [RentalInfoComponent, TelePdAllocationComponent, FinancialInfoComponent, BusinessInfoComponent, EmploymentInfoComponent, StockComponent, BankingDetailsComponent, ListPdComponent, FamilyDetailsComponent, AddressComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, CurrentLoanComponent, AssetsInfoComponent, LoanDetailsComponent, OtherIncomeComponent, SupplierInfoComponent, PersonalInfoComponent, LenderRepresentativeComponent, PdReportComponent, AssessedIncomeComponent, AllocationViewMoreComponent, PdRequirementComponent, GeneralInfoComponent, OtherApplicantDetailsComponent], // exports: [PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, CompletedPdComponent, QcCompletedPdComponent], // providers: [PdTrigerService, GetGeometricLocationService], @@ -282,11 +283,11 @@ const pdCustomNotifierOptions: NotifierOptions = { OwlNativeDateTimeModule, ], // declarations: [ListPdComponent, ManagePdComponent, MapPdViewComponent, AddPdComponent, ViewPdComponent, PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, InprogressPdComponent, AllPdComponent, ScheduledPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, SupplierInfoComponent, PersonalInfoComponent, AssetsInfoComponent], - exports: [PdAllocationComponent, SmartPdAllocationComponent, TelePdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, SupplierInfoComponent, PersonalInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent,RentalInfoComponent, AssessedIncomeComponent, AllocationViewMoreComponent, GeneralInfoComponent, PdRequirementComponent], + exports: [PdAllocationComponent, SmartPdAllocationComponent, TelePdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, StartPdComponent, CompletedPdComponent, QcCompletedPdComponent, ClientInfoComponent, SupplierInfoComponent, PersonalInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent,RentalInfoComponent, AssessedIncomeComponent, AllocationViewMoreComponent, GeneralInfoComponent, PdRequirementComponent, OtherApplicantDetailsComponent], providers: [PdTrigerService, GetGeometricLocationService], entryComponents: [PdAllocationComponent, SmartPdAllocationComponent, SchedulePdComponent, EditPdApplicantComponent, EditPdMasterComponent, TelePdAllocationComponent, AllocationViewMoreComponent, PersonalInfoComponent, - ClientInfoComponent, SupplierInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent,RentalInfoComponent, AssessedIncomeComponent, GeneralInfoComponent, PdRequirementComponent], + ClientInfoComponent, SupplierInfoComponent, CurrentLoanComponent, LoanDetailsComponent, OtherIncomeComponent, AssetsInfoComponent, AddressComponent, FamilyDetailsComponent, BankingDetailsComponent, StockComponent, EmploymentInfoComponent, BusinessInfoComponent, FinancialInfoComponent, LenderRepresentativeComponent,RentalInfoComponent, AssessedIncomeComponent, GeneralInfoComponent, PdRequirementComponent, OtherApplicantDetailsComponent], }) export class ManagePdModule {