diff --git a/dmp-frontend/package-lock.json b/dmp-frontend/package-lock.json index 553b276b5..16c4c69ac 100644 --- a/dmp-frontend/package-lock.json +++ b/dmp-frontend/package-lock.json @@ -6822,9 +6822,9 @@ } }, "primeng": { - "version": "5.0.0-rc.0", - "resolved": "https://registry.npmjs.org/primeng/-/primeng-5.0.0-rc.0.tgz", - "integrity": "sha1-fb5YXppO84emPfSyyR3VbeXpJVI=" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/primeng/-/primeng-4.3.0.tgz", + "integrity": "sha1-aH7NHhoVjPDodC78fam5M4zUcMM=" }, "process": { "version": "0.11.10", diff --git a/dmp-frontend/package.json b/dmp-frontend/package.json index 6f7324bc5..7e0f263b1 100644 --- a/dmp-frontend/package.json +++ b/dmp-frontend/package.json @@ -13,13 +13,11 @@ "private": true, "dependencies": { "@angular/animations": "^4.3.6", - "@angular/common": "^4.3.6", "@angular/compiler": "^4.3.6", "@angular/core": "^4.3.6", "@angular/forms": "^4.3.6", "@angular/http": "^4.3.6", - "@angular/platform-browser": "^4.3.6", "@angular/platform-browser-dynamic": "^4.3.6", "@angular/router": "^4.3.6", diff --git a/dmp-frontend/src/app/entities/DataModel.ts b/dmp-frontend/src/app/entities/DataModel.ts index ebc5f3908..bd3c66386 100644 --- a/dmp-frontend/src/app/entities/DataModel.ts +++ b/dmp-frontend/src/app/entities/DataModel.ts @@ -38,6 +38,16 @@ export class DataModel { }); }); + + this.groups.forEach((group) => { + if (group.compositeFields != undefined){ + group.compositeFields.groupFields.forEach((field) => { + //console.log("groupid: "+group.key + "fieldid:" +field.key); + this.fIndex.set(field.key, field); + }); + } + }); + } public getFieldByKey(key){ diff --git a/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.css b/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.css index e69de29bb..a5d0bf7e9 100644 --- a/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.css +++ b/dmp-frontend/src/app/form/dynamic-form-group/dynamic-form-group.component.css @@ -0,0 +1,7 @@ +.hide{ + display:none; +} + +.show { + display:block; +} \ No newline at end of file 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 bf69ceeb4..335559d5e 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 @@ -1,23 +1,25 @@

{{group.title}}

-
-
+
+ -
+ +
-
-
+
- +
- + -
- + +
+ +
+
\ No newline at end of file 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 2cd8885e6..a5b9e5e52 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 @@ -1,8 +1,11 @@ import { DataModel } from '../../entities/DataModel'; import { GroupBase } from './group-base'; import { Component, Input, OnInit } from '@angular/core'; -import { FormGroup, Validators } from '@angular/forms'; +import { FormGroup, Validators, FormControl } from '@angular/forms'; import { NgForm } from '@angular/forms'; +import { FieldBase } from '../fields/field-base'; +import { TextboxField } from '../fields/textbox/field-textbox'; +import { Rule } from '../../entities/common/rule'; @@ -42,4 +45,36 @@ export class DynamicFormGroupComponent implements OnInit { } + addFieldSet(){ + debugger; + let subgroup: any = {}; + this.group.compositeFields.groupFields.forEach((field, i )=>{ debugger; + this.form.addControl(field.key +"_"+i, new FormControl("") ) + + if (field.controlType == "textbox") { + let newfield: FieldBase; + let rule = new Rule(); + newfield = new TextboxField({ + label: field.label+"_"+i, + key: field.key +"_"+i, + value: "", + order: field.order, + rules: field.rules, + visible: field.visible, + group: field.group, + description: field.description + }); + this.group.compositeFields.groupFields.push(newfield) + } + + }); + } + + shouldIShow(){ + this.group.compositeFields.groupFields.forEach((field, i )=>{ + if(field.visible) + return true; + }) + } + } diff --git a/dmp-frontend/src/app/services/dataModelBuilder.service.ts b/dmp-frontend/src/app/services/dataModelBuilder.service.ts index e8a163559..d44dfb321 100644 --- a/dmp-frontend/src/app/services/dataModelBuilder.service.ts +++ b/dmp-frontend/src/app/services/dataModelBuilder.service.ts @@ -167,10 +167,10 @@ export class dataModelBuilder { compositeFields.groupFields = new Array(); fields.forEach(field => { if (fieldGroup._id == field.group) { - if (dataValues != "")//--------------------------SET VALUES-------------------------------------------- + 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){ + if(field.order.toString().split(",").length > 1){//--------------Composite Fields Multiplicity -------------------------------------------------- compositeFields.groupFields.push(field); newfldGroup.compositeFields = compositeFields; }else @@ -286,6 +286,7 @@ export class dataModelBuilder { let newAttribute = new Attribute(); let multiplicityParam = false; fieldsets.forEach(fieldset => { + let multiplicityParam = false; if (fieldset.fields.field.length){ if(fieldset.multiplicity._max >1 || fieldset.multiplicity._max == "n") multiplicityParam = true; diff --git a/dmp-frontend/src/app/services/rest-base.ts b/dmp-frontend/src/app/services/rest-base.ts index ac4ac82c4..005359f3b 100644 --- a/dmp-frontend/src/app/services/rest-base.ts +++ b/dmp-frontend/src/app/services/rest-base.ts @@ -19,18 +19,18 @@ export class RestBase { - protocol: string = "http"; + /* protocol: string = "http"; hostname: string ="dl010.madgik.di.uoa.gr" ;//"localhost";//"dl010.madgik.di.uoa.gr";// port: number = 8080;//8080;// - webappname: string = "dmp-backend";//"dmp-backend-new";// + webappname: string = "dmp-backend";//"dmp-backend-new";//*/ - // protocol: string = "http"; - // hostname: string = "dionysus.di.uoa.gr" ; - // port: number = 7070; - // webappname: string = "dmp-backend"; + protocol: string = "http"; + hostname: string = "dionysus.di.uoa.gr" ; + port: number = 7070; + webappname: string = "dmp-backend";