From a638c46b3bb291b0793a9298f376edfb09c8a125 Mon Sep 17 00:00:00 2001 From: annampak Date: Thu, 16 Nov 2017 10:24:50 +0200 Subject: [PATCH 1/2] fieldset with multiplicity --- .../dynamic-form-group.component.html | 3 +++ .../dynamic-form-group.component.ts | 4 ++- .../app/services/dataModelBuilder.service.ts | 27 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) 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; From 2c45254e53010a37b4323bbacce738a0b7963d6e Mon Sep 17 00:00:00 2001 From: annampak Date: Thu, 16 Nov 2017 11:46:31 +0200 Subject: [PATCH 2/2] fieldset with multiplicity --- .../src/app/datasets/dataset.component.ts | 4 ++ .../app/services/dataModelBuilder.service.ts | 42 ++++++++++--------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/dmp-frontend/src/app/datasets/dataset.component.ts b/dmp-frontend/src/app/datasets/dataset.component.ts index bfef384a2..fd8746660 100644 --- a/dmp-frontend/src/app/datasets/dataset.component.ts +++ b/dmp-frontend/src/app/datasets/dataset.component.ts @@ -159,6 +159,7 @@ export class DatasetsComponent implements OnInit { } getDatasets(muted?: boolean){ + this.spinnerService.show(); this.serverService.getDatasetForDmp({ "id": this.dmpIdforDatasets }).subscribe( response => { this.tableData = response; @@ -167,6 +168,9 @@ export class DatasetsComponent implements OnInit { }, error => { simple_notifier("danger",null,"Could not update datasets table"); + }, + () =>{ + this.spinnerService.hide(); } ); } diff --git a/dmp-frontend/src/app/services/dataModelBuilder.service.ts b/dmp-frontend/src/app/services/dataModelBuilder.service.ts index 74f8a1578..734c25ea0 100644 --- a/dmp-frontend/src/app/services/dataModelBuilder.service.ts +++ b/dmp-frontend/src/app/services/dataModelBuilder.service.ts @@ -181,26 +181,28 @@ 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); - } - } + //TO DO FIELDSET WITH MULTIPLICITY + // if (dataValues != "") + // 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); + // } + // }