From 6b6aa97e9e79e8ee95dd59abc3f6462bd4d3ab46 Mon Sep 17 00:00:00 2001 From: Thomas Schnaak <schnaak@uni-potsdam.de> Date: Sat, 22 Sep 2018 17:34:19 +0200 Subject: [PATCH] feat: added download for pdf export --- .../src/main/webapp/journal/eportfolio.jsp | 8 +++- .../src/main/webapp/journal/js/eportfolio.js | 37 ++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp index a21688a5..3ccb2226 100644 --- a/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp +++ b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp @@ -48,7 +48,10 @@ <a id="editDescriptionLink" class="btn btn-default btn-sm"> <i class="fa fa-pencil"></i> Bearbeiten</a> <a class="btn btn-default btn-sm" data-toggle="modal" data-target="#closeDescriptionModal"><i class="fa fa-check-square" aria-hidden="true"></i>Abschließen</a> - + <!-- TODO: find place for Button --> + <button type="button" class="btn btn-primary mr-auto" data-dismiss="modal" onclick="downloadPortfolio()"> + EPortfolio heurunterladen + </button> </div> <div class="journal-description-text"> </div> @@ -60,7 +63,8 @@ </div> - </div> + + </div> </div> <div id="journal-container" class="tab-pane fade"> diff --git a/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js index c62bb174..d01f0088 100644 --- a/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js +++ b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js @@ -161,5 +161,40 @@ function closeDescription() { location.reload(); } }); +} + +//load PDF via rest +//source: https://stackoverflow.com/questions/41803925/download-octet-stream-via-jquery + +function downloadPortfolio() { + const saveData = (() => { + const a = document.createElement('a'); + a.style = 'display: none'; + document.body.appendChild(a); + + return (data, fileName, type = 'octet/stream') => { + console.log(data); + + const blob = new Blob([data], { type }); + + if (navigator.msSaveBlob) { + return navigator.msSaveBlob(blob, fileName); + } + + const url = URL.createObjectURL(blob); + a.href = url; + a.download = fileName; + a.click(); + URL.revokeObjectURL(url); + return true; + }; + })(); + + $.ajax({ + method: "GET", + contentType: "application/x-www-form-urlencoded", + url: "../rest/eportfolio/pdf/" + student + "/" + project, + }) + .done((data) => saveData(data, 'portfolio.pdf')); +} -} \ No newline at end of file -- GitLab