diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-01-14 21:38:33 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-01-14 21:38:33 +0100 |
commit | 4cc68eac6d132f31782800efc4b8742ad7a72598 (patch) | |
tree | 955c992b01796ebce23b285843d6e6e7cc595e87 /apps/files_pdfviewer | |
parent | f4ce399162b2708fd72ea21be9d1f8dc8da15217 (diff) | |
download | nextcloud-server-4cc68eac6d132f31782800efc4b8742ad7a72598.tar.gz nextcloud-server-4cc68eac6d132f31782800efc4b8742ad7a72598.zip |
make pdf viewer work a bit better with the rest of owncloud
Diffstat (limited to 'apps/files_pdfviewer')
-rwxr-xr-x | apps/files_pdfviewer/appinfo/app.php | 2 | ||||
-rwxr-xr-x | apps/files_pdfviewer/js/pdfview.js | 25 | ||||
-rwxr-xr-x | apps/files_pdfviewer/js/viewer.js | 21 |
3 files changed, 42 insertions, 6 deletions
diff --git a/apps/files_pdfviewer/appinfo/app.php b/apps/files_pdfviewer/appinfo/app.php index a446b4caa41..0f0b40764d9 100755 --- a/apps/files_pdfviewer/appinfo/app.php +++ b/apps/files_pdfviewer/appinfo/app.php @@ -1,7 +1,5 @@ <?php //load the required files -//OC_Util::addStyle( 'files_texteditor', 'style' ); -//OC_Util::addScript( 'files_texteditor', 'editor'); OC_Util::addScript( 'files_pdfviewer', 'viewer'); OC_Util::addStyle( 'files_pdfviewer', 'viewer'); OC_Util::addScript( 'files_pdfviewer', 'pdfjs/build/pdf'); diff --git a/apps/files_pdfviewer/js/pdfview.js b/apps/files_pdfviewer/js/pdfview.js index 5e546fd5580..51f6e169f72 100755 --- a/apps/files_pdfviewer/js/pdfview.js +++ b/apps/files_pdfviewer/js/pdfview.js @@ -31,6 +31,7 @@ var cache = new Cache(kCacheSize); var currentPageNumber = 1; var PDFView = { + active: false, pages: [], thumbnails: [], currentScale: kDefaultScale, @@ -146,6 +147,9 @@ var PDFView = { navigateTo: function pdfViewNavigateTo(dest) { if (typeof dest === 'string') + if(!this.destinations || ! this.destinations[dest]){ + return; // invalid destination + } dest = this.destinations[dest]; if (!(dest instanceof Array)) return; // invalid destination @@ -628,10 +632,16 @@ function updateViewarea() { } window.addEventListener('scroll', function webViewerScroll(evt) { + if(!PDFView.active){ + return; + } updateViewarea(); }, true); window.addEventListener('resize', function webViewerResize(evt) { + if(!PDFView.active){ + return; + } if (document.getElementById('pageWidthOption').selected || document.getElementById('pageFitOption').selected) PDFView.parseScale(document.getElementById('scaleSelect').value); @@ -639,10 +649,16 @@ window.addEventListener('resize', function webViewerResize(evt) { }); window.addEventListener('hashchange', function webViewerHashchange(evt) { + if(!PDFView.active){ + return; + } PDFView.setHash(document.location.hash.substring(1)); }); window.addEventListener('change', function webViewerChange(evt) { + if(!PDFView.active){ + return; + } var files = evt.target.files; if (!files || files.length == 0) return; @@ -671,6 +687,9 @@ window.addEventListener('change', function webViewerChange(evt) { }, true); window.addEventListener('scalechange', function scalechange(evt) { + if(!PDFView.active){ + return; + } var customScaleOption = document.getElementById('customScaleOption'); customScaleOption.selected = false; @@ -703,6 +722,9 @@ window.addEventListener('scalechange', function scalechange(evt) { }, true); window.addEventListener('pagechange', function pagechange(evt) { + if(!PDFView.active){ + return; + } var page = evt.pageNumber; if (document.getElementById('pageNumber').value != page) document.getElementById('pageNumber').value = page; @@ -711,6 +733,9 @@ window.addEventListener('pagechange', function pagechange(evt) { }, true); window.addEventListener('keydown', function keydown(evt) { + if(!PDFView.active){ + return; + } var curElement = document.activeElement; var controlsElement = document.getElementById('controls2'); while (curElement) { diff --git a/apps/files_pdfviewer/js/viewer.js b/apps/files_pdfviewer/js/viewer.js index 314a08b27e6..03288ebe420 100755 --- a/apps/files_pdfviewer/js/viewer.js +++ b/apps/files_pdfviewer/js/viewer.js @@ -5,6 +5,7 @@ function hidePDFviewer() { $("#viewer").remove(); $("#loading").remove() document.title = showPDFviewer.lastTitle; + PDFView.active=false; } function showPDFviewer(dir,filename){ @@ -21,8 +22,21 @@ function showPDFviewer(dir,filename){ var oldcontent = $("#content").html(); $("#content").html(oldcontent+'<div id="loading">Loading... 0%</div><div id="viewer"></div>'); showPDFviewer.lastTitle = document.title; - PDFView.Ptitle = filename; - PDFView.open(url,1.00); + if(!showPDFviewer.loaded){ + OC.addScript( 'files_pdfviewer', 'pdfjs/build/pdf',function(){ + OC.addScript( 'files_pdfviewer', 'pdfview',function(){ + showPDFviewer.loaded=true; + PDFJS.workerSrc = OC.filePath('files_pdfviewer','js','pdfjs/build/pdf.js'); + PDFView.Ptitle = filename; + PDFView.open(url,1.00); + PDFView.active=true; + }); + }); + }else{ + PDFView.Ptitle = filename; + PDFView.open(url,1.00); + PDFView.active=true; + } $("#pageWidthOption").attr("selected","selected"); showPDFviewer.shown = true; } @@ -30,8 +44,7 @@ function showPDFviewer(dir,filename){ showPDFviewer.shown=false; showPDFviewer.oldCode=''; showPDFviewer.lastTitle=''; - -var extrahtml = '<li id="extra" style="display:none;"><a title="" href="'+OC.webroot+"/apps/files_pdfviewer/lastopened.php"+'" style="background-image:url(/owncloud/apps/files_pdfviewer/css/history.png)">Last opened</a></li>'; +showPDFviewer.loaded=false; $(document).ready(function(){ if(location.href.indexOf("files")!=-1) { |