From b844b54b948e82685778991ceb2d55100723e1ce Mon Sep 17 00:00:00 2001 From: annampak Date: Wed, 3 Jan 2018 13:36:28 +0200 Subject: [PATCH] chnage on section model --- .../dynamic-form-field.component.html | 4 ++-- .../dynamic-form-composite-field.html | 10 ++++---- .../dynamic-form-section.html | 17 ++++++++++++- dmp-frontend/src/app/models/CompositeField.ts | 5 +++- dmp-frontend/src/app/models/Section.ts | 24 ++++++++++++++----- 5 files changed, 45 insertions(+), 15 deletions(-) diff --git a/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html b/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html index cd1afeccb..704f13d7d 100644 --- a/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html +++ b/dmp-frontend/src/app/form/dynamic-fields/dynamic-form-field.component.html @@ -1,6 +1,6 @@
-
{{field.title}}
+
@@ -11,7 +11,7 @@
- +
diff --git a/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.html b/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.html index 1927f61f0..070fcf68e 100644 --- a/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.html +++ b/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.html @@ -1,16 +1,16 @@
- +
{{compositeField.title}}
-

{{compositeField.title}}

+
{{compositeField.title}}
-

{{compositeField.description}}

-

+

{{compositeField.description}}
+
{{compositeField.extendedDescription}} -
+
diff --git a/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.html b/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.html index 619a83205..9e653e7ea 100644 --- a/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.html +++ b/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.html @@ -46,10 +46,25 @@ -
+ + +
diff --git a/dmp-frontend/src/app/models/CompositeField.ts b/dmp-frontend/src/app/models/CompositeField.ts index a42c7d005..bb6bbeccc 100644 --- a/dmp-frontend/src/app/models/CompositeField.ts +++ b/dmp-frontend/src/app/models/CompositeField.ts @@ -10,12 +10,14 @@ export class CompositeField extends BaseModel implements Serializable = new Array(); + public title: string fromJSONObject(item: any): CompositeField { this.fields = new JsonSerializer().fromJSONArray(item.fields, Field); this.ordinal = item.ordinal; this.id = item.id; + this.title = item.title; this.multiplicity = new JsonSerializer().fromJSONObject(item.multiplicity, Multiplicity); //this.multiplicity = new Multiplicity(); //this.multiplicity.max = 2; @@ -26,7 +28,8 @@ export class CompositeField extends BaseModel implements Serializable(); diff --git a/dmp-frontend/src/app/models/Section.ts b/dmp-frontend/src/app/models/Section.ts index 484906077..109e49fc6 100644 --- a/dmp-frontend/src/app/models/Section.ts +++ b/dmp-frontend/src/app/models/Section.ts @@ -4,23 +4,27 @@ import { FormBuilder, FormControl, FormGroup } from '@angular/forms'; import { JsonSerializer } from '../utilities/JsonSerializer'; import { Serializable } from './interfaces/Serializable'; import { FieldGroup } from './FieldGroup'; +import { CompositeField } from '@app/models/CompositeField'; + export class Section extends BaseModel implements Serializable
, FormGenerator{ public sections: Array
= new Array
(); - public fieldGroups: Array; + //public fieldGroups: Array; public defaultVisibility: boolean; public page: number; public id: string public title: string public description: string; + public compositeFields: Array = new Array(); fromJSONObject(item: any): Section { this.sections = new JsonSerializer
().fromJSONArray(item.sections, Section); - this.fieldGroups = new JsonSerializer().fromJSONArray(item.fieldGroups, FieldGroup); + //this.fieldGroups = new JsonSerializer().fromJSONArray(item.fieldGroups, FieldGroup); this.page = item.page; this.defaultVisibility = item.defaultVisibility; this.id = item.id; this.title = item.title; this.description = item.description; + this.compositeFields = new JsonSerializer().fromJSONArray(item.fieldSets, CompositeField); return this; } @@ -34,14 +38,22 @@ export class Section extends BaseModel implements Serializable
, FormGen }) } let fieldGroupsFormArray = new Array(); - if (this.fieldGroups) { - this.fieldGroups.forEach(item => { + // if (this.fieldGroups) { + // this.fieldGroups.forEach(item => { + // let form: FormGroup = item.buildForm(); + // fieldGroupsFormArray.push(form) + // }) + // } + let compositeFieldsFormArray = new Array(); + if (this.compositeFields) { + this.compositeFields.forEach(item => { let form: FormGroup = item.buildForm(); - fieldGroupsFormArray.push(form) + compositeFieldsFormArray.push(form) }) } + formGroup.addControl('compositeFields', this.formBuilder.array(compositeFieldsFormArray)); formGroup.addControl('sections', this.formBuilder.array(sectionsFormArray)); - formGroup.addControl('fieldGroups', this.formBuilder.array(fieldGroupsFormArray)); + // formGroup.addControl('fieldGroups', this.formBuilder.array(fieldGroupsFormArray)); /* formGroup.addControl('defaultVisibility', new FormControl(this.defaultVisibility)) formGroup.addControl('page', new FormControl(this.page)) formGroup.addControl('id', new FormControl(this.id))