import { Section } from "@app/models/Section"; import { BaseModel } from './BaseModel'; import { FormGenerator } from './interfaces/FormGenerator'; import { Serializable } from './interfaces/Serializable'; import { JsonSerializer } from '../utilities/JsonSerializer'; import { FormBuilder, FormGroup } from '@angular/forms'; export class Page extends BaseModel implements Serializable { public ordinal: number; public title: string; public sections: Array
; fromJSONObject(item:any):Page{ this.ordinal = item.ordinal; this.title = item.title; this.sections = JsonSerializer.fromJSONArray(item.sections,Section); 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; } }