diff --git a/dmp-frontend/src/app/core/core-service.module.ts b/dmp-frontend/src/app/core/core-service.module.ts index b151c7d8f..004a2de11 100644 --- a/dmp-frontend/src/app/core/core-service.module.ts +++ b/dmp-frontend/src/app/core/core-service.module.ts @@ -47,6 +47,7 @@ import { InAppNotificationService } from './services/inapp-notification/inapp-no import { NotificationService } from './services/notification/notification-service'; import { SemanticsService } from './services/semantic/semantics.service'; import { PrefillingSourceService } from './services/prefilling-source/prefilling-source.service'; +import { VisibilityRulesService } from '@app/ui/description/editor/description-form/visibility-rules/visibility-rules.service'; // // // This is shared module that provides all the services. Its imported only once on the AppModule. @@ -112,7 +113,8 @@ export class CoreServiceModule { InAppNotificationService, NotificationService, SemanticsService, - PrefillingSourceService + PrefillingSourceService, + VisibilityRulesService ], }; } diff --git a/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.html b/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.html index 43ad7519e..1565b3ffd 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.html +++ b/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.html @@ -1,7 +1,8 @@
{{i + 1}} - + + diff --git a/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.ts b/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.ts index 4246446c5..89a1ed900 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.ts +++ b/dmp-frontend/src/app/ui/admin/description-template/editor/components/visibility-rule/description-template-editor-visibility-rule.component.ts @@ -39,6 +39,30 @@ export class DescriptionTemplateEditorRuleComponent implements OnInit { } + isTextType(type: DescriptionTemplateFieldType){ + return type == DescriptionTemplateFieldType.FREE_TEXT || type == DescriptionTemplateFieldType.CHECK_BOX || + type == DescriptionTemplateFieldType.TEXT_AREA || type == DescriptionTemplateFieldType.RICH_TEXT_AREA || + type == DescriptionTemplateFieldType.BOOLEAN_DECISION || type == DescriptionTemplateFieldType.RADIO_BOX || + type == DescriptionTemplateFieldType.CURRENCY || type == DescriptionTemplateFieldType.SELECT; + } + + isTextListType(type: DescriptionTemplateFieldType){ + return type == DescriptionTemplateFieldType.TAGS || type == DescriptionTemplateFieldType.INTERNAL_ENTRIES_DMPS || + type == DescriptionTemplateFieldType.INTERNAL_ENTRIES_DESCRIPTIONS; + } + + isDateType(type: DescriptionTemplateFieldType){ + return type == DescriptionTemplateFieldType.DATE_PICKER; + } + + isReferenceType(type: DescriptionTemplateFieldType){ + return type == DescriptionTemplateFieldType.REFERENCE_TYPES; + } + + isExternalIdentifierType(type: DescriptionTemplateFieldType){ + return type == DescriptionTemplateFieldType.VALIDATION || type == DescriptionTemplateFieldType.DATASET_IDENTIFIER;; + } + targetValidation() { //TODO } diff --git a/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.component.html b/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.component.html index 05dcb1d71..065ede96c 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.component.html +++ b/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.component.html @@ -139,9 +139,9 @@ - + {{'DESCRIPTION-TEMPLATE-EDITOR.STEPS.GENERAL-INFO.DATASET-TEMPLATE-USERS' | translate}} - + {{'GENERAL.VALIDATION.REQUIRED' | translate}} diff --git a/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.model.ts b/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.model.ts index 735a1ab04..baf3c2b52 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.model.ts +++ b/dmp-frontend/src/app/ui/admin/description-template/editor/description-template-editor.model.ts @@ -951,7 +951,7 @@ export class DescriptionTemplateRuleEditorModel implements DescriptionTemplateRu validationErrorModel }); - ['target', 'value'].forEach(keyField => { + ['target', 'textValue', 'textListValue', 'dateValue'].forEach(keyField => { const control = formGroup?.get(keyField); control?.clearValidators(); control?.addValidators(context.getValidation(keyField).validators); diff --git a/dmp-frontend/src/app/ui/description/editor/description-form/components/form-field-set/form-field-set.component.html b/dmp-frontend/src/app/ui/description/editor/description-form/components/form-field-set/form-field-set.component.html index a6d8faf1a..2ca81178f 100644 --- a/dmp-frontend/src/app/ui/description/editor/description-form/components/form-field-set/form-field-set.component.html +++ b/dmp-frontend/src/app/ui/description/editor/description-form/components/form-field-set/form-field-set.component.html @@ -13,10 +13,10 @@
-
+
- +
{{field.label}}
@@ -48,9 +48,9 @@ - + - + {{fieldSetItemPropertiesControl.get('fields').get(field.id).get('value').getRawValue()}} diff --git a/dmp-frontend/src/app/ui/description/editor/description-form/description-form-annotation.service.ts b/dmp-frontend/src/app/ui/description/editor/description-form/description-form-annotation.service.ts index 3662abe15..e6f977974 100644 --- a/dmp-frontend/src/app/ui/description/editor/description-form/description-form-annotation.service.ts +++ b/dmp-frontend/src/app/ui/description/editor/description-form/description-form-annotation.service.ts @@ -33,7 +33,7 @@ export class DescriptionFormAnnotationService extends BaseService { } public getCount(anchor: string) { - if (this.annotationsPerAnchor.has(anchor)) { + if (this.annotationsPerAnchor != null && this.annotationsPerAnchor.has(anchor)) { return this.annotationsPerAnchor.get(anchor); } else { return 0;