ADDITIONAL-INFORMATION On CompositeFields

Fix Import Dataset Profiles Desc Extendet And  Additional
This commit is contained in:
Diamantis Tziotzios 2019-03-07 12:04:54 +02:00
parent 443f010335
commit 5c608c11e8
15 changed files with 143 additions and 25 deletions

View File

@ -132,6 +132,11 @@ public class ExportXmlBuilderDatasetProfile {
extendedDescription.setTextContent(field.getExtendedDescription());
composite.appendChild(extendedDescription);
}
if (field.getAdditionalInformation() != null && !field.getAdditionalInformation().isEmpty()) {
Element additionalInformation = element.createElement("additionalInformation");
additionalInformation.setTextContent(field.getAdditionalInformation());
composite.appendChild(additionalInformation);
}
elementFieldSets.appendChild(composite);

View File

@ -15,6 +15,9 @@ public class FieldSet {
private String numbering;
private Boolean commentField;
private Multiplicity multiplicity;
private String description;
private String extendedDescription;
private String additionalInformation;
private String title;
@XmlAttribute(name = "id")
@ -76,6 +79,33 @@ public class FieldSet {
return title;
}
@XmlElement(name = "description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@XmlElement(name = "extendedDescription")
public String getExtendedDescription() {
return extendedDescription;
}
public void setExtendedDescription(String extendedDescription) {
this.extendedDescription = extendedDescription;
}
@XmlElement(name = "additionalInformation")
public String getAdditionalInformation() {
return additionalInformation;
}
public void setAdditionalInformation(String additionalInformation) {
this.additionalInformation = additionalInformation;
}
public void setTitle(String title) {
this.title = title;
}
@ -87,11 +117,10 @@ public class FieldSet {
fieldSet1Entity.setHasCommentField(this.commentField != null ? this.commentField : false);
fieldSet1Entity.setMultiplicity(this.multiplicity != null ? this.multiplicity.toAdminCompositeModelSection() : null);
fieldSet1Entity.setTitle(this.title);
// List<eu.eudat.models.data.admin.components.datasetprofile.Field> fieldsEntity = new LinkedList<>();
//
// for (Fields xmlField:this.fields) {
// fieldsEntity.add(xmlField.toAdminCompositeModelSection());
// }
fieldSet1Entity.setDescription(this.description);
fieldSet1Entity.setExtendedDescription(this.extendedDescription);
fieldSet1Entity.setAdditionalInformation(this.additionalInformation);
fieldSet1Entity.setFields(this.fields.toAdminCompositeModelSection());
return fieldSet1Entity;
}

View File

@ -15,6 +15,7 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
private String title;
private String description;
private String extendedDescription;
private String additionalInformation;
private boolean hasCommentField;
private List<Field> fields;
@ -86,6 +87,14 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
this.hasCommentField = hasCommentField;
}
public String getAdditionalInformation() {
return additionalInformation;
}
public void setAdditionalInformation(String additionalInformation) {
this.additionalInformation = additionalInformation;
}
@Override
public eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.FieldSet toDatabaseDefinition(eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.FieldSet item) {
if (this.id == null || this.id.isEmpty()) this.id = "fieldSet_" + RandomStringUtils.random(5, true, true);
@ -95,6 +104,7 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
item.setDescription(this.description);
item.setTitle(this.title);
item.setExtendedDescription(this.extendedDescription);
item.setAdditionalInformation(this.additionalInformation);
item.setOrdinal(this.ordinal);
item.setMultiplicity(this.multiplicity);
item.setHasCommentField(this.hasCommentField);
@ -108,6 +118,7 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
this.ordinal = item.getOrdinal();
this.description = item.getDescription();
this.extendedDescription = item.getExtendedDescription();
this.additionalInformation=item.getAdditionalInformation();
this.title = item.getTitle();
this.multiplicity = item.getMultiplicity();
this.hasCommentField = item.getHasCommentField();
@ -126,6 +137,7 @@ public class FieldSet implements Comparable, ViewStyleDefinition<eu.eudat.models
shortenFieldSet.setTitle(this.title);
shortenFieldSet.setDescription(this.description);
shortenFieldSet.setExtendedDescription(this.extendedDescription);
shortenFieldSet.setAdditionalInformation(this.additionalInformation);
shortenFieldSet.setHasCommentField(this.hasCommentField);
List<Field> fieldToShort = this.fields;

View File

@ -19,6 +19,7 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
private String title;
private String description;
private String extendedDescription;
private String additionalInformation;
private Multiplicity multiplicity;
private boolean hasCommentField;
private String commentFieldValue;
@ -103,6 +104,14 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
this.numbering = numbering;
}
public String getAdditionalInformation() {
return additionalInformation;
}
public void setAdditionalInformation(String additionalInformation) {
this.additionalInformation = additionalInformation;
}
@Override
public Element toXml(Document doc) {
Element fieldSet = doc.createElement("fieldSet");
@ -117,6 +126,9 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
Element extendedDescription = doc.createElement("extendedDescription");
extendedDescription.setTextContent(this.extendedDescription);
Element additionalInformation = doc.createElement("additionalInformation");
additionalInformation.setTextContent(this.additionalInformation);
Element multiplicity = doc.createElement("multiplicity");
multiplicity.setAttribute("min", "" + this.multiplicity.getMin());
multiplicity.setAttribute("max", "" + this.multiplicity.getMax());
@ -141,6 +153,7 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
fieldSet.appendChild(title);
fieldSet.appendChild(description);
fieldSet.appendChild(extendedDescription);
fieldSet.appendChild(additionalInformation);
return fieldSet;
}
@ -155,6 +168,9 @@ public class FieldSet implements DatabaseViewStyleDefinition, XmlSerializable<Fi
this.description = description.getTextContent();
Element extendedDescription = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "extendedDescription");
this.extendedDescription = extendedDescription.getTextContent();
Element additionalInformation = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "additionalInformation");
if (additionalInformation != null)
this.additionalInformation = additionalInformation.getTextContent();
Element commentField = (Element) XmlBuilder.getNodeFromListByTagName(element.getChildNodes(), "commentField");
this.hasCommentField = Boolean.parseBoolean(commentField.getAttribute("hasCommentField"));
this.commentFieldValue = commentField.getAttribute("commentFieldValue");

