import { DataManagementProfileField } from "./DataManagementProfileField"; import { Serializable } from "../interfaces/Serializable"; import { JsonSerializer } from "../../utilities/JsonSerializer"; import { FormGenerator } from "../interfaces/FormGenerator"; import { FormGroup, FormBuilder } from "@angular/forms"; export class DataManagementPlanProfile implements Serializable, FormGenerator{ public fields: DataManagementProfileField[] = new Array() fromJSONObject(item: any): DataManagementPlanProfile { this.fields = JsonSerializer.fromJSONArray(item.fields, DataManagementProfileField); return this; } buildForm(): FormGroup { let formBuilder = new FormBuilder(); let formGroup = formBuilder.group({}); let fieldsFormArray = new Array(); this.fields.forEach(item => { let form: FormGroup = item.buildForm(); fieldsFormArray.push(form) }) formGroup.addControl('fields', formBuilder.array(fieldsFormArray)); return formGroup; } }