Merge pull request #10123 from Snuffleupagus/viewer-component-signatures
Attempt to simplify the `PDFFindBar` and `PDFSidebar` constructors
This commit is contained in:
commit
1cfb723dd4
11
web/app.js
11
web/app.js
@ -286,7 +286,7 @@ let PDFViewerApplication = {
|
||||
this.overlayManager = new OverlayManager();
|
||||
|
||||
const dispatchToDOM = AppOptions.get('eventBusDispatchToDOM');
|
||||
let eventBus = appConfig.eventBus || getGlobalEventBus(dispatchToDOM);
|
||||
const eventBus = appConfig.eventBus || getGlobalEventBus(dispatchToDOM);
|
||||
this.eventBus = eventBus;
|
||||
|
||||
let pdfRenderingQueue = new PDFRenderingQueue();
|
||||
@ -349,10 +349,7 @@ let PDFViewerApplication = {
|
||||
});
|
||||
pdfLinkService.setHistory(this.pdfHistory);
|
||||
|
||||
// TODO: improve `PDFFindBar` constructor parameter passing
|
||||
let findBarConfig = Object.create(appConfig.findBar);
|
||||
findBarConfig.eventBus = eventBus;
|
||||
this.findBar = new PDFFindBar(findBarConfig, this.l10n);
|
||||
this.findBar = new PDFFindBar(appConfig.findBar, eventBus, this.l10n);
|
||||
|
||||
this.pdfDocumentProperties =
|
||||
new PDFDocumentProperties(appConfig.documentProperties,
|
||||
@ -399,9 +396,7 @@ let PDFViewerApplication = {
|
||||
let sidebarConfig = Object.create(appConfig.sidebar);
|
||||
sidebarConfig.pdfViewer = this.pdfViewer;
|
||||
sidebarConfig.pdfThumbnailViewer = this.pdfThumbnailViewer;
|
||||
sidebarConfig.pdfOutlineViewer = this.pdfOutlineViewer;
|
||||
sidebarConfig.eventBus = eventBus;
|
||||
this.pdfSidebar = new PDFSidebar(sidebarConfig, this.l10n);
|
||||
this.pdfSidebar = new PDFSidebar(sidebarConfig, eventBus, this.l10n);
|
||||
this.pdfSidebar.onToggled = this.forceRendering.bind(this);
|
||||
|
||||
this.pdfSidebarResizer = new PDFSidebarResizer(appConfig.sidebarResizer,
|
||||
|
@ -13,8 +13,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { getGlobalEventBus, NullL10n } from './ui_utils';
|
||||
import { FindState } from './pdf_find_controller';
|
||||
import { NullL10n } from './ui_utils';
|
||||
|
||||
const MATCHES_COUNT_LIMIT = 1000;
|
||||
|
||||
@ -25,7 +25,7 @@ const MATCHES_COUNT_LIMIT = 1000;
|
||||
* is done by PDFFindController.
|
||||
*/
|
||||
class PDFFindBar {
|
||||
constructor(options, l10n = NullL10n) {
|
||||
constructor(options, eventBus = getGlobalEventBus(), l10n = NullL10n) {
|
||||
this.opened = false;
|
||||
|
||||
this.bar = options.bar || null;
|
||||
@ -38,7 +38,7 @@ class PDFFindBar {
|
||||
this.findResultsCount = options.findResultsCount || null;
|
||||
this.findPreviousButton = options.findPreviousButton || null;
|
||||
this.findNextButton = options.findNextButton || null;
|
||||
this.eventBus = options.eventBus;
|
||||
this.eventBus = eventBus;
|
||||
this.l10n = l10n;
|
||||
|
||||
// Add event listeners to the DOM elements.
|
||||
|
@ -39,6 +39,8 @@ class PDFOutlineViewer {
|
||||
this.eventBus = eventBus;
|
||||
|
||||
this.reset();
|
||||
|
||||
eventBus.on('toggleoutlinetree', this.toggleOutlineTree.bind(this));
|
||||
}
|
||||
|
||||
reset() {
|
||||
|
@ -29,12 +29,10 @@ const SidebarView = {
|
||||
* @typedef {Object} PDFSidebarOptions
|
||||
* @property {PDFViewer} pdfViewer - The document viewer.
|
||||
* @property {PDFThumbnailViewer} pdfThumbnailViewer - The thumbnail viewer.
|
||||
* @property {PDFOutlineViewer} pdfOutlineViewer - The outline viewer.
|
||||
* @property {HTMLDivElement} outerContainer - The outer container
|
||||
* (encasing both the viewer and sidebar elements).
|
||||
* @property {HTMLDivElement} viewerContainer - The viewer container
|
||||
* (in which the viewer element is placed).
|
||||
* @property {EventBus} eventBus - The application event bus.
|
||||
* @property {HTMLButtonElement} toggleButton - The button used for
|
||||
* opening/closing the sidebar.
|
||||
* @property {HTMLButtonElement} thumbnailButton - The button used to show
|
||||
@ -56,9 +54,10 @@ const SidebarView = {
|
||||
class PDFSidebar {
|
||||
/**
|
||||
* @param {PDFSidebarOptions} options
|
||||
* @param {EventBus} eventBus - The application event bus.
|
||||
* @param {IL10n} l10n - Localization service.
|
||||
*/
|
||||
constructor(options, l10n = NullL10n) {
|
||||
constructor(options, eventBus, l10n = NullL10n) {
|
||||
this.isOpen = false;
|
||||
this.active = SidebarView.THUMBS;
|
||||
this.isInitialViewSet = false;
|
||||
@ -71,11 +70,9 @@ class PDFSidebar {
|
||||
|
||||
this.pdfViewer = options.pdfViewer;
|
||||
this.pdfThumbnailViewer = options.pdfThumbnailViewer;
|
||||
this.pdfOutlineViewer = options.pdfOutlineViewer;
|
||||
|
||||
this.outerContainer = options.outerContainer;
|
||||
this.viewerContainer = options.viewerContainer;
|
||||
this.eventBus = options.eventBus;
|
||||
this.toggleButton = options.toggleButton;
|
||||
|
||||
this.thumbnailButton = options.thumbnailButton;
|
||||
@ -88,6 +85,7 @@ class PDFSidebar {
|
||||
|
||||
this.disableNotification = options.disableNotification || false;
|
||||
|
||||
this.eventBus = eventBus;
|
||||
this.l10n = l10n;
|
||||
|
||||
this._addEventListeners();
|
||||
@ -397,7 +395,7 @@ class PDFSidebar {
|
||||
this.switchView(SidebarView.OUTLINE);
|
||||
});
|
||||
this.outlineButton.addEventListener('dblclick', () => {
|
||||
this.pdfOutlineViewer.toggleOutlineTree();
|
||||
this.eventBus.dispatch('toggleoutlinetree', { source: this, });
|
||||
});
|
||||
|
||||
this.attachmentsButton.addEventListener('click', () => {
|
||||
|
Loading…
Reference in New Issue
Block a user