From 9010677c6dda709f604a95341885672b1033f067 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Fri, 26 Jul 2024 12:13:05 +0300 Subject: [PATCH 1/2] RED-9201 - UI for Component Mapping Tables --- .../add-edit-component-mapping-dialog.component.ts | 3 ++- .../app/services/entity-services/component-mappings.service.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts index 28c4fd351..cef6b2bdd 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts @@ -63,9 +63,10 @@ export class AddEditComponentMappingDialogComponent async ngOnInit() { if (this.data.mapping?.fileName) { this.activeFile = { name: this.data.mapping.fileName } as File; - const file = await firstValueFrom( + const fileContent = await firstValueFrom( this._componentMappingService.getComponentMappingFile(this.data.dossierTemplateId, this.data.mapping.id), ); + const file = new Blob([fileContent.body as Blob], { type: 'text/csv' }); this.form.get('file').setValue(file); this.initialFormValue = this.form.getRawValue(); } diff --git a/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts b/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts index b124f0681..a665779dc 100644 --- a/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts +++ b/apps/red-ui/src/app/services/entity-services/component-mappings.service.ts @@ -22,7 +22,7 @@ export class ComponentMappingsService extends EntitiesService { const formParams = new FormData(); - formParams.append('file', file); + formParams.append('file', file, `${componentMapping.name}.csv`); const queryParams: List = [ { key: 'name', value: componentMapping.name }, From c5fd581a62e771d0e51237618b617fe20d7b51ae Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Fri, 26 Jul 2024 15:36:24 +0300 Subject: [PATCH 2/2] RED-9201 - UI for Component Mapping Tables --- .../add-edit-component-mapping-dialog.component.ts | 6 ++++-- .../component-mappings-screen.component.ts | 4 ++-- .../services/entity-services/component-mappings.service.ts | 2 +- libs/common-ui | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts index cef6b2bdd..b3ae5b60f 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { CircleButtonComponent, IconButtonComponent, IconButtonTypes, IqserDialogComponent, UploadFileComponent } from '@iqser/common-ui'; +import { CircleButtonComponent, IconButtonComponent, IqserDialogComponent, UploadFileComponent } from '@iqser/common-ui'; import { FileAttributeEncodingTypes, IComponentMapping } from '@red/domain'; import { FormBuilder, ReactiveFormsModule, UntypedFormGroup, Validators } from '@angular/forms'; import { TranslateModule } from '@ngx-translate/core'; @@ -22,6 +22,7 @@ interface DialogResult { file: Blob; encoding: string; delimiter: string; + fileName?: string; } @Component({ @@ -77,7 +78,8 @@ export class AddEditComponentMappingDialogComponent } save() { - this.dialogRef.close({ ...this.data.mapping, ...this.form.getRawValue() }); + const fileName = document.getElementById('file-name-label')?.textContent; + this.dialogRef.close({ ...this.data.mapping, ...this.form.getRawValue(), fileName }); } #getForm(): UntypedFormGroup { diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts index 09ef65805..b451d54b3 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts @@ -99,8 +99,8 @@ export default class ComponentMappingsScreenComponent extends ListingComponent { const formParams = new FormData(); - formParams.append('file', file, `${componentMapping.name}.csv`); + formParams.append('file', file, componentMapping.fileName); const queryParams: List = [ { key: 'name', value: componentMapping.name }, diff --git a/libs/common-ui b/libs/common-ui index 98ac49fbc..9df87dc21 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 98ac49fbc81bb9989c14a8ca06c11d98ed042c86 +Subproject commit 9df87dc218ea8090159059a7bad184aaaeba8854