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'; import { Page } from '../models/Page'; export class DatasetProfileDefinitionModel extends BaseModel implements Serializable, FormGenerator{ public status: number public pages: Array; public rules: Rule[]; //public sections:Array
fromJSONObject(item: any): DatasetProfileDefinitionModel { this.status = item.status; //this.sections = JsonSerializer.fromJSONArray(item.sections,Section); this.rules = JsonSerializer.fromJSONArray(item.rules, Rule); this.pages = JsonSerializer.fromJSONArray(item.pages, Page); return this; } buildForm(): FormGroup { let formGroup: FormGroup = new FormBuilder().group({}); let pagesFormArray = new Array(); // let sectionsFormArray = new Array(); // this.pages.forEach (page => { // page.sections.forEach(item => { // let form: FormGroup = item.buildForm(); // sectionsFormArray.push(form) // }) // }) this.pages.forEach(item => { let form: FormGroup = item.buildForm(); pagesFormArray.push(form) }) formGroup.addControl('pages', this.formBuilder.array(pagesFormArray)); return formGroup; } }