diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2014-03-23 14:40:24 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-08-15 19:46:45 +0200 |
| commit | 67d524a3661a39a9aa188c0387c1ada222280481 (patch) | |
| tree | 8a561fc2e4c9c06a0ab71f0d49f1d48675572383 | |
| parent | 67087e36ae59c6dc1b80c97cfcd1b9f3a4b03e28 (diff) | |
| download | wvs-vplan-67d524a3661a39a9aa188c0387c1ada222280481.tar.gz wvs-vplan-67d524a3661a39a9aa188c0387c1ada222280481.zip | |
implementiere die Anzeige des Vertretungsplans
| -rw-r--r-- | index.html | 16 | ||||
| -rw-r--r-- | js/index.js | 57 |
2 files changed, 32 insertions, 41 deletions
@@ -42,22 +42,8 @@ </form> </div> </div> - - <div data-role="page" class="page" id="overview" data-prefetch> - <div data-role="header"> - <h1>WvS VPlan | Vertretungen</h1> - </div> - <div role="main" class="ui-content"> - hier stehen die Vertretungen - <div id="output"> - </div> - <div display:none> - <iframe id="input"></iframe> - <iframe id="processor" src="js/pdf.js"></iframe> - </div> - </div> - </div> </div> + <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="js/index.js"></script> <script type="text/javascript"> diff --git a/js/index.js b/js/index.js index b9c7242..f07f600 100644 --- a/js/index.js +++ b/js/index.js @@ -16,36 +16,43 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -function show_pdf(url){ - $('#input').attr('src', url); +var page_html = '\ +<div data-role="page" class="page" id="page-{ID}" data-prefetch>\ + <div data-role="header">\ + <h1>WvS VPlan | Vertretungen</h1>\ + </div>\ + <div role="main" class="ui-content">\ + <canvas id="canvas-{ID}" style="border:1px solid black;"/>\ + </div>\ +</div>\ +'; - console.log("Download fertig, parse PDF"); +function show_pdf(url, filename){ + name = encodeURIComponent(filename.replace(".pdf", "")); - var input = document.getElementById("input"); - var processor = document.getElementById("processor"); - var output = document.getElementById("output"); + console.log("Download fertig, zeige PDF " + name); - window.addEventListener("message", function(event){ - if(event.source != processor.contentWindow) return; + $("#loginpage").after(page_html.replace(/{ID}/g, name)); + location.href = "#page-" + name; - switch(event.data){ - case "ready": - var xhr = new XMLHttpRequest; - xhr.open("GET", input.getAttribute("src"), true); - xhr.responseType = "arraybuffer"; + PDFJS.getDocument(url).then(function(pdf){ + pdf.getPage(1).then(function(page){ + var scale = 1.5; + var viewport = page.getViewport(scale); + var canvas = document.getElementById("canvas-" + name); + var context = canvas.getContext('2d'); - xhr.onload = function(event){ - processor.contentWindow.postMessage(this.response, "*"); - }; + canvas.height = viewport.height; + canvas.width = viewport.width; - xhr.send(); - break; + var renderContext = { + canvasContext: context, + viewport: viewport + }; - default: - output.textContent = event.data.replace(/\s+/g, " "); - break; - } - }, true); + page.render(renderContext); + }); + }); } function fail(text){ @@ -71,7 +78,7 @@ function download_pdf(link){ sPath, function(theFile){ console.log("Download fertig: " + theFile.toURL()); - show_pdf(theFile.toURL()); + show_pdf(theFile.toURL(), filename); }, function(error){ console.log("Fehler: " + error.source + " - "+ error.target + " - " + error.code); @@ -119,8 +126,6 @@ function get_overview(link){ } console.log('Übersichts-Request erfolgreich'); - - location.href = '#overview'; }); request.fail(function(jqXHR, textStatus){ |
