diff options
author | Bartek Przybylski <bart.p.pl@gmail.com> | 2011-12-27 12:36:51 +0100 |
---|---|---|
committer | Bartek Przybylski <bart.p.pl@gmail.com> | 2011-12-27 12:36:51 +0100 |
commit | f7674d06d3819fadb0c019adec8219b1fdd9001c (patch) | |
tree | 1f3e62a19dfa86ddc1746af1a29d6bbf63cc7ec7 /apps/files_pdfviewer/js/viewer.js | |
parent | 524aaf0e5e890944472f919041146c68a4300184 (diff) | |
download | nextcloud-server-f7674d06d3819fadb0c019adec8219b1fdd9001c.tar.gz nextcloud-server-f7674d06d3819fadb0c019adec8219b1fdd9001c.zip |
pdf viewer from Google Code-In program
Diffstat (limited to 'apps/files_pdfviewer/js/viewer.js')
-rwxr-xr-x | apps/files_pdfviewer/js/viewer.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/apps/files_pdfviewer/js/viewer.js b/apps/files_pdfviewer/js/viewer.js new file mode 100755 index 00000000000..2bdc5578588 --- /dev/null +++ b/apps/files_pdfviewer/js/viewer.js @@ -0,0 +1,55 @@ +viewer_is_shown = false; +function hidePDFviewer() { + viewer_is_shown = false; + $('table').show(); + $('#controls').html(oldcode); + $("#viewer").remove(); + $("#loading").remove() + $("#controls").css({top:"3.5em",height:"2.8em",zIndex:200}); + document.title = lastTitle; +} +function showPDFviewer(dir,filename){ + if(!viewer_is_shown){ + $("#editor").hide(); + var url = OC.filePath('files','ajax','download.php')+'?files='+encodeURIComponent(filename)+"&dir="+encodeURIComponent(dir); + $('table').hide(); + function im(path) { return OC.filePath('files_pdfviewer','js','pdfjs/web/images/'+path); } + oldcode = $("#controls").html(); + $("#controls").empty(); + $("#controls").html(' <div id="controls2" style="display:inline;"> <button id="previous" onclick="PDFView.page--;" oncontextmenu="return false;"> <img src="'+im('go-up.svg')+'" align="top" height="10"/> Previous </button> <button id="next" onclick="PDFView.page++;" oncontextmenu="return false;"> <img src="'+im('go-down.svg')+'" align="top" height="10"/> Next </button> <div class="separator"></div> <input style="width:25px;" type="number" id="pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1" /> <span>/</span> <span id="numPages">--</span> <div class="separator"></div> <button id="zoomOut" title="Zoom Out" onclick="PDFView.zoomOut();" oncontextmenu="return false;"> <img src="'+im('zoom-out.svg')+'" align="top" height="10"/> </button> <button id="zoomIn" title="Zoom In" onclick="PDFView.zoomIn();" oncontextmenu="return false;"> <img src="'+im('zoom-in.svg')+'" align="top" height="10"/> </button> <div class="separator"></div> <select id="scaleSelect" onchange="PDFView.parseScale(this.value);" oncontextmenu="return false;"> <option id="customScaleOption" value="custom"></option> <option value="0.5">50%</option> <option value="0.75">75%</option> <option value="1">100%</option> <option value="1.25" selected="selected">125%</option> <option value="1.5">150%</option> <option value="2">200%</option> <option id="pageWidthOption" value="page-width">Page Width</option> <option id="pageFitOption" value="page-fit">Page Fit</option> </select> <div class="separator"></div> <button id="print" onclick="window.print();" oncontextmenu="return false;"> <img src="'+im('document-print.svg')+'" align="top" height="10"/> Print </button> <button id="download" title="Download" onclick="PDFView.download();" oncontextmenu="return false;"> <img src="'+im('download.svg')+'" align="top" height="10"/> Download </button><button id="close" title="Close viewer" onclick="hidePDFviewer();" oncontextmenu="return false;">x</button> <span id="info">--</span> </div>'); + oldcontent = $("#content").html(); + $("#content").html(oldcontent+'<div id="loading">Loading... 0%</div> <div id="viewer"></div>'); + $("#controls").css({top:"0px",height:"3.5em",zIndex:200}); + lastTitle = document.title; + PDFView.Ptitle = filename; + PDFView.open(url,1.00); + $("#pageWidthOption").attr("selected","selected"); + $("header").css({zIndex:0}); + viewer_is_shown = true; + } +} + +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>'; + +$(document).ready(function(){ + if(location.href.indexOf("files")!=-1) { + PDFJS.workerSrc = OC.filePath('files_pdfviewer','js','pdfjs/build/pdf.js'); + if(typeof FileActions!=='undefined'){ + FileActions.register('application/pdf','Edit','',function(filename){ + showPDFviewer($('#dir').val(),filename); + }); + FileActions.setDefault('application/pdf','Edit'); + } + OC.search.customResults.Text=function(row,item){ + var text=item.link.substr(item.link.indexOf('file=')+5); + var a=row.find('a'); + a.data('file',text); + a.attr('href','#'); + a.click(function(){ + var file=text.split('/').pop(); + var dir=text.substr(0,text.length-file.length-1); + showFileEditor(dir,file); + }); + } + } +}); |