diff --git a/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.html b/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.html index e153d0af4..21bd4975c 100644 --- a/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.html +++ b/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.html @@ -11,9 +11,12 @@
+
Add another fieldSet + +
+ diff --git a/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.ts b/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.ts index a5b9e5e52..efd22c76b 100644 --- a/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.ts +++ b/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.ts @@ -71,10 +71,12 @@ export class DynamicFormGroupComponent implements OnInit { } shouldIShow(){ + let show = false; this.group.compositeFields.groupFields.forEach((field, i )=>{ if(field.visible) - return true; + show = true; }) + return show; } } diff --git a/dmp-frontend/src/app/services/dataModelBuilder.service.ts b/dmp-frontend/src/app/services/dataModelBuilder.service.ts index d44dfb321..74f8a1578 100644 --- a/dmp-frontend/src/app/services/dataModelBuilder.service.ts +++ b/dmp-frontend/src/app/services/dataModelBuilder.service.ts @@ -165,11 +165,14 @@ export class dataModelBuilder { let compositeFields = new GroupBase(); newfldGroup.groupFields = new Array(); compositeFields.groupFields = new Array(); + + fields.forEach(field => { if (fieldGroup._id == field.group) { if (dataValues != "")//--------------------------SET VALUES--------------------------------------------------------------------------------------- if (dataValues[fieldGroup._id][field.key] != undefined) // to put values in fields field.value = dataValues[fieldGroup._id][field.key].value == undefined ? dataValues[fieldGroup._id][field.key] : dataValues[fieldGroup._id][field.key].value; + if(field.order.toString().split(",").length > 1){//--------------Composite Fields Multiplicity -------------------------------------------------- compositeFields.groupFields.push(field); newfldGroup.compositeFields = compositeFields; @@ -178,8 +181,32 @@ export class dataModelBuilder { } else { //this.dataModel.fields.push(field); } + if (dataValues[fieldGroup._id][field.key] != undefined){ + let keys = new Array(); + Object.keys(dataValues[fieldGroup._id]).forEach(key=>{if(key.startsWith(field.key+"_"))keys.push(key)}) + if (keys.length) + if (field.controlType == "textbox") { + let newfield: FieldBase; + let rule = new Rule(); + newfield = new TextboxField({ + label: field.label+"_"+ 1, + key: keys[0], + value: dataValues[fieldGroup._id][keys[0]].value, + order: field.order, + rules: field.rules, + visible: field.visible, + group: field.group, + description: field.description + });debugger; + newfldGroup.groupFields.push(newfield); + } + } + + + }); + newfldGroup.title = fieldGroup.title.__cdata; newfldGroup.key = fieldGroup._id; newfldGroup.section = fieldGroup._section;