2024-02-02 17:43:24 +01:00
< div * ngIf = "field && visible" [ id ] = " field . id " [ ngSwitch ] = " this . field ? . data ? . fieldType " class = "dynamic-form-field row" >
< h5 * ngIf = "fieldSet.title && !isChild" > {{fieldSet.title}}< / h5 >
2023-12-20 08:20:38 +01:00
< mat-icon * ngIf = "fieldSet.additionalInformation && !isChild" matTooltip = "{{fieldSet.additionalInformation}}" > info< / mat-icon >
< h5 * ngIf = "fieldSet.description && !isChild" class = "col-12" > {{fieldSet.description}}
< / h5 >
< h5 * ngIf = "fieldSet.extendedDescription && !isChild" class = "col-12" >
2024-02-02 17:43:24 +01:00
< i > {{fieldSet.extendedDescription}}< / i >
2023-12-20 08:20:38 +01:00
< / h5 >
< mat-form-field * ngSwitchCase = "descriptionTemplateFieldTypeEnum.FREE_TEXT" class = "col-12" >
2024-02-02 09:29:38 +01:00
< input matInput [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " placeholder = "{{(field.data.label) + (isRequired? ' *': '')}}" [ required ] = " isRequired " >
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}< / mat-error >
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('pattern')" > {{'GENERAL.VALIDATION.URL.MESSAGE' | translate}}< / mat-error >
2023-12-20 08:20:38 +01:00
< / mat-form-field >
2024-01-31 20:16:39 +01:00
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.EXTERNAL_SELECT" class = "col-12" >
2023-12-20 08:20:38 +01:00
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '')}}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " multipleAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '')}}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " singleAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
2024-01-30 18:27:55 +01:00
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.SELECT" class = "col-12" >
2023-12-20 08:20:38 +01:00
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-02-02 09:29:38 +01:00
< mat-select [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ required ] = " isRequired " [ multiple ] = " field . data . multipleSelect " >
2023-12-20 08:20:38 +01:00
< mat-option * ngFor = "let opt of field.data.options" [ value ] = " opt . value " > {{opt.label}}
< / mat-option >
< / mat-select >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.INTERNAL_DMP_ENTRIES_RESEARCHERS" class = "col-12" >
< div class = "row" >
2024-02-02 17:43:24 +01:00
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " multipleAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " singleAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.INTERNAL_DMP_ENTRIES_DATASETS" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " multipleAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " singleAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.INTERNAL_DMP_ENTRIES_DMPS" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " multipleAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " singleAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.CHECK_BOX" class = "col-12" >
2024-02-02 09:29:38 +01:00
< mat-checkbox [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
{{field.data.label}}< / mat-checkbox >
< / div >
< mat-form-field * ngSwitchCase = "descriptionTemplateFieldTypeEnum.TEXT_AREA" class = "col-12" >
2024-02-02 17:43:24 +01:00
< textarea matInput class = "text-area" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " matTextareaAutosize matAutosizeMinRows = "3" matAutosizeMaxRows = "15" [ required ] = " isRequired " placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" > < / textarea >
< button mat-icon-button type = "button" * ngIf = "!propertiesFormGroup?.get(field.id).get('value').disabled && propertiesFormGroup?.get(field.id).get('value').value" matSuffix aria-label = "Clear" ( click ) = " this . propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . patchValue ( ' ' ) " >
2023-12-20 08:20:38 +01:00
< mat-icon > close< / mat-icon >
< / button >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value')['errors'] && propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}< / mat-error >
2023-12-20 08:20:38 +01:00
< / mat-form-field >
< ng-container * ngSwitchCase = "descriptionTemplateFieldTypeEnum.RICH_TEXT_AREA" >
2024-02-02 17:43:24 +01:00
< rich-text-editor-component class = "col-12" [ form ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ placeholder ] = " field . data . label " [ required ] = " isRequired " [ wrapperClasses ] = " ' full-width editor ' +
((isRequired & & propertiesFormGroup?.get(field.id).get('value').touched & & propertiesFormGroup?.get(field.id).get('value').hasError('required')) ? 'required' : '')" [editable]="!propertiesFormGroup?.get(field.id).get('value').disabled">
2023-12-20 08:20:38 +01:00
< / rich-text-editor-component >
2024-02-02 09:29:38 +01:00
< div [ class ] = " ( propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) [ ' errors ' ] & & propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . hasError ( ' required ' ) & & propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . touched ) ? ' visible ' : ' invisible ' " class = "col-12" >
2023-12-20 08:20:38 +01:00
< div class = "mat-form-field form-field-subscript-wrapper" >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value')['errors'] && propertiesFormGroup?.get(field.id).get('value').hasError('required') && propertiesFormGroup?.get(field.id).get('value').touched" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}< / mat-error >
2023-12-20 08:20:38 +01:00
< / div >
< / div >
< / ng-container >
< ng-container * ngSwitchCase = "descriptionTemplateFieldTypeEnum.UPLOAD" >
< div class = "col-12 d-flex justify-content-center" >
2024-02-02 17:43:24 +01:00
< ngx-dropzone # drop class = "drop-file col-12" ( change ) = " fileChangeEvent ( $ event , true ) " [ multiple ] = " false " [ accept ] = " typesToString ( ) " [ disabled ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . disabled " >
< ngx-dropzone-preview * ngIf = "propertiesFormGroup?.get(field.id).get('value').value && propertiesFormGroup?.get(field.id).get('value').value.name" class = "file-preview" [ removable ] = " true " ( removed ) = " onRemove ( ) " >
2024-02-02 09:29:38 +01:00
< ngx-dropzone-label class = "file-label" > {{ propertiesFormGroup?.get(field.id).get('value').value.name }}< / ngx-dropzone-label >
2023-12-20 08:20:38 +01:00
< / ngx-dropzone-preview >
< / ngx-dropzone >
< / div >
< div class = "col-12 d-flex justify-content-center attach-btn" >
2024-02-02 17:43:24 +01:00
< button * ngIf = "!propertiesFormGroup?.get(field.id).get('value').value || filesToUpload" mat-button ( click ) = " drop . showFileSelector ( ) " type = "button" class = "attach-file-btn" [ disabled ] = " ! ! propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . value | | propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . disabled " >
2023-12-20 08:20:38 +01:00
< mat-icon class = "mr-2" > upload< / mat-icon >
< mat-label > {{ (field.data.label | translate)}}< / mat-label >
< / button >
2024-02-02 17:43:24 +01:00
< button * ngIf = "propertiesFormGroup?.get(field.id).get('value').value && !filesToUpload" mat-button ( click ) = " download ( ) " type = "button" class = "attach-file-btn" [ disabled ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . disabled " >
2023-12-20 08:20:38 +01:00
< mat-icon class = "mr-2" > download< / mat-icon >
< mat-label > {{ "TYPES.DATASET-PROFILE-UPLOAD-TYPE.DOWNLOAD" | translate }}< / mat-label >
< / button >
< / div >
< / ng-container >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.BOOLEAN_DECISION" class = "col-12" >
2024-02-02 09:29:38 +01:00
< mat-radio-group [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ required ] = " isRequired " >
< mat-radio-button class = "radio-button-item" name = "{{propertiesFormGroup?.get(field.id).value}}" value = "true" > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.ACTIONS.YES" | translate }}< / mat-radio-button >
< mat-radio-button class = "radio-button-item" name = "{{propertiesFormGroup?.get(field.id).value}}" value = "false" > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.ACTIONS.NO" | translate }}< / mat-radio-button >
2023-12-20 08:20:38 +01:00
< / mat-radio-group >
2024-02-02 09:29:38 +01:00
< small class = "text-danger d-block" * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required') && propertiesFormGroup?.get(field.id).get('value').touched" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / small >
2024-02-02 09:29:38 +01:00
< small class = "text-muted d-inline-block" * ngIf = "(isRequired) && !propertiesFormGroup?.get(field.id).get('value').touched" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}< / small >
2023-12-20 08:20:38 +01:00
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.RADIO_BOX" class = "col-12" >
2024-02-02 09:29:38 +01:00
< mat-radio-group [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< mat-radio-button * ngFor = "let option of field.data.options let index = index" class = "radio-button-item" [ value ] = " option . value " > {{option.label}}< / mat-radio-button >
< / mat-radio-group >
2024-02-02 09:29:38 +01:00
< small class = "text-danger d-block" * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required') && propertiesFormGroup?.get(field.id).get('value').touched" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / small >
2024-02-02 09:29:38 +01:00
< small class = "text-muted d-inline-block" * ngIf = "(isRequired) && !propertiesFormGroup?.get(field.id).get('value').touched" > {{'GENERAL.VALIDATION.REQUIRED' | translate}} *< / small >
2023-12-20 08:20:38 +01:00
< / div >
< mat-form-field * ngSwitchCase = "descriptionTemplateFieldTypeEnum.DATE_PICKER" class = "col-12" >
2024-02-02 17:43:24 +01:00
< input matInput placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" class = "table-input" [ matDatepicker ] = " date " [ required ] = " isRequired " [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " >
2023-12-20 08:20:38 +01:00
< mat-datepicker-toggle matSuffix [ for ] = " date " > < / mat-datepicker-toggle >
< mat-datepicker # date > < / mat-datepicker >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" >
2023-12-20 08:20:38 +01:00
{{'GENERAL.VALIDATION.REQUIRED' | translate}}
< / mat-error >
< / mat-form-field >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.EXTERNAL_DATASETS" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " externalDatasetAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " externalDatasetAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.DATA_REPOSITORIES" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " dataRepositoriesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " dataRepositoriesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.PUB_REPOSITORIES" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " pubRepositoriesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " pubRepositoriesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.JOURNAL_REPOSITORIES" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " journalRepositoriesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " journalRepositoriesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
2024-02-02 17:43:24 +01:00
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.TAXONOMIES" class = "col-12" >
2023-12-20 08:20:38 +01:00
< div * ngIf = "field.data" class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " taxonomiesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " taxonomiesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.LICENSES" class = "col-12" >
< div * ngIf = "field.data" class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " licensesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " licensesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.PUBLICATIONS" class = "col-12" >
< div * ngIf = "field.data" class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " publicationsAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " publicationsAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.REGISTRIES" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " registriesAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " registriesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.SERVICES" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " servicesAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " servicesAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.TAGS" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-02-02 09:29:38 +01:00
< app-multiple-auto-complete [ configuration ] = " tagsAutoCompleteConfiguration " [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " placeholder = "{{('DATASET-EDITOR.FIELDS.TAGS' | translate) + (isRequired? ' *': '')}}" > < / app-multiple-auto-complete >
2023-12-20 08:20:38 +01:00
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.RESEARCHERS" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " researchersAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " researchersAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
< / ng-container >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.ORGANIZATIONS" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "field.data.multipleSelect" >
2024-02-02 17:43:24 +01:00
< app-multiple-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " organisationsAutoCompleteConfiguration " >
2023-12-20 08:20:38 +01:00
< / app-multiple-auto-complete >
< / ng-container >
2024-01-31 20:16:39 +01:00
< ng-container * ngIf = "!(field.data.multipleSelect)" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " organisationsAutoCompleteConfiguration " [ required ] = " isRequired " >
2023-12-20 08:20:38 +01:00
< / app-single-auto-complete >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< / ng-container >
< mat-hint > {{ "TYPES.DATASET-PROFILE-COMBO-BOX-TYPE.EXTERNAL-SOURCE-HINT" | translate }}< / mat-hint >
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.DATASET_IDENTIFIER" class = "col-12" >
< div class = "row" * ngIf = "datasetIdInitialized" >
< mat-form-field class = "col-md-12" >
2024-02-02 17:43:24 +01:00
< input matInput class = "col-md-12" [ formControl ] = " getDatasetIdControl ( ' identifier ' ) " placeholder = "{{(field.data.label) + (isRequired? ' *': '')}}" [ required ] = " isRequired " [ disabled ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . disabled " >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< / mat-form-field >
< mat-form-field class = "col-md-12" >
2024-02-02 17:43:24 +01:00
< mat-select class = "col-md-12" [ formControl ] = " getDatasetIdControl ( ' type ' ) " [ placeholder ] = " ( ' TYPES . DATASET-PROFILE-IDENTIFIER . IDENTIFIER-TYPE ' | translate ) + ( isRequired ? ' * ' : ' ' ) " [ disabled ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . disabled " >
2023-12-20 08:20:38 +01:00
< mat-option * ngFor = "let type of datasetIdTypes" [ value ] = " type . value " >
{{ type.name }}
< / mat-option >
< / mat-select >
2024-02-02 17:43:24 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
< / mat-error >
2023-12-20 08:20:38 +01:00
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.CURRENCY" class = "col-12" >
< div class = "row" >
< mat-form-field class = "col-md-12" >
2024-02-02 17:43:24 +01:00
< app-single-auto-complete placeholder = "{{ (field.data.label | translate) + (isRequired? ' *': '') }}" [ formControl ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) " [ configuration ] = " currencyAutoCompleteConfiguration " [ required ] = " isRequired " >
< / app-single-auto-complete >
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
< / mat-error >
2023-12-20 08:20:38 +01:00
< / mat-form-field >
< / div >
< / div >
< div * ngSwitchCase = "descriptionTemplateFieldTypeEnum.VALIDATION" class = "col-12" >
< div class = "row align-items-baseline" >
< mat-form-field class = "col-md-4" >
< input matInput class = "col-md-12" [ formControl ] = " getDatasetIdControl ( ' identifier ' ) " placeholder = "{{(field.data.label) + (isRequired? ' *': '')}}" [ required ] = " isRequired " >
2024-02-02 09:29:38 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
2023-12-20 08:20:38 +01:00
< / mat-error >
< / mat-form-field >
< mat-form-field class = "col-md-4" >
< mat-select class = "col-md-12" [ formControl ] = " getDatasetIdControl ( ' type ' ) " [ placeholder ] = " ( ' TYPES . DATASET-PROFILE-VALIDATOR . REPOSITORIES-PLACEHOLDER ' | translate ) + ( isRequired ? ' * ' : ' ' ) " >
< mat-option * ngFor = "let type of validationTypes" [ value ] = " type . value " >
{{ type.name }}
< / mat-option >
< / mat-select >
2024-02-02 17:43:24 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
< / mat-error >
2023-12-20 08:20:38 +01:00
< / mat-form-field >
< div class = "col-md-2" >
2024-02-02 09:29:38 +01:00
< button type = "button" mat-button class = "lightblue-btn" ( click ) = " validateId ( ) " [ disabled ] = " propertiesFormGroup ? . get ( field . id ) . get ( ' value ' ) . disabled " > {{ "TYPES.DATASET-PROFILE-VALIDATOR.ACTION" | translate }}< / button >
2024-02-02 17:43:24 +01:00
< mat-error * ngIf = "propertiesFormGroup?.get(field.id).get('value').hasError('required')" > {{'GENERAL.VALIDATION.REQUIRED' | translate}}
< / mat-error >
< / div >
2023-12-20 08:20:38 +01:00
< div class = "col-md-1" >
< mat-progress-spinner * ngIf = "validationIcon === 'loading'" mode = "indeterminate" [ diameter ] = " 24 " > < / mat-progress-spinner >
< mat-icon * ngIf = "validationIcon !== 'loading'" [ ngClass ] = " { ' success ' : validationIcon = == ' done ' , ' fail ' : validationIcon = == ' clear ' } " > {{validationIcon}}< / mat-icon >
< / div >
< / div >
< / div >
2024-02-02 17:43:24 +01:00
< / div >