From dd2db4ce1f6857e9e58efe090c867a3866127b6a Mon Sep 17 00:00:00 2001 From: Kristan Ntavidi Date: Wed, 17 Feb 2021 18:39:07 +0200 Subject: [PATCH] Dataset profile editor. Field Preview Fixes. Summary preview supports visibility rules. Minor UI fixes. --- .../services/utilities/enum-utils.service.ts | 25 ++ ...file-editor-composite-field.component.html | 6 +- ...-editor-auto-complete-field.component.html | 18 +- ...itor-boolean-decision-field.component.html | 7 +- ...ofile-editor-checkbox-field.component.html | 3 +- ...file-editor-combo-box-field.component.html | 4 +- ...rofile-editor-combo-box-field.component.ts | 2 +- ...ofile-editor-currency-field.component.html | 2 +- ...tor-data-repositories-field.component.html | 2 +- ...or-dataset-identifier-field.component.html | 2 +- ...datasets-autocomplete-field.component.html | 3 +- ...le-editor-date-picker-field.component.html | 2 +- ...tor-dmps-autocomplete-field.component.html | 3 +- ...tor-external-datasets-field.component.html | 2 +- ...file-editor-free-text-field.component.html | 2 +- ...-editor-organizations-field.component.html | 2 +- ...file-editor-radio-box-field.component.html | 10 +- ...ile-editor-registries-field.component.html | 2 +- ...archers-auto-complete-field.component.html | 3 +- ...le-editor-researchers-field.component.html | 2 +- ...ofile-editor-services-field.component.html | 2 +- ...t-profile-editor-tags-field.component.html | 2 +- ...file-editor-text-area-field.component.html | 5 +- ...file-editor-validator-field.component.html | 6 +- ...file-editor-word-list-field.component.html | 12 +- ...ataset-profile-editor-field.component.html | 101 ++++-- .../dataset-profile-editor-field.component.ts | 338 +++++++++++++----- .../components/field/view-style-enum.ts | 21 ++ ...aset-profile-editor-section.component.html | 9 +- ...ataset-profile-editor-section.component.ts | 13 +- .../dataset-profile-editor.component.html | 4 +- .../dataset-profile-editor.component.ts | 70 +++- .../table-of-contents-internal-section.html | 175 +++++---- .../table-of-contents-internal-section.ts | 21 ++ .../table-of-contents/table-of-contents.html | 4 +- dmp-frontend/src/assets/i18n/de.json | 4 +- dmp-frontend/src/assets/i18n/en.json | 4 +- dmp-frontend/src/assets/i18n/es.json | 4 +- dmp-frontend/src/assets/i18n/gr.json | 4 +- dmp-frontend/src/assets/i18n/pt.json | 4 +- dmp-frontend/src/assets/i18n/sk.json | 4 +- dmp-frontend/src/assets/i18n/sr.json | 4 +- dmp-frontend/src/assets/i18n/tr.json | 4 +- 43 files changed, 671 insertions(+), 246 deletions(-) create mode 100644 dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/view-style-enum.ts diff --git a/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts b/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts index ddf120849..7edcb5100 100644 --- a/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts +++ b/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts @@ -12,6 +12,7 @@ import { DatasetProfileInternalDmpEntitiesType } from '../../common/enum/dataset import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order'; import { Role } from '@app/core/common/enum/role'; import { RoleOrganizationType } from '@app/core/common/enum/role-organization-type'; +import { ViewStyleType } from '@app/ui/admin/dataset-profile/editor/components/field/view-style-enum'; @Injectable() export class EnumUtils { @@ -90,6 +91,30 @@ export class EnumUtils { case DatasetProfileFieldViewStyle.Validation: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.VALIDATION'); } } + toDatasetProfileViewTypeString(status: ViewStyleType) :string{ + switch (status) { + case ViewStyleType.BooleanDecision: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.BOOLEAN-DECISION'); + case ViewStyleType.CheckBox: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.CHECKBOX'); + case ViewStyleType.Select: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.SELECT'); + case ViewStyleType.InternalDmpEntities: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.INTERNAL-DMP-ENTITIES'); + case ViewStyleType.FreeText: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.FREE-TEXT'); + case ViewStyleType.RadioBox: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.RADIO-BOX'); + case ViewStyleType.TextArea: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.TEXT-AREA'); + case ViewStyleType.DatePicker: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.DATE-PICKER'); + case ViewStyleType.ExternalDatasets: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.EXTERNAL-DATASETS'); + case ViewStyleType.DataRepositories: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.DATA-REPOSITORIES'); + case ViewStyleType.Registries: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.REGISTRIES'); + case ViewStyleType.Services: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.SERVICES'); + case ViewStyleType.Tags: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.TAGS'); + case ViewStyleType.Researchers: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.RESEARCHERS'); + case ViewStyleType.Organizations: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.ORGANIZATIONS'); + case ViewStyleType.DatasetIdentifier: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.DATASET-IDENTIFIER'); + case ViewStyleType.Currency: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.CURRENCY'); + case ViewStyleType.Validation: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.VALIDATION'); + case ViewStyleType.Other: return this.language.instant('TYPES.DATASET-PROFILE-FIELD-VIEW-STYLE.OTHER'); + } + + } toDatasetProfileComboBoxTypeString(status: DatasetProfileComboBoxType): string { switch (status) { diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html index e6f85ede5..3723568b7 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/composite-field/dataset-profile-editor-composite-field.component.html @@ -168,7 +168,7 @@
-
+
@@ -239,9 +239,9 @@ --> - +Target: {{this.targetField?.value |json}} diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/auto-complete/dataset-profile-editor-auto-complete-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/auto-complete/dataset-profile-editor-auto-complete-field.component.html index 0b7c98d87..c8e89ae4c 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/auto-complete/dataset-profile-editor-auto-complete-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/auto-complete/dataset-profile-editor-auto-complete-field.component.html @@ -6,7 +6,8 @@ - {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-AUTOCOMPLETE-PLACEHOLDER' | translate}} + @@ -24,20 +25,25 @@ - + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-AUTOCOMPLETE-URL' | translate}} + - {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-AUTOCOMPLETE-OPTIONS-ROOT' | translate}} + - + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-AUTOCOMPLETE-LABEL' | translate}} + - + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-AUTOCOMPLETE-VALUE' | translate}} + - + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-AUTOCOMPLETE-SOURCE' | translate}} +
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/boolean-decision/dataset-profile-editor-boolean-decision-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/boolean-decision/dataset-profile-editor-boolean-decision-field.component.html index 66105b839..e1f96a2e1 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/boolean-decision/dataset-profile-editor-boolean-decision-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/boolean-decision/dataset-profile-editor-boolean-decision-field.component.html @@ -1,8 +1,9 @@ -
+ diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/checkbox/dataset-profile-editor-checkbox-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/checkbox/dataset-profile-editor-checkbox-field.component.html index cb2d82d7f..56ae77ff2 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/checkbox/dataset-profile-editor-checkbox-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/checkbox/dataset-profile-editor-checkbox-field.component.html @@ -3,6 +3,7 @@
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-TITLE' | translate}}
- + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} +
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.html index 014c776f1..9f4e545ab 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.html @@ -1,10 +1,10 @@
- +
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.ts index 86cc30d8d..862cb61f9 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/combo-box/dataset-profile-editor-combo-box-field.component.ts @@ -22,7 +22,7 @@ export class DatasetProfileEditorComboBoxFieldComponent extends BaseComponent im ) { super(); } ngOnInit() { - this.setupListeners(); + // this.setupListeners(); } setupListeners() { diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/currency/dataset-profile-editor-currency-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/currency/dataset-profile-editor-currency-field.component.html index aeb72f4ed..bf505dbea 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/currency/dataset-profile-editor-currency-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/currency/dataset-profile-editor-currency-field.component.html @@ -2,8 +2,8 @@
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-DATE-PICKER-TITLE' | translate}}
+ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}}
\ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/data-repositories/dataset-profile-editor-data-repositories-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/data-repositories/dataset-profile-editor-data-repositories-field.component.html index 95cf28e76..b80906a68 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/data-repositories/dataset-profile-editor-data-repositories-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/data-repositories/dataset-profile-editor-data-repositories-field.component.html @@ -5,8 +5,8 @@ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-MULTIPLE-AUTOCOMPLETE' | translate}} + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}}
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dataset-identifier/dataset-profile-editor-dataset-identifier-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dataset-identifier/dataset-profile-editor-dataset-identifier-field.component.html index aeb72f4ed..bf505dbea 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dataset-identifier/dataset-profile-editor-dataset-identifier-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dataset-identifier/dataset-profile-editor-dataset-identifier-field.component.html @@ -2,8 +2,8 @@
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-DATE-PICKER-TITLE' | translate}}
+ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datasets-auto-complete/dataset-profile-editor-datasets-autocomplete-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datasets-auto-complete/dataset-profile-editor-datasets-autocomplete-field.component.html index 85de8192e..e7c6d01dc 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datasets-auto-complete/dataset-profile-editor-datasets-autocomplete-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datasets-auto-complete/dataset-profile-editor-datasets-autocomplete-field.component.html @@ -6,7 +6,8 @@ - {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-DATASETS-PLACEHOLDER' | translate}} + diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datepicker/dataset-profile-editor-date-picker-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datepicker/dataset-profile-editor-date-picker-field.component.html index aeb72f4ed..bf505dbea 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datepicker/dataset-profile-editor-date-picker-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/datepicker/dataset-profile-editor-date-picker-field.component.html @@ -2,8 +2,8 @@
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-DATE-PICKER-TITLE' | translate}}
+ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dmps-auto-complete/dataset-profile-editor-dmps-autocomplete-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dmps-auto-complete/dataset-profile-editor-dmps-autocomplete-field.component.html index 70d5106e7..2109b436b 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dmps-auto-complete/dataset-profile-editor-dmps-autocomplete-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/dmps-auto-complete/dataset-profile-editor-dmps-autocomplete-field.component.html @@ -6,7 +6,8 @@ - {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-DMPS-PLACEHOLDER' | translate}} + diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/external-datasets/dataset-profile-editor-external-datasets-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/external-datasets/dataset-profile-editor-external-datasets-field.component.html index 96016ab7c..3fdbc1221 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/external-datasets/dataset-profile-editor-external-datasets-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/external-datasets/dataset-profile-editor-external-datasets-field.component.html @@ -6,8 +6,8 @@ + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/free-text/dataset-profile-editor-free-text-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/free-text/dataset-profile-editor-free-text-field.component.html index 9509b5a57..cc1248c46 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/free-text/dataset-profile-editor-free-text-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/free-text/dataset-profile-editor-free-text-field.component.html @@ -4,8 +4,8 @@ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-FREE-TEXT-TITLE' | translate}} + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-FREE-TEXT-PLACEHOLDER' | translate}} \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/organizations/dataset-profile-editor-organizations-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/organizations/dataset-profile-editor-organizations-field.component.html index 96016ab7c..3fdbc1221 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/organizations/dataset-profile-editor-organizations-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/organizations/dataset-profile-editor-organizations-field.component.html @@ -6,8 +6,8 @@ + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/radio-box/dataset-profile-editor-radio-box-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/radio-box/dataset-profile-editor-radio-box-field.component.html index 612a43bc4..3e8b7d00e 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/radio-box/dataset-profile-editor-radio-box-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/radio-box/dataset-profile-editor-radio-box-field.component.html @@ -3,22 +3,22 @@
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-RADIO-BOX-TITLE' | translate}}
- +
+ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-RADIO-BOX-LABEL' | translate}} + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-RADIO-BOX-VALUE' | translate}}
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers-auto-complete/dataset-profile-editor-researchers-auto-complete-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers-auto-complete/dataset-profile-editor-researchers-auto-complete-field.component.html index 7de5c855f..94260ad5a 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers-auto-complete/dataset-profile-editor-researchers-auto-complete-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers-auto-complete/dataset-profile-editor-researchers-auto-complete-field.component.html @@ -6,7 +6,8 @@ - {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-RESEARCHERS-PLACEHOLDER' | translate}} +
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers/dataset-profile-editor-researchers-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers/dataset-profile-editor-researchers-field.component.html index 95cf28e76..b80906a68 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers/dataset-profile-editor-researchers-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/researchers/dataset-profile-editor-researchers-field.component.html @@ -5,8 +5,8 @@ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-MULTIPLE-AUTOCOMPLETE' | translate}} + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/services/dataset-profile-editor-services-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/services/dataset-profile-editor-services-field.component.html index 95cf28e76..b80906a68 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/services/dataset-profile-editor-services-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/services/dataset-profile-editor-services-field.component.html @@ -5,8 +5,8 @@ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-MULTIPLE-AUTOCOMPLETE' | translate}} + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/tags/dataset-profile-editor-tags-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/tags/dataset-profile-editor-tags-field.component.html index aeb72f4ed..d889208a4 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/tags/dataset-profile-editor-tags-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/tags/dataset-profile-editor-tags-field.component.html @@ -2,8 +2,8 @@
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-DATE-PICKER-TITLE' | translate}}
+ {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/textarea/dataset-profile-editor-text-area-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/textarea/dataset-profile-editor-text-area-field.component.html index bb2b107c7..f3fe6ee4a 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/textarea/dataset-profile-editor-text-area-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/textarea/dataset-profile-editor-text-area-field.component.html @@ -4,7 +4,10 @@ | translate}} - + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-TEXT-AREA-PLACEHOLDER' | translate}} + + \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/validator/dataset-profile-editor-validator-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/validator/dataset-profile-editor-validator-field.component.html index 78920fe77..64c1759ac 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/validator/dataset-profile-editor-validator-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/validator/dataset-profile-editor-validator-field.component.html @@ -2,8 +2,8 @@
{{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-DATE-PICKER-TITLE' | translate}}
- + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-CHECKBOX-PLACEHOLDER' | translate}} + diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/word-list/dataset-profile-editor-word-list-field.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/word-list/dataset-profile-editor-word-list-field.component.html index 493b890b6..049af17e1 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/word-list/dataset-profile-editor-word-list-field.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/word-list/dataset-profile-editor-word-list-field.component.html @@ -7,22 +7,20 @@ + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-WORD-LIST-PLACEHOLDER' | translate}}
- + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-WORD-LIST-LABEL' | translate}} + - + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.FIELD-WORD-LIST-VALUE' | translate}} +
@@ -123,12 +178,12 @@ No
--> -
+
-
+
Not initialized yet diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts index d42702341..8ba5cd522 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/dataset-profile-editor-field.component.ts @@ -29,6 +29,10 @@ import { CurrencyDataEditorModel } from '../../../admin/field-data/currency-data import { ValidationDataEditorModel } from '../../../admin/field-data/validation-data-editor-models'; import { DatasetDescriptionFieldEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model'; import { Subscription } from 'rxjs'; +import { ViewStyleType } from './view-style-enum'; +import { AutoCompleteFieldDataEditorModel } from '../../../admin/field-data/auto-complete-field-data-editor-model'; +import { DatasetsAutoCompleteFieldDataEditorModel } from '../../../admin/field-data/datasets-autocomplete-field-data-editor-mode'; +import { DatasetProfileComboBoxType } from '@app/core/common/enum/dataset-profile-combo-box-type'; @Component({ selector: 'app-dataset-profile-editor-field-component', @@ -44,6 +48,10 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements viewStyleEnum = DatasetProfileFieldViewStyle; isFieldMultiplicityEnabled = false; + viewType: ViewStyleType; + viewTypeEnum = ViewStyleType; + + @Input() expandView: boolean = true; constructor( @@ -58,83 +66,155 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements this.isFieldMultiplicityEnabled = true; } } + + if(this.form.get('viewStyle').get('renderStyle').value){ + const type = this.form.get('viewStyle').get('renderStyle').value; + + switch(type){ + case DatasetProfileFieldViewStyle.BooleanDecision: + this.viewType = this.viewTypeEnum.BooleanDecision; + break; + case DatasetProfileFieldViewStyle.CheckBox: + this.viewType = this.viewTypeEnum.CheckBox; + break; + case DatasetProfileFieldViewStyle.ComboBox: + + const comboType = this.form.get('data').get('type').value; + if(comboType === DatasetProfileComboBoxType.Autocomplete){ + this.viewType = this.viewTypeEnum.Other; + }else if(comboType === DatasetProfileComboBoxType.WordList){ + this.viewType = this.viewTypeEnum.Select; + } + break; + case DatasetProfileFieldViewStyle.InternalDmpEntities: + this.viewType = this.viewTypeEnum.InternalDmpEntities; + break; + case DatasetProfileFieldViewStyle.FreeText: + this.viewType = this.viewTypeEnum.FreeText; + break; + case DatasetProfileFieldViewStyle.RadioBox: + this.viewType = this.viewTypeEnum.RadioBox; + break; + case DatasetProfileFieldViewStyle.TextArea: + this.viewType = this.viewTypeEnum.TextArea; + break; + case DatasetProfileFieldViewStyle.DatePicker: + this.viewType = this.viewTypeEnum.DatePicker; + break; + case DatasetProfileFieldViewStyle.ExternalDatasets: + this.viewType = this.viewTypeEnum.ExternalDatasets; + break; + case DatasetProfileFieldViewStyle.DataRepositories: + this.viewType = this.viewTypeEnum.DataRepositories; + break; + case DatasetProfileFieldViewStyle.Registries: + this.viewType = this.viewTypeEnum.Registries; + break; + case DatasetProfileFieldViewStyle.Services: + this.viewType = this.viewTypeEnum.Services; + break; + case DatasetProfileFieldViewStyle.Tags: + this.viewType = this.viewTypeEnum.Tags; + break; + case DatasetProfileFieldViewStyle.Researchers: + this.viewType = this.viewTypeEnum.Researchers; + break; + case DatasetProfileFieldViewStyle.Organizations: + this.viewType = this.viewTypeEnum.Organizations; + break; + case DatasetProfileFieldViewStyle.DatasetIdentifier: + this.viewType = this.viewTypeEnum.DatasetIdentifier; + break; + case DatasetProfileFieldViewStyle.Currency: + this.viewType = this.viewTypeEnum.Currency; + break; + case DatasetProfileFieldViewStyle.Validation: + this.viewType = this.viewTypeEnum.Validation; + break; + } + + } + + + + // this.addNewRule(); - this.form.get('viewStyle').get('renderStyle').valueChanges - .pipe(takeUntil(this._destroyed)) - .subscribe(x => { + // this.form.get('viewStyle').get('renderStyle').valueChanges + // .pipe(takeUntil(this._destroyed)) + // .subscribe(x => { - // const previewStatus = this.showPreview; - //!! Important to be before the if statement - this.showPreview = false; + // // const previewStatus = this.showPreview; + // //!! Important to be before the if statement + // this.showPreview = false; - if (this.form.get('data')) { - this.form.removeControl('data'); + // if (this.form.get('data')) { + // this.form.removeControl('data'); - switch (x) { - case DatasetProfileFieldViewStyle.BooleanDecision: - this.form.addControl('data', new BooleanDecisionFieldDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.CheckBox: - this.form.addControl('data', new CheckBoxFieldDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.ComboBox: - this.form.addControl('data', new WordListFieldDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.InternalDmpEntities: - this.form.addControl('data', new ResearchersAutoCompleteFieldDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.FreeText: - this.form.addControl('data', new FreeTextFieldDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.RadioBox: - this.form.addControl('data', new RadioBoxFieldDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.TextArea: - this.form.addControl('data', new TextAreaFieldDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.DatePicker: - this.form.addControl('data', new DatePickerDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.ExternalDatasets: - this.form.addControl('data', new ExternalDatasetsDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.DataRepositories: - this.form.addControl('data', new DataRepositoriesDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.Registries: - this.form.addControl('data', new RegistriesDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.Services: - this.form.addControl('data', new ServicesDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.Tags: - this.form.addControl('data', new TagsDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.Researchers: - this.form.addControl('data', new ResearchersDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.Organizations: - this.form.addControl('data', new OrganizationsDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.DatasetIdentifier: - this.form.addControl('data', new DatasetIdentifierDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.Currency: - this.form.addControl('data', new CurrencyDataEditorModel().buildForm()); - break; - case DatasetProfileFieldViewStyle.Validation: - this.form.addControl('data', new ValidationDataEditorModel().buildForm()); - break; - } - } + // switch (x) { + // case DatasetProfileFieldViewStyle.BooleanDecision: + // this.form.addControl('data', new BooleanDecisionFieldDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.CheckBox: + // this.form.addControl('data', new CheckBoxFieldDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.ComboBox: + // this.form.addControl('data', new WordListFieldDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.InternalDmpEntities: + // this.form.addControl('data', new ResearchersAutoCompleteFieldDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.FreeText: + // this.form.addControl('data', new FreeTextFieldDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.RadioBox: + // this.form.addControl('data', new RadioBoxFieldDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.TextArea: + // this.form.addControl('data', new TextAreaFieldDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.DatePicker: + // this.form.addControl('data', new DatePickerDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.ExternalDatasets: + // this.form.addControl('data', new ExternalDatasetsDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.DataRepositories: + // this.form.addControl('data', new DataRepositoriesDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.Registries: + // this.form.addControl('data', new RegistriesDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.Services: + // this.form.addControl('data', new ServicesDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.Tags: + // this.form.addControl('data', new TagsDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.Researchers: + // this.form.addControl('data', new ResearchersDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.Organizations: + // this.form.addControl('data', new OrganizationsDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.DatasetIdentifier: + // this.form.addControl('data', new DatasetIdentifierDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.Currency: + // this.form.addControl('data', new CurrencyDataEditorModel().buildForm()); + // break; + // case DatasetProfileFieldViewStyle.Validation: + // this.form.addControl('data', new ValidationDataEditorModel().buildForm()); + // break; + // } + // } - //reset the preview status - // this.showPreview = previewStatus; - this.showPreview = true; - }); + // //reset the preview status + // // this.showPreview = previewStatus; + // this.showPreview = true; + // }); } defaulValueRequired(viewStile: DatasetProfileFieldViewStyle): boolean { @@ -205,30 +285,26 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements } } - this._formChangesSubscription = this.form.valueChanges.subscribe(()=>{ - this.generatePreviewForm(); - }); //initialize if(this.form.get('viewStyle').get('renderStyle').value){ - this.generatePreviewForm(); + this._generatePreviewForm(); } + this._formChangesSubscription = this.form.valueChanges.subscribe(()=>{ + this._generatePreviewForm(); + }); } - this._showPreview = value; + } previewForm: FormGroup; - generatePreviewForm(){ - + private _generatePreviewForm(){ if(!this.form.get('data')){ return; } - - this.previewForm = null; - // this._showPreview = false; const fieldEditorModel = new DatasetDescriptionFieldEditorModel(); fieldEditorModel.viewStyle= { @@ -244,10 +320,13 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements if(this.form.get('viewStyle').get('renderStyle').value == DatasetProfileFieldViewStyle.CheckBox){ fieldEditorModel.value = this.form.get('defaultValue').get('value').value === 'true'; } + // if(this.form.get('viewStyle').get('renderStyle').value == DatasetProfileFieldViewStyle.Researchers){ + // fieldEditorModel.data = new ResearchersAutoCompleteFieldDataEditorModel().buildForm().getRawValue(); + // } - this.previewForm = fieldEditorModel.buildForm(); - - // this._showPreview = true; + setTimeout(() => { + this.previewForm = fieldEditorModel.buildForm(); + }); }; // generatePreview(){ @@ -273,4 +352,99 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements // } + onInputTypeChange(){ + + + const x = this.viewType; + + this.showPreview = false; + + if (this.form.get('data')) { + this.form.removeControl('data'); + } + + switch (x) { + case this.viewTypeEnum.BooleanDecision: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.BooleanDecision) + this.form.addControl('data', new BooleanDecisionFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.CheckBox: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.CheckBox) + this.form.addControl('data', new CheckBoxFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Select: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.ComboBox) + this.form.addControl('data', new WordListFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Other: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.ComboBox) + this.form.addControl('data', new AutoCompleteFieldDataEditorModel().buildForm()); //TODO SEE + break; + case this.viewTypeEnum.InternalDmpEntities: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.InternalDmpEntities) + this.form.addControl('data', new ResearchersAutoCompleteFieldDataEditorModel().buildForm());//TODO TO SEE + break; + case this.viewTypeEnum.FreeText: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.FreeText) + this.form.addControl('data', new FreeTextFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.RadioBox: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.RadioBox) + this.form.addControl('data', new RadioBoxFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.TextArea: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.TextArea) + this.form.addControl('data', new TextAreaFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.DatePicker: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.DatePicker) + this.form.addControl('data', new DatePickerDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.ExternalDatasets: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.ExternalDatasets) + this.form.addControl('data', new ExternalDatasetsDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.DataRepositories: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.DataRepositories) + this.form.addControl('data', new DataRepositoriesDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Registries: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.Registries) + this.form.addControl('data', new RegistriesDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Services: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.Services) + this.form.addControl('data', new ServicesDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Tags: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.Tags) + this.form.addControl('data', new TagsDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Researchers: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.Researchers) + // this.form.addControl('data', new ResearchersDataEditorModel().buildForm()); //TODO TO ASK + this.form.addControl('data', new ResearchersAutoCompleteFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Organizations: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.Organizations) + // this.form.addControl('data', new OrganizationsDataEditorModel().buildForm()); + this.form.addControl('data', new DatasetsAutoCompleteFieldDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.DatasetIdentifier: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.DatasetIdentifier) + this.form.addControl('data', new DatasetIdentifierDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Currency: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.Currency) + this.form.addControl('data', new CurrencyDataEditorModel().buildForm()); + break; + case this.viewTypeEnum.Validation: + this.form.get('viewStyle').get('renderStyle').setValue(DatasetProfileFieldViewStyle.Validation) + this.form.addControl('data', new ValidationDataEditorModel().buildForm()); + break; + } + setTimeout(() => { //TODO + this.showPreview = true; + }); + } } diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/view-style-enum.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/view-style-enum.ts new file mode 100644 index 000000000..f1da6d5cd --- /dev/null +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field/view-style-enum.ts @@ -0,0 +1,21 @@ +export enum ViewStyleType{ + TextArea = "textarea", + BooleanDecision = "booleanDecision", + CheckBox = "checkBox", + FreeText = "freetext", + RadioBox = "radiobox", + DatePicker = "datePicker", + InternalDmpEntities = "internalDmpEntities", + ExternalDatasets = "externalDatasets", + DataRepositories = "dataRepositories", + Registries = "registries", + Services = "services", + Tags = "tags", + Researchers = "researchers", + Organizations = "organizations", + DatasetIdentifier = "datasetIdentifier", + Currency = "currency", + Validation = 'validation', + Select ="selection", + Other ="other" +} \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html index b18ee3cbc..cd0b3f5ef 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.html @@ -57,8 +57,13 @@
-
--> + --> + + +
+
+
diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.ts index 95071fd16..4e4bc873d 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/section/dataset-profile-editor-section.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { FormArray, FormGroup } from '@angular/forms'; import { FieldEditorModel } from '@app/ui/admin/dataset-profile/admin/field-editor-model'; import { FieldSetEditorModel } from '@app/ui/admin/dataset-profile/admin/field-set-editor-model'; @@ -18,6 +18,7 @@ export class DatasetProfileEditorSectionComponent extends BaseComponent implemen //@Input() dataModel: SectionEditorModel; @Input() indexPath: string; @Input() viewOnly: boolean; + @Output() fieldsetAdded = new EventEmitter(); //returns the id of the fieldset added constructor() { super(); } @@ -38,7 +39,15 @@ export class DatasetProfileEditorSectionComponent extends BaseComponent implemen fieldSet.id = Guid.create().toString(); //this.dataModel.fieldSets.push(fieldSet); //} - (this.form.get('fieldSets')).push(fieldSet.buildForm()); + const fieldsetsArray = this.form.get('fieldSets') as FormArray; + fieldsetsArray.push(fieldSet.buildForm()); + + const fieldSetForm = fieldsetsArray.at(fieldsetsArray.length-1); + //emit id inserted + if(fieldSetForm){ + const id: string = fieldSetForm.get('id').value; + this.fieldsetAdded.emit(id); + } } addSectioninSection() { diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.html b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.html index 217a169f9..ee14ab7d8 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.html @@ -172,7 +172,7 @@ + (fieldsetAdded)="displayItem(_findTocEntryById($event, getTocEntries()))"> @@ -248,7 +248,7 @@ Preview and finalize - + diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts index 6d0b67543..f2182082d 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts @@ -37,6 +37,7 @@ import { FieldEditorModel } from '../admin/field-editor-model'; import { VisibilityRulesService } from '@app/ui/misc/dataset-description-form/visibility-rules/visibility-rules.service'; import { StepperSelectionEvent } from '@angular/cdk/stepper'; import { DatasetDescriptionCompositeFieldEditorModel, DatasetDescriptionFieldEditorModel, DatasetDescriptionFormEditorModel, DatasetDescriptionPageEditorModel, DatasetDescriptionSectionEditorModel } from '@app/ui/misc/dataset-description-form/dataset-description-form.model'; +import { Rule } from '@app/core/model/dataset-profile-definition/rule'; const skipDisable: any[] = require('../../../../../assets/resources/skipDisable.json'); @@ -884,9 +885,24 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn //in case selectedtocentrhy is child of the removed element if(this.selectedTocEntry ){ - // if(this.tocEntryIsChildOf(this.selectedTocEntry,tce)){ - this.selectedTocEntry = null; + if(this.selectedTocEntry.type == ToCEntryType.Page){ + this.selectedTocEntry = null; + }else{ + const parentId = tce.form.parent.parent.get('id').value; + if(parentId){ + const tocentries = this.getTocEntries(); + const parent = this._findTocEntryById(parentId, tocentries); + + if(parent){ + this.selectedTocEntry = parent; + }else{ + this.selectedTocEntry = null; + } + }else{ + this.selectedTocEntry = null; + } + } } } @@ -1029,10 +1045,36 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn }); + + //populate rules + const rules:Rule[] =[]; + const fieldSets = this._getFieldSets(toCentries); + + fieldSets.forEach(fs=>{ + const fields = fs.form.get('fields') as FormArray; + if(fields){ + fields.controls.forEach(field=>{ + const rulesArray = field.get('visible').get('rules').value; + if(rulesArray){ + rulesArray.forEach(ruleElement => { + const rule: Rule = new Rule(); + rule.targetField = ruleElement.target; + rule.sourceField = field.get('id').value; + rule.requiredValue = ruleElement.value; + rules.push(rule); + }); + } + }); + } + }); + + model.rules = rules; + this.visibilityRules = rules; this.previewForm = model.buildForm(); } + visibilityRules:Rule[]; private _buildSectionsRecursively( tocentries: ToCEntry[]): DatasetDescriptionSectionEditorModel[]{ @@ -1079,6 +1121,7 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn fieldset.multiplicity = fs.form.get('multiplicity').value; fieldset.additionalInformation = fs.form.get('additionalInformation').value; fieldset.ordinal = fs.form.get('ordinal').value; + fieldset.numbering = fs.numbering; fieldset.hasCommentField = fs.form.get('hasCommentField').value; fieldset.title = fs.label; // fieldset.fields = (fs.form.get('fields') as FormArray).getRawValue(); @@ -1089,7 +1132,8 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn fieldModel.data = (field.get('data') as FormGroup).getRawValue(); fieldModel.id = field.get('id').value; fieldModel.viewStyle = (field.get('viewStyle') as FormGroup).getRawValue(); - fieldModel.defaultValue = field.get('defaultValue').value; + // fieldModel.defaultValue = (field.get('defaultValue') as FormGroup).getRawValue(); + fieldModel.value = (field.get('defaultValue') as FormGroup).get('value').value; fieldModel.page = field.get('page').value; fieldModel.validations = field.get('validations').value; @@ -1104,12 +1148,32 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn return fieldsets; } + private _getFieldSets(tocentries: ToCEntry[]):ToCEntry[]{ + + const fieldsets:ToCEntry[] = []; + + if(!tocentries) return fieldsets; + + tocentries.forEach(entry=>{ + if(entry.type == ToCEntryType.FieldSet){ + fieldsets.push(entry); + }else{ + fieldsets.push(...this._getFieldSets(entry.subEntries)); + } + }); + + return fieldsets; + } + onMatStepperSelectionChange(event: StepperSelectionEvent){ if(event.selectedIndex === 2){//preview selected this.generatePreviewForm();//TODO LAZY LOADING IN THE TEMPLATE + }else{ + this.previewForm = null; } + } previewForm:FormGroup; diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/table-of-contents/table-of-contents-internal-section/table-of-contents-internal-section.html b/dmp-frontend/src/app/ui/admin/dataset-profile/table-of-contents/table-of-contents-internal-section/table-of-contents-internal-section.html index 2cd2d637b..debdc0551 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/table-of-contents/table-of-contents-internal-section/table-of-contents-internal-section.html +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/table-of-contents/table-of-contents-internal-section/table-of-contents-internal-section.html @@ -1,85 +1,108 @@ + -