From 6fb4daf03e593706d123584398cd5e1e2f85bc66 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 25 Jan 2024 13:22:03 -0800 Subject: [PATCH] Fix: tweak doc detail component behavior while awaiting metadata (#5546) --- .../document-detail.component.html | 67 ++++++++++--------- .../document-detail.component.spec.ts | 1 + .../document-detail.component.ts | 2 + 3 files changed, 37 insertions(+), 33 deletions(-) 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 038a44dbe..a3890f961 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 @@ -324,44 +324,45 @@ Loading... - } - @switch (contentRenderType) { - @case (ContentRenderType.PDF) { - @if (!useNativePdfViewer) { -
- - + } @else { + @switch (contentRenderType) { + @case (ContentRenderType.PDF) { + @if (!useNativePdfViewer) { +
+ + +
+ } @else { + + } + } + @case (ContentRenderType.Text) { +
{{previewText}}
+ } + @case (ContentRenderType.Image) { +
+ {{title}}
- } @else { + } + @case (ContentRenderType.Other) { } } - @case (ContentRenderType.Text) { -
{{previewText}}
- } - @case (ContentRenderType.Image) { -
- {{title}} + @if (requiresPassword) { +
+
+ +
} - @case (ContentRenderType.Other) { - - } - } - @if (requiresPassword) { -
-
- -
-
} diff --git a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts index cccf2677b..af0e0e78e 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts @@ -681,6 +681,7 @@ describe('DocumentDetailComponent', () => { it('should support Enter key in password field', () => { initNormally() + component.metadata = { has_archive_version: true } component.onError({ name: 'PasswordException' }) // normally dispatched by pdf viewer fixture.detectChanges() expect(component.password).toBeUndefined() diff --git a/src-ui/src/app/components/document-detail/document-detail.component.ts b/src-ui/src/app/components/document-detail/document-detail.component.ts index 18e6b1211..0ce9fa007 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.ts @@ -82,6 +82,7 @@ enum ContentRenderType { Image = 'image', Text = 'text', Other = 'other', + Unknown = 'unknown', } enum ZoomSetting { @@ -211,6 +212,7 @@ export class DocumentDetailComponent } get contentRenderType(): ContentRenderType { + if (!this.metadata) return ContentRenderType.Unknown const contentType = this.metadata?.has_archive_version ? 'application/pdf' : this.metadata?.original_mime_type