From d76943d57c51d4f6605eceb8d312ff70da7307cd Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 19 Oct 2026 19:08:33 -0700 Subject: [PATCH] Enhancement: doc details ux improvements (#14485) --- .../permissions-form.component.html | 4 +- .../permissions-form.component.ts | 3 + .../page-header/page-header.component.html | 4 +- .../page-header/page-header.component.spec.ts | 7 + .../page-header/page-header.component.ts | 5 +- .../document-detail.component.html | 135 +++++++++--------- 6 files changed, 87 insertions(+), 71 deletions(-) diff --git a/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.html b/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.html index 3ba732dc5..1d715b6dc 100644 --- a/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.html +++ b/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.html @@ -1,5 +1,7 @@ @if (!accordion) { -
Permissions
+ @if (title?.length > 0) { +
{{title}}
+ } } @if (accordion) { diff --git a/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.ts b/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.ts index 4da6c9ca9..c09f4aac6 100644 --- a/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.ts +++ b/src-ui/src/app/components/common/input/permissions/permissions-form/permissions-form.component.ts @@ -59,6 +59,9 @@ export class PermissionsFormComponent @Input() accordion: boolean = false + @Input() + title: string = $localize`Permissions` + form = new FormGroup({ owner: new FormControl(null), set_permissions: new FormGroup({ diff --git a/src-ui/src/app/components/common/page-header/page-header.component.html b/src-ui/src/app/components/common/page-header/page-header.component.html index be0327e50..3be16747f 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.html +++ b/src-ui/src/app/components/common/page-header/page-header.component.html @@ -3,13 +3,13 @@

{{title()}} @if (id()) { - + } @if (subTitle()) { {{subTitle()}} diff --git a/src-ui/src/app/components/common/page-header/page-header.component.spec.ts b/src-ui/src/app/components/common/page-header/page-header.component.spec.ts index 1bdcd4279..603dcd028 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.spec.ts +++ b/src-ui/src/app/components/common/page-header/page-header.component.spec.ts @@ -43,6 +43,13 @@ describe('PageHeaderComponent', () => { expect(titleSpy).toHaveBeenCalledWith(`Foo Bar - ${environment.appTitle}`) }) + it('should set html title to just the app title until a title is available', () => { + const titleSpy = jest.spyOn(titleService, 'setTitle') + fixture.componentRef.setInput('title', undefined) + fixture.detectChanges() + expect(titleSpy).toHaveBeenCalledWith(environment.appTitle) + }) + it('should copy id to clipboard, reset after 3 seconds', () => { jest.useFakeTimers() fixture.componentRef.setInput('id', 42) diff --git a/src-ui/src/app/components/common/page-header/page-header.component.ts b/src-ui/src/app/components/common/page-header/page-header.component.ts index 1f15ee378..a0a1cc364 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.ts +++ b/src-ui/src/app/components/common/page-header/page-header.component.ts @@ -27,7 +27,10 @@ export class PageHeaderComponent { constructor() { effect(() => { - this.titleService.setTitle(`${this.title()} - ${environment.appTitle}`) + const title = this.title() + this.titleService.setTitle( + title ? `${title} - ${environment.appTitle}` : environment.appTitle + ) }) } diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index 184b623ab..3880e2bd3 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -1,25 +1,4 @@ - @if (archiveContentRenderType === ContentRenderType.PDF && !useNativePdfViewer) { - @if (previewNumPages()) { -
-
Page
- -
of {{previewNumPages()}}
-
- } -
- - - -
- } - @@ -34,7 +13,7 @@ (versionsUpdated)="onVersionsUpdated($event)" /> -
+
-
+
@@ -113,8 +92,8 @@
-
-
+
+
@@ -127,43 +106,30 @@
-
-
- - -
- -
- - -
+
+ +
-
+
@@ -290,8 +256,20 @@ }
-
- +
+ + + + +
+ +
@@ -328,9 +306,9 @@ Original filename {{metadata()?.original_filename}} - + Original SHA256 checksum - {{metadata()?.original_checksum}} + {{metadata()?.original_checksum}} Original file size @@ -341,9 +319,9 @@ {{metadata()?.original_mime_type}} @if (metadata()?.has_archive_version) { - + Archive SHA256 checksum - {{metadata()?.archive_checksum}} + {{metadata()?.archive_checksum}} } @if (metadata()?.has_archive_version) { @@ -408,7 +386,7 @@ Permissions
- +
@@ -499,6 +477,29 @@ (loadError)="onError($event)" (afterLoadComplete)="pdfPreviewLoaded($event)"> +
+ @if (previewNumPages()) { +
+ +
of {{previewNumPages()}}
+
+ } +
+ + + +
+
} @else {