diff --git a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.html
index 305fef1bf..0a0c28e2c 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.html
+++ b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.html
@@ -11,84 +11,76 @@
-
-
-
-
-
-
-
-
-
- {{ item.filename }}
-
-
-
- 0" class="small-label">
-
-
- 1" class="small-label">
-
-
-
-
-
-
- {{ 'search-screen.missing' | translate }}: {{ term }}. {{ 'search-screen.must-contain' | translate }}:
- {{ term }}
-
-
-
-
-
-
-
-
-
- {{ item.dossierName }}
-
-
-
-
-
- {{ item.numberOfPages }}
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ {{ item.filename }}
+
+
+
+ 0" class="small-label">
+
+
+ 1" class="small-label">
+
+
+
+
+
+
+ {{ 'search-screen.missing' | translate }}: {{ term }}. {{ 'search-screen.must-contain' | translate }}:
+ {{ term }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.dossierName }}
+
+
+
+
+
+
+
+ {{ item.numberOfPages }}
+
+
+
diff --git a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss
index 2381616db..9d17357bc 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss
@@ -1,42 +1,12 @@
@import 'libs/common-ui/src/assets/styles/mixins';
@import '../../../../../assets/styles/variables';
-.content-container {
- position: relative;
+:host ::ng-deep iqser-table cdk-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper .table-item > div.cell {
+ .highlights {
+ @include line-clamp(1);
- cdk-virtual-scroll-viewport {
- ::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: 2fr 1fr 1fr auto 11px;
-
- .table-item {
- > div {
- height: 85px;
- padding: 0 24px;
- }
-
- .status-container {
- width: 160px;
- padding-right: 13px;
- }
-
- .highlights em {
- background-color: #fffcc4;
- }
-
- .highlights {
- @include line-clamp(1);
- }
-
- //.stats-subtitle > div {
- // width: fit-content;
- //}
- }
- }
-
- &.has-scrollbar:hover {
- ::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: 2fr 1fr 1fr auto;
- }
+ em {
+ background-color: #fffcc4;
}
}
}
diff --git a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts
index 16b439354..dadcfb959 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts
@@ -1,4 +1,4 @@
-import { Component, Injector, OnDestroy } from '@angular/core';
+import { Component, forwardRef, Injector, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';
import { DefaultListingServices, keyChecker, Listable, ListingComponent, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { MatchedDocument, SearchControllerService, SearchResult } from '@redaction/red-ui-http';
import { BehaviorSubject, Observable } from 'rxjs';
@@ -32,20 +32,17 @@ interface SearchInput {
@Component({
templateUrl: './search-screen.component.html',
styleUrls: ['./search-screen.component.scss'],
- providers: [...DefaultListingServices]
+ providers: [...DefaultListingServices, { provide: ListingComponent, useExisting: forwardRef(() => SearchScreenComponent) }]
})
-export class SearchScreenComponent extends ListingComponent implements OnDestroy {
+export class SearchScreenComponent extends ListingComponent implements OnDestroy, OnInit {
readonly fileStatusTranslations = fileStatusTranslations;
readonly searchPositions = SearchPositions;
-
- readonly itemSize = 85;
+ @ViewChild('filenameTemplate', { static: true }) filenameTemplate: TemplateRef;
+ @ViewChild('statusTemplate', { static: true }) statusTemplate: TemplateRef;
+ @ViewChild('dossierTemplate', { static: true }) dossierTemplate: TemplateRef;
+ @ViewChild('pagesTemplate', { static: true }) pagesTemplate: TemplateRef;
readonly tableHeaderLabel = _('search-screen.table-header');
- readonly tableColumnConfigs: TableColumnConfig[] = [
- { label: _('search-screen.cols.document') },
- { label: _('search-screen.cols.status') },
- { label: _('search-screen.cols.dossier') },
- { label: _('search-screen.cols.pages') }
- ];
+ tableColumnConfigs: TableColumnConfig[];
readonly search$ = new BehaviorSubject(null);
readonly searchResults$: Observable = this.search$.asObservable().pipe(
switchMap(query => this._search(query)),
@@ -94,6 +91,8 @@ export class SearchScreenComponent extends ListingComponent implements
});
}
+ routerLinkFn = (entity: ListItem) => [entity.routerLink];
+
setInitialConfig(): void {
return;
}
@@ -104,6 +103,19 @@ export class SearchScreenComponent extends ListingComponent implements
this._router.navigate([], { queryParams }).then();
}
+ ngOnInit(): void {
+ this._configureTableColumns();
+ }
+
+ private _configureTableColumns() {
+ this.tableColumnConfigs = [
+ { label: _('search-screen.cols.document'), template: this.filenameTemplate, width: '2fr' },
+ { label: _('search-screen.cols.status'), template: this.statusTemplate },
+ { label: _('search-screen.cols.dossier'), template: this.dossierTemplate },
+ { label: _('search-screen.cols.pages'), template: this.pagesTemplate, width: 'auto' }
+ ];
+ }
+
private _search(searchInput: SearchInput): Observable {
return this._searchControllerService.search({
dossierIds: searchInput.dossierIds,
diff --git a/libs/common-ui b/libs/common-ui
index d8379489b..08222bdae 160000
--- a/libs/common-ui
+++ b/libs/common-ui
@@ -1 +1 @@
-Subproject commit d8379489b9da22ce463db6bcb4b351ec24287e30
+Subproject commit 08222bdaeb1e16b37c75b66a2a49b0b3b96d9de7