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 30299b5ea..1185b3bf1 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,4 +1,4 @@
-
+
{{compositeField.title}}
{{compositeField.description}}
diff --git a/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts b/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts
index f60d7d531..33d8dcf45 100644
--- a/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts
+++ b/dmp-frontend/src/app/form/dynamic-form-composite-field/dynamic-form-composite-field.ts
@@ -21,12 +21,22 @@ export class DynamicFormCompositeFieldComponent implements OnInit {
constructor(private visibilityRulesService: VisibilityRulesService) { }
- ngOnInit() {debugger;
+ ngOnInit() {
+ debugger;
console.log(this.form);
+ if (this.compositeField.hasCommentField == true) {
+ let newfield: Field = new Field();
+ newfield.id = 'comment_' + this.compositeField.id;
+ newfield.data = {label: "Comments"};
+ newfield.viewStyle = {renderStyle: 'freetext', cssClass: ''};
+
+ this.compositeField.fields.push(newfield);
+ (this.form.get("fields")).push(newfield.buildForm());
+ }
}
addMultipleField(fieldIndex: number) {
- let field: Field = this.compositeField.fields[fieldIndex].cloneForMultiplicity(fieldIndex,"");
+ let field: Field = this.compositeField.fields[fieldIndex].cloneForMultiplicity(fieldIndex, "");
this.compositeField.fields[fieldIndex].multiplicityItems.push(field);
((this.form.get("fields").get('' + fieldIndex).get('multiplicityItems'))).push(field.buildForm());
}
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 9e653e7ea..af4528e04 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
@@ -53,17 +53,17 @@
-->
-
diff --git a/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.ts b/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.ts
index 49f15553c..5f734452b 100644
--- a/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.ts
+++ b/dmp-frontend/src/app/form/dynamic-form-section/dynamic-form-section.ts
@@ -1,7 +1,10 @@
import { VisibilityRulesService } from '../../visibility-rules/visibility-rules.service';
-import { FormGroup } from '@angular/forms';
-import { Section } from '../../entities/model/section';
+import { FormGroup, Form, FormArray } from '@angular/forms';
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
+import { CompositeField } from '@app/models/CompositeField';
+import { Section } from '@app/models/Section';
+
+
@Component({
selector: 'df-section',
templateUrl: './dynamic-form-section.html',
@@ -21,4 +24,11 @@ export class DynamicFormSectionComponent implements OnInit {
ngOnInit() {
console.log(this.section);
}
+
+ addMultipleField(fieldsetIndex: number) {
+ let compositeField: CompositeField = this.section.compositeFields[fieldsetIndex].cloneForMultiplicity(fieldsetIndex);
+ this.section.compositeFields[fieldsetIndex].multiplicityItems.push(compositeField);
+ (
(this.form.get("compositeFields").get('' + fieldsetIndex).get('multiplicityItems'))).push(compositeField.buildForm());
+ }
+
}
\ No newline at end of file
diff --git a/dmp-frontend/src/app/models/CompositeField.ts b/dmp-frontend/src/app/models/CompositeField.ts
index 0aafa5086..a59fb2cc5 100644
--- a/dmp-frontend/src/app/models/CompositeField.ts
+++ b/dmp-frontend/src/app/models/CompositeField.ts
@@ -13,6 +13,7 @@ export class CompositeField extends BaseModel implements Serializable();
diff --git a/dmp-frontend/src/app/models/Field.ts b/dmp-frontend/src/app/models/Field.ts
index 050d30194..c545dd5c2 100644
--- a/dmp-frontend/src/app/models/Field.ts
+++ b/dmp-frontend/src/app/models/Field.ts
@@ -5,6 +5,8 @@ import { JsonSerializer } from '../utilities/JsonSerializer';
import { Serializable } from './interfaces/Serializable';
import { Multiplicity } from './Multiplicity';
import { DefaultValue } from './DefaultValue';
+import { ValidationTypes } from '@app/models/common/ValidationTypes';
+
export class Field extends BaseModel implements Serializable, FormGenerator{
public id: string;
@@ -13,12 +15,13 @@ export class Field extends BaseModel implements Serializable, FormGenerat
public defaultValue: DefaultValue;
public description: string;
public extendedDescription: string;
- public viewStyle: string;
+ public viewStyle: any;
public defaultVisibility: boolean;
public page: number;
public multiplicity: Multiplicity;
public multiplicityItems: Array = new Array();
public data: any;
+ public validations: Array;
fromJSONObject(item: any): Field {
this.id = item.id;
@@ -29,6 +32,7 @@ export class Field extends BaseModel implements Serializable, FormGenerat
this.viewStyle = item.viewStyle;
this.defaultVisibility = item.defaultVisibility;
this.page = item.page;
+ this.validations = item.validations;
this.multiplicity = JsonSerializer.fromJSONObject(item.multiplicity, Multiplicity);
this.defaultValue = JsonSerializer.fromJSONObject(item.defaultValue, DefaultValue);
this.value = this.defaultValue.value && !item.value ? this.defaultValue.value : item.value;
diff --git a/dmp-frontend/src/app/models/common/ValidationTypes.ts b/dmp-frontend/src/app/models/common/ValidationTypes.ts
new file mode 100644
index 000000000..49f99ca51
--- /dev/null
+++ b/dmp-frontend/src/app/models/common/ValidationTypes.ts
@@ -0,0 +1,4 @@
+export enum ValidationTypes {
+ None = 0,
+ Required = 1
+ }
\ No newline at end of file