From 3e02fa589bb5be0b51026276fec652b4c7841be9 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Thu, 2 Mar 2023 12:47:32 +0200 Subject: [PATCH] RED-6210 - Add 'Primary attribute' to workflow view tile --- .../workflow-item/workflow-item.component.html | 2 +- .../screen/dossier-overview-screen.component.html | 2 +- .../screen/dossier-overview-screen.component.ts | 11 +++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html b/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html index 6a4ae7ed6..9b743922e 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html +++ b/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html @@ -14,7 +14,7 @@
- {{ file.fileAttributes.attributeIdToValue[config.id] || '-' }} + {{ file.fileAttributes.attributeIdToValue[config.id] || '-' }}
diff --git a/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.html b/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.html index a54881aa4..e951e7522 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.html @@ -45,7 +45,7 @@ > diff --git a/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts index 2cce9fcc6..a9876a93b 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/screen/dossier-overview-screen.component.ts @@ -62,6 +62,7 @@ export class DossierOverviewScreenComponent extends ListingComponent imple tableColumnConfigs: readonly TableColumnConfig[]; displayedInFileListAttributes: IFileAttributeConfig[] = []; displayedAttributes: IFileAttributeConfig[] = []; + displayedWorkflowAttributes: IFileAttributeConfig[] = []; readonly listingMode$ = this.configService.listingMode$.pipe( tap(() => this._computeAllFilters()), shareLast(), @@ -210,10 +211,20 @@ export class DossierOverviewScreenComponent extends ListingComponent imple this._fileAttributeConfigs = this._fileAttributesService.getFileAttributeConfig(this.dossierTemplateId)?.fileAttributeConfigs || []; this.displayedInFileListAttributes = this._fileAttributeConfigs.filter(config => config.displayedInFileList); this.displayedAttributes = this.displayedInFileListAttributes.filter(c => c.displayedInFileList); + this.displayedWorkflowAttributes = this.#getDisplayedWorkflowAttributes(this.displayedAttributes); this.tableColumnConfigs = this.configService.tableConfig(this.displayedAttributes); this._computeAllFilters(); } + #getDisplayedWorkflowAttributes(displayedAttributes: IFileAttributeConfig[]): IFileAttributeConfig[] { + let primaryAttribute = displayedAttributes.find(c => c.primaryAttribute); + if (!primaryAttribute) { + primaryAttribute = this._fileAttributeConfigs.find(config => config.primaryAttribute); + return primaryAttribute ? [primaryAttribute, ...displayedAttributes] : displayedAttributes; + } + return displayedAttributes.sort((c1, c2) => (c1.primaryAttribute ? -1 : c2.primaryAttribute ? 1 : 0)); + } + private async _uploadFiles(files: FileUploadModel[]) { const fileCount = await this._fileUploadService.uploadFiles(files, this.dossierId); if (fileCount) {