import { FormGroup } from '@angular/forms'; import { Component, Input, OnInit } from '@angular/core'; import { RadioBoxData } from '../../../models/DataField/RadioBoxData'; import { FormArray } from '@angular/forms'; import { ListingItem } from '../../../models/Common/ListingItem'; import { JsonSerializer } from '../../../utilities/JsonSerializer'; import { Field } from '../../../models/datasetProfileAdmin/Field'; @Component({ selector: 'radiobox-component', templateUrl: './radiobox-component.html' }) export class RadioBoxComponent implements OnInit { @Input() dataModel: Field; @Input() form: FormGroup; private data: RadioBoxData = new RadioBoxData(); private options = new Array(); ngOnInit() { //if (this.form.get("data")) this.form.removeControl("data"); if (!this.form.get("data")) this.form.addControl("data", this.data.buildForm()); if (!this.dataModel.data) this.addNewRow(); } addNewRow() { let radioListOptions: ListingItem = new ListingItem(); (this.form.get("data").get("options")).push(radioListOptions.buildForm()); this.data.options = []; this.data.options.push(radioListOptions); this.dataModel.data = JsonSerializer.fromJSONObject(this.data, RadioBoxData); } }