View File

@ -18,6 +18,7 @@ public class FieldSet implements Comparable, PropertiesModelBuilder, ViewStyleDe
private String numbering;
private String description;
private String extendedDescription;
private String additionalInformation;
private Multiplicity multiplicity;
private List<Field> fields;
private List<FieldSet> multiplicityItems;
@ -118,6 +119,14 @@ public class FieldSet implements Comparable, PropertiesModelBuilder, ViewStyleDe
this.commentFieldValue = commentFieldValue;
}
public String getAdditionalInformation() {
return additionalInformation;
}
public void setAdditionalInformation(String additionalInformation) {
this.additionalInformation = additionalInformation;
}
@Override
public eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.FieldSet toDatabaseDefinition(eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.FieldSet item) {
List<eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.Field> viewStylefields = new ModelBuilder().toViewStyleDefinition(this.fields, eu.eudat.models.data.entities.xmlmodels.datasetprofiledefinition.Field.class);
@ -137,6 +146,7 @@ public class FieldSet implements Comparable, PropertiesModelBuilder, ViewStyleDe
this.ordinal = item.getOrdinal();
this.title = item.getTitle();
this.description = item.getDescription();
this.additionalInformation=item.getAdditionalInformation();
this.numbering = item.getNumbering();
this.extendedDescription = item.getExtendedDescription();
this.hasCommentField = item.getHasCommentField();
@ -167,6 +177,7 @@ public class FieldSet implements Comparable, PropertiesModelBuilder, ViewStyleDe
newFieldSet.id = ids[0]+"_"+ids[1]+"_"+ids[2];
newFieldSet.description = this.description;
newFieldSet.extendedDescription = this.extendedDescription;
newFieldSet.additionalInformation=this.additionalInformation;
newFieldSet.title = this.title;
newFieldSet.ordinal = this.ordinal;
newFieldSet.fields = new LinkedList();

View File

@ -31,6 +31,7 @@ export interface FieldSet {
title: string;
description: string;
extendedDescription: string;
additionalInformation:string;
hasCommentField: boolean;
fields: Field[];
}

View File

@ -11,6 +11,7 @@ export interface CompositeField {
title: string;
description: string;
extendedDescription: string;
additionalInformation:string;
hasCommentField: boolean;
commentFieldValue: string;
}

View File

@ -12,6 +12,7 @@ export interface Field {
description: string;
numbering: string;
extendedDescription: string;
additionalInformation:string;
viewStyle: ViewStyle;
defaultVisibility: boolean;
page: number;

View File

@ -14,6 +14,7 @@ export class FieldSetEditorModel extends BaseFormModel {
public title: string;
public description: string;
public extendedDescription: string;
public additionalInformation:string;
public hasCommentField: boolean;
fromModel(item: FieldSet): FieldSetEditorModel {
@ -25,6 +26,7 @@ export class FieldSetEditorModel extends BaseFormModel {
this.title = item.title;
this.description = item.description;
this.extendedDescription = item.extendedDescription;
this.additionalInformation=item.additionalInformation;
this.hasCommentField = item.hasCommentField;
return this;
}
@ -36,6 +38,7 @@ export class FieldSetEditorModel extends BaseFormModel {
title: [this.title],
description: [this.description],
extendedDescription: [this.extendedDescription],
additionalInformation:[this.additionalInformation],
hasCommentField: [this.hasCommentField]
});
const fieldsFormArray = new Array<FormGroup>();

View File

@ -50,6 +50,10 @@
<textarea matInput type="text" placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.EXTENDED-DESCRIPTION' | translate}}"
[formControl]="this.form.get('extendedDescription')"></textarea>
</mat-form-field>
<mat-form-field class="col-md-6">
<textarea matInput type="text" placeholder="{{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.ADDITIONAL-INFORMATION' | translate}}"
[formControl]="this.form.get('additionalInformation')"></textarea>
</mat-form-field>
<app-dataset-profile-editor-field-component class="col-12" *ngIf="!isComposite" [form]="form.get('fields').get(''+0)"
[showOrdinal]="false" [indexPath]="indexPath + 'f' + 0" [viewOnly]="viewOnly"></app-dataset-profile-editor-field-component>
</div>

View File

@ -8,7 +8,8 @@
<!-- Column Definition: Name -->
<ng-container cdkColumnDef="name">
<mat-header-cell *matHeaderCellDef mat-sort-header="label">{{'DMP-LISTING.COLUMNS.NAME' | translate}}</mat-header-cell>
<mat-header-cell *matHeaderCellDef mat-sort-header="label">{{'DMP-LISTING.COLUMNS.NAME' | translate}}
</mat-header-cell>
<mat-cell *matCellDef="let row">{{row.label}}</mat-cell>
</ng-container>
@ -27,7 +28,8 @@
<!-- Column Definition: Researchers -->
<ng-container cdkColumnDef="creationTime">
<mat-header-cell *matHeaderCellDef mat-sort-header="created">{{'DMP-LISTING.COLUMNS.CREATION-TIME' | translate}}</mat-header-cell>
<mat-header-cell *matHeaderCellDef mat-sort-header="created">
{{'DMP-LISTING.COLUMNS.CREATION-TIME' | translate}}</mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.creationTime | date:'shortDate'}} </mat-cell>
</ng-container>
@ -39,15 +41,28 @@
<!-- Column Definition: Version -->
<ng-container cdkColumnDef="version">
<mat-header-cell *matHeaderCellDef mat-sort-header="version">{{'DMP-LISTING.COLUMNS.LATEST_VERSION' | translate}}</mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.version}}</mat-cell>
<mat-header-cell *matHeaderCellDef mat-sort-header="version">
{{'DMP-LISTING.COLUMNS.LATEST_VERSION' | translate}}</mat-header-cell>
<mat-cell *matCellDef="let row">
{{row.version}}
<!-- <div class="row">
<div class="col"></div>
<div class="col-auto">{{row.version}}</div>
<div class="col"></div>
</div> -->
</mat-cell>
</ng-container>
<!-- Column Definition: Datasets -->
<ng-container cdkColumnDef="datasets">
<mat-header-cell *matHeaderCellDef mat-sort-header="|count|dataset">{{'DMP-LISTING.COLUMNS.DATASETS' | translate}}</mat-header-cell>
<mat-header-cell *matHeaderCellDef mat-sort-header="|count|dataset">
{{'DMP-LISTING.COLUMNS.DATASETS' | translate}}</mat-header-cell>
<mat-cell *matCellDef="let row" (click)="$event.stopPropagation()">
<app-url-listing [items]="row.datasets" [urlLimit]="5" [parameters]="{ datasetLabel: row.label }"></app-url-listing>
<app-url-listing [items]="row.datasets" [urlLimit]="5" [parameters]="{ datasetLabel: row.label }">
</app-url-listing>
</mat-cell>
</ng-container>
@ -85,7 +100,8 @@
<button *ngIf="!projectId" mat-fab class="mat-fab-bottom-right" color="primary" [routerLink]=" ['./new'] ">
<mat-icon class="mat-24">add</mat-icon>
</button>
<button *ngIf="projectId" mat-fab class="mat-fab-bottom-right" color="primary" [routerLink]=" ['/plans/new/project/', projectId] ">
<button *ngIf="projectId" mat-fab class="mat-fab-bottom-right" color="primary"
[routerLink]=" ['/plans/new/project/', projectId] ">
<mat-icon class="mat-24">add</mat-icon>
</button>
</div>
</div>

