2017-12-20 17:46:52 +01:00
|
|
|
|
import { FormGroup } from '@angular/forms';
|
2018-01-03 14:43:21 +01:00
|
|
|
|
import { Field } from '../../models/DataSetProfile/Field';
|
2017-12-05 12:02:03 +01:00
|
|
|
|
import { Component, Input, OnInit } from '@angular/core';
|
2018-01-03 14:43:21 +01:00
|
|
|
|
import { RadioBoxData } from '../../models/DataField/RadioBoxData';
|
2017-12-05 12:02:03 +01:00
|
|
|
|
import { FormArray } from '@angular/forms/src/model';
|
2018-01-03 14:43:21 +01:00
|
|
|
|
import { ListingItem } from '../../models/Commons/ListingItem';
|
|
|
|
|
import { JsonSerializer } from '../../utilities/JsonSerializer';
|
2017-12-05 12:02:03 +01:00
|
|
|
|
|
|
|
|
|
@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<ListingItem>();
|
|
|
|
|
|
|
|
|
|
ngOnInit(){
|
2018-01-22 15:28:33 +01:00
|
|
|
|
//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();
|
2017-12-05 12:02:03 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
addNewRow(){
|
|
|
|
|
let radioListOptions:ListingItem = new ListingItem();
|
|
|
|
|
(<FormArray>this.form.get("data").get("options")).push(radioListOptions.buildForm());
|
|
|
|
|
this.data.options = [];
|
|
|
|
|
this.data.options.push(radioListOptions);
|
2018-02-01 15:04:36 +01:00
|
|
|
|
this.dataModel.data = JsonSerializer.fromJSONObject(this.data,RadioBoxData);
|
2017-12-05 12:02:03 +01:00
|
|
|
|
}
|
|
|
|
|
}
|