import { JsonSerializer } from '../../utilities/JsonSerializer'; import { ListingItem } from '../Common/ListingItem'; import { DataField } from './DataField'; import { FormGroup } from '@angular/forms' export class WordListData extends DataField{ public type: string; public options: Array; buildForm(): FormGroup { let formGroup = this.formBuilder.group({ type: [this.type], label: [this.label] }); let optionsFormArray = new Array(); if (this.options) { this.options.forEach(item => { let form: FormGroup = item.buildForm(); optionsFormArray.push(form) }) } formGroup.addControl('options', this.formBuilder.array(optionsFormArray)); return formGroup; } fromJSONObject(item: any): WordListData { this.type = item.type; this.options = JsonSerializer.fromJSONArray(item.options, ListingItem); this.label = item.label; return this; } }