RED-6210 - Add 'Primary attribute' to workflow view tile

This commit is contained in:
Valentin Mihai 2023-03-02 12:47:32 +02:00
parent 9eb09898c9
commit 3e02fa589b
3 changed files with 13 additions and 2 deletions

View File

@ -14,7 +14,7 @@
</div>
<div *ngFor="let config of displayedAttributes" class="small-label mt-4">
{{ file.fileAttributes.attributeIdToValue[config.id] || '-' }}
<b> {{ file.fileAttributes.attributeIdToValue[config.id] || '-' }} </b>
</div>
<redaction-file-workload [file]="file"></redaction-file-workload>

View File

@ -45,7 +45,7 @@
>
<ng-template #workflowItemTemplate let-entity="entity">
<redaction-workflow-item
[displayedAttributes]="displayedAttributes"
[displayedAttributes]="displayedWorkflowAttributes"
[dossier]="dossier"
[file]="entity"
></redaction-workflow-item>

View File

@ -62,6 +62,7 @@ export class DossierOverviewScreenComponent extends ListingComponent<File> imple
tableColumnConfigs: readonly TableColumnConfig<File>[];
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<File> 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) {