27 lines
1.1 KiB
TypeScript
27 lines
1.1 KiB
TypeScript
|
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<DataManagementPlanProfile>, FormGenerator<FormGroup>{
|
||
|
|
||
|
public fields: DataManagementProfileField[] = new Array<DataManagementProfileField>()
|
||
|
|
||
|
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<FormGroup>();
|
||
|
this.fields.forEach(item => {
|
||
|
let form: FormGroup = item.buildForm();
|
||
|
fieldsFormArray.push(form)
|
||
|
})
|
||
|
formGroup.addControl('fields', formBuilder.array(fieldsFormArray));
|
||
|
return formGroup;
|
||
|
}
|
||
|
}
|