Skip to content

Commit

Permalink
Merge pull request #10123 from Snuffleupagus/viewer-component-signatures
Browse files Browse the repository at this point in the history
Attempt to simplify the `PDFFindBar` and `PDFSidebar` constructors
  • Loading branch information
timvandermeij authored Oct 2, 2018
2 parents 1383245 + 8eda8c2 commit 1cfb723
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 17 deletions.
11 changes: 3 additions & 8 deletions web/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down
6 changes: 3 additions & 3 deletions web/pdf_find_bar.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;
Expand All @@ -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.
Expand Down
2 changes: 2 additions & 0 deletions web/pdf_outline_viewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ class PDFOutlineViewer {
this.eventBus = eventBus;

this.reset();

eventBus.on('toggleoutlinetree', this.toggleOutlineTree.bind(this));
}

reset() {
Expand Down
10 changes: 4 additions & 6 deletions web/pdf_sidebar.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
Expand All @@ -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;
Expand All @@ -88,6 +85,7 @@ class PDFSidebar {

this.disableNotification = options.disableNotification || false;

this.eventBus = eventBus;
this.l10n = l10n;

this._addEventListeners();
Expand Down Expand Up @@ -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', () => {
Expand Down

0 comments on commit 1cfb723

Please sign in to comment.