From 7f0221bf881baa7e0d837a351c50ebe848685278 Mon Sep 17 00:00:00 2001 From: Vadym Yatsyuk Date: Fri, 1 Jan 2021 15:42:10 +0100 Subject: [PATCH] fix external-link-target --- src/app/pdf-viewer/pdf-viewer.component.ts | 29 +++++++++++----------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/app/pdf-viewer/pdf-viewer.component.ts b/src/app/pdf-viewer/pdf-viewer.component.ts index caf7ce0b6..7b48293d9 100644 --- a/src/app/pdf-viewer/pdf-viewer.component.ts +++ b/src/app/pdf-viewer/pdf-viewer.component.ts @@ -219,14 +219,6 @@ export class PdfViewerComponent return null; } - static setExternalLinkTarget(type: string) { - const linkTarget = PdfViewerComponent.getLinkTarget(type); - - if (linkTarget !== null) { - (PDFJS as any).externalLinkTarget = linkTarget; - } - } - constructor(private element: ElementRef) { if (isSSR()) { return; @@ -393,11 +385,20 @@ export class PdfViewerComponent } } + private getPDFLinkServiceConfig() { + const pdfLinkServiceConfig: any = {}; + const linkTarget = PdfViewerComponent.getLinkTarget(this._externalLinkTarget); + + if (linkTarget) { + pdfLinkServiceConfig.externalLinkTarget = linkTarget; + } + + return pdfLinkServiceConfig; + } + private setupMultiPageViewer() { (PDFJS as any).disableTextLayer = !this._renderText; - PdfViewerComponent.setExternalLinkTarget(this._externalLinkTarget); - const eventBus = createEventBus(PDFJSViewer); eventBus.on('pagerendered', e => { @@ -419,7 +420,9 @@ export class PdfViewerComponent this.textLayerRendered.emit(e); }); - this.pdfMultiPageLinkService = new PDFJSViewer.PDFLinkService({ eventBus }); + this.pdfMultiPageLinkService = new PDFJSViewer.PDFLinkService({ + eventBus, ...this.getPDFLinkServiceConfig() + }); this.pdfMultiPageFindController = new PDFJSViewer.PDFFindController({ linkService: this.pdfMultiPageLinkService, eventBus @@ -444,8 +447,6 @@ export class PdfViewerComponent private setupSinglePageViewer() { (PDFJS as any).disableTextLayer = !this._renderText; - PdfViewerComponent.setExternalLinkTarget(this._externalLinkTarget); - const eventBus = createEventBus(PDFJSViewer); eventBus.on('pagechanging', e => { @@ -463,7 +464,7 @@ export class PdfViewerComponent }); this.pdfSinglePageLinkService = new PDFJSViewer.PDFLinkService({ - eventBus + eventBus, ...this.getPDFLinkServiceConfig() }); this.pdfSinglePageFindController = new PDFJSViewer.PDFFindController({ linkService: this.pdfSinglePageLinkService,