2017-11-23 11:40:02 +01:00
|
|
|
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';
|
|
|
|
export class DatasetModel extends BaseModel implements Serializable<DatasetModel>,FormGenerator<FormGroup>{
|
2017-12-12 13:08:51 +01:00
|
|
|
public status:number
|
2017-11-23 11:40:02 +01:00
|
|
|
public sections:Array<Section>
|
|
|
|
fromJSONObject(item:any):DatasetModel{
|
2017-12-12 13:08:51 +01:00
|
|
|
this.status = item.status;
|
2017-11-23 11:40:02 +01:00
|
|
|
this.sections = new JsonSerializer<Section>().fromJSONArray(item.sections,Section);
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
|
|
|
buildForm():FormGroup{
|
|
|
|
let formGroup:FormGroup = new FormBuilder().group({});
|
|
|
|
let sectionsFormArray = new Array<FormGroup>();
|
|
|
|
this.sections.forEach(item => {
|
|
|
|
let form: FormGroup = item.buildForm();
|
|
|
|
sectionsFormArray.push(form)
|
|
|
|
})
|
|
|
|
formGroup.addControl('sections', this.formBuilder.array(sectionsFormArray));
|
|
|
|
return formGroup;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|