View File

@ -1,21 +1,26 @@
<div *ngIf="form && this.visibilityRulesService.checkElementVisibility(this.form.get('id').value)" [id]="this.form.get('id').value"
[formGroup]="form" class="dynamic-form-composite-field row">
<div *ngIf="form && this.visibilityRulesService.checkElementVisibility(this.form.get('id').value)"
[id]="this.form.get('id').value" [formGroup]="form" class="dynamic-form-composite-field row">
<div *ngIf="form.get('fields').length === 1 && this.visibilityRulesService.checkElementVisibility(form.get('fields')['controls'][0].get('id').value)"
class="col-12">
class="col-12">
<div class="row">
<h5 *ngIf="form.get('title').value && !isChild" style="font-weight:bold; color: #3a3737;" class="col-12">{{form.get('numbering').value}}
<h5 *ngIf="form.get('title').value && !isChild" style="font-weight:bold; color: #3a3737;" class="col-auto">
{{form.get('numbering').value}}
{{form.get('title').value}}
<!-- <a *ngIf="this.markForConsiderationService.exists(compositeField)" (click)="markForConsideration()" style="cursor: pointer">
Mark For Consideration
</a> -->
</h5>
<mat-icon class="col-auto" *ngIf="this.form.get('additionalInformation').value && !isChild"
matTooltip="{{this.form.get('additionalInformation').value}}">info</mat-icon>
<div cals="col"></div>
<h6 *ngIf="form.get('description').value && !isChild" class="col-12">{{form.get('description').value}}</h6>
<h6 *ngIf="form.get('extendedDescription').value && !isChild" class="col-12">
<i>{{form.get('extendedDescription').value}}</i>
</h6>
<app-form-field class="col-12" [form]="form.get('fields')['controls'][0]" [datasetProfileId]="datasetProfileId"
[isChild]="isChild"></app-form-field>
<app-form-field class="col-12" [form]="form.get('fields')['controls'][0]"
[datasetProfileId]="datasetProfileId" [isChild]="isChild"></app-form-field>
<!-- <button mat-icon-button type="button" *ngIf="!isChild" class="deleteBtn col-auto" (click)="DeleteField();">
<mat-icon>delete</mat-icon>
@ -25,10 +30,15 @@
</div>
<div *ngIf="form.get('fields').length > 1" class="col-12">
<div class="row">
<h5 *ngIf="form.get('title').value && !isChild" style="font-weight:bold; color: #3a3737;" class="col-12">{{form.get('numbering').value}}
<h5 *ngIf="form.get('title').value && !isChild" style="font-weight:bold; color: #3a3737;" class="col-auto">
{{form.get('numbering').value}}
{{form.get('title').value}}</h5>
<mat-icon class="col-auto" *ngIf="this.form.get('additionalInformation').value && !isChild"
matTooltip="{{this.form.get('additionalInformation').value}}">info</mat-icon>
<div cals="col"></div>
<h5 *ngIf="form.get('description').value && !isChild" class="col-12">{{form.get('description').value}}</h5>
<h5 *ngIf="form.get('extendedDescription').value && !isChild" class="col-12"><i>{{form.get('extendedDescription').value}}</i></h5>
<h5 *ngIf="form.get('extendedDescription').value && !isChild" class="col-12">
<i>{{form.get('extendedDescription').value}}</i></h5>
<div *ngFor="let fieldFormGroup of form.get('fields')['controls']; let i = index;" class="col-12">
<!-- <div class="row">
<div class="col-12" *ngIf="(fieldFormGroup.get('multiplicity')?.value?.max - 1) > (fieldFormGroup.get('multiplicityItems')?.length)">
@ -36,8 +46,9 @@
Add one more field +
</a>
</div> -->
<app-form-field [form]="fieldFormGroup" class="col-12" [datasetProfileId]="datasetProfileId" [isChild]="true"></app-form-field>
<!-- <div *ngIf="fieldFormGroup" class="col-12">
<app-form-field [form]="fieldFormGroup" class="col-12" [datasetProfileId]="datasetProfileId"
[isChild]="true"></app-form-field>
<!-- <div *ngIf="fieldFormGroup" class="col-12">
<div *ngFor="let multipleField of fieldFormGroup.get('multiplicityItems')['controls']; let j = index" class="row">
<app-form-field class="col-12" [form]="multipleField" [datasetProfileId]="datasetProfileId" [isChild]="true"></app-form-field>
<button mat-icon-button type="button" *ngIf="isChild" class="deleteBtn col-auto" (click)="DeleteField(i);">

