diff --git a/examples/components/simpleviewer.js b/examples/components/simpleviewer.js index ece769240..090acc3bc 100644 --- a/examples/components/simpleviewer.js +++ b/examples/components/simpleviewer.js @@ -38,17 +38,17 @@ var container = document.getElementById('viewerContainer'); // (Optionally) enable hyperlinks within PDF files. var pdfLinkService = new pdfjsViewer.PDFLinkService(); -var pdfViewer = new pdfjsViewer.PDFViewer({ - container: container, - linkService: pdfLinkService, -}); -pdfLinkService.setViewer(pdfViewer); - // (Optionally) enable find controller. var pdfFindController = new pdfjsViewer.PDFFindController({ linkService: pdfLinkService, }); -pdfViewer.setFindController(pdfFindController); + +var pdfViewer = new pdfjsViewer.PDFViewer({ + container: container, + linkService: pdfLinkService, + findController: pdfFindController, +}); +pdfLinkService.setViewer(pdfViewer); container.addEventListener('pagesinit', function () { // We can use pdfViewer now, e.g. let's change default scale. diff --git a/examples/components/singlepageviewer.js b/examples/components/singlepageviewer.js index 1160a6f2e..67c7a416e 100644 --- a/examples/components/singlepageviewer.js +++ b/examples/components/singlepageviewer.js @@ -38,17 +38,17 @@ var container = document.getElementById('viewerContainer'); // (Optionally) enable hyperlinks within PDF files. var pdfLinkService = new pdfjsViewer.PDFLinkService(); -var pdfSinglePageViewer = new pdfjsViewer.PDFSinglePageViewer({ - container: container, - linkService: pdfLinkService, -}); -pdfLinkService.setViewer(pdfSinglePageViewer); - // (Optionally) enable find controller. var pdfFindController = new pdfjsViewer.PDFFindController({ linkService: pdfLinkService, }); -pdfSinglePageViewer.setFindController(pdfFindController); + +var pdfSinglePageViewer = new pdfjsViewer.PDFSinglePageViewer({ + container: container, + linkService: pdfLinkService, + findController: pdfFindController, +}); +pdfLinkService.setViewer(pdfSinglePageViewer); container.addEventListener('pagesinit', function () { // We can use pdfSinglePageViewer now, e.g. let's change default scale. diff --git a/web/app.js b/web/app.js index 62b65b157..8c605a20a 100644 --- a/web/app.js +++ b/web/app.js @@ -305,6 +305,12 @@ let PDFViewerApplication = { }); this.downloadManager = downloadManager; + const findController = new PDFFindController({ + linkService: pdfLinkService, + eventBus, + }); + this.findController = findController; + let container = appConfig.mainContainer; let viewer = appConfig.viewerContainer; this.pdfViewer = new PDFViewer({ @@ -314,6 +320,7 @@ let PDFViewerApplication = { renderingQueue: pdfRenderingQueue, linkService: pdfLinkService, downloadManager, + findController, renderer: AppOptions.get('renderer'), enableWebGL: AppOptions.get('enableWebGL'), l10n: this.l10n, @@ -342,12 +349,6 @@ let PDFViewerApplication = { }); pdfLinkService.setHistory(this.pdfHistory); - this.findController = new PDFFindController({ - linkService: pdfLinkService, - eventBus, - }); - this.pdfViewer.setFindController(this.findController); - // TODO: improve `PDFFindBar` constructor parameter passing let findBarConfig = Object.create(appConfig.findBar); findBarConfig.eventBus = eventBus; diff --git a/web/base_viewer.js b/web/base_viewer.js index 38e819812..57153057f 100644 --- a/web/base_viewer.js +++ b/web/base_viewer.js @@ -49,6 +49,8 @@ const SpreadMode = { * @property {IPDFLinkService} linkService - The navigation/linking service. * @property {DownloadManager} downloadManager - (optional) The download * manager component. + * @property {PDFFindController} findController - (optional) The find + * controller component. * @property {PDFRenderingQueue} renderingQueue - (optional) The rendering * queue object. * @property {boolean} removePageBorders - (optional) Removes the border shadow @@ -142,6 +144,7 @@ class BaseViewer { this.eventBus = options.eventBus || getGlobalEventBus(); this.linkService = options.linkService || new SimpleLinkService(); this.downloadManager = options.downloadManager || null; + this.findController = options.findController || null; this.removePageBorders = options.removePageBorders || false; this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : TextLayerMode.ENABLE; @@ -955,10 +958,6 @@ class BaseViewer { }); } - setFindController(findController) { - this.findController = findController; - } - /** * @returns {boolean} Whether all pages of the PDF document have identical * widths and heights.