parent
1eb0faa264
commit
4b9665a952
@ -0,0 +1,6 @@ |
||||
<?php |
||||
|
||||
OC_UTIL::addScript( 'files_imageviewer', 'lightbox' ); |
||||
OC_UTIL::addStyle( 'files_imageviewer', 'lightbox' ); |
||||
|
||||
?> |
@ -0,0 +1,10 @@ |
||||
<?xml version="1.0"?> |
||||
<info> |
||||
<id>files_imageview</id> |
||||
<name>Imageviewer</name> |
||||
<description>Simple image viewer for owncloud</description> |
||||
<version>1.0</version> |
||||
<licence>AGPL</licence> |
||||
<author>Robin Appelman</author> |
||||
<require>2</require> |
||||
</info> |
@ -0,0 +1,21 @@ |
||||
#lightbox_overlay{ |
||||
position:absolute; |
||||
height:100%; |
||||
width:100%; |
||||
top:0px; |
||||
left:0px; |
||||
opacity:0.5; |
||||
filter: alpha(opacity = 50); |
||||
background-color:black; |
||||
z-index:9999; |
||||
} |
||||
|
||||
#lightbox{ |
||||
position:absolute; |
||||
max-height:90%; |
||||
max-width:90%; |
||||
top:10px; |
||||
margin-left:auto; |
||||
margin-right:auto; |
||||
z-index:9999; |
||||
} |
@ -0,0 +1,46 @@ |
||||
$(document).ready(function() { |
||||
images={};//image cache
|
||||
FileActions.register('image','View',function(filename){ |
||||
var location='ajax/download.php?files='+filename+'&dir='+$('#dir').val(); |
||||
var overlay=$('<div id="lightbox_overlay"/>'); |
||||
$( 'body' ).append(overlay); |
||||
var container=$('<div id="lightbox"/>'); |
||||
$( 'body' ).append(container); |
||||
if(!images[location]){ |
||||
var img = new Image(); |
||||
img.onload = function(){ |
||||
images[location]=img; |
||||
showLightbox(container,img); |
||||
} |
||||
img.src = location; |
||||
}else{ |
||||
showLightbox(container,images[location]); |
||||
} |
||||
}); |
||||
$( 'body' ).click(hideLightbox); |
||||
FileActions.setDefault('image','View'); |
||||
}); |
||||
|
||||
function showLightbox(container,img){ |
||||
var maxWidth = $( window ).width() - 50; |
||||
var maxHeight = $( window ).height() - 50; |
||||
if( img.width > maxWidth || img.height > maxHeight ) { // One of these is larger than the window
|
||||
var ratio = img.width / img.height; |
||||
if( img.height >= maxHeight ) { |
||||
img.height = maxHeight; |
||||
img.width = maxHeight * ratio; |
||||
} else { |
||||
img.width = maxWidth; |
||||
img.height = maxWidth * ratio; |
||||
} |
||||
} |
||||
container.empty(); |
||||
container.append(img); |
||||
container.css('top',Math.round( ($( window ).height() - img.height)/2)); |
||||
container.css('left',Math.round( ($( window ).width() - img.width)/2)); |
||||
} |
||||
|
||||
function hideLightbox(){ |
||||
$('#lightbox_overlay').remove(); |
||||
$('#lightbox').remove(); |
||||
} |
Loading…
Reference in new issue