diff --git a/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.html b/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.html
index f89061701e..61deb391d8 100644
--- a/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.html
+++ b/lib/core/src/lib/viewer/components/viewer-render/viewer-render.component.html
@@ -15,7 +15,7 @@
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 f8b3aef4e0..1cd331ab72 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
@@ -24,7 +24,7 @@ import { MatDialog, MatDialogModule } from '@angular/material/dialog';
import { NoopTranslateModule, UnitTestingUtils } from '../../../testing';
import { RenderingQueueServices } from '../../services/rendering-queue.services';
import { ViewerRenderComponent } from './viewer-render.component';
-import { ImgViewerComponent, MediaPlayerComponent, ViewerExtensionDirective } from '@alfresco/adf-core';
+import { ImgViewerComponent, MediaPlayerComponent, PdfViewerComponent, ViewerExtensionDirective } from '@alfresco/adf-core';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@Component({
@@ -504,22 +504,23 @@ describe('ViewerComponent', () => {
expect(getMainLoader()).toBeNull();
expect(component.viewerType).toBe('media');
+ expect(component.isContentReady).toBeTrue();
});
- // eslint-disable-next-line ban/ban
- xit('should show spinner until content is ready when viewerType is pdf', () => {
+ it('should show spinner until content is ready when viewerType is pdf', () => {
component.isLoading = false;
component.urlFile = 'some-url.pdf';
+ expect(getMainLoader()).toBeNull();
component.ngOnChanges();
fixture.detectChanges();
- expect(getMainLoader()).not.toBeNull();
-
+ const imgViewer = testingUtils.getByDirective(PdfViewerComponent);
+ imgViewer.triggerEventHandler('pagesLoaded', null);
fixture.detectChanges();
- expect(getMainLoader()).toBeNull();
expect(component.viewerType).toBe('pdf');
+ expect(component.isContentReady).toBeTrue();
});
it('should show spinner until content is ready when viewerType is image', () => {
@@ -536,9 +537,10 @@ describe('ViewerComponent', () => {
expect(getMainLoader()).toBeNull();
expect(component.viewerType).toBe('image');
+ expect(component.isContentReady).toBeTrue();
});
- it('should not show spinner when isLoading = false and isContentReady = false for other viewer types', () => {
+ it('should not show spinner and set isContentReady = true for other viewer types different than media/pdf/image', () => {
component.isLoading = false;
component.urlFile = 'some-url.txt';
@@ -546,7 +548,7 @@ describe('ViewerComponent', () => {
fixture.detectChanges();
expect(getMainLoader()).toBeNull();
- expect(component.isContentReady).toBeFalse();
+ expect(component.isContentReady).toBeTrue();
});
});
});
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 7d96b4b6c9..15c355fe94 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
@@ -185,16 +185,22 @@ export class ViewerRenderComponent implements OnChanges, OnInit {
}
ngOnChanges() {
- this.isContentReady = !(this.viewerType === 'media' || this.viewerType === 'pdf' || this.viewerType === 'image');
- this.isLoading = !this.blobFile && !this.urlFile;
+ this.checkIsLoaded();
if (this.blobFile) {
this.setUpBlobData();
+ this.checkIsLoaded();
} else if (this.urlFile) {
this.setUpUrlFile();
+ this.checkIsLoaded();
}
}
+ private checkIsLoaded() {
+ this.isContentReady = !(this.viewerType === 'media' || this.viewerType === 'pdf' || this.viewerType === 'image');
+ this.isLoading = !this.blobFile && !this.urlFile;
+ }
+
private setUpBlobData() {
this.internalFileName = this.fileName;
this.viewerType = this.viewUtilService.getViewerTypeByMimeType(this.blobFile.type);