2017-12-22 14:42:47 +01:00
|
|
|
import { Rule } from './Rule';
|
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';
|
2018-01-19 14:56:27 +01:00
|
|
|
import { Page } from '@app/models/Page';
|
|
|
|
export class DatasetProfileDefinitionModel extends BaseModel implements Serializable<DatasetProfileDefinitionModel>, FormGenerator<FormGroup>{
|
|
|
|
public status: number
|
|
|
|
public pages: Array<Page>;
|
|
|
|
public rules: Rule[];
|
|
|
|
//public sections:Array<Section>
|
|
|
|
fromJSONObject(item: any): DatasetProfileDefinitionModel {
|
2017-12-12 13:08:51 +01:00
|
|
|
this.status = item.status;
|
2018-01-19 14:56:27 +01:00
|
|
|
//this.sections = JsonSerializer.fromJSONArray(item.sections,Section);
|
|
|
|
this.rules = JsonSerializer.fromJSONArray(item.rules, Rule);
|
|
|
|
this.pages = JsonSerializer.fromJSONArray(item.pages, Page);
|
2017-11-23 11:40:02 +01:00
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
2018-01-19 14:56:27 +01:00
|
|
|
buildForm(): FormGroup {
|
|
|
|
let formGroup: FormGroup = new FormBuilder().group({});
|
|
|
|
let pagesFormArray = new Array<FormGroup>();
|
|
|
|
// let sectionsFormArray = new Array<FormGroup>();
|
|
|
|
// this.pages.forEach (page => {
|
|
|
|
// page.sections.forEach(item => {
|
|
|
|
// let form: FormGroup = item.buildForm();
|
|
|
|
// sectionsFormArray.push(form)
|
|
|
|
// })
|
|
|
|
// })
|
|
|
|
this.pages.forEach(item => {
|
2017-11-23 11:40:02 +01:00
|
|
|
let form: FormGroup = item.buildForm();
|
2018-01-19 14:56:27 +01:00
|
|
|
pagesFormArray.push(form)
|
2017-11-23 11:40:02 +01:00
|
|
|
})
|
2018-01-19 14:56:27 +01:00
|
|
|
formGroup.addControl('pages', this.formBuilder.array(pagesFormArray));
|
2017-11-23 11:40:02 +01:00
|
|
|
return formGroup;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|