diff --git a/src/app/clients/client-stepper/client-general-step/client-general-step.component.ts b/src/app/clients/client-stepper/client-general-step/client-general-step.component.ts
index 59925fd45..9777df8be 100644
--- a/src/app/clients/client-stepper/client-general-step/client-general-step.component.ts
+++ b/src/app/clients/client-stepper/client-general-step/client-general-step.component.ts
@@ -1,5 +1,5 @@
/** Angular Imports */
-import { Component, OnInit, Input } from '@angular/core';
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { Dates } from 'app/core/utils/dates';
@@ -16,6 +16,8 @@ import { SettingsService } from 'app/settings/settings.service';
})
export class ClientGeneralStepComponent implements OnInit {
+ @Output() legalFormChangeEvent = new EventEmitter<{ legalForm: number }>();
+
/** Minimum date allowed. */
minDate = new Date(2000, 0, 1);
/** Maximum date allowed. */
@@ -104,7 +106,8 @@ export class ClientGeneralStepComponent implements OnInit {
* Adds controls conditionally.
*/
buildDependencies() {
- this.createClientForm.get('legalFormId').valueChanges.subscribe((legalFormId: any) => {
+ this.createClientForm.get('legalFormId').valueChanges.subscribe((legalFormId: number) => {
+ this.legalFormChangeEvent.emit({ legalForm: legalFormId });
if (legalFormId === 1) {
this.createClientForm.removeControl('fullname');
this.createClientForm.removeControl('clientNonPersonDetails');
diff --git a/src/app/clients/create-client/create-client.component.html b/src/app/clients/create-client/create-client.component.html
index 6db15d6ac..91ae2024f 100644
--- a/src/app/clients/create-client/create-client.component.html
+++ b/src/app/clients/create-client/create-client.component.html
@@ -26,7 +26,7 @@
GENERAL
-
+
@@ -50,7 +50,7 @@
-
+
{{datatable.registeredTableName}}
diff --git a/src/app/clients/create-client/create-client.component.ts b/src/app/clients/create-client/create-client.component.ts
index 2e0e1afeb..8caa47095 100644
--- a/src/app/clients/create-client/create-client.component.ts
+++ b/src/app/clients/create-client/create-client.component.ts
@@ -33,6 +33,9 @@ export class CreateClientComponent {
/** Get handle on dtclient tags in the template */
@ViewChildren('dtclient') clientDatatables: QueryList;
+ datatables: any = [];
+ legalFormType = 1;
+
/** Client Template */
clientTemplate: any;
/** Client Address Field Config */
@@ -52,6 +55,7 @@ export class CreateClientComponent {
this.route.data.subscribe((data: { clientTemplate: any, clientAddressFieldConfig: any }) => {
this.clientTemplate = data.clientTemplate;
this.clientAddressFieldConfig = data.clientAddressFieldConfig;
+ this.setDatatables();
});
}
@@ -94,6 +98,24 @@ export class CreateClientComponent {
return areValids;
}
+ setDatatables(): void {
+ this.datatables = [];
+ let legalFormTypeVal = 'Person';
+ if (this.legalFormType === 2) {
+ legalFormTypeVal = 'Entity';
+ }
+ this.clientTemplate.datatables.forEach((datatable: any) => {
+ if (datatable.entitySubType === legalFormTypeVal) {
+ this.datatables.push(datatable);
+ }
+ });
+ }
+
+ legalFormChange(eventData: { legalForm: number }) {
+ this.legalFormType = eventData.legalForm;
+ this.setDatatables();
+ }
+
/**
* Submits the create client form.
*/