2018-10-05 17:00:54 +02:00
|
|
|
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';
|
2018-03-28 15:24:47 +02:00
|
|
|
|
2018-10-05 17:00:54 +02:00
|
|
|
export class DataManagementPlanProfile implements Serializable<DataManagementPlanProfile>, FormGenerator<FormGroup> {
|
2018-03-28 15:24:47 +02:00
|
|
|
|
2018-10-05 17:00:54 +02:00
|
|
|
public fields: DataManagementProfileField[] = new Array<DataManagementProfileField>();
|
2018-03-28 15:24:47 +02:00
|
|
|
|
2018-10-05 17:00:54 +02:00
|
|
|
fromJSONObject(item: any): DataManagementPlanProfile {
|
|
|
|
this.fields = JsonSerializer.fromJSONArray(item.fields, DataManagementProfileField);
|
|
|
|
return this;
|
|
|
|
}
|
2018-03-28 15:24:47 +02:00
|
|
|
|
2018-10-05 17:00:54 +02:00
|
|
|
buildForm(): FormGroup {
|
|
|
|
const formBuilder = new FormBuilder();
|
|
|
|
const formGroup = formBuilder.group({});
|
|
|
|
const fieldsFormArray = new Array<FormGroup>();
|
|
|
|
this.fields.forEach(item => {
|
|
|
|
const form: FormGroup = item.buildForm();
|
|
|
|
fieldsFormArray.push(form);
|
|
|
|
});
|
|
|
|
formGroup.addControl('fields', formBuilder.array(fieldsFormArray));
|
|
|
|
return formGroup;
|
|
|
|
}
|
|
|
|
}
|