26 lines
932 B
TypeScript
26 lines
932 B
TypeScript
import { JsonSerializer } from '../../utilities/JsonSerializer';
|
|
import { DataField } from './DataField';
|
|
import { ListingItem } from '../Commons/ListingItem';
|
|
import { FormGroup } from '@angular/forms'
|
|
|
|
export class RadioBoxData extends DataField<RadioBoxData>{
|
|
public options:Array<ListingItem>;
|
|
|
|
buildForm():FormGroup{
|
|
let formGroup = this.formBuilder.group({});
|
|
let optionsFormArray = new Array<FormGroup>();
|
|
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):RadioBoxData{
|
|
this.options = new JsonSerializer<ListingItem>().fromJSONArray(item.options,ListingItem);
|
|
return this;
|
|
}
|
|
} |