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&szlig;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