From d4a6401eb220b8f39ee69c4b3e43c57f0e3d8079 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 2 Sep 2020 22:56:56 +0000 Subject: [PATCH] --- ayanova/src/api/gzapi.js | 32 +++++++++++++++++++++ ayanova/src/views/ay-report-edit.vue | 42 ++-------------------------- 2 files changed, 35 insertions(+), 39 deletions(-) diff --git a/ayanova/src/api/gzapi.js b/ayanova/src/api/gzapi.js index 7fde4f2f..92ac6bce 100644 --- a/ayanova/src/api/gzapi.js +++ b/ayanova/src/api/gzapi.js @@ -617,6 +617,38 @@ export default { } catch (error) { handleError("uploadLogo", error, route); } + }, + viewPDF(blobData, reportName) { + // Adapted from: https://blog.jayway.com/2017/07/13/open-pdf-downloaded-api-javascript/ + + const fileName = (reportName && `${reportName}.pdf`) || "myreport.pdf"; + const newBlob = new Blob([blobData], { type: "application/pdf" }); + const newWindow = window.open("", reportName, "width=800,height=1200"); + if (newWindow != null) { + setTimeout(() => { + const dataUrl = window.URL.createObjectURL(newBlob); + const title = newWindow.document.createElement("title"); + const iframe = newWindow.document.createElement("iframe"); + + title.appendChild(document.createTextNode(reportName)); + newWindow.document.head.appendChild(title); + + iframe.setAttribute("src", dataUrl); + iframe.setAttribute("width", "100%"); + iframe.setAttribute("height", "100%"); + + newWindow.document.body.appendChild(iframe); + + setTimeout(() => { + // For Firefox it is necessary to delay revoking the ObjectURL + window.URL.revokeObjectURL(dataUrl); + }, 100); + }, 100); + } else { + alert( + "To display reports, please disable any pop-blockers for this page and try again." + ); + } } //--------------- diff --git a/ayanova/src/views/ay-report-edit.vue b/ayanova/src/views/ay-report-edit.vue index 9c4bea02..6f6a69ec 100644 --- a/ayanova/src/views/ay-report-edit.vue +++ b/ayanova/src/views/ay-report-edit.vue @@ -701,11 +701,11 @@ Handlebars.registerHelper('loud', function (aString) { //test open new window for test url // window.open("http://localhost:7575/api/v8/report/poc", "_blank"); - let test = await window.$gz.api.upsert("report/post-poc", { + let pdf = await window.$gz.api.upsert("report/post-poc", { name: "Demko" }); - console.log("Test is ", test); - showFile(test, "myreport"); + + window.$gz.api.viewPDF(pdf, "myreport"); // return; @@ -925,40 +925,4 @@ async function fetchReportData(vm) { vm.reportData = res.data; } } - -const showFile = (blobData, reportName) => { - // Adapted from: https://blog.jayway.com/2017/07/13/open-pdf-downloaded-api-javascript/ - - const fileName = (reportName && `${reportName}.pdf`) || "myreport.pdf"; - - const newBlob = new Blob([blobData], { type: "application/pdf" }); - - const newWindow = window.open("", reportName, "width=800,height=1200"); - console.log(newWindow); - if (newWindow != null) { - setTimeout(() => { - const dataUrl = window.URL.createObjectURL(newBlob); - const title = newWindow.document.createElement("title"); - const iframe = newWindow.document.createElement("iframe"); - - title.appendChild(document.createTextNode(reportName)); - newWindow.document.head.appendChild(title); - - iframe.setAttribute("src", dataUrl); - iframe.setAttribute("width", "100%"); - iframe.setAttribute("height", "100%"); - - newWindow.document.body.appendChild(iframe); - - setTimeout(() => { - // For Firefox it is necessary to delay revoking the ObjectURL - window.URL.revokeObjectURL(dataUrl); - }, 100); - }, 100); - } else { - alert( - "To display reports, please disable any pop-blockers for this page and try again." - ); - } -};