From 7a3bdedb8c0ed73ed3c4e83c8da9af2fd28634bd Mon Sep 17 00:00:00 2001 From: amentis Date: Fri, 29 Mar 2024 17:37:08 +0200 Subject: [PATCH] fix description template preview dialog --- ...ion-template-preview-dialog.component.html | 2 +- ...ption-template-preview-dialog.component.ts | 10 +++- .../dmp-editor.component.html | 2 +- .../dmp-editor.component.ts | 47 ++++++++++--------- 4 files changed, 34 insertions(+), 27 deletions(-) diff --git a/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.html b/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.html index bea547cd1..df95194e7 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.html +++ b/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.html @@ -8,7 +8,7 @@
- +
diff --git a/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.ts b/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.ts index 8bdb76a81..145b3ca5a 100644 --- a/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.ts +++ b/dmp-frontend/src/app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component.ts @@ -2,6 +2,7 @@ import { Component, Inject, OnInit } from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { DescriptionTemplate } from '@app/core/model/description-template/description-template'; +import { Description } from '@app/core/model/description/description'; import { DescriptionTemplateService } from '@app/core/services/description-template/description-template.service'; import { LoggingService } from '@app/core/services/logging/logging-service'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service'; @@ -24,6 +25,7 @@ export class DescriptionTemplatePreviewDialogComponent extends BaseComponent imp progressIndication = false; editorModel: DescriptionEditorModel; formGroup: UntypedFormGroup; + previewPropertiesFormGroup: UntypedFormGroup; descriptionTemplate: DescriptionTemplate; constructor( @@ -57,7 +59,10 @@ export class DescriptionTemplatePreviewDialogComponent extends BaseComponent imp prepareForm(data: DescriptionTemplate) { try { - this.editorModel = new DescriptionEditorModel(); + const mockDescription: Description = { + descriptionTemplate: this.descriptionTemplate + } + this.editorModel = new DescriptionEditorModel().fromModel(mockDescription, mockDescription.descriptionTemplate);; this.buildForm(); } catch (error) { this.logger.error('Could not parse Description item: ' + data + error); @@ -67,7 +72,8 @@ export class DescriptionTemplatePreviewDialogComponent extends BaseComponent imp buildForm() { this.formGroup = this.editorModel.buildForm(null, true); - this.visibilityRulesService.setContext(this.descriptionTemplate.definition, this.formGroup.get('properties')); + this.previewPropertiesFormGroup = this.editorModel.properties.buildForm() as UntypedFormGroup; + this.visibilityRulesService.setContext(this.descriptionTemplate.definition, this.previewPropertiesFormGroup); } select(): void { diff --git a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html index 292d42b67..e805cfe43 100644 --- a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html +++ b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.html @@ -296,7 +296,7 @@
{{'DMP-EDITOR.FIELDS.DESCRIPTION-TEMPLATES' | translate}}
{{'DMP-EDITOR.FIELDS.DESCRIPTION-TEMPLATES-HINT' | translate}} - + {{formGroup.get('descriptionTemplates').get(section.id).getError('backendError').message}} {{'GENERAL.VALIDATION.REQUIRED' | translate}} diff --git a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.ts b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.ts index 8724729c4..3278a61b6 100644 --- a/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.ts +++ b/dmp-frontend/src/app/ui/dmp/dmp-editor-blueprint/dmp-editor.component.ts @@ -50,6 +50,7 @@ import { map, takeUntil } from 'rxjs/operators'; import { DmpEditorModel } from './dmp-editor.model'; import { DmpEditorResolver } from './dmp-editor.resolver'; import { DmpEditorService } from './dmp-editor.service'; +import { DescriptionTemplatePreviewDialogComponent } from '@app/ui/admin/description-template/description-template-preview/description-template-preview-dialog.component'; @Component({ selector: 'app-dmp-editor', @@ -451,29 +452,29 @@ export class DmpEditorComponent extends BaseEditor implemen // // - onPreviewDescriptionTemplate(event, sectionIndex: number) { - // const dialogRef = this.dialog.open(DatasetPreviewDialogComponent, { - // width: '590px', - // minHeight: '200px', - // restoreFocus: false, - // data: { - // template: event - // }, - // panelClass: 'custom-modalbox' - // }); - // dialogRef.afterClosed().pipe(takeUntil(this._destroyed)).subscribe(result => { - // if (result) { - // this.addProfile(event, sectionIndex); - // this.profilesAutoCompleteConfiguration = { - // filterFn: this.filterProfiles.bind(this), - // initialItems: (excludedItems: any[]) => this.filterProfiles('').pipe(map(result => result.filter(resultItem => (excludedItems || []).map(x => x.id).indexOf(resultItem.id) === -1))), - // displayFn: (item) => item['label'], - // titleFn: (item) => item['label'], - // subtitleFn: (item) => item['description'], - // popupItemActionIcon: 'visibility' - // }; - // } - // }); + onPreviewDescriptionTemplate(event, sectionId: Guid) { + const dialogRef = this.dialog.open(DescriptionTemplatePreviewDialogComponent, { + width: '590px', + minHeight: '200px', + restoreFocus: false, + data: { + descriptionTemplateId: event.id + }, + panelClass: 'custom-modalbox' + }); + dialogRef.afterClosed().pipe(takeUntil(this._destroyed)).subscribe(result => { + if (result) { + // this.addProfile(event, sectionIndex); + // this.profilesAutoCompleteConfiguration = { + // filterFn: this.filterProfiles.bind(this), + // initialItems: (excludedItems: any[]) => this.filterProfiles('').pipe(map(result => result.filter(resultItem => (excludedItems || []).map(x => x.id).indexOf(resultItem.id) === -1))), + // displayFn: (item) => item['label'], + // titleFn: (item) => item['label'], + // subtitleFn: (item) => item['description'], + // popupItemActionIcon: 'visibility' + // }; + } + }); } //