From 4a2c76a34fa592440cef342a0d91d3f71ecb92e1 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Fri, 29 Apr 2016 10:05:04 -0500 Subject: [PATCH] Adds pre and post UI control change events. --- web/app.js | 8 ++++---- web/pdf_viewer.js | 19 +++++++++++++------ 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/web/app.js b/web/app.js index cec690437..a20813568 100644 --- a/web/app.js +++ b/web/app.js @@ -1231,8 +1231,8 @@ var PDFViewerApplication = { eventBus.on('pagerendered', webViewerPageRendered); eventBus.on('textlayerrendered', webViewerTextLayerRendered); eventBus.on('updateviewarea', webViewerUpdateViewarea); - eventBus.on('pagechange', webViewerPageChange); - eventBus.on('scalechange', webViewerScaleChange); + eventBus.on('pagechanging', webViewerPageChanging); + eventBus.on('scalechanging', webViewerScaleChanging); eventBus.on('sidebarviewchanged', webViewerSidebarViewChanged); eventBus.on('pagemode', webViewerPageMode); eventBus.on('namedaction', webViewerNamedAction); @@ -1873,7 +1873,7 @@ function webViewerFind(e) { }); } -function webViewerScaleChange(e) { +function webViewerScaleChanging(e) { var appConfig = PDFViewerApplication.appConfig; appConfig.toolbar.zoomOut.disabled = (e.scale === MIN_SCALE); appConfig.toolbar.zoomIn.disabled = (e.scale === MAX_SCALE); @@ -1894,7 +1894,7 @@ function webViewerScaleChange(e) { PDFViewerApplication.pdfViewer.update(); } -function webViewerPageChange(e) { +function webViewerPageChanging(e) { var page = e.pageNumber; if (e.previousPageNumber !== page) { PDFViewerApplication.appConfig.toolbar.pageNumber.value = page; diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index 5bf870388..3f6d7786a 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -166,23 +166,28 @@ var PDFViewer = (function pdfViewer() { return; } + var arg; if (!(0 < val && val <= this.pagesCount)) { - this.eventBus.dispatch('pagechange', { + arg = { source: this, updateInProgress: this.updateInProgress, pageNumber: this._currentPageNumber, previousPageNumber: val - }); + }; + this.eventBus.dispatch('pagechanging', arg); + this.eventBus.dispatch('pagechange', arg); return; } - this.eventBus.dispatch('pagechange', { + arg = { source: this, updateInProgress: this.updateInProgress, pageNumber: val, previousPageNumber: this._currentPageNumber - }); + }; + this.eventBus.dispatch('pagechanging', arg); this._currentPageNumber = val; + this.eventBus.dispatch('pagechange', arg); // Check if the caller is `PDFViewer_update`, to avoid breaking scrolling. if (this.updateInProgress) { @@ -403,11 +408,13 @@ var PDFViewer = (function pdfViewer() { _setScaleDispatchEvent: function pdfViewer_setScaleDispatchEvent( newScale, newValue, preset) { - this.eventBus.dispatch('scalechange', { + var arg = { source: this, scale: newScale, presetValue: preset ? newValue : undefined - }); + }; + this.eventBus.dispatch('scalechanging', arg); + this.eventBus.dispatch('scalechange', arg); }, _setScaleUpdatePages: function pdfViewer_setScaleUpdatePages(