-
+
+
diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.scss b/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.scss
index 4aa16c810..f46bac911 100644
--- a/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.scss
+++ b/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.scss
@@ -28,3 +28,15 @@
justify-content: flex-start;
align-items: center;
}
+
+.file-name-cell:hover {
+ ::ng-deep.file-name-column {
+ background: var(--iqser-grey-6);
+
+ div {
+ mat-icon {
+ visibility: visible;
+ }
+ }
+ }
+}
diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.ts b/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.ts
index 83e6e3eea..0447eac7d 100644
--- a/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.ts
+++ b/apps/red-ui/src/app/modules/dossier-overview/components/table-item/table-item.component.ts
@@ -1,6 +1,7 @@
import { Component, Input } from '@angular/core';
import { Dossier, File, IFileAttributeConfig } from '@red/domain';
import { getConfig } from '@iqser/common-ui';
+import { FileAttributesService } from '@services/entity-services/file-attributes.service';
@Component({
selector: 'redaction-table-item [file] [dossier] [displayedAttributes] [dossierTemplateId]',
@@ -14,4 +15,6 @@ export class TableItemComponent {
@Input() dossierTemplateId: string;
readonly isDocumine = getConfig().IS_DOCUMINE;
+
+ constructor(readonly fileAttributesService: FileAttributesService) {}
}
diff --git a/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts b/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts
index 972364348..e639af20a 100644
--- a/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts
+++ b/apps/red-ui/src/app/modules/dossier-overview/dossier-overview.module.ts
@@ -48,7 +48,6 @@ const routes: IqserRoutes = [
DossierDetailsComponent,
DossierDetailsStatsComponent,
FileWorkloadComponent,
- FileAttributeComponent,
TableItemComponent,
WorkflowItemComponent,
DossierOverviewScreenHeaderComponent,
@@ -72,6 +71,7 @@ const routes: IqserRoutes = [
IqserAllowDirective,
TenantPipe,
DisableStopPropagationDirective,
+ FileAttributeComponent,
],
})
export class DossierOverviewModule {}
diff --git a/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.html b/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.html
index 85349ba34..f2f4fd196 100644
--- a/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.html
+++ b/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.html
@@ -12,12 +12,22 @@
-
-
-
- {{ ctx.primaryAttribute }}
-
+
+
+
+
+ {{ ctx.primaryAttribute.label }}
+
+
+
+
+
diff --git a/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.ts b/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.ts
index 8bd8750cc..cb37870ef 100644
--- a/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.ts
+++ b/apps/red-ui/src/app/modules/shared/components/file-name-column/file-name-column.component.ts
@@ -1,24 +1,13 @@
import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { PrimaryFileAttributeService } from '@services/primary-file-attribute.service';
-import { FileAttributes } from '@red/domain';
+import { Dossier, File, IFileAttributeConfig, TrashFile } from '@red/domain';
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
import { combineLatest, map, ReplaySubject } from 'rxjs';
import { ContextComponent } from '@iqser/common-ui/lib/utils';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
-interface PartialFile {
- readonly isError: boolean;
- readonly isInitialProcessing: boolean;
- readonly filename: string;
- readonly numberOfPages: number;
- readonly excludedPages: number[];
- readonly lastOCRTime?: string;
- readonly fileAttributes: FileAttributes;
- readonly lastManualChangeDate?: string;
-}
-
interface FileNameColumnContext {
- primaryAttribute: string;
+ primaryAttribute: IFileAttributeConfig;
ocrByDefault: boolean;
}
@@ -29,9 +18,10 @@ interface FileNameColumnContext {
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class FileNameColumnComponent extends ContextComponent
implements OnInit, OnChanges {
- @Input() file: PartialFile;
- @Input() dossierTemplateId: string;
readonly #reloadAttribute = new ReplaySubject(1);
+ @Input() file?: File | TrashFile;
+ @Input() dossier: Dossier;
+ @Input() dossierTemplateId: string;
constructor(
private readonly _fileAttributeService: FileAttributesService,
@@ -43,7 +33,7 @@ export class FileNameColumnComponent extends ContextComponent this._primaryFileAttributeService.getPrimaryFileAttributeValue(this.file, this.dossierTemplateId)),
+ map(() => this.#findPrimaryAttribute()),
);
const ocrByDefault$ = this._dossierTemplateService.get(this.dossierTemplateId).pipe(map(template => template.ocrByDefault));
super._initContext({
@@ -57,4 +47,17 @@ export class FileNameColumnComponent extends ContextComponent a.primaryAttribute);
+ }
}
diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts
index 104cc7c10..fcf871c30 100644
--- a/apps/red-ui/src/app/modules/shared/shared.module.ts
+++ b/apps/red-ui/src/app/modules/shared/shared.module.ts
@@ -10,6 +10,7 @@ import { AnnotationIconComponent } from './components/annotation-icon/annotation
import { DonutChartComponent } from './components/donut-chart/donut-chart.component';
import {
CircleButtonComponent,
+ DynamicInputComponent,
HasScrollbarDirective,
IconButtonComponent,
IqserAllowDirective,
@@ -47,6 +48,7 @@ import { CustomDateAdapter } from '@shared/CustomDateAdapter';
import { IqserUsersModule } from '@iqser/common-ui/lib/users';
import { SmallChipComponent } from '@iqser/common-ui/lib/shared';
import { SelectComponent } from '@shared/components/select/select.component';
+import { FileAttributeComponent } from '../dossier-overview/components/file-attribute/file-attribute.component';
const buttons = [FileDownloadBtnComponent];
@@ -78,7 +80,7 @@ const services = [SharedDialogService];
const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, ReactiveFormsModule, ColorPickerModule];
-const deleteThisWhenAllComponentsAreStandalone = [DonutChartComponent];
+const deleteThisWhenAllComponentsAreStandalone = [DonutChartComponent, FileAttributeComponent];
@NgModule({
declarations: [...components, ...utils, EditorComponent],
@@ -100,6 +102,7 @@ const deleteThisWhenAllComponentsAreStandalone = [DonutChartComponent];
IqserDenyDirective,
SelectComponent,
RoundCheckboxComponent,
+ DynamicInputComponent,
],
exports: [...modules, ...components, ...utils, ...deleteThisWhenAllComponentsAreStandalone],
providers: [