import { Rule } from './Rule'; import { BaseModel } from './BaseModel'; import { FormBuilder, FormGroup } from '@angular/forms'; import { FormGenerator } from './interfaces/FormGenerator'; import { JsonSerializer } from '../utilities/JsonSerializer'; import { Section } from './Section'; import { Serializable } from './interfaces/Serializable'; export class DatasetProfileDefinitionModel extends BaseModel implements Serializable,FormGenerator{ public status:number public rules:Rule[]; public sections:Array
fromJSONObject(item:any):DatasetProfileDefinitionModel{ this.status = item.status; this.sections = new JsonSerializer
().fromJSONArray(item.sections,Section); this.rules = new JsonSerializer().fromJSONArray(item.rules,Rule); return this; } buildForm():FormGroup{ let formGroup:FormGroup = new FormBuilder().group({}); let sectionsFormArray = new Array(); this.sections.forEach(item => { let form: FormGroup = item.buildForm(); sectionsFormArray.push(form) }) formGroup.addControl('sections', this.formBuilder.array(sectionsFormArray)); return formGroup; } }