2018-03-28 15:24:47 +02:00
|
|
|
import { Component, ViewEncapsulation, AfterViewInit, Input, OnInit, OnDestroy } from "@angular/core";
|
|
|
|
import { DataManagementPlanProfile } from "../../../models/data-management-plan-profile/DataManagementPlanProfile";
|
|
|
|
import { DMPProfileFieldDataType, DMPProfileType } from "../../../models/data-management-plan-profile/DataManagementProfileField";
|
|
|
|
import { FormGroup, FormBuilder, FormArray } from "@angular/forms";
|
|
|
|
import { LanguageResolverService } from "../../../services/language-resolver/language-resolver.service";
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'app-dynamic-dmp-field-resolver',
|
|
|
|
templateUrl: 'dynamic-dmp-field-resolver.component.html',
|
|
|
|
styleUrls: ['./dynamic-dmp-field-resolver.component.scss'],
|
|
|
|
encapsulation: ViewEncapsulation.None
|
|
|
|
})
|
|
|
|
export class DynamicDmpFieldResolver implements OnInit, OnDestroy {
|
|
|
|
|
|
|
|
|
|
|
|
DMPProfileFieldDataType = DMPProfileFieldDataType;
|
|
|
|
DMPProfileType = DMPProfileType;
|
|
|
|
|
|
|
|
@Input()
|
|
|
|
dataManagementPlanProfile: DataManagementPlanProfile;
|
|
|
|
|
|
|
|
@Input()
|
|
|
|
formGroup: FormGroup
|
|
|
|
|
|
|
|
ngOnInit(): void {
|
|
|
|
this.formGroup.addControl("properties", new FormBuilder().group([]));
|
|
|
|
(<FormGroup>this.formGroup.get("properties")).addControl("fields", new FormBuilder().array([]))
|
|
|
|
|
|
|
|
this.dataManagementPlanProfile.fields.forEach(item => {
|
|
|
|
(<FormArray>this.formGroup.get("properties").get("fields")).push(new FormBuilder().group({
|
|
|
|
id: [item.id],
|
|
|
|
value: [item.value]
|
|
|
|
}))
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
ngOnDestroy(): void {
|
|
|
|
this.formGroup.removeControl("properties")
|
|
|
|
}
|
2018-05-28 11:50:42 +02:00
|
|
|
}
|