-
-
{{ 'ADF_VIEWER.LOADING' | translate }}
-
-
+@if (isLoading || isFileLoading) {
+
+
+
+
+
{{ 'ADF_VIEWER.LOADING' | translate }}
+
+
+
-
+}
@if (urlFile || blobFile) {
diff --git a/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.spec.ts b/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.spec.ts
index ab14d2d218..94daa8bf7c 100644
--- a/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.spec.ts
+++ b/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.spec.ts
@@ -489,6 +489,12 @@ describe('ViewerComponent', () => {
expect(getMainLoader()).not.toBeNull();
});
+ it('should show spinner when isFileLoading is true', () => {
+ component.isFileLoading = true;
+ fixture.detectChanges();
+ expect(getMainLoader()).not.toBeNull();
+ });
+
it('should show spinner until content is ready when viewerType is media', () => {
component.isLoading = false;
component.urlFile = 'some-file.mp4';
@@ -545,5 +551,21 @@ describe('ViewerComponent', () => {
expect(getMainLoader()).toBeNull();
});
+
+ it('should not show spinner after url file is set', () => {
+ component.urlFile = 'some-url.txt';
+ component.ngOnChanges();
+ fixture.detectChanges();
+
+ expect(getMainLoader()).toBeNull();
+ });
+
+ it('should not show spinner after blob file is set', () => {
+ component.blobFile = new Blob(['This is my blob content'], { type: 'text/plain' });
+ component.ngOnChanges();
+ fixture.detectChanges();
+
+ expect(getMainLoader()).toBeNull();
+ });
});
});
diff --git a/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.ts b/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.ts
index 987f3149d9..a90a69f415 100644
--- a/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.ts
+++ b/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.ts
@@ -139,6 +139,7 @@ export class ViewerRenderComponent implements OnChanges, OnInit {
internalFileName: string;
viewerType: string = 'unknown';
isLoading = false;
+ isFileLoading = false;
/**
* Returns a list of the active Viewer content extensions.
@@ -182,6 +183,8 @@ export class ViewerRenderComponent implements OnChanges, OnInit {
}
ngOnChanges() {
+ this.isFileLoading = !this.blobFile && !this.urlFile;
+
if (this.blobFile) {
this.setUpBlobData();
} else if (this.urlFile) {