Remove the find controller setter in web/base_viewer.js

With `PDFFindController` instances no longer (directly) depending on
`BaseViewer` instances, we can pass a single `findController` when
initializing a viewer, similar to other components.
This commit is contained in:
Tim van der Meij 2018-09-22 19:44:13 +02:00
parent 38ff79186a
commit f79fb88864
No known key found for this signature in database
GPG Key ID: 8C3FD2925A5F2762
4 changed files with 24 additions and 24 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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;

View File

@ -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.