diff --git a/dmp-frontend/src/app/core/common/enum/external-dataset-type-enum.ts b/dmp-frontend/src/app/core/common/enum/external-dataset-type-enum.ts new file mode 100644 index 000000000..241b00ab1 --- /dev/null +++ b/dmp-frontend/src/app/core/common/enum/external-dataset-type-enum.ts @@ -0,0 +1,5 @@ +export enum ExternalDatasetTypeEnum{ + ReusedDataset = "reused_dataset", + ProducedDataset = "produced_dataset", + Other = "other" +} \ No newline at end of file diff --git a/dmp-frontend/src/app/core/model/dataset-profile-definition/field-data/field-data.ts b/dmp-frontend/src/app/core/model/dataset-profile-definition/field-data/field-data.ts index 47adf26c8..ab020df4f 100644 --- a/dmp-frontend/src/app/core/model/dataset-profile-definition/field-data/field-data.ts +++ b/dmp-frontend/src/app/core/model/dataset-profile-definition/field-data/field-data.ts @@ -1,3 +1,4 @@ +import { ExternalDatasetTypeEnum } from "@app/core/common/enum/external-dataset-type-enum"; import { DatasetProfileComboBoxType } from "../../../common/enum/dataset-profile-combo-box-type"; import { DatasetProfileInternalDmpEntitiesType } from "../../../common/enum/dataset-profile-internal-dmp-entities-type"; @@ -72,6 +73,7 @@ export interface DmpsAutoCompleteFieldData extends FieldData { export interface ExternalDatasetsFieldData extends FieldData { multiAutoComplete: boolean; + type?: ExternalDatasetTypeEnum; } export interface DataRepositoriesFieldData extends FieldData { diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-data/external-datasets-data-editor-models.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-data/external-datasets-data-editor-models.ts index e8d7b018e..473c4a822 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-data/external-datasets-data-editor-models.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/admin/field-data/external-datasets-data-editor-models.ts @@ -1,15 +1,18 @@ import { FormGroup } from '@angular/forms'; import { FieldDataEditorModel } from './field-data-editor-model'; import { ExternalDatasetsFieldData } from '../../../../../core/model/dataset-profile-definition/field-data/field-data'; +import { ExternalDatasetTypeEnum } from '@app/core/common/enum/external-dataset-type-enum'; export class ExternalDatasetsDataEditorModel extends FieldDataEditorModel { public label: string; public multiAutoComplete: boolean; + public type: ExternalDatasetTypeEnum; buildForm(disabled: boolean = false, skipDisable: Array = []): FormGroup { const formGroup = this.formBuilder.group({ label: [{ value: this.label, disabled: (disabled && !skipDisable.includes('ExternalDatasetsDataEditorModel.label')) }], - multiAutoComplete: [{ value: this.multiAutoComplete, disabled: (disabled && !skipDisable.includes('ExternalDatasetsDataEditorModel.multiAutoComplete')) }] + multiAutoComplete: [{ value: this.multiAutoComplete, disabled: (disabled && !skipDisable.includes('ExternalDatasetsDataEditorModel.multiAutoComplete')) }], + type: [{ value: this.type, disabled: (disabled && !skipDisable.includes('ExternalDatasetsDataEditorModel.type')) }] }); return formGroup; } @@ -17,6 +20,7 @@ export class ExternalDatasetsDataEditorModel extends FieldDataEditorModel + + + {{'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.EXTERNAL-DATASET-TYPE-NAME' | translate}} + + + {{type.label | 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.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/external-datasets/dataset-profile-editor-external-datasets-field.component.ts index 43ce6e6ae..e7d31f1d5 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/external-datasets/dataset-profile-editor-external-datasets-field.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/components/field-type/external-datasets/dataset-profile-editor-external-datasets-field.component.ts @@ -2,6 +2,7 @@ import { Component, Input, OnInit } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { DatePickerDataEditorModel } from '../../../../admin/field-data/date-picker-data-editor-models'; import { ExternalDatasetsDataEditorModel } from '@app/ui/admin/dataset-profile/admin/field-data/external-datasets-data-editor-models'; +import { ExternalDatasetTypeEnum } from '@app/core/common/enum/external-dataset-type-enum'; @Component({ selector: 'app-dataset-profile-editor-external-datasets-field-component', @@ -13,7 +14,28 @@ export class DatasetProfileEditorExternalDatasetsFieldComponent implements OnIni @Input() form: FormGroup; private data: ExternalDatasetsDataEditorModel = new ExternalDatasetsDataEditorModel(); + externalDatasetTypes = [ + ... Object.keys(ExternalDatasetTypeEnum).map(key=>{ + return { + label: this.parseExtrernalDatasetTypeKey(key), + value: ExternalDatasetTypeEnum[key] + }; + }) + ]; ngOnInit() { if (!this.form.get('data')) { this.form.addControl('data', this.data.buildForm()); } } + + parseExtrernalDatasetTypeKey(key: string): string{ + if(ExternalDatasetTypeEnum[key] === ExternalDatasetTypeEnum.ProducedDataset){ + return 'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.EXTERNAL-DATASET-TYPES.PRODUCED'; + } + if(ExternalDatasetTypeEnum[key] === ExternalDatasetTypeEnum.ReusedDataset){ + return 'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.EXTERNAL-DATASET-TYPES.REUSED'; + } + if(ExternalDatasetTypeEnum[key] === ExternalDatasetTypeEnum.Other){ + return 'DATASET-PROFILE-EDITOR.STEPS.FORM.FIELD.FIELDS.EXTERNAL-DATASET-TYPES.OTHER'; + } + return key; + } } diff --git a/dmp-frontend/src/assets/i18n/de.json b/dmp-frontend/src/assets/i18n/de.json index 244a7fbb3..8e8b7e968 100644 --- a/dmp-frontend/src/assets/i18n/de.json +++ b/dmp-frontend/src/assets/i18n/de.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dataset Identifier Data", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Input placeholder", "FIELD-VALIDATOR-TITLE": "Validator Data", - "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text" + "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "At least one source must be provided.", diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json index 77484b7a0..c57971ac8 100644 --- a/dmp-frontend/src/assets/i18n/en.json +++ b/dmp-frontend/src/assets/i18n/en.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dataset Identifier Data", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Input placeholder Text", "FIELD-VALIDATOR-TITLE": "Validator Data", - "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text" + "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "At least one source must be provided.", diff --git a/dmp-frontend/src/assets/i18n/es.json b/dmp-frontend/src/assets/i18n/es.json index 5cc7d6820..95bdb417f 100644 --- a/dmp-frontend/src/assets/i18n/es.json +++ b/dmp-frontend/src/assets/i18n/es.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dataset Identifier Data", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Input placeholder Text", "FIELD-VALIDATOR-TITLE": "Validator Data", - "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text" + "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "At least one source must be provided.", diff --git a/dmp-frontend/src/assets/i18n/gr.json b/dmp-frontend/src/assets/i18n/gr.json index abea652e3..8bbc59a24 100644 --- a/dmp-frontend/src/assets/i18n/gr.json +++ b/dmp-frontend/src/assets/i18n/gr.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dataset Identifier Data", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Input placeholder Text", "FIELD-VALIDATOR-TITLE": "Validator Data", - "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text" + "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "At least one source must be provided.", diff --git a/dmp-frontend/src/assets/i18n/pt.json b/dmp-frontend/src/assets/i18n/pt.json index b46969729..01f6c2244 100644 --- a/dmp-frontend/src/assets/i18n/pt.json +++ b/dmp-frontend/src/assets/i18n/pt.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dados de Identificador de Dataset", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Texto de Entrada", "FIELD-VALIDATOR-TITLE": "Dados de Validação", - "FIELD-VALIDATOR-PLACEHOLDER": "Texto de Entrada" + "FIELD-VALIDATOR-PLACEHOLDER": "Texto de Entrada", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "Deve ser fornecida pelo menos uma fonte.", diff --git a/dmp-frontend/src/assets/i18n/sk.json b/dmp-frontend/src/assets/i18n/sk.json index 4a07d4adc..93a476a3d 100644 --- a/dmp-frontend/src/assets/i18n/sk.json +++ b/dmp-frontend/src/assets/i18n/sk.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dataset Identifier Data", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Input placeholder Text", "FIELD-VALIDATOR-TITLE": "Validator Data", - "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text" + "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "At least one source must be provided.", diff --git a/dmp-frontend/src/assets/i18n/sr.json b/dmp-frontend/src/assets/i18n/sr.json index f2595eea5..5dd4d4ddd 100644 --- a/dmp-frontend/src/assets/i18n/sr.json +++ b/dmp-frontend/src/assets/i18n/sr.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dataset Identifier Data", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Input placeholder Text", "FIELD-VALIDATOR-TITLE": "Validator Data", - "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text" + "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "At least one source must be provided.", diff --git a/dmp-frontend/src/assets/i18n/tr.json b/dmp-frontend/src/assets/i18n/tr.json index d8375d9e6..24359261b 100644 --- a/dmp-frontend/src/assets/i18n/tr.json +++ b/dmp-frontend/src/assets/i18n/tr.json @@ -441,7 +441,13 @@ "FIELD-DATASET-IDENTIFIER-TITLE": "Dataset Identifier Data", "FIELD-DATASET-IDENTIFIER-PLACEHOLDER": "Input placeholder Text", "FIELD-VALIDATOR-TITLE": "Validator Data", - "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text" + "FIELD-VALIDATOR-PLACEHOLDER": "Input placeholder Text", + "EXTERNAL-DATASET-TYPE-NAME": "Type", + "EXTERNAL-DATASET-TYPES":{ + "PRODUCED": "Produced dataset", + "REUSED": "Reused dataset", + "OTHER": "Other" + } }, "ERROR-MESSAGES": { "FIELD-OTHER-SOURCES-REQUIRED": "At least one source must be provided.",