ES6-ify the code in web/app.js
and web/viewer.js
The changes consist mostly of changing `var` to `let`/`const`, and using shorthand method signatures.
This commit is contained in:
parent
80c33253ed
commit
d64ac95a91
416
web/app.js
416
web/app.js
@ -44,8 +44,8 @@ import { SecondaryToolbar } from './secondary_toolbar';
|
|||||||
import { Toolbar } from './toolbar';
|
import { Toolbar } from './toolbar';
|
||||||
import { ViewHistory } from './view_history';
|
import { ViewHistory } from './view_history';
|
||||||
|
|
||||||
var DEFAULT_SCALE_DELTA = 1.1;
|
const DEFAULT_SCALE_DELTA = 1.1;
|
||||||
var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
|
const DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
|
||||||
|
|
||||||
function configure(PDFJS) {
|
function configure(PDFJS) {
|
||||||
PDFJS.imageResourcesPath = './images/';
|
PDFJS.imageResourcesPath = './images/';
|
||||||
@ -64,7 +64,7 @@ function configure(PDFJS) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var DefaultExternalServices = {
|
const DefaultExternalServices = {
|
||||||
updateFindControlState(data) {},
|
updateFindControlState(data) {},
|
||||||
initPassiveLoading(callbacks) {},
|
initPassiveLoading(callbacks) {},
|
||||||
fallback(data, callback) {},
|
fallback(data, callback) {},
|
||||||
@ -87,7 +87,7 @@ var DefaultExternalServices = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
var PDFViewerApplication = {
|
let PDFViewerApplication = {
|
||||||
initialBookmark: document.location.hash.substring(1),
|
initialBookmark: document.location.hash.substring(1),
|
||||||
initialDestination: null,
|
initialDestination: null,
|
||||||
initialized: false,
|
initialized: false,
|
||||||
@ -153,8 +153,8 @@ var PDFViewerApplication = {
|
|||||||
externalServices: DefaultExternalServices,
|
externalServices: DefaultExternalServices,
|
||||||
_boundEvents: {},
|
_boundEvents: {},
|
||||||
|
|
||||||
// called once when the document is loaded
|
// Called once when the document is loaded.
|
||||||
initialize: function pdfViewInitialize(appConfig) {
|
initialize(appConfig) {
|
||||||
this.preferences = this.externalServices.createPreferences();
|
this.preferences = this.externalServices.createPreferences();
|
||||||
|
|
||||||
configure(PDFJS);
|
configure(PDFJS);
|
||||||
@ -171,7 +171,7 @@ var PDFViewerApplication = {
|
|||||||
this.bindWindowEvents();
|
this.bindWindowEvents();
|
||||||
|
|
||||||
// We can start UI localization now.
|
// We can start UI localization now.
|
||||||
var appContainer = appConfig.appContainer || document.documentElement;
|
let appContainer = appConfig.appContainer || document.documentElement;
|
||||||
this.l10n.translate(appContainer).then(() => {
|
this.l10n.translate(appContainer).then(() => {
|
||||||
// Dispatch the 'localized' event on the `eventBus` once the viewer
|
// Dispatch the 'localized' event on the `eventBus` once the viewer
|
||||||
// has been fully initialized and translated.
|
// has been fully initialized and translated.
|
||||||
@ -192,7 +192,7 @@ var PDFViewerApplication = {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
_readPreferences() {
|
_readPreferences() {
|
||||||
var { preferences, viewerPrefs, } = this;
|
let { preferences, viewerPrefs, } = this;
|
||||||
|
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
preferences.get('enableWebGL').then(function resolved(value) {
|
preferences.get('enableWebGL').then(function resolved(value) {
|
||||||
@ -261,7 +261,7 @@ var PDFViewerApplication = {
|
|||||||
preferences.get('enablePrintAutoRotate').then(function resolved(value) {
|
preferences.get('enablePrintAutoRotate').then(function resolved(value) {
|
||||||
viewerPrefs['enablePrintAutoRotate'] = value;
|
viewerPrefs['enablePrintAutoRotate'] = value;
|
||||||
}),
|
}),
|
||||||
]).catch(function (reason) { });
|
]).catch(function(reason) { });
|
||||||
},
|
},
|
||||||
|
|
||||||
_initializeL10n() {
|
_initializeL10n() {
|
||||||
@ -422,12 +422,12 @@ var PDFViewerApplication = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
run: function pdfViewRun(config) {
|
run(config) {
|
||||||
this.initialize(config).then(webViewerInitialized);
|
this.initialize(config).then(webViewerInitialized);
|
||||||
},
|
},
|
||||||
|
|
||||||
zoomIn: function pdfViewZoomIn(ticks) {
|
zoomIn(ticks) {
|
||||||
var newScale = this.pdfViewer.currentScale;
|
let newScale = this.pdfViewer.currentScale;
|
||||||
do {
|
do {
|
||||||
newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2);
|
newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2);
|
||||||
newScale = Math.ceil(newScale * 10) / 10;
|
newScale = Math.ceil(newScale * 10) / 10;
|
||||||
@ -436,8 +436,8 @@ var PDFViewerApplication = {
|
|||||||
this.pdfViewer.currentScaleValue = newScale;
|
this.pdfViewer.currentScaleValue = newScale;
|
||||||
},
|
},
|
||||||
|
|
||||||
zoomOut: function pdfViewZoomOut(ticks) {
|
zoomOut(ticks) {
|
||||||
var newScale = this.pdfViewer.currentScale;
|
let newScale = this.pdfViewer.currentScale;
|
||||||
do {
|
do {
|
||||||
newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2);
|
newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2);
|
||||||
newScale = Math.floor(newScale * 10) / 10;
|
newScale = Math.floor(newScale * 10) / 10;
|
||||||
@ -471,12 +471,12 @@ var PDFViewerApplication = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get supportsFullscreen() {
|
get supportsFullscreen() {
|
||||||
var support;
|
let support;
|
||||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('MOZCENTRAL')) {
|
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('MOZCENTRAL')) {
|
||||||
support = document.fullscreenEnabled === true ||
|
support = document.fullscreenEnabled === true ||
|
||||||
document.mozFullScreenEnabled === true;
|
document.mozFullScreenEnabled === true;
|
||||||
} else {
|
} else {
|
||||||
var doc = document.documentElement;
|
let doc = document.documentElement;
|
||||||
support = !!(doc.requestFullscreen || doc.mozRequestFullScreen ||
|
support = !!(doc.requestFullscreen || doc.mozRequestFullScreen ||
|
||||||
doc.webkitRequestFullScreen || doc.msRequestFullscreen);
|
doc.webkitRequestFullScreen || doc.msRequestFullscreen);
|
||||||
|
|
||||||
@ -507,8 +507,7 @@ var PDFViewerApplication = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get loadingBar() {
|
get loadingBar() {
|
||||||
var bar = new ProgressBar('#loadingBar');
|
let bar = new ProgressBar('#loadingBar');
|
||||||
|
|
||||||
return shadow(this, 'loadingBar', bar);
|
return shadow(this, 'loadingBar', bar);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -516,9 +515,11 @@ var PDFViewerApplication = {
|
|||||||
return this.externalServices.supportedMouseWheelZoomModifierKeys;
|
return this.externalServices.supportedMouseWheelZoomModifierKeys;
|
||||||
},
|
},
|
||||||
|
|
||||||
initPassiveLoading: function pdfViewInitPassiveLoading() {
|
initPassiveLoading() {
|
||||||
if (typeof PDFJSDev !== 'undefined' &&
|
if (typeof PDFJSDev === 'undefined' ||
|
||||||
PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) {
|
!PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) {
|
||||||
|
throw new Error('Not implemented: initPassiveLoading');
|
||||||
|
}
|
||||||
this.externalServices.initPassiveLoading({
|
this.externalServices.initPassiveLoading({
|
||||||
onOpenWithTransport(url, length, transport) {
|
onOpenWithTransport(url, length, transport) {
|
||||||
PDFViewerApplication.open(url, { range: transport, });
|
PDFViewerApplication.open(url, { range: transport, });
|
||||||
@ -531,7 +532,7 @@ var PDFViewerApplication = {
|
|||||||
PDFViewerApplication.open(data);
|
PDFViewerApplication.open(data);
|
||||||
},
|
},
|
||||||
onOpenWithURL(url, length, originalURL) {
|
onOpenWithURL(url, length, originalURL) {
|
||||||
var file = url, args = null;
|
let file = url, args = null;
|
||||||
if (length !== undefined) {
|
if (length !== undefined) {
|
||||||
args = { length, };
|
args = { length, };
|
||||||
}
|
}
|
||||||
@ -550,19 +551,16 @@ var PDFViewerApplication = {
|
|||||||
PDFViewerApplication.progress(loaded / total);
|
PDFViewerApplication.progress(loaded / total);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
throw new Error('Not implemented: initPassiveLoading');
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
setTitleUsingUrl: function pdfViewSetTitleUsingUrl(url) {
|
setTitleUsingUrl(url) {
|
||||||
this.url = url;
|
this.url = url;
|
||||||
this.baseUrl = url.split('#')[0];
|
this.baseUrl = url.split('#')[0];
|
||||||
var title = getPDFFileNameFromURL(url, '');
|
let title = getPDFFileNameFromURL(url, '');
|
||||||
if (!title) {
|
if (!title) {
|
||||||
try {
|
try {
|
||||||
title = decodeURIComponent(getFilenameFromUrl(url)) || url;
|
title = decodeURIComponent(getFilenameFromUrl(url)) || url;
|
||||||
} catch (e) {
|
} catch (ex) {
|
||||||
// decodeURIComponent may throw URIError,
|
// decodeURIComponent may throw URIError,
|
||||||
// fall back to using the unprocessed url in that case
|
// fall back to using the unprocessed url in that case
|
||||||
title = url;
|
title = url;
|
||||||
@ -571,7 +569,7 @@ var PDFViewerApplication = {
|
|||||||
this.setTitle(title);
|
this.setTitle(title);
|
||||||
},
|
},
|
||||||
|
|
||||||
setTitle: function pdfViewSetTitle(title) {
|
setTitle(title) {
|
||||||
if (this.isViewerEmbedded) {
|
if (this.isViewerEmbedded) {
|
||||||
// Embedded PDF viewers should not be changing their parent page's title.
|
// Embedded PDF viewers should not be changing their parent page's title.
|
||||||
return;
|
return;
|
||||||
@ -584,15 +582,15 @@ var PDFViewerApplication = {
|
|||||||
* @returns {Promise} - Returns the promise, which is resolved when all
|
* @returns {Promise} - Returns the promise, which is resolved when all
|
||||||
* destruction is completed.
|
* destruction is completed.
|
||||||
*/
|
*/
|
||||||
close: function pdfViewClose() {
|
close() {
|
||||||
var errorWrapper = this.appConfig.errorWrapper.container;
|
let errorWrapper = this.appConfig.errorWrapper.container;
|
||||||
errorWrapper.setAttribute('hidden', 'true');
|
errorWrapper.setAttribute('hidden', 'true');
|
||||||
|
|
||||||
if (!this.pdfLoadingTask) {
|
if (!this.pdfLoadingTask) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
var promise = this.pdfLoadingTask.destroy();
|
let promise = this.pdfLoadingTask.destroy();
|
||||||
this.pdfLoadingTask = null;
|
this.pdfLoadingTask = null;
|
||||||
|
|
||||||
if (this.pdfDocument) {
|
if (this.pdfDocument) {
|
||||||
@ -718,42 +716,36 @@ var PDFViewerApplication = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
download: function pdfViewDownload() {
|
download() {
|
||||||
function downloadByUrl() {
|
function downloadByUrl() {
|
||||||
downloadManager.downloadUrl(url, filename);
|
downloadManager.downloadUrl(url, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
var url = this.baseUrl;
|
let url = this.baseUrl;
|
||||||
// Use this.url instead of this.baseUrl to perform filename detection based
|
// Use this.url instead of this.baseUrl to perform filename detection based
|
||||||
// on the reference fragment as ultimate fallback if needed.
|
// on the reference fragment as ultimate fallback if needed.
|
||||||
var filename = getPDFFileNameFromURL(this.url);
|
let filename = getPDFFileNameFromURL(this.url);
|
||||||
var downloadManager = this.downloadManager;
|
let downloadManager = this.downloadManager;
|
||||||
downloadManager.onerror = function (err) {
|
downloadManager.onerror = (err) => {
|
||||||
// This error won't really be helpful because it's likely the
|
// This error won't really be helpful because it's likely the
|
||||||
// fallback won't work either (or is already open).
|
// fallback won't work either (or is already open).
|
||||||
PDFViewerApplication.error('PDF failed to download.');
|
this.error(`PDF failed to download: ${err}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!this.pdfDocument) { // the PDF is not ready yet
|
// When the PDF document isn't ready, or the PDF file is still downloading,
|
||||||
|
// simply download using the URL.
|
||||||
|
if (!this.pdfDocument || !this.downloadComplete) {
|
||||||
downloadByUrl();
|
downloadByUrl();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.downloadComplete) { // the PDF is still downloading
|
this.pdfDocument.getData().then(function(data) {
|
||||||
downloadByUrl();
|
let blob = createBlob(data, 'application/pdf');
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.pdfDocument.getData().then(
|
|
||||||
function getDataSuccess(data) {
|
|
||||||
var blob = createBlob(data, 'application/pdf');
|
|
||||||
downloadManager.download(blob, url, filename);
|
downloadManager.download(blob, url, filename);
|
||||||
},
|
}).catch(downloadByUrl); // Error occurred, try downloading with the URL.
|
||||||
downloadByUrl // Error occurred try downloading with just the url.
|
|
||||||
).then(null, downloadByUrl);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
fallback: function pdfViewFallback(featureId) {
|
fallback(featureId) {
|
||||||
if (typeof PDFJSDev !== 'undefined' &&
|
if (typeof PDFJSDev !== 'undefined' &&
|
||||||
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||||
// Only trigger the fallback once so we don't spam the user with messages
|
// Only trigger the fallback once so we don't spam the user with messages
|
||||||
@ -781,7 +773,7 @@ var PDFViewerApplication = {
|
|||||||
* that is more technical. Should have a 'message'
|
* that is more technical. Should have a 'message'
|
||||||
* and optionally a 'stack' property.
|
* and optionally a 'stack' property.
|
||||||
*/
|
*/
|
||||||
error: function pdfViewError(message, moreInfo) {
|
error(message, moreInfo) {
|
||||||
let moreInfoText = [this.l10n.get('error_version_info',
|
let moreInfoText = [this.l10n.get('error_version_info',
|
||||||
{ version: version || '?', build: build || '?', },
|
{ version: version || '?', build: build || '?', },
|
||||||
'PDF.js v{{version}} (build: {{build}})')];
|
'PDF.js v{{version}} (build: {{build}})')];
|
||||||
@ -809,21 +801,21 @@ var PDFViewerApplication = {
|
|||||||
|
|
||||||
if (typeof PDFJSDev === 'undefined' ||
|
if (typeof PDFJSDev === 'undefined' ||
|
||||||
!PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
!PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||||
var errorWrapperConfig = this.appConfig.errorWrapper;
|
let errorWrapperConfig = this.appConfig.errorWrapper;
|
||||||
var errorWrapper = errorWrapperConfig.container;
|
let errorWrapper = errorWrapperConfig.container;
|
||||||
errorWrapper.removeAttribute('hidden');
|
errorWrapper.removeAttribute('hidden');
|
||||||
|
|
||||||
var errorMessage = errorWrapperConfig.errorMessage;
|
let errorMessage = errorWrapperConfig.errorMessage;
|
||||||
errorMessage.textContent = message;
|
errorMessage.textContent = message;
|
||||||
|
|
||||||
var closeButton = errorWrapperConfig.closeButton;
|
let closeButton = errorWrapperConfig.closeButton;
|
||||||
closeButton.onclick = function() {
|
closeButton.onclick = function() {
|
||||||
errorWrapper.setAttribute('hidden', 'true');
|
errorWrapper.setAttribute('hidden', 'true');
|
||||||
};
|
};
|
||||||
|
|
||||||
var errorMoreInfo = errorWrapperConfig.errorMoreInfo;
|
let errorMoreInfo = errorWrapperConfig.errorMoreInfo;
|
||||||
var moreInfoButton = errorWrapperConfig.moreInfoButton;
|
let moreInfoButton = errorWrapperConfig.moreInfoButton;
|
||||||
var lessInfoButton = errorWrapperConfig.lessInfoButton;
|
let lessInfoButton = errorWrapperConfig.lessInfoButton;
|
||||||
moreInfoButton.onclick = function() {
|
moreInfoButton.onclick = function() {
|
||||||
errorMoreInfo.removeAttribute('hidden');
|
errorMoreInfo.removeAttribute('hidden');
|
||||||
moreInfoButton.setAttribute('hidden', 'true');
|
moreInfoButton.setAttribute('hidden', 'true');
|
||||||
@ -849,8 +841,8 @@ var PDFViewerApplication = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
progress: function pdfViewProgress(level) {
|
progress(level) {
|
||||||
var percent = Math.round(level * 100);
|
let percent = Math.round(level * 100);
|
||||||
// When we transition from full request to range requests, it's possible
|
// When we transition from full request to range requests, it's possible
|
||||||
// that we discard some of the loaded data. This can cause the loading
|
// that we discard some of the loaded data. This can cause the loading
|
||||||
// bar to move backwards. So prevent this by only updating the bar if it
|
// bar to move backwards. So prevent this by only updating the bar if it
|
||||||
@ -967,9 +959,7 @@ var PDFViewerApplication = {
|
|||||||
sidebarView = this.viewerPrefs['sidebarViewOnLoad'] ||
|
sidebarView = this.viewerPrefs['sidebarViewOnLoad'] ||
|
||||||
(values.sidebarView | 0);
|
(values.sidebarView | 0);
|
||||||
resolve();
|
resolve();
|
||||||
}).catch(function() {
|
}).catch(resolve);
|
||||||
resolve();
|
|
||||||
});
|
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.setInitialView(storedHash, { sidebarView, scale, });
|
this.setInitialView(storedHash, { sidebarView, scale, });
|
||||||
initialParams.hash = storedHash;
|
initialParams.hash = storedHash;
|
||||||
@ -977,7 +967,7 @@ var PDFViewerApplication = {
|
|||||||
// Make all navigation keys work on document load,
|
// Make all navigation keys work on document load,
|
||||||
// unless the viewer is embedded in a web page.
|
// unless the viewer is embedded in a web page.
|
||||||
if (!this.isViewerEmbedded) {
|
if (!this.isViewerEmbedded) {
|
||||||
this.pdfViewer.focus();
|
pdfViewer.focus();
|
||||||
}
|
}
|
||||||
return pagesPromise;
|
return pagesPromise;
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
@ -993,7 +983,7 @@ var PDFViewerApplication = {
|
|||||||
this.initialDestination = initialParams.destination;
|
this.initialDestination = initialParams.destination;
|
||||||
this.initialBookmark = initialParams.bookmark;
|
this.initialBookmark = initialParams.bookmark;
|
||||||
|
|
||||||
this.pdfViewer.currentScaleValue = this.pdfViewer.currentScaleValue;
|
pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;
|
||||||
this.setInitialView(initialParams.hash);
|
this.setInitialView(initialParams.hash);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -1124,7 +1114,7 @@ var PDFViewerApplication = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
setInitialView(storedHash, options = {}) {
|
setInitialView(storedHash, options = {}) {
|
||||||
var { scale = 0, sidebarView = SidebarView.NONE, } = options;
|
let { scale = 0, sidebarView = SidebarView.NONE, } = options;
|
||||||
|
|
||||||
this.isInitialViewSet = true;
|
this.isInitialViewSet = true;
|
||||||
this.pdfSidebar.setInitialView(sidebarView);
|
this.pdfSidebar.setInitialView(sidebarView);
|
||||||
@ -1156,7 +1146,7 @@ var PDFViewerApplication = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
cleanup: function pdfViewCleanup() {
|
cleanup() {
|
||||||
if (!this.pdfDocument) {
|
if (!this.pdfDocument) {
|
||||||
return; // run cleanup when document is loaded
|
return; // run cleanup when document is loaded
|
||||||
}
|
}
|
||||||
@ -1169,14 +1159,14 @@ var PDFViewerApplication = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
forceRendering: function pdfViewForceRendering() {
|
forceRendering() {
|
||||||
this.pdfRenderingQueue.printing = this.printing;
|
this.pdfRenderingQueue.printing = this.printing;
|
||||||
this.pdfRenderingQueue.isThumbnailViewEnabled =
|
this.pdfRenderingQueue.isThumbnailViewEnabled =
|
||||||
this.pdfSidebar.isThumbnailViewVisible;
|
this.pdfSidebar.isThumbnailViewVisible;
|
||||||
this.pdfRenderingQueue.renderHighestPriority();
|
this.pdfRenderingQueue.renderHighestPriority();
|
||||||
},
|
},
|
||||||
|
|
||||||
beforePrint: function pdfViewSetupBeforePrint() {
|
beforePrint() {
|
||||||
if (this.printService) {
|
if (this.printService) {
|
||||||
// There is no way to suppress beforePrint/afterPrint events,
|
// There is no way to suppress beforePrint/afterPrint events,
|
||||||
// but PDFPrintService may generate double events -- this will ignore
|
// but PDFPrintService may generate double events -- this will ignore
|
||||||
@ -1204,9 +1194,9 @@ var PDFViewerApplication = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var pagesOverview = this.pdfViewer.getPagesOverview();
|
let pagesOverview = this.pdfViewer.getPagesOverview();
|
||||||
var printContainer = this.appConfig.printContainer;
|
let printContainer = this.appConfig.printContainer;
|
||||||
var printService = PDFPrintServiceFactory.instance.createPrintService(
|
let printService = PDFPrintServiceFactory.instance.createPrintService(
|
||||||
this.pdfDocument, pagesOverview, printContainer, this.l10n);
|
this.pdfDocument, pagesOverview, printContainer, this.l10n);
|
||||||
this.printService = printService;
|
this.printService = printService;
|
||||||
this.forceRendering();
|
this.forceRendering();
|
||||||
@ -1223,9 +1213,9 @@ var PDFViewerApplication = {
|
|||||||
|
|
||||||
// Whether all pages of the PDF have the same width and height.
|
// Whether all pages of the PDF have the same width and height.
|
||||||
get hasEqualPageSizes() {
|
get hasEqualPageSizes() {
|
||||||
var firstPage = this.pdfViewer.getPageView(0);
|
let firstPage = this.pdfViewer.getPageView(0);
|
||||||
for (var i = 1, ii = this.pagesCount; i < ii; ++i) {
|
for (let i = 1, ii = this.pagesCount; i < ii; ++i) {
|
||||||
var pageView = this.pdfViewer.getPageView(i);
|
let pageView = this.pdfViewer.getPageView(i);
|
||||||
if (pageView.width !== firstPage.width ||
|
if (pageView.width !== firstPage.width ||
|
||||||
pageView.height !== firstPage.height) {
|
pageView.height !== firstPage.height) {
|
||||||
return false;
|
return false;
|
||||||
@ -1258,7 +1248,7 @@ var PDFViewerApplication = {
|
|||||||
pdfViewer.currentPageNumber = pageNumber;
|
pdfViewer.currentPageNumber = pageNumber;
|
||||||
},
|
},
|
||||||
|
|
||||||
requestPresentationMode: function pdfViewRequestPresentationMode() {
|
requestPresentationMode() {
|
||||||
if (!this.pdfPresentationMode) {
|
if (!this.pdfPresentationMode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1266,15 +1256,15 @@ var PDFViewerApplication = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
bindEvents() {
|
bindEvents() {
|
||||||
let eventBus = this.eventBus;
|
let { eventBus, _boundEvents, } = this;
|
||||||
|
|
||||||
this._boundEvents.beforePrint = this.beforePrint.bind(this);
|
_boundEvents.beforePrint = this.beforePrint.bind(this);
|
||||||
this._boundEvents.afterPrint = this.afterPrint.bind(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._boundEvents.beforePrint);
|
eventBus.on('beforeprint', _boundEvents.beforePrint);
|
||||||
eventBus.on('afterprint', this._boundEvents.afterPrint);
|
eventBus.on('afterprint', _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);
|
||||||
@ -1307,32 +1297,32 @@ var PDFViewerApplication = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
bindWindowEvents() {
|
bindWindowEvents() {
|
||||||
let eventBus = this.eventBus;
|
let { eventBus, _boundEvents, } = this;
|
||||||
|
|
||||||
this._boundEvents.windowResize = () => {
|
_boundEvents.windowResize = () => {
|
||||||
eventBus.dispatch('resize');
|
eventBus.dispatch('resize');
|
||||||
};
|
};
|
||||||
this._boundEvents.windowHashChange = () => {
|
_boundEvents.windowHashChange = () => {
|
||||||
eventBus.dispatch('hashchange', {
|
eventBus.dispatch('hashchange', {
|
||||||
hash: document.location.hash.substring(1),
|
hash: document.location.hash.substring(1),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
this._boundEvents.windowBeforePrint = () => {
|
_boundEvents.windowBeforePrint = () => {
|
||||||
eventBus.dispatch('beforeprint');
|
eventBus.dispatch('beforeprint');
|
||||||
};
|
};
|
||||||
this._boundEvents.windowAfterPrint = () => {
|
_boundEvents.windowAfterPrint = () => {
|
||||||
eventBus.dispatch('afterprint');
|
eventBus.dispatch('afterprint');
|
||||||
};
|
};
|
||||||
|
|
||||||
window.addEventListener('wheel', webViewerWheel);
|
window.addEventListener('wheel', webViewerWheel);
|
||||||
window.addEventListener('click', webViewerClick);
|
window.addEventListener('click', webViewerClick);
|
||||||
window.addEventListener('keydown', webViewerKeyDown);
|
window.addEventListener('keydown', webViewerKeyDown);
|
||||||
window.addEventListener('resize', this._boundEvents.windowResize);
|
window.addEventListener('resize', _boundEvents.windowResize);
|
||||||
window.addEventListener('hashchange', this._boundEvents.windowHashChange);
|
window.addEventListener('hashchange', _boundEvents.windowHashChange);
|
||||||
window.addEventListener('beforeprint', this._boundEvents.windowBeforePrint);
|
window.addEventListener('beforeprint', _boundEvents.windowBeforePrint);
|
||||||
window.addEventListener('afterprint', this._boundEvents.windowAfterPrint);
|
window.addEventListener('afterprint', _boundEvents.windowAfterPrint);
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
this._boundEvents.windowChange = (evt) => {
|
_boundEvents.windowChange = (evt) => {
|
||||||
let files = evt.target.files;
|
let files = evt.target.files;
|
||||||
if (!files || files.length === 0) {
|
if (!files || files.length === 0) {
|
||||||
return;
|
return;
|
||||||
@ -1341,17 +1331,17 @@ var PDFViewerApplication = {
|
|||||||
fileInput: evt.target,
|
fileInput: evt.target,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
window.addEventListener('change', this._boundEvents.windowChange);
|
window.addEventListener('change', _boundEvents.windowChange);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
unbindEvents() {
|
unbindEvents() {
|
||||||
let eventBus = this.eventBus;
|
let { eventBus, _boundEvents, } = this;
|
||||||
|
|
||||||
eventBus.off('resize', webViewerResize);
|
eventBus.off('resize', webViewerResize);
|
||||||
eventBus.off('hashchange', webViewerHashchange);
|
eventBus.off('hashchange', webViewerHashchange);
|
||||||
eventBus.off('beforeprint', this._boundEvents.beforePrint);
|
eventBus.off('beforeprint', _boundEvents.beforePrint);
|
||||||
eventBus.off('afterprint', this._boundEvents.afterPrint);
|
eventBus.off('afterprint', _boundEvents.afterPrint);
|
||||||
eventBus.off('pagerendered', webViewerPageRendered);
|
eventBus.off('pagerendered', webViewerPageRendered);
|
||||||
eventBus.off('textlayerrendered', webViewerTextLayerRendered);
|
eventBus.off('textlayerrendered', webViewerTextLayerRendered);
|
||||||
eventBus.off('updateviewarea', webViewerUpdateViewarea);
|
eventBus.off('updateviewarea', webViewerUpdateViewarea);
|
||||||
@ -1382,69 +1372,66 @@ var PDFViewerApplication = {
|
|||||||
eventBus.off('fileinputchange', webViewerFileInputChange);
|
eventBus.off('fileinputchange', webViewerFileInputChange);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._boundEvents.beforePrint = null;
|
_boundEvents.beforePrint = null;
|
||||||
this._boundEvents.afterPrint = null;
|
_boundEvents.afterPrint = null;
|
||||||
},
|
},
|
||||||
|
|
||||||
unbindWindowEvents() {
|
unbindWindowEvents() {
|
||||||
|
let { _boundEvents, } = this;
|
||||||
|
|
||||||
window.removeEventListener('wheel', webViewerWheel);
|
window.removeEventListener('wheel', webViewerWheel);
|
||||||
window.removeEventListener('click', webViewerClick);
|
window.removeEventListener('click', webViewerClick);
|
||||||
window.removeEventListener('keydown', webViewerKeyDown);
|
window.removeEventListener('keydown', webViewerKeyDown);
|
||||||
window.removeEventListener('resize',
|
window.removeEventListener('resize', _boundEvents.windowResize);
|
||||||
this._boundEvents.windowResize);
|
window.removeEventListener('hashchange', _boundEvents.windowHashChange);
|
||||||
window.removeEventListener('hashchange',
|
window.removeEventListener('beforeprint', _boundEvents.windowBeforePrint);
|
||||||
this._boundEvents.windowHashChange);
|
window.removeEventListener('afterprint', _boundEvents.windowAfterPrint);
|
||||||
window.removeEventListener('beforeprint',
|
|
||||||
this._boundEvents.windowBeforePrint);
|
|
||||||
window.removeEventListener('afterprint',
|
|
||||||
this._boundEvents.windowAfterPrint);
|
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
window.removeEventListener('change',
|
window.removeEventListener('change', _boundEvents.windowChange);
|
||||||
this._boundEvents.windowChange);
|
_boundEvents.windowChange = null;
|
||||||
this._boundEvents.windowChange = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this._boundEvents.windowResize = null;
|
_boundEvents.windowResize = null;
|
||||||
this._boundEvents.windowHashChange = null;
|
_boundEvents.windowHashChange = null;
|
||||||
this._boundEvents.windowBeforePrint = null;
|
_boundEvents.windowBeforePrint = null;
|
||||||
this._boundEvents.windowAfterPrint = null;
|
_boundEvents.windowAfterPrint = null;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
var validateFileURL;
|
let validateFileURL;
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
var HOSTED_VIEWER_ORIGINS = ['null',
|
const HOSTED_VIEWER_ORIGINS = ['null',
|
||||||
'http://mozilla.github.io', 'https://mozilla.github.io'];
|
'http://mozilla.github.io', 'https://mozilla.github.io'];
|
||||||
validateFileURL = function validateFileURL(file) {
|
validateFileURL = function validateFileURL(file) {
|
||||||
try {
|
try {
|
||||||
var viewerOrigin = new URL(window.location.href).origin || 'null';
|
let viewerOrigin = new URL(window.location.href).origin || 'null';
|
||||||
if (HOSTED_VIEWER_ORIGINS.indexOf(viewerOrigin) >= 0) {
|
if (HOSTED_VIEWER_ORIGINS.indexOf(viewerOrigin) >= 0) {
|
||||||
// Hosted or local viewer, allow for any file locations
|
// Hosted or local viewer, allow for any file locations
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var fileOrigin = new URL(file, window.location.href).origin;
|
let fileOrigin = new URL(file, window.location.href).origin;
|
||||||
// Removing of the following line will not guarantee that the viewer will
|
// Removing of the following line will not guarantee that the viewer will
|
||||||
// start accepting URLs from foreign origin -- CORS headers on the remote
|
// start accepting URLs from foreign origin -- CORS headers on the remote
|
||||||
// server must be properly configured.
|
// server must be properly configured.
|
||||||
if (fileOrigin !== viewerOrigin) {
|
if (fileOrigin !== viewerOrigin) {
|
||||||
throw new Error('file origin does not match viewer\'s');
|
throw new Error('file origin does not match viewer\'s');
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (ex) {
|
||||||
var message = e && e.message;
|
let message = ex && ex.message;
|
||||||
PDFViewerApplication.l10n.get('loading_error', null,
|
PDFViewerApplication.l10n.get('loading_error', null,
|
||||||
'An error occurred while loading the PDF.').
|
'An error occurred while loading the PDF.').
|
||||||
then((loadingErrorMessage) => {
|
then((loadingErrorMessage) => {
|
||||||
PDFViewerApplication.error(loadingErrorMessage, { message, });
|
PDFViewerApplication.error(loadingErrorMessage, { message, });
|
||||||
});
|
});
|
||||||
throw e;
|
throw ex;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadAndEnablePDFBug(enabledTabs) {
|
function loadAndEnablePDFBug(enabledTabs) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
var appConfig = PDFViewerApplication.appConfig;
|
let appConfig = PDFViewerApplication.appConfig;
|
||||||
var script = document.createElement('script');
|
let script = document.createElement('script');
|
||||||
script.src = appConfig.debuggerScriptPath;
|
script.src = appConfig.debuggerScriptPath;
|
||||||
script.onload = function () {
|
script.onload = function () {
|
||||||
PDFBug.enable(enabledTabs);
|
PDFBug.enable(enabledTabs);
|
||||||
@ -1463,11 +1450,11 @@ function loadAndEnablePDFBug(enabledTabs) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function webViewerInitialized() {
|
function webViewerInitialized() {
|
||||||
var appConfig = PDFViewerApplication.appConfig;
|
let appConfig = PDFViewerApplication.appConfig;
|
||||||
var file;
|
let file;
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
var queryString = document.location.search.substring(1);
|
let queryString = document.location.search.substring(1);
|
||||||
var params = parseQueryString(queryString);
|
let params = parseQueryString(queryString);
|
||||||
file = 'file' in params ? params.file : appConfig.defaultUrl;
|
file = 'file' in params ? params.file : appConfig.defaultUrl;
|
||||||
validateFileURL(file);
|
validateFileURL(file);
|
||||||
} else if (PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
} else if (PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||||
@ -1476,9 +1463,9 @@ function webViewerInitialized() {
|
|||||||
file = appConfig.defaultUrl;
|
file = appConfig.defaultUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
var waitForBeforeOpening = [];
|
let waitForBeforeOpening = [];
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
var fileInput = document.createElement('input');
|
let fileInput = document.createElement('input');
|
||||||
fileInput.id = appConfig.openFileInputName;
|
fileInput.id = appConfig.openFileInputName;
|
||||||
fileInput.className = 'fileInput';
|
fileInput.className = 'fileInput';
|
||||||
fileInput.setAttribute('type', 'file');
|
fileInput.setAttribute('type', 'file');
|
||||||
@ -1500,8 +1487,8 @@ function webViewerInitialized() {
|
|||||||
if ((typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) ||
|
if ((typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) ||
|
||||||
PDFViewerApplication.viewerPrefs['pdfBugEnabled']) {
|
PDFViewerApplication.viewerPrefs['pdfBugEnabled']) {
|
||||||
// Special debugging flags in the hash section of the URL.
|
// Special debugging flags in the hash section of the URL.
|
||||||
var hash = document.location.hash.substring(1);
|
let hash = document.location.hash.substring(1);
|
||||||
var hashParams = parseQueryString(hash);
|
let hashParams = parseQueryString(hash);
|
||||||
|
|
||||||
if ('disableworker' in hashParams) {
|
if ('disableworker' in hashParams) {
|
||||||
PDFJS.disableWorker = (hashParams['disableworker'] === 'true');
|
PDFJS.disableWorker = (hashParams['disableworker'] === 'true');
|
||||||
@ -1548,15 +1535,15 @@ function webViewerInitialized() {
|
|||||||
case 'visible':
|
case 'visible':
|
||||||
case 'shadow':
|
case 'shadow':
|
||||||
case 'hover':
|
case 'hover':
|
||||||
var viewer = appConfig.viewerContainer;
|
let viewer = appConfig.viewerContainer;
|
||||||
viewer.classList.add('textLayer-' + hashParams['textlayer']);
|
viewer.classList.add('textLayer-' + hashParams['textlayer']);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ('pdfbug' in hashParams) {
|
if ('pdfbug' in hashParams) {
|
||||||
PDFJS.pdfBug = true;
|
PDFJS.pdfBug = true;
|
||||||
var pdfBug = hashParams['pdfbug'];
|
let pdfBug = hashParams['pdfbug'];
|
||||||
var enabled = pdfBug.split(',');
|
let enabled = pdfBug.split(',');
|
||||||
waitForBeforeOpening.push(loadAndEnablePDFBug(enabled));
|
waitForBeforeOpening.push(loadAndEnablePDFBug(enabled));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1587,8 +1574,8 @@ function webViewerInitialized() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
appConfig.sidebar.mainContainer.addEventListener('transitionend',
|
appConfig.sidebar.mainContainer.addEventListener('transitionend',
|
||||||
function(e) {
|
function(evt) {
|
||||||
if (e.target === /* mainContainer */ this) {
|
if (evt.target === /* mainContainer */ this) {
|
||||||
PDFViewerApplication.eventBus.dispatch('resize');
|
PDFViewerApplication.eventBus.dispatch('resize');
|
||||||
}
|
}
|
||||||
}, true);
|
}, true);
|
||||||
@ -1607,7 +1594,7 @@ function webViewerInitialized() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var webViewerOpenFileViaURL;
|
let webViewerOpenFileViaURL;
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
webViewerOpenFileViaURL = function webViewerOpenFileViaURL(file) {
|
webViewerOpenFileViaURL = function webViewerOpenFileViaURL(file) {
|
||||||
if (file && file.lastIndexOf('file:', 0) === 0) {
|
if (file && file.lastIndexOf('file:', 0) === 0) {
|
||||||
@ -1615,7 +1602,7 @@ if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
|||||||
// cannot load file:-URLs in a Web Worker. file:-URLs are usually loaded
|
// cannot load file:-URLs in a Web Worker. file:-URLs are usually loaded
|
||||||
// very quickly, so there is no need to set up progress event listeners.
|
// very quickly, so there is no need to set up progress event listeners.
|
||||||
PDFViewerApplication.setTitleUsingUrl(file);
|
PDFViewerApplication.setTitleUsingUrl(file);
|
||||||
var xhr = new XMLHttpRequest();
|
let xhr = new XMLHttpRequest();
|
||||||
xhr.onload = function() {
|
xhr.onload = function() {
|
||||||
PDFViewerApplication.open(new Uint8Array(xhr.response));
|
PDFViewerApplication.open(new Uint8Array(xhr.response));
|
||||||
};
|
};
|
||||||
@ -1623,10 +1610,10 @@ if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
|||||||
xhr.open('GET', file);
|
xhr.open('GET', file);
|
||||||
xhr.responseType = 'arraybuffer';
|
xhr.responseType = 'arraybuffer';
|
||||||
xhr.send();
|
xhr.send();
|
||||||
} catch (e) {
|
} catch (ex) {
|
||||||
PDFViewerApplication.l10n.get('loading_error', null,
|
PDFViewerApplication.l10n.get('loading_error', null,
|
||||||
'An error occurred while loading the PDF.').then((msg) => {
|
'An error occurred while loading the PDF.').then((msg) => {
|
||||||
PDFViewerApplication.error(msg, e);
|
PDFViewerApplication.error(msg, ex);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -1649,10 +1636,10 @@ if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerPageRendered(e) {
|
function webViewerPageRendered(evt) {
|
||||||
var pageNumber = e.pageNumber;
|
let pageNumber = evt.pageNumber;
|
||||||
var pageIndex = pageNumber - 1;
|
let pageIndex = pageNumber - 1;
|
||||||
var pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);
|
let pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);
|
||||||
|
|
||||||
// If the page is still visible when it has finished rendering,
|
// If the page is still visible when it has finished rendering,
|
||||||
// ensure that the page number input loading indicator is hidden.
|
// ensure that the page number input loading indicator is hidden.
|
||||||
@ -1668,7 +1655,7 @@ function webViewerPageRendered(e) {
|
|||||||
|
|
||||||
// Use the rendered page to set the corresponding thumbnail image.
|
// Use the rendered page to set the corresponding thumbnail image.
|
||||||
if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
|
if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
|
||||||
var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.
|
let thumbnailView = PDFViewerApplication.pdfThumbnailViewer.
|
||||||
getThumbnail(pageIndex);
|
getThumbnail(pageIndex);
|
||||||
thumbnailView.setImage(pageView);
|
thumbnailView.setImage(pageView);
|
||||||
}
|
}
|
||||||
@ -1699,10 +1686,10 @@ function webViewerPageRendered(e) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerTextLayerRendered(e) {
|
function webViewerTextLayerRendered(evt) {
|
||||||
if (typeof PDFJSDev !== 'undefined' &&
|
if (typeof PDFJSDev !== 'undefined' &&
|
||||||
PDFJSDev.test('FIREFOX || MOZCENTRAL') &&
|
PDFJSDev.test('FIREFOX || MOZCENTRAL') &&
|
||||||
e.numTextDivs > 0 && !PDFViewerApplication.supportsDocumentColors) {
|
evt.numTextDivs > 0 && !PDFViewerApplication.supportsDocumentColors) {
|
||||||
PDFViewerApplication.l10n.get('document_colors_not_allowed', null,
|
PDFViewerApplication.l10n.get('document_colors_not_allowed', null,
|
||||||
'PDF documents are not allowed to use their own colors: ' +
|
'PDF documents are not allowed to use their own colors: ' +
|
||||||
'\'Allow pages to choose their own colors\' ' +
|
'\'Allow pages to choose their own colors\' ' +
|
||||||
@ -1714,9 +1701,9 @@ function webViewerTextLayerRendered(e) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerPageMode(e) {
|
function webViewerPageMode(evt) {
|
||||||
// Handle the 'pagemode' hash parameter, see also `PDFLinkService_setHash`.
|
// Handle the 'pagemode' hash parameter, see also `PDFLinkService_setHash`.
|
||||||
var mode = e.mode, view;
|
let mode = evt.mode, view;
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 'thumbs':
|
case 'thumbs':
|
||||||
view = SidebarView.THUMBS;
|
view = SidebarView.THUMBS;
|
||||||
@ -1738,10 +1725,10 @@ function webViewerPageMode(e) {
|
|||||||
PDFViewerApplication.pdfSidebar.switchView(view, /* forceOpen = */ true);
|
PDFViewerApplication.pdfSidebar.switchView(view, /* forceOpen = */ true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerNamedAction(e) {
|
function webViewerNamedAction(evt) {
|
||||||
// Processing couple of named actions that might be useful.
|
// Processing couple of named actions that might be useful.
|
||||||
// See also PDFLinkService.executeNamedAction
|
// See also PDFLinkService.executeNamedAction
|
||||||
var action = e.action;
|
let action = evt.action;
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case 'GoToPage':
|
case 'GoToPage':
|
||||||
PDFViewerApplication.appConfig.toolbar.pageNumber.select();
|
PDFViewerApplication.appConfig.toolbar.pageNumber.select();
|
||||||
@ -1755,9 +1742,8 @@ function webViewerNamedAction(e) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerPresentationModeChanged(e) {
|
function webViewerPresentationModeChanged(evt) {
|
||||||
var active = e.active;
|
let { active, switchInProgress, } = evt;
|
||||||
var switchInProgress = e.switchInProgress;
|
|
||||||
PDFViewerApplication.pdfViewer.presentationModeState =
|
PDFViewerApplication.pdfViewer.presentationModeState =
|
||||||
switchInProgress ? PresentationModeState.CHANGING :
|
switchInProgress ? PresentationModeState.CHANGING :
|
||||||
active ? PresentationModeState.FULLSCREEN : PresentationModeState.NORMAL;
|
active ? PresentationModeState.FULLSCREEN : PresentationModeState.NORMAL;
|
||||||
@ -1767,7 +1753,7 @@ function webViewerSidebarViewChanged(evt) {
|
|||||||
PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled =
|
PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled =
|
||||||
PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;
|
PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;
|
||||||
|
|
||||||
var store = PDFViewerApplication.store;
|
let store = PDFViewerApplication.store;
|
||||||
if (store && PDFViewerApplication.isInitialViewSet) {
|
if (store && PDFViewerApplication.isInitialViewSet) {
|
||||||
// Only update the storage when the document has been loaded *and* rendered.
|
// Only update the storage when the document has been loaded *and* rendered.
|
||||||
store.set('sidebarView', evt.view).catch(function() { });
|
store.set('sidebarView', evt.view).catch(function() { });
|
||||||
@ -1775,7 +1761,7 @@ function webViewerSidebarViewChanged(evt) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function webViewerUpdateViewarea(evt) {
|
function webViewerUpdateViewarea(evt) {
|
||||||
var location = evt.location, store = PDFViewerApplication.store;
|
let location = evt.location, store = PDFViewerApplication.store;
|
||||||
|
|
||||||
if (store && PDFViewerApplication.isInitialViewSet) {
|
if (store && PDFViewerApplication.isInitialViewSet) {
|
||||||
store.setMultiple({
|
store.setMultiple({
|
||||||
@ -1786,7 +1772,7 @@ function webViewerUpdateViewarea(evt) {
|
|||||||
'scrollTop': location.top,
|
'scrollTop': location.top,
|
||||||
}).catch(function() { /* unable to write to storage */ });
|
}).catch(function() { /* unable to write to storage */ });
|
||||||
}
|
}
|
||||||
var href =
|
let href =
|
||||||
PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
|
PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
|
||||||
PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;
|
PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;
|
||||||
PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href =
|
PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href =
|
||||||
@ -1797,14 +1783,14 @@ function webViewerUpdateViewarea(evt) {
|
|||||||
location.pageNumber);
|
location.pageNumber);
|
||||||
|
|
||||||
// Show/hide the loading indicator in the page number input element.
|
// Show/hide the loading indicator in the page number input element.
|
||||||
var currentPage =
|
let currentPage =
|
||||||
PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
|
PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
|
||||||
var loading = currentPage.renderingState !== RenderingStates.FINISHED;
|
let loading = currentPage.renderingState !== RenderingStates.FINISHED;
|
||||||
PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
|
PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerResize() {
|
function webViewerResize() {
|
||||||
var currentScaleValue = PDFViewerApplication.pdfViewer.currentScaleValue;
|
let currentScaleValue = PDFViewerApplication.pdfViewer.currentScaleValue;
|
||||||
if (currentScaleValue === 'auto' ||
|
if (currentScaleValue === 'auto' ||
|
||||||
currentScaleValue === 'page-fit' ||
|
currentScaleValue === 'page-fit' ||
|
||||||
currentScaleValue === 'page-width') {
|
currentScaleValue === 'page-width') {
|
||||||
@ -1819,9 +1805,9 @@ function webViewerResize() {
|
|||||||
PDFViewerApplication.pdfViewer.update();
|
PDFViewerApplication.pdfViewer.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerHashchange(e) {
|
function webViewerHashchange(evt) {
|
||||||
if (PDFViewerApplication.pdfHistory.isHashChangeUnlocked) {
|
if (PDFViewerApplication.pdfHistory.isHashChangeUnlocked) {
|
||||||
var hash = e.hash;
|
let hash = evt.hash;
|
||||||
if (!hash) {
|
if (!hash) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1833,21 +1819,19 @@ function webViewerHashchange(e) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var webViewerFileInputChange;
|
let webViewerFileInputChange;
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
webViewerFileInputChange = function webViewerFileInputChange(e) {
|
webViewerFileInputChange = function webViewerFileInputChange(evt) {
|
||||||
var file = e.fileInput.files[0];
|
let file = evt.fileInput.files[0];
|
||||||
|
|
||||||
if (!PDFJS.disableCreateObjectURL &&
|
if (!PDFJS.disableCreateObjectURL && URL.createObjectURL) {
|
||||||
typeof URL !== 'undefined' && URL.createObjectURL) {
|
|
||||||
PDFViewerApplication.open(URL.createObjectURL(file));
|
PDFViewerApplication.open(URL.createObjectURL(file));
|
||||||
} else {
|
} else {
|
||||||
// Read the local file into a Uint8Array.
|
// Read the local file into a Uint8Array.
|
||||||
var fileReader = new FileReader();
|
let fileReader = new FileReader();
|
||||||
fileReader.onload = function webViewerChangeFileReaderOnload(evt) {
|
fileReader.onload = function webViewerChangeFileReaderOnload(evt) {
|
||||||
var buffer = evt.target.result;
|
let buffer = evt.target.result;
|
||||||
var uint8Array = new Uint8Array(buffer);
|
PDFViewerApplication.open(new Uint8Array(buffer));
|
||||||
PDFViewerApplication.open(uint8Array);
|
|
||||||
};
|
};
|
||||||
fileReader.readAsArrayBuffer(file);
|
fileReader.readAsArrayBuffer(file);
|
||||||
}
|
}
|
||||||
@ -1855,7 +1839,7 @@ if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
|||||||
PDFViewerApplication.setTitleUsingUrl(file.name);
|
PDFViewerApplication.setTitleUsingUrl(file.name);
|
||||||
|
|
||||||
// URL does not reflect proper document location - hiding some icons.
|
// URL does not reflect proper document location - hiding some icons.
|
||||||
var appConfig = PDFViewerApplication.appConfig;
|
let appConfig = PDFViewerApplication.appConfig;
|
||||||
appConfig.toolbar.viewBookmark.setAttribute('hidden', 'true');
|
appConfig.toolbar.viewBookmark.setAttribute('hidden', 'true');
|
||||||
appConfig.secondaryToolbar.viewBookmarkButton.setAttribute('hidden',
|
appConfig.secondaryToolbar.viewBookmarkButton.setAttribute('hidden',
|
||||||
'true');
|
'true');
|
||||||
@ -1868,7 +1852,7 @@ function webViewerPresentationMode() {
|
|||||||
PDFViewerApplication.requestPresentationMode();
|
PDFViewerApplication.requestPresentationMode();
|
||||||
}
|
}
|
||||||
function webViewerOpenFile() {
|
function webViewerOpenFile() {
|
||||||
var openFileInputName = PDFViewerApplication.appConfig.openFileInputName;
|
let openFileInputName = PDFViewerApplication.appConfig.openFileInputName;
|
||||||
document.getElementById(openFileInputName).click();
|
document.getElementById(openFileInputName).click();
|
||||||
}
|
}
|
||||||
function webViewerPrint() {
|
function webViewerPrint() {
|
||||||
@ -1899,20 +1883,20 @@ function webViewerZoomIn() {
|
|||||||
function webViewerZoomOut() {
|
function webViewerZoomOut() {
|
||||||
PDFViewerApplication.zoomOut();
|
PDFViewerApplication.zoomOut();
|
||||||
}
|
}
|
||||||
function webViewerPageNumberChanged(e) {
|
function webViewerPageNumberChanged(evt) {
|
||||||
var pdfViewer = PDFViewerApplication.pdfViewer;
|
let pdfViewer = PDFViewerApplication.pdfViewer;
|
||||||
pdfViewer.currentPageLabel = e.value;
|
pdfViewer.currentPageLabel = evt.value;
|
||||||
|
|
||||||
// Ensure that the page number input displays the correct value, even if the
|
// Ensure that the page number input displays the correct value, even if the
|
||||||
// value entered by the user was invalid (e.g. a floating point number).
|
// value entered by the user was invalid (e.g. a floating point number).
|
||||||
if (e.value !== pdfViewer.currentPageNumber.toString() &&
|
if (evt.value !== pdfViewer.currentPageNumber.toString() &&
|
||||||
e.value !== pdfViewer.currentPageLabel) {
|
evt.value !== pdfViewer.currentPageLabel) {
|
||||||
PDFViewerApplication.toolbar.setPageNumber(
|
PDFViewerApplication.toolbar.setPageNumber(
|
||||||
pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
|
pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function webViewerScaleChanged(e) {
|
function webViewerScaleChanged(evt) {
|
||||||
PDFViewerApplication.pdfViewer.currentScaleValue = e.value;
|
PDFViewerApplication.pdfViewer.currentScaleValue = evt.value;
|
||||||
}
|
}
|
||||||
function webViewerRotateCw() {
|
function webViewerRotateCw() {
|
||||||
PDFViewerApplication.rotatePages(90);
|
PDFViewerApplication.rotatePages(90);
|
||||||
@ -1924,36 +1908,36 @@ function webViewerDocumentProperties() {
|
|||||||
PDFViewerApplication.pdfDocumentProperties.open();
|
PDFViewerApplication.pdfDocumentProperties.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerFind(e) {
|
function webViewerFind(evt) {
|
||||||
PDFViewerApplication.findController.executeCommand('find' + e.type, {
|
PDFViewerApplication.findController.executeCommand('find' + evt.type, {
|
||||||
query: e.query,
|
query: evt.query,
|
||||||
phraseSearch: e.phraseSearch,
|
phraseSearch: evt.phraseSearch,
|
||||||
caseSensitive: e.caseSensitive,
|
caseSensitive: evt.caseSensitive,
|
||||||
highlightAll: e.highlightAll,
|
highlightAll: evt.highlightAll,
|
||||||
findPrevious: e.findPrevious,
|
findPrevious: evt.findPrevious,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerFindFromUrlHash(e) {
|
function webViewerFindFromUrlHash(evt) {
|
||||||
PDFViewerApplication.findController.executeCommand('find', {
|
PDFViewerApplication.findController.executeCommand('find', {
|
||||||
query: e.query,
|
query: evt.query,
|
||||||
phraseSearch: e.phraseSearch,
|
phraseSearch: evt.phraseSearch,
|
||||||
caseSensitive: false,
|
caseSensitive: false,
|
||||||
highlightAll: true,
|
highlightAll: true,
|
||||||
findPrevious: false,
|
findPrevious: false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerScaleChanging(e) {
|
function webViewerScaleChanging(evt) {
|
||||||
PDFViewerApplication.toolbar.setPageScale(e.presetValue, e.scale);
|
PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale);
|
||||||
|
|
||||||
PDFViewerApplication.pdfViewer.update();
|
PDFViewerApplication.pdfViewer.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
function webViewerPageChanging(e) {
|
function webViewerPageChanging(evt) {
|
||||||
var page = e.pageNumber;
|
let page = evt.pageNumber;
|
||||||
|
|
||||||
PDFViewerApplication.toolbar.setPageNumber(page, e.pageLabel || null);
|
PDFViewerApplication.toolbar.setPageNumber(page, evt.pageLabel || null);
|
||||||
PDFViewerApplication.secondaryToolbar.setPageNumber(page);
|
PDFViewerApplication.secondaryToolbar.setPageNumber(page);
|
||||||
|
|
||||||
if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
|
if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
|
||||||
@ -1962,22 +1946,22 @@ function webViewerPageChanging(e) {
|
|||||||
|
|
||||||
// we need to update stats
|
// we need to update stats
|
||||||
if (PDFJS.pdfBug && Stats.enabled) {
|
if (PDFJS.pdfBug && Stats.enabled) {
|
||||||
var pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1);
|
let pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1);
|
||||||
if (pageView.stats) {
|
if (pageView.stats) {
|
||||||
Stats.add(page, pageView.stats);
|
Stats.add(page, pageView.stats);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var zoomDisabled = false, zoomDisabledTimeout;
|
let zoomDisabled = false, zoomDisabledTimeout;
|
||||||
function webViewerWheel(evt) {
|
function webViewerWheel(evt) {
|
||||||
var pdfViewer = PDFViewerApplication.pdfViewer;
|
let pdfViewer = PDFViewerApplication.pdfViewer;
|
||||||
if (pdfViewer.isInPresentationMode) {
|
if (pdfViewer.isInPresentationMode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (evt.ctrlKey || evt.metaKey) {
|
if (evt.ctrlKey || evt.metaKey) {
|
||||||
var support = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;
|
let support = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;
|
||||||
if ((evt.ctrlKey && !support.ctrlKey) ||
|
if ((evt.ctrlKey && !support.ctrlKey) ||
|
||||||
(evt.metaKey && !support.metaKey)) {
|
(evt.metaKey && !support.metaKey)) {
|
||||||
return;
|
return;
|
||||||
@ -1989,27 +1973,27 @@ function webViewerWheel(evt) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var previousScale = pdfViewer.currentScale;
|
let previousScale = pdfViewer.currentScale;
|
||||||
|
|
||||||
var delta = normalizeWheelEventDelta(evt);
|
let delta = normalizeWheelEventDelta(evt);
|
||||||
|
|
||||||
var MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0;
|
const MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0;
|
||||||
var ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE;
|
let ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE;
|
||||||
if (ticks < 0) {
|
if (ticks < 0) {
|
||||||
PDFViewerApplication.zoomOut(-ticks);
|
PDFViewerApplication.zoomOut(-ticks);
|
||||||
} else {
|
} else {
|
||||||
PDFViewerApplication.zoomIn(ticks);
|
PDFViewerApplication.zoomIn(ticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
var currentScale = pdfViewer.currentScale;
|
let currentScale = pdfViewer.currentScale;
|
||||||
if (previousScale !== currentScale) {
|
if (previousScale !== currentScale) {
|
||||||
// After scaling the page via zoomIn/zoomOut, the position of the upper-
|
// After scaling the page via zoomIn/zoomOut, the position of the upper-
|
||||||
// left corner is restored. When the mouse wheel is used, the position
|
// left corner is restored. When the mouse wheel is used, the position
|
||||||
// under the cursor should be restored instead.
|
// under the cursor should be restored instead.
|
||||||
var scaleCorrectionFactor = currentScale / previousScale - 1;
|
let scaleCorrectionFactor = currentScale / previousScale - 1;
|
||||||
var rect = pdfViewer.container.getBoundingClientRect();
|
let rect = pdfViewer.container.getBoundingClientRect();
|
||||||
var dx = evt.clientX - rect.left;
|
let dx = evt.clientX - rect.left;
|
||||||
var dy = evt.clientY - rect.top;
|
let dy = evt.clientY - rect.top;
|
||||||
pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;
|
pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;
|
||||||
pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;
|
pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;
|
||||||
}
|
}
|
||||||
@ -2026,7 +2010,7 @@ function webViewerClick(evt) {
|
|||||||
if (!PDFViewerApplication.secondaryToolbar.isOpen) {
|
if (!PDFViewerApplication.secondaryToolbar.isOpen) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var appConfig = PDFViewerApplication.appConfig;
|
let appConfig = PDFViewerApplication.appConfig;
|
||||||
if (PDFViewerApplication.pdfViewer.containsElement(evt.target) ||
|
if (PDFViewerApplication.pdfViewer.containsElement(evt.target) ||
|
||||||
(appConfig.toolbar.container.contains(evt.target) &&
|
(appConfig.toolbar.container.contains(evt.target) &&
|
||||||
evt.target !== appConfig.secondaryToolbar.toggleButton)) {
|
evt.target !== appConfig.secondaryToolbar.toggleButton)) {
|
||||||
@ -2039,14 +2023,14 @@ function webViewerKeyDown(evt) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var handled = false, ensureViewerFocused = false;
|
let handled = false, ensureViewerFocused = false;
|
||||||
var cmd = (evt.ctrlKey ? 1 : 0) |
|
let cmd = (evt.ctrlKey ? 1 : 0) |
|
||||||
(evt.altKey ? 2 : 0) |
|
(evt.altKey ? 2 : 0) |
|
||||||
(evt.shiftKey ? 4 : 0) |
|
(evt.shiftKey ? 4 : 0) |
|
||||||
(evt.metaKey ? 8 : 0);
|
(evt.metaKey ? 8 : 0);
|
||||||
|
|
||||||
var pdfViewer = PDFViewerApplication.pdfViewer;
|
let pdfViewer = PDFViewerApplication.pdfViewer;
|
||||||
var isViewerInPresentationMode = pdfViewer && pdfViewer.isInPresentationMode;
|
let isViewerInPresentationMode = pdfViewer && pdfViewer.isInPresentationMode;
|
||||||
|
|
||||||
// First, handle the key bindings that are independent whether an input
|
// First, handle the key bindings that are independent whether an input
|
||||||
// control is selected or not.
|
// control is selected or not.
|
||||||
@ -2061,7 +2045,7 @@ function webViewerKeyDown(evt) {
|
|||||||
break;
|
break;
|
||||||
case 71: // g
|
case 71: // g
|
||||||
if (!PDFViewerApplication.supportsIntegratedFind) {
|
if (!PDFViewerApplication.supportsIntegratedFind) {
|
||||||
var findState = PDFViewerApplication.findController.state;
|
let findState = PDFViewerApplication.findController.state;
|
||||||
if (findState) {
|
if (findState) {
|
||||||
PDFViewerApplication.findController.executeCommand('findagain', {
|
PDFViewerApplication.findController.executeCommand('findagain', {
|
||||||
query: findState.query,
|
query: findState.query,
|
||||||
@ -2159,8 +2143,8 @@ function webViewerKeyDown(evt) {
|
|||||||
|
|
||||||
// Some shortcuts should not get handled if a control/input element
|
// Some shortcuts should not get handled if a control/input element
|
||||||
// is selected.
|
// is selected.
|
||||||
var curElement = document.activeElement || document.querySelector(':focus');
|
let curElement = document.activeElement || document.querySelector(':focus');
|
||||||
var curElementTagName = curElement && curElement.tagName.toUpperCase();
|
let curElementTagName = curElement && curElement.tagName.toUpperCase();
|
||||||
if (curElementTagName === 'INPUT' ||
|
if (curElementTagName === 'INPUT' ||
|
||||||
curElementTagName === 'TEXTAREA' ||
|
curElementTagName === 'TEXTAREA' ||
|
||||||
curElementTagName === 'SELECT') {
|
curElementTagName === 'SELECT') {
|
||||||
@ -2315,7 +2299,7 @@ function webViewerKeyDown(evt) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Abstract factory for the print service. */
|
/* Abstract factory for the print service. */
|
||||||
var PDFPrintServiceFactory = {
|
let PDFPrintServiceFactory = {
|
||||||
instance: {
|
instance: {
|
||||||
supportsPrinting: false,
|
supportsPrinting: false,
|
||||||
createPrintService() {
|
createPrintService() {
|
||||||
|
@ -16,18 +16,18 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf';
|
let DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf';
|
||||||
|
|
||||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {
|
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {
|
||||||
(function rewriteUrlClosure() {
|
(function rewriteUrlClosure() {
|
||||||
// Run this code outside DOMContentLoaded to make sure that the URL
|
// Run this code outside DOMContentLoaded to make sure that the URL
|
||||||
// is rewritten as soon as possible.
|
// is rewritten as soon as possible.
|
||||||
var queryString = document.location.search.slice(1);
|
let queryString = document.location.search.slice(1);
|
||||||
var m = /(^|&)file=([^&]*)/.exec(queryString);
|
let m = /(^|&)file=([^&]*)/.exec(queryString);
|
||||||
DEFAULT_URL = m ? decodeURIComponent(m[2]) : '';
|
DEFAULT_URL = m ? decodeURIComponent(m[2]) : '';
|
||||||
|
|
||||||
// Example: chrome-extension://.../http://example.com/file.pdf
|
// Example: chrome-extension://.../http://example.com/file.pdf
|
||||||
var humanReadableUrl = '/' + DEFAULT_URL + location.hash;
|
let humanReadableUrl = '/' + DEFAULT_URL + location.hash;
|
||||||
history.replaceState(history.state, '', humanReadableUrl);
|
history.replaceState(history.state, '', humanReadableUrl);
|
||||||
if (top === window) {
|
if (top === window) {
|
||||||
chrome.runtime.sendMessage('showPageAction');
|
chrome.runtime.sendMessage('showPageAction');
|
||||||
@ -35,7 +35,7 @@ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {
|
|||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|
||||||
var pdfjsWebApp;
|
let pdfjsWebApp;
|
||||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('PRODUCTION')) {
|
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('PRODUCTION')) {
|
||||||
pdfjsWebApp = require('./app.js');
|
pdfjsWebApp = require('./app.js');
|
||||||
}
|
}
|
||||||
@ -172,14 +172,13 @@ function getViewerConfiguration() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function webViewerLoad() {
|
function webViewerLoad() {
|
||||||
var config = getViewerConfiguration();
|
let config = getViewerConfiguration();
|
||||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
|
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
|
||||||
Promise.all([
|
Promise.all([
|
||||||
SystemJS.import('pdfjs-web/app'),
|
SystemJS.import('pdfjs-web/app'),
|
||||||
SystemJS.import('pdfjs-web/genericcom'),
|
SystemJS.import('pdfjs-web/genericcom'),
|
||||||
SystemJS.import('pdfjs-web/pdf_print_service'),
|
SystemJS.import('pdfjs-web/pdf_print_service'),
|
||||||
]).then(function (modules) {
|
]).then(function([app, ...otherModules]) {
|
||||||
var app = modules[0];
|
|
||||||
window.PDFViewerApplication = app.PDFViewerApplication;
|
window.PDFViewerApplication = app.PDFViewerApplication;
|
||||||
app.PDFViewerApplication.run(config);
|
app.PDFViewerApplication.run(config);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user