View File

@ -3,12 +3,12 @@
class="dynamic-form-field row">
<h5 *ngIf="this.form.get('title').value && !isChild">{{this.form.get('title').value}}</h5>
<mat-icon *ngIf="this.form.get('additionalInformation').value && !isChild" matTooltip="{{this.form.get('additionalInformation').value}}" >info</mat-icon>
<h5 *ngIf="this.form.get('description').value && !isChild" class="col-12">{{this.form.get('description').value}}
</h5>
<h5 *ngIf="this.form.get('extendedDescription').value && !isChild" class="col-12">
<i>{{this.form.get('extendedDescription').value}}</i></h5>
<mat-form-field *ngSwitchCase="datasetProfileFieldViewStyleEnum.FreeText" class="col-12">
<input matInput [formControl]="form.get('value')" placeholder="{{form.get('data').value.label}}"
[required]="form.get('validationRequired').value">

View File

@ -125,6 +125,7 @@ export class DatasetDescriptionCompositeFieldEditorModel extends BaseFormModel {
title: string;
description: string;
extendedDescription: string;
additionalInformation: string;
hasCommentField: boolean;
commentFieldValue: string;
@ -137,6 +138,7 @@ export class DatasetDescriptionCompositeFieldEditorModel extends BaseFormModel {
this.numbering = item.numbering;
this.description = item.description;
this.extendedDescription = item.extendedDescription;
this.additionalInformation = item.additionalInformation;
this.hasCommentField = item.hasCommentField;
this.commentFieldValue = item.commentFieldValue;
if (item.multiplicity) this.multiplicity = new DatasetDescriptionMultiplicityEditorModel().fromModel(item.multiplicity);
@ -149,6 +151,7 @@ export class DatasetDescriptionCompositeFieldEditorModel extends BaseFormModel {
id: this.id,
ordinal: this.ordinal,
extendedDescription: this.extendedDescription,
additionalInformation: this.additionalInformation,
hasCommentField: this.hasCommentField,
commentFieldValue: this.commentFieldValue,
multiplicity: [{ value: this.multiplicity, disabled: true }],
@ -204,6 +207,7 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel {
public description: string;
public numbering: string;
public extendedDescription: string;
public additionalInformation:string;
public viewStyle: ViewStyle;
public defaultVisibility: boolean;
public page: number;
@ -219,13 +223,14 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel {
this.numbering = item.numbering;
this.description = item.description;
this.extendedDescription = item.extendedDescription;
this.additionalInformation =item.additionalInformation;
this.viewStyle = item.viewStyle;
this.defaultVisibility = item.defaultVisibility;
this.page = item.page;
this.validations = item.validations;
if (item.multiplicity) this.multiplicity = new DatasetDescriptionMultiplicityEditorModel().fromModel(item.multiplicity);
if (item.defaultValue) this.defaultValue = new DatasetDescriptionDefaultValueEditorModel().fromModel(item.defaultValue);
this.value = item.value ? item.value : (this.defaultValue.value ? this.defaultValue.value : undefined);
this.value = item.value ? item.value : (this.defaultValue.value ? this.defaultValue.value : undefined);
if (this.viewStyle.renderStyle === 'checkBox') { this.value = this.value === 'true'; }
if (item.multiplicityItems) { item.multiplicityItems.map(x => this.multiplicityItems.push(new DatasetDescriptionFieldEditorModel().fromModel(x))); }
this.data = item.data;
@ -247,6 +252,7 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel {
validationRequired: [{ value: this.validationRequired, disabled: true }],
description: [{ value: this.description, disabled: true }],
extendedDescription: [{ value: this.extendedDescription, disabled: true }],
additionalInformation:[{value: this.additionalInformation,disabled:true}],
title: [{ value: this.title, disabled: true }],
defaultValue: [{ value: this.defaultValue, disabled: true }],
});
@ -284,6 +290,7 @@ export class DatasetDescriptionFieldEditorModel extends BaseFormModel {
newItem.title = item.title;
newItem.description = item.description;
newItem.extendedDescription = item.extendedDescription;
newItem.additionalInformation =item.additionalInformation;
newItem.viewStyle = item.viewStyle;
newItem.defaultVisibility = item.defaultVisibility;
newItem.page = item.page;

View File

@ -94,6 +94,7 @@
"FIELD-TITLE": "Field Name",
"DESCRIPTION": "Description",
"EXTENDED-DESCRIPTION": "Extended Description",
"ADDITIONAL-INFORMATION":"Addational Information",
"MULTIPLICITY-MIN": "Multiplicity Min",
"MULTIPLICITY-MAX": "Multiplicity Max",
"MULTIPLICITY-ADD-ONE-FIELD": "Add one more fieldset +",