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

View File

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

View File

@ -62,6 +62,7 @@ export class DossierOverviewScreenComponent extends ListingComponent<File> imple
tableColumnConfigs: readonly TableColumnConfig<File>[]; tableColumnConfigs: readonly TableColumnConfig<File>[];
displayedInFileListAttributes: IFileAttributeConfig[] = []; displayedInFileListAttributes: IFileAttributeConfig[] = [];
displayedAttributes: IFileAttributeConfig[] = []; displayedAttributes: IFileAttributeConfig[] = [];
displayedWorkflowAttributes: IFileAttributeConfig[] = [];
readonly listingMode$ = this.configService.listingMode$.pipe( readonly listingMode$ = this.configService.listingMode$.pipe(
tap(() => this._computeAllFilters()), tap(() => this._computeAllFilters()),
shareLast(), shareLast(),
@ -210,10 +211,20 @@ export class DossierOverviewScreenComponent extends ListingComponent<File> imple
this._fileAttributeConfigs = this._fileAttributesService.getFileAttributeConfig(this.dossierTemplateId)?.fileAttributeConfigs || []; this._fileAttributeConfigs = this._fileAttributesService.getFileAttributeConfig(this.dossierTemplateId)?.fileAttributeConfigs || [];
this.displayedInFileListAttributes = this._fileAttributeConfigs.filter(config => config.displayedInFileList); this.displayedInFileListAttributes = this._fileAttributeConfigs.filter(config => config.displayedInFileList);
this.displayedAttributes = this.displayedInFileListAttributes.filter(c => c.displayedInFileList); this.displayedAttributes = this.displayedInFileListAttributes.filter(c => c.displayedInFileList);
this.displayedWorkflowAttributes = this.#getDisplayedWorkflowAttributes(this.displayedAttributes);
this.tableColumnConfigs = this.configService.tableConfig(this.displayedAttributes); this.tableColumnConfigs = this.configService.tableConfig(this.displayedAttributes);
this._computeAllFilters(); 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[]) { private async _uploadFiles(files: FileUploadModel[]) {
const fileCount = await this._fileUploadService.uploadFiles(files, this.dossierId); const fileCount = await this._fileUploadService.uploadFiles(files, this.dossierId);
if (fileCount) { if (fileCount) {