diff --git a/web/app.js b/web/app.js index bac696b45..16e8637bf 100644 --- a/web/app.js +++ b/web/app.js @@ -2142,7 +2142,7 @@ function reportPageStatsPDFBug({ pageNumber }) { } function webViewerInitialized() { - const appConfig = PDFViewerApplication.appConfig; + const { appConfig, eventBus } = PDFViewerApplication; let file; if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) { const queryString = document.location.search.substring(1); @@ -2156,13 +2156,7 @@ function webViewerInitialized() { } if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) { - const fileInput = document.createElement("input"); - fileInput.id = appConfig.openFileInputName; - fileInput.className = "fileInput"; - fileInput.setAttribute("type", "file"); - fileInput.oncontextmenu = noContextMenuHandler; - document.body.appendChild(fileInput); - + const fileInput = appConfig.openFileInput; if ( !window.File || !window.FileReader || @@ -2176,11 +2170,11 @@ function webViewerInitialized() { } fileInput.addEventListener("change", function (evt) { - const files = evt.target.files; + const { files } = evt.target; if (!files || files.length === 0) { return; } - PDFViewerApplication.eventBus.dispatch("fileinputchange", { + eventBus.dispatch("fileinputchange", { source: this, fileInput: evt.target, }); @@ -2195,11 +2189,11 @@ function webViewerInitialized() { appConfig.mainContainer.addEventListener("drop", function (evt) { evt.preventDefault(); - const files = evt.dataTransfer.files; + const { files } = evt.dataTransfer; if (!files || files.length === 0) { return; } - PDFViewerApplication.eventBus.dispatch("fileinputchange", { + eventBus.dispatch("fileinputchange", { source: this, fileInput: evt.dataTransfer, }); @@ -2234,7 +2228,7 @@ function webViewerInitialized() { "transitionend", function (evt) { if (evt.target === /* mainContainer */ this) { - PDFViewerApplication.eventBus.dispatch("resize", { source: this }); + eventBus.dispatch("resize", { source: this }); } }, true @@ -2460,8 +2454,8 @@ if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) { }; webViewerOpenFile = function (evt) { - const openFileInputName = PDFViewerApplication.appConfig.openFileInputName; - document.getElementById(openFileInputName).click(); + const fileInput = PDFViewerApplication.appConfig.openFileInput; + fileInput.click(); }; } diff --git a/web/viewer.css b/web/viewer.css index e0c1a8a0f..97d81cf3d 100644 --- a/web/viewer.css +++ b/web/viewer.css @@ -1364,16 +1364,6 @@ dialog :link { clear: both; } -.fileInput { - background: rgba(255, 255, 255, 1); - color: rgba(0, 0, 0, 1); - margin-top: 5px; - visibility: hidden; - position: fixed; - right: 0; - top: 0; -} - #PDFBug { background: none repeat scroll 0 0 rgba(255, 255, 255, 1); border: 1px solid rgba(102, 102, 102, 1); @@ -1537,10 +1527,6 @@ dialog :link { display: block; } - .fileInput { - display: none; - } - /* Rules for browsers that support PDF.js printing */ body[data-pdfjsprinting] #outerContainer { display: none; diff --git a/web/viewer.html b/web/viewer.html index 10505b109..d33a36855 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -448,5 +448,9 @@ See https://github.com/adobe-type-tools/cmap-resources
+ + + +