From 54c5017609f77a01524c4109d5e49670a3a166da Mon Sep 17 00:00:00 2001 From: George Kalampokis Date: Tue, 7 Jun 2022 11:00:13 +0300 Subject: [PATCH] Add Export attribute on Dataset Profile's Field. By Default is set to true. The attribute determines if the field value will be included in the word/pdf export --- .../utilities/documents/word/WordBuilder.java | 4 ++-- .../admin/components/datasetprofile/Field.java | 11 +++++++++++ .../datasetprofiledefinition/Field.java | 16 ++++++++++++++++ .../user/components/datasetprofile/Field.java | 13 +++++++++++++ .../admin/dataset-profile/dataset-profile.ts | 1 + .../admin/field-editor-model.ts | 5 ++++- ...profile-editor-composite-field.component.ts | 3 ++- ...dataset-profile-editor-field.component.html | 2 ++ ...rofile-editor-section-fieldset.component.ts | 18 +++++++++--------- dmp-frontend/src/assets/i18n/de.json | 3 ++- dmp-frontend/src/assets/i18n/en.json | 3 ++- dmp-frontend/src/assets/i18n/es.json | 3 ++- dmp-frontend/src/assets/i18n/gr.json | 3 ++- dmp-frontend/src/assets/i18n/hr.json | 3 ++- dmp-frontend/src/assets/i18n/pt.json | 3 ++- dmp-frontend/src/assets/i18n/sk.json | 3 ++- dmp-frontend/src/assets/i18n/sr.json | 3 ++- dmp-frontend/src/assets/i18n/tr.json | 3 ++- .../src/assets/resources/skipDisable.json | 3 ++- 19 files changed, 80 insertions(+), 23 deletions(-) diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java b/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java index df9549b8d..678979628 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/word/WordBuilder.java @@ -320,7 +320,7 @@ public class WordBuilder { return false; }).collect(Collectors.toList()); for (Field field: tempFields) { - if (visibilityRuleService.isElementVisible(field.getId())) { + if (visibilityRuleService.isElementVisible(field.getId()) && field.getExport()) { if (!createListing) { try { if(field.getViewStyle().getRenderStyle().equals("upload")){ @@ -548,7 +548,7 @@ public class WordBuilder { } private boolean hasVisibleFields(FieldSet compositeFields, VisibilityRuleService visibilityRuleService) { - return compositeFields.getFields().stream().anyMatch(field -> visibilityRuleService.isElementVisible(field.getId())); + return compositeFields.getFields().stream().anyMatch(field -> visibilityRuleService.isElementVisible(field.getId()) && field.getExport()); } private Map customParse(String value) { diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/admin/components/datasetprofile/Field.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/admin/components/datasetprofile/Field.java index 8847c8692..f9c29e236 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/admin/components/datasetprofile/Field.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/admin/components/datasetprofile/Field.java @@ -54,6 +54,7 @@ public class Field implements ViewStyleDefinition validations; + private Boolean export; public String getId() { return id; @@ -132,6 +133,14 @@ public class Field implements ViewStyleDefinition validations; + private Boolean export; + public String getId() { return id; } @@ -89,6 +91,14 @@ public class Field implements DatabaseViewStyleDefinition, XmlSerializable getMultiplicityItems() { return multiplicityItems; } @@ -160,6 +162,14 @@ public class Field implements Comparable, PropertiesModelBuilder, ViewStyleDefin this.rdaProperty = rdaProperty; } + public Boolean getExport() { + return export; + } + + public void setExport(Boolean export) { + this.export = export; + } + Field cloneForMultiplicity(String key, Map properties, int index) { Field newField = new Field(); newField.id = key; @@ -173,6 +183,7 @@ public class Field implements Comparable, PropertiesModelBuilder, ViewStyleDefin newField.validations = this.validations; newField.rdaProperty = this.rdaProperty; newField.numbering = "mult" + index + "_" + this.numbering; + newField.export = this.export; return newField; } @@ -186,6 +197,7 @@ public class Field implements Comparable, PropertiesModelBuilder, ViewStyleDefin field.setVisible(this.visible); field.setValidations(this.validations); field.setRdaCommonStandard(this.rdaProperty); + field.setExport(this.export); return field; } @@ -200,6 +212,7 @@ public class Field implements Comparable, PropertiesModelBuilder, ViewStyleDefin this.visible = item.getVisible(); this.validations = item.getValidations(); this.rdaProperty = item.getRdaCommonStandard(); + this.export = item.getExport(); } @Override diff --git a/dmp-frontend/src/app/core/model/admin/dataset-profile/dataset-profile.ts b/dmp-frontend/src/app/core/model/admin/dataset-profile/dataset-profile.ts index 859e79356..02c91c68d 100644 --- a/dmp-frontend/src/app/core/model/admin/dataset-profile/dataset-profile.ts +++ b/dmp-frontend/src/app/core/model/admin/dataset-profile/dataset-profile.ts @@ -59,6 +59,7 @@ export interface Field { visible: Visibility; validations: ValidationType[]; rdaCommonStandard: string; + export: boolean; } export interface ViewStyle { diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts index 741a02160..59afcd724 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-editor-model.ts @@ -48,6 +48,7 @@ export class FieldEditorModel extends BaseFormModel { public data: FieldDataEditorModel; public validations: ValidationType[] = []; public rdaCommonStandard: string; + public export: boolean = true; fromModel(item: Field): FieldEditorModel { this.id = item.id; @@ -58,6 +59,7 @@ export class FieldEditorModel extends BaseFormModel { this.viewStyle = new ViewStyleEditorModel().fromModel(item.viewStyle); this.visible = new VisibilityEditorModel().fromModel(item.visible); this.rdaCommonStandard = item.rdaCommonStandard; + this.export = item.export; if (item.data) { if (this.viewStyle.renderStyle === 'combobox') { @@ -103,7 +105,8 @@ export class FieldEditorModel extends BaseFormModel { page: [{ value: this.page, disabled: (disabled && !skipDisable.includes('FieldEditorModel.page')) }], ordinal: [{ value: this.ordinal, disabled: (disabled && !skipDisable.includes('FieldEditorModel.ordinal')) }], validations: [{ value: this.validations, disabled: (disabled && !skipDisable.includes('FieldEditorModel.validations')) }], - rdaCommonStandard: [{value: this.rdaCommonStandard, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.rdaCommonStandard')) }] + rdaCommonStandard: [{value: this.rdaCommonStandard, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.rdaCommonStandard')) }], + export: [{value: this.export, disabled: (disabled && !skipDisable.includes('FieldSetEditorModel.export'))}] }); formGroup.addControl('defaultValue', this.defaultValue.buildForm(disabled, skipDisable)); diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts index a876a0269..bc404e5e4 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.ts @@ -535,7 +535,8 @@ export class DatasetProfileEditorCompositeFieldComponent extends BaseComponent i ordinal: targetOrdinal, visible:{rules:[],style:null}, validations:[], - viewStyle:{} + viewStyle:{}, + export: true } as Field; diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html index 51e8282fe..ffed9ee2f 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.html @@ -236,6 +236,8 @@ + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.COMPOSITE-FIELD.FIELDS.EXPORT' | translate}} + this.selectedEntryId.emit(id)) // ); - + } ngOnDestroy(){ // console.log('elemement destroyed -->'); - + this.subs.unsubscribe(); } ngOnChanges(changes: SimpleChanges): void { @@ -129,7 +129,7 @@ export class DatasetProfileEditorSectionFieldSetComponent implements OnInit, OnC this.selectedEntryId.emit(id); } - + @@ -184,7 +184,7 @@ export class DatasetProfileEditorSectionFieldSetComponent implements OnInit, OnC } } ngOnInit() { - + } onRemoveFieldSet(fieldsetId: string){ @@ -252,7 +252,7 @@ export class DatasetProfileEditorSectionFieldSetComponent implements OnInit, OnC if(tocEntryFound){ return tocEntryFound; - } + } for(let entry of tocentries){ const result = this._findTocEntryById(id, entry.subEntries); @@ -261,7 +261,7 @@ export class DatasetProfileEditorSectionFieldSetComponent implements OnInit, OnC break; } } - + return tocEntryFound? tocEntryFound: null; } } diff --git a/dmp-frontend/src/assets/i18n/de.json b/dmp-frontend/src/assets/i18n/de.json index 7c84860d5..56158b077 100644 --- a/dmp-frontend/src/assets/i18n/de.json +++ b/dmp-frontend/src/assets/i18n/de.json @@ -377,7 +377,8 @@ "ORDER": "Order", "COMMENT-PLACEHOLDER": "Please Specify", "COMMENT-HINT": "Provide additional information or justification about your selection", - "RDA-COMMON-STANDARDS": "RDA Common Standards" + "RDA-COMMON-STANDARDS": "RDA Common Standards", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Add Child Field +" diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json index fe01ef1f1..28b58596c 100644 --- a/dmp-frontend/src/assets/i18n/en.json +++ b/dmp-frontend/src/assets/i18n/en.json @@ -377,7 +377,8 @@ "ORDER": "Order", "COMMENT-PLACEHOLDER": "Please Specify", "COMMENT-HINT": "Provide additional information or justification about your selection", - "RDA-COMMON-STANDARDS": "RDA Common Standards" + "RDA-COMMON-STANDARDS": "RDA Common Standards", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Add Child Field +" diff --git a/dmp-frontend/src/assets/i18n/es.json b/dmp-frontend/src/assets/i18n/es.json index 1c0e4caf8..095827b6d 100644 --- a/dmp-frontend/src/assets/i18n/es.json +++ b/dmp-frontend/src/assets/i18n/es.json @@ -377,7 +377,8 @@ "ORDER": "Orden", "COMMENT-PLACEHOLDER": "Por favir especifique", "COMMENT-HINT": "Proporcione información adicional o justifique su selección", - "RDA-COMMON-STANDARDS": "RDA Common estándares" + "RDA-COMMON-STANDARDS": "RDA Common estándares", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Añadir un capo hijo+" diff --git a/dmp-frontend/src/assets/i18n/gr.json b/dmp-frontend/src/assets/i18n/gr.json index 5dfe58d7b..531b386a7 100644 --- a/dmp-frontend/src/assets/i18n/gr.json +++ b/dmp-frontend/src/assets/i18n/gr.json @@ -377,7 +377,8 @@ "ORDER": "Εντολή", "COMMENT-PLACEHOLDER": "Παρακαλώ προσδιορίστε", "COMMENT-HINT": "Προσθέστε επιπλέον πληροφορίες ή αιτιολόγηση σχετικά με την επιλογή σας", - "RDA-COMMON-STANDARDS": "RDA Common Standards" + "RDA-COMMON-STANDARDS": "RDA Common Standards", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Προσθήκη Πεδίου Υπο-ομάδας +" diff --git a/dmp-frontend/src/assets/i18n/hr.json b/dmp-frontend/src/assets/i18n/hr.json index 393b7e2a8..450fca8e2 100644 --- a/dmp-frontend/src/assets/i18n/hr.json +++ b/dmp-frontend/src/assets/i18n/hr.json @@ -377,7 +377,8 @@ "ORDER": "Redoslijed", "COMMENT-PLACEHOLDER": "Navedite", "COMMENT-HINT": "Navedite dodatne informacije ili obrazložite izbor", - "RDA-COMMON-STANDARDS": "RDA zajednički standardi" + "RDA-COMMON-STANDARDS": "RDA zajednički standardi", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Dodajte potpolje +" diff --git a/dmp-frontend/src/assets/i18n/pt.json b/dmp-frontend/src/assets/i18n/pt.json index 6a39d3511..26a302ea3 100644 --- a/dmp-frontend/src/assets/i18n/pt.json +++ b/dmp-frontend/src/assets/i18n/pt.json @@ -377,7 +377,8 @@ "ORDER": "Ordem", "COMMENT-PLACEHOLDER": "Por favor especifique", "COMMENT-HINT": "Disponibilize informação ou justificação adicional sobre a sua seleção", - "RDA-COMMON-STANDARDS": "Normas RDA" + "RDA-COMMON-STANDARDS": "Normas RDA", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Adicionar Campo Subordinado +" diff --git a/dmp-frontend/src/assets/i18n/sk.json b/dmp-frontend/src/assets/i18n/sk.json index 728c666b0..d7a548057 100644 --- a/dmp-frontend/src/assets/i18n/sk.json +++ b/dmp-frontend/src/assets/i18n/sk.json @@ -377,7 +377,8 @@ "ORDER": "Order", "COMMENT-PLACEHOLDER": "Please Specify", "COMMENT-HINT": "Provide additional information or justification about your selection", - "RDA-COMMON-STANDARDS": "RDA Common Standards" + "RDA-COMMON-STANDARDS": "RDA Common Standards", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Add Child Field +" diff --git a/dmp-frontend/src/assets/i18n/sr.json b/dmp-frontend/src/assets/i18n/sr.json index 0219d692d..055b4af18 100644 --- a/dmp-frontend/src/assets/i18n/sr.json +++ b/dmp-frontend/src/assets/i18n/sr.json @@ -377,7 +377,8 @@ "ORDER": "Redosled", "COMMENT-PLACEHOLDER": "Navedite", "COMMENT-HINT": "Navedite dodatne informacije ili obrazložite izbor", - "RDA-COMMON-STANDARDS": "RDA zajednički standardi" + "RDA-COMMON-STANDARDS": "RDA zajednički standardi", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Dodajte izvedeno polje +" diff --git a/dmp-frontend/src/assets/i18n/tr.json b/dmp-frontend/src/assets/i18n/tr.json index 868f0bebd..8db9ee10e 100644 --- a/dmp-frontend/src/assets/i18n/tr.json +++ b/dmp-frontend/src/assets/i18n/tr.json @@ -377,7 +377,8 @@ "ORDER": "Düzen", "COMMENT-PLACEHOLDER": "Lütfen Belirtiniz", "COMMENT-HINT": "Seçiminiz hakkında gerekçe veya ek bilgi veriniz", - "RDA-COMMON-STANDARDS": "RDA Ortak Standartları" + "RDA-COMMON-STANDARDS": "RDA Ortak Standartları", + "EXPORT": "Include in Export" }, "ACTIONS": { "ADD-CHILD-FIELD": "Alt Alan Ekle +" diff --git a/dmp-frontend/src/assets/resources/skipDisable.json b/dmp-frontend/src/assets/resources/skipDisable.json index 7cde08f3d..4a76eb406 100644 --- a/dmp-frontend/src/assets/resources/skipDisable.json +++ b/dmp-frontend/src/assets/resources/skipDisable.json @@ -11,5 +11,6 @@ "FreeTextFieldDataEditorModel.label", "WordListFieldDataEditorModel.label", "FieldDataOptionEditorModel.label", - "FieldSetEditorModel.rdaCommonStandard" + "FieldSetEditorModel.rdaCommonStandard", + "FieldSetEditorModel.export" ]