argos/dmp-frontend/src/app/models/data-management-plan-profile/DataManagementPlanProfileMo...

43 lines
1.4 KiB
TypeScript
Raw Normal View History

2018-10-05 17:00:54 +02:00
import { DataManagementProfileField } from './DataManagementProfileField';
import { Serializable } from '../interfaces/Serializable';
import { JsonSerializer } from '../../utilities/JsonSerializer';
import { DataManagementPlanProfile } from './DataManagementPlanProfile';
import { FormGenerator } from '../interfaces/FormGenerator';
import { FormGroup, FormBuilder } from '@angular/forms';
import { BaseErrorModel } from '../error/BaseErrorModel';
2018-03-28 15:24:47 +02:00
2018-10-05 17:00:54 +02:00
export class DataManagementPlanProfileModel implements Serializable<DataManagementPlanProfileModel>, FormGenerator<FormGroup> {
2018-03-28 15:24:47 +02:00
2018-10-05 17:00:54 +02:00
public id: string;
public label: string;
public definition: DataManagementPlanProfile = new DataManagementPlanProfile();
public status: number;
public created: Date;
public modified: Date;
public errorModel: BaseErrorModel = new BaseErrorModel();
2018-03-28 15:24:47 +02:00
2018-10-05 17:00:54 +02:00
fromJSONObject(item: any): DataManagementPlanProfileModel {
this.id = item.id;
this.label = item.label;
this.definition = JsonSerializer.fromJSONObject(item.definition, DataManagementPlanProfile);
this.status = item.status;
this.created = item.created;
this.modified = item.modified;
return this;
}
2018-03-28 15:24:47 +02:00
2018-10-05 17:00:54 +02:00
buildForm(): FormGroup {
const formGroup = new FormBuilder().group({
id: [this.id],
label: [this.label],
status: [this.status],
created: [this.created],
modified: [this.modified]
});
formGroup.addControl('definition', this.definition.buildForm());
return formGroup;
}
}