red-ui/apps/red-ui/src/app/modules/search/search-screen/search-screen.component.html
2022-03-22 19:17:09 +02:00

92 lines
3.4 KiB
HTML

<section *ngIf="searchResults$ | async">
<iqser-page-header
(closeAction)="routerHistoryService.navigateToLastDossiersScreen()"
[searchPlaceholder]="'search.placeholder' | translate"
[searchPosition]="searchPositions.beforeFilters"
[searchWidth]="600"
[showCloseButton]="true"
></iqser-page-header>
<div class="overlay-shadow"></div>
<div class="content-inner">
<div class="content-container">
<iqser-table
[hasScrollButton]="true"
[itemSize]="85"
[noDataText]="'search-screen.no-data' | translate"
[noMatchText]="'search-screen.no-match' | translate"
[tableColumnConfigs]="tableColumnConfigs"
noDataIcon="iqser:search"
></iqser-table>
</div>
</div>
</section>
<ng-template #tableItemTemplate let-item="entity">
<div>
<div class="cell filename">
<div [matTooltip]="item.filename" class="table-item-title heading" matTooltipPosition="above">
<span
*ngIf="item.highlights.filename; else defaultFilename"
[innerHTML]="item.highlights.filename[0]"
class="highlights"
></span>
<ng-template #defaultFilename>{{ item.filename }}</ng-template>
</div>
<ng-container *ngIf="item.highlights['sections.text'] as highlights">
<div *ngIf="highlights.length > 0" class="small-label">
<span [innerHTML]="highlights[0]" class="highlights"></span>
</div>
<div *ngIf="highlights.length > 1" class="small-label">
<span [innerHTML]="highlights[1]" class="highlights"></span>
</div>
</ng-container>
<div *ngIf="item.unmatched?.length && item.unmatched as unmatched" class="small-label">
<span>
{{ 'search-screen.missing' | translate }}:<span *ngFor="let term of unmatched"
>&nbsp;<s>{{ term }}</s></span
>.&nbsp;{{ 'search-screen.must-contain' | translate }}:
<span (click)="$event.stopPropagation(); mustContain(term)" *ngFor="let term of unmatched"
>&nbsp;<u>{{ term }}</u></span
>
</span>
</div>
</div>
<div class="cell">
<redaction-initials-avatar [user]="item.assignee" [withName]="true"></redaction-initials-avatar>
</div>
<div class="cell">
<iqser-status-bar
[configs]="[
{
color: item.status,
label: fileStatusTranslations[item.status] | translate,
length: 1,
cssClass: 'all-caps-label'
}
]"
[small]="true"
></iqser-status-bar>
</div>
<div class="cell small-label stats-subtitle">
<div>
<mat-icon *ngIf="item.isArchived" svgIcon="red:archive"></mat-icon>
{{ item.dossierName }}
</div>
</div>
<div class="cell small-label stats-subtitle">
<div>
<mat-icon svgIcon="iqser:pages"></mat-icon>
{{ item.numberOfPages }}
</div>
</div>
</div>
</ng-template>