import { Section } from "../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; } }