|
|
@ -137,6 +137,7 @@ var PDFViewerApplication = { |
|
|
|
url: '', |
|
|
|
url: '', |
|
|
|
baseUrl: '', |
|
|
|
baseUrl: '', |
|
|
|
externalServices: DefaultExternalServices, |
|
|
|
externalServices: DefaultExternalServices, |
|
|
|
|
|
|
|
_boundEvents: {}, |
|
|
|
initialize: function pdfViewInitialize(appConfig) { |
|
|
|
initialize: function pdfViewInitialize(appConfig) { |
|
|
|
var _this = this; |
|
|
|
var _this = this; |
|
|
|
|
|
|
|
|
|
|
@ -882,12 +883,14 @@ var PDFViewerApplication = { |
|
|
|
} |
|
|
|
} |
|
|
|
this.pdfPresentationMode.request(); |
|
|
|
this.pdfPresentationMode.request(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
bindEvents: function pdfViewBindEvents() { |
|
|
|
bindEvents: function bindEvents() { |
|
|
|
var eventBus = this.eventBus; |
|
|
|
var eventBus = this.eventBus; |
|
|
|
|
|
|
|
this._boundEvents.beforePrint = this.beforePrint.bind(this); |
|
|
|
|
|
|
|
this._boundEvents.afterPrint = this.afterPrint.bind(this); |
|
|
|
eventBus.on('resize', webViewerResize); |
|
|
|
eventBus.on('resize', webViewerResize); |
|
|
|
eventBus.on('hashchange', webViewerHashchange); |
|
|
|
eventBus.on('hashchange', webViewerHashchange); |
|
|
|
eventBus.on('beforeprint', this.beforePrint.bind(this)); |
|
|
|
eventBus.on('beforeprint', this._boundEvents.beforePrint); |
|
|
|
eventBus.on('afterprint', this.afterPrint.bind(this)); |
|
|
|
eventBus.on('afterprint', this._boundEvents.afterPrint); |
|
|
|
eventBus.on('pagerendered', webViewerPageRendered); |
|
|
|
eventBus.on('pagerendered', webViewerPageRendered); |
|
|
|
eventBus.on('textlayerrendered', webViewerTextLayerRendered); |
|
|
|
eventBus.on('textlayerrendered', webViewerTextLayerRendered); |
|
|
|
eventBus.on('updateviewarea', webViewerUpdateViewarea); |
|
|
|
eventBus.on('updateviewarea', webViewerUpdateViewarea); |
|
|
@ -916,30 +919,86 @@ var PDFViewerApplication = { |
|
|
|
eventBus.on('findfromurlhash', webViewerFindFromUrlHash); |
|
|
|
eventBus.on('findfromurlhash', webViewerFindFromUrlHash); |
|
|
|
eventBus.on('fileinputchange', webViewerFileInputChange); |
|
|
|
eventBus.on('fileinputchange', webViewerFileInputChange); |
|
|
|
}, |
|
|
|
}, |
|
|
|
bindWindowEvents: function pdfViewBindWindowEvents() { |
|
|
|
bindWindowEvents: function bindWindowEvents() { |
|
|
|
var eventBus = this.eventBus; |
|
|
|
var eventBus = this.eventBus; |
|
|
|
window.addEventListener('wheel', webViewerWheel); |
|
|
|
this._boundEvents.windowResize = function () { |
|
|
|
window.addEventListener('click', webViewerClick); |
|
|
|
|
|
|
|
window.addEventListener('keydown', webViewerKeyDown); |
|
|
|
|
|
|
|
window.addEventListener('resize', function windowResize() { |
|
|
|
|
|
|
|
eventBus.dispatch('resize'); |
|
|
|
eventBus.dispatch('resize'); |
|
|
|
}); |
|
|
|
}; |
|
|
|
window.addEventListener('hashchange', function windowHashChange() { |
|
|
|
this._boundEvents.windowHashChange = function () { |
|
|
|
eventBus.dispatch('hashchange', { hash: document.location.hash.substring(1) }); |
|
|
|
eventBus.dispatch('hashchange', { hash: document.location.hash.substring(1) }); |
|
|
|
}); |
|
|
|
}; |
|
|
|
window.addEventListener('beforeprint', function windowBeforePrint() { |
|
|
|
this._boundEvents.windowBeforePrint = function () { |
|
|
|
eventBus.dispatch('beforeprint'); |
|
|
|
eventBus.dispatch('beforeprint'); |
|
|
|
}); |
|
|
|
}; |
|
|
|
window.addEventListener('afterprint', function windowAfterPrint() { |
|
|
|
this._boundEvents.windowAfterPrint = function () { |
|
|
|
eventBus.dispatch('afterprint'); |
|
|
|
eventBus.dispatch('afterprint'); |
|
|
|
}); |
|
|
|
}; |
|
|
|
window.addEventListener('change', function windowChange(evt) { |
|
|
|
window.addEventListener('wheel', webViewerWheel); |
|
|
|
|
|
|
|
window.addEventListener('click', webViewerClick); |
|
|
|
|
|
|
|
window.addEventListener('keydown', webViewerKeyDown); |
|
|
|
|
|
|
|
window.addEventListener('resize', this._boundEvents.windowResize); |
|
|
|
|
|
|
|
window.addEventListener('hashchange', this._boundEvents.windowHashChange); |
|
|
|
|
|
|
|
window.addEventListener('beforeprint', this._boundEvents.windowBeforePrint); |
|
|
|
|
|
|
|
window.addEventListener('afterprint', this._boundEvents.windowAfterPrint); |
|
|
|
|
|
|
|
this._boundEvents.windowChange = function (evt) { |
|
|
|
var files = evt.target.files; |
|
|
|
var files = evt.target.files; |
|
|
|
if (!files || files.length === 0) { |
|
|
|
if (!files || files.length === 0) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
eventBus.dispatch('fileinputchange', { fileInput: evt.target }); |
|
|
|
eventBus.dispatch('fileinputchange', { fileInput: evt.target }); |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
window.addEventListener('change', this._boundEvents.windowChange); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
unbindEvents: function unbindEvents() { |
|
|
|
|
|
|
|
var eventBus = this.eventBus; |
|
|
|
|
|
|
|
eventBus.off('resize', webViewerResize); |
|
|
|
|
|
|
|
eventBus.off('hashchange', webViewerHashchange); |
|
|
|
|
|
|
|
eventBus.off('beforeprint', this._boundEvents.beforePrint); |
|
|
|
|
|
|
|
eventBus.off('afterprint', this._boundEvents.afterPrint); |
|
|
|
|
|
|
|
eventBus.off('pagerendered', webViewerPageRendered); |
|
|
|
|
|
|
|
eventBus.off('textlayerrendered', webViewerTextLayerRendered); |
|
|
|
|
|
|
|
eventBus.off('updateviewarea', webViewerUpdateViewarea); |
|
|
|
|
|
|
|
eventBus.off('pagechanging', webViewerPageChanging); |
|
|
|
|
|
|
|
eventBus.off('scalechanging', webViewerScaleChanging); |
|
|
|
|
|
|
|
eventBus.off('sidebarviewchanged', webViewerSidebarViewChanged); |
|
|
|
|
|
|
|
eventBus.off('pagemode', webViewerPageMode); |
|
|
|
|
|
|
|
eventBus.off('namedaction', webViewerNamedAction); |
|
|
|
|
|
|
|
eventBus.off('presentationmodechanged', webViewerPresentationModeChanged); |
|
|
|
|
|
|
|
eventBus.off('presentationmode', webViewerPresentationMode); |
|
|
|
|
|
|
|
eventBus.off('openfile', webViewerOpenFile); |
|
|
|
|
|
|
|
eventBus.off('print', webViewerPrint); |
|
|
|
|
|
|
|
eventBus.off('download', webViewerDownload); |
|
|
|
|
|
|
|
eventBus.off('firstpage', webViewerFirstPage); |
|
|
|
|
|
|
|
eventBus.off('lastpage', webViewerLastPage); |
|
|
|
|
|
|
|
eventBus.off('nextpage', webViewerNextPage); |
|
|
|
|
|
|
|
eventBus.off('previouspage', webViewerPreviousPage); |
|
|
|
|
|
|
|
eventBus.off('zoomin', webViewerZoomIn); |
|
|
|
|
|
|
|
eventBus.off('zoomout', webViewerZoomOut); |
|
|
|
|
|
|
|
eventBus.off('pagenumberchanged', webViewerPageNumberChanged); |
|
|
|
|
|
|
|
eventBus.off('scalechanged', webViewerScaleChanged); |
|
|
|
|
|
|
|
eventBus.off('rotatecw', webViewerRotateCw); |
|
|
|
|
|
|
|
eventBus.off('rotateccw', webViewerRotateCcw); |
|
|
|
|
|
|
|
eventBus.off('documentproperties', webViewerDocumentProperties); |
|
|
|
|
|
|
|
eventBus.off('find', webViewerFind); |
|
|
|
|
|
|
|
eventBus.off('findfromurlhash', webViewerFindFromUrlHash); |
|
|
|
|
|
|
|
eventBus.off('fileinputchange', webViewerFileInputChange); |
|
|
|
|
|
|
|
this._boundEvents.beforePrint = null; |
|
|
|
|
|
|
|
this._boundEvents.afterPrint = null; |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
unbindWindowEvents: function unbindWindowEvents() { |
|
|
|
|
|
|
|
window.removeEventListener('wheel', webViewerWheel); |
|
|
|
|
|
|
|
window.removeEventListener('click', webViewerClick); |
|
|
|
|
|
|
|
window.removeEventListener('keydown', webViewerKeyDown); |
|
|
|
|
|
|
|
window.removeEventListener('resize', this._boundEvents.windowResize); |
|
|
|
|
|
|
|
window.removeEventListener('hashchange', this._boundEvents.windowHashChange); |
|
|
|
|
|
|
|
window.removeEventListener('beforeprint', this._boundEvents.windowBeforePrint); |
|
|
|
|
|
|
|
window.removeEventListener('afterprint', this._boundEvents.windowAfterPrint); |
|
|
|
|
|
|
|
window.removeEventListener('change', this._boundEvents.windowChange); |
|
|
|
|
|
|
|
this._boundEvents.windowChange = null; |
|
|
|
|
|
|
|
this._boundEvents.windowResize = null; |
|
|
|
|
|
|
|
this._boundEvents.windowHashChange = null; |
|
|
|
|
|
|
|
this._boundEvents.windowBeforePrint = null; |
|
|
|
|
|
|
|
this._boundEvents.windowAfterPrint = null; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
var validateFileURL; |
|
|
|
var validateFileURL; |
|
|
|