From 2339b51c24b44ea45ad5a4831065fe2617bc2fee Mon Sep 17 00:00:00 2001 From: amentis Date: Fri, 29 Mar 2024 16:22:31 +0200 Subject: [PATCH] description template final preview changes (in progress) --- .../eu/eudat/commons/enums/FieldType.java | 2 +- dmp-backend/pom.xml | 13 +++++ .../description-template.module.ts | 5 +- ...ription-template-editor-field.component.ts | 1 - .../final-preview.component.html | 4 +- .../final-preview/final-preview.component.ts | 48 +++++++++++++++++-- ...description-template-editor.component.html | 4 +- 7 files changed, 64 insertions(+), 13 deletions(-) diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java index d803cb38e..a871ac74f 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java @@ -66,7 +66,7 @@ public enum FieldType implements DatabaseEnum { public static boolean isTextType(FieldType fieldType){ return fieldType.equals(FieldType.FREE_TEXT) || fieldType.equals(FieldType.CHECK_BOX) || fieldType.equals(FieldType.TEXT_AREA) || fieldType.equals(FieldType.RICH_TEXT_AREA) || fieldType.equals(FieldType.UPLOAD) || fieldType.equals(FieldType.BOOLEAN_DECISION) || - fieldType.equals(FieldType.RADIO_BOX) || fieldType.equals(FieldType.CURRENCY) || fieldType.equals(FieldType.SELECT); + fieldType.equals(FieldType.RADIO_BOX) || fieldType.equals(FieldType.CURRENCY); } public static boolean isTextListType(FieldType fieldType){ diff --git a/dmp-backend/pom.xml b/dmp-backend/pom.xml index b3bf79193..148dc2c77 100644 --- a/dmp-backend/pom.xml +++ b/dmp-backend/pom.xml @@ -391,6 +391,19 @@ + + cite-dev + + + cite-maven + CITE Maven Repository + https://crepo.cite.gr/repository/cite-maven/ + + + + true + + \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/description-template/description-template.module.ts b/dmp-frontend/src/app/ui/admin/description-template/description-template.module.ts index a054fab17..27ae25a54 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/description-template.module.ts +++ b/dmp-frontend/src/app/ui/admin/description-template/description-template.module.ts @@ -31,6 +31,7 @@ import { DescriptionTemplateListingFiltersComponent } from "./listing/filters/de import { ImportDescriptionTemplateDialogComponent } from './listing/import-description-template/import-description-template.dialog.component'; import { DescriptionTemplateEditorReferenceTypeFieldComponent } from './editor/components/field-type/reference-type/description-template-editor-reference-type-field.component'; import { DescriptionFormModule } from '@app/ui/description/editor/description-form/description-form.module'; +import { FinalPreviewComponent } from './editor/components/final-preview/final-preview.component'; @NgModule({ imports: [ @@ -70,7 +71,9 @@ import { DescriptionFormModule } from '@app/ui/description/editor/description-fo DescriptionTemplateEditorLabelAndMultiplicityFieldComponent, DescriptionTemplateEditorRadioBoxFieldComponent, DescriptionTemplateEditorExternalDatasetsFieldComponent, - DescriptionTemplateEditorUploadFieldComponent + DescriptionTemplateEditorUploadFieldComponent, + + FinalPreviewComponent ] }) export class DescriptionTemplateModule { } diff --git a/dmp-frontend/src/app/ui/admin/description-template/editor/components/field/description-template-editor-field.component.ts b/dmp-frontend/src/app/ui/admin/description-template/editor/components/field/description-template-editor-field.component.ts index 8f6c30ba0..e2586572f 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/editor/components/field/description-template-editor-field.component.ts +++ b/dmp-frontend/src/app/ui/admin/description-template/editor/components/field/description-template-editor-field.component.ts @@ -93,7 +93,6 @@ export class DescriptionTemplateEditorFieldComponent extends BaseComponent imple switch (this.fieldType) { case DescriptionTemplateFieldType.TEXT_AREA: case DescriptionTemplateFieldType.RICH_TEXT_AREA: - case DescriptionTemplateFieldType.UPLOAD: case DescriptionTemplateFieldType.FREE_TEXT: case DescriptionTemplateFieldType.BOOLEAN_DECISION: case DescriptionTemplateFieldType.RADIO_BOX: diff --git a/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.html b/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.html index 39882e08c..be1d8a544 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.html +++ b/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.html @@ -1,3 +1 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.ts b/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.ts index b73a1231b..ee6504887 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.ts +++ b/dmp-frontend/src/app/ui/admin/description-template/editor/components/final-preview/final-preview.component.ts @@ -1,5 +1,9 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { Rule } from '@app/ui/description/editor/description-form/visibility-rules/models/rule'; +import { Component, Input, OnInit, SimpleChanges } from '@angular/core'; +import { UntypedFormGroup } from '@angular/forms'; +import { DescriptionTemplate } from '@app/core/model/description-template/description-template'; +import { DescriptionTemplatePersist } from '@app/core/model/description-template/description-template-persist'; +import { Description } from '@app/core/model/description/description'; +import { DescriptionEditorModel } from '@app/ui/description/editor/description-editor.model'; import { VisibilityRulesService } from '@app/ui/description/editor/description-form/visibility-rules/visibility-rules.service'; @@ -13,19 +17,53 @@ import { VisibilityRulesService } from '@app/ui/description/editor/description-f export class FinalPreviewComponent implements OnInit { - @Input() descriptionTempaltePersist = null; + @Input() descriptionTemplatePersist: DescriptionTemplatePersist; + descriptionTemplate: DescriptionTemplate; - visibilityRules: Rule[] = []; + previewPropertiesFormGroup @Input() formGroup = null; constructor(private visibilityRulesService: VisibilityRulesService) { } + private generatePreviewForm() { + + this.descriptionTemplate = this.buildDescriptionTemplate(this.descriptionTemplatePersist); + + const mockDescription: Description = { + descriptionTemplate: this.descriptionTemplate + } + const descriptionEditorModel = new DescriptionEditorModel().fromModel(mockDescription, mockDescription.descriptionTemplate); + this.previewPropertiesFormGroup = descriptionEditorModel.properties.buildForm() as UntypedFormGroup; + + this.visibilityRulesService.setContext(this.descriptionTemplate.definition, this.previewPropertiesFormGroup); + + } + + private buildDescriptionTemplate(persist: DescriptionTemplatePersist) : DescriptionTemplate{ + if (persist == null) return null; + return { + id: persist.id, + label: persist.label, + description: persist.description, + groupId: undefined, + version: undefined, + language: persist.language, + type: undefined, + status: persist.status, + definition: persist.definition, + users: persist.users + } + } ngOnInit(): void { - this.visibilityRulesService.buildVisibilityRules(this.visibilityRules, this.formGroup); + this.generatePreviewForm(); } + // ngOnChanges(changes: SimpleChanges) { + // if(changes['descriptionTemplatePersist']) this.generatePreviewForm(); + // } + } 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 065ede96c..3350341c6 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 @@ -223,7 +223,7 @@
- +