show images on click in search results
This commit is contained in:
parent
2c8b4da840
commit
eb3526c9a6
2 changed files with 39 additions and 23 deletions
|
@ -1,8 +1,6 @@
|
|||
<?php
|
||||
|
||||
if(OC_App::getCurrentApp()=='files'){
|
||||
OC_Util::addScript( 'files_imageviewer', 'lightbox' );
|
||||
OC_Util::addStyle( 'files_imageviewer', 'lightbox' );
|
||||
}
|
||||
OC_Util::addScript( 'files_imageviewer', 'lightbox' );
|
||||
OC_Util::addStyle( 'files_imageviewer', 'lightbox' );
|
||||
|
||||
?>
|
||||
|
|
|
@ -1,31 +1,48 @@
|
|||
|
||||
var lightBoxShown=false;
|
||||
$(document).ready(function() {
|
||||
images={};//image cache
|
||||
var overlay=$('<div id="lightbox_overlay"/>');
|
||||
$( 'body' ).append(overlay);
|
||||
var container=$('<div id="lightbox"/>');
|
||||
$( 'body' ).append(container);
|
||||
$( 'body' ).click(hideLightbox);
|
||||
if(typeof FileActions!=='undefined'){
|
||||
images={};//image cache
|
||||
var overlay=$('<div id="lightbox_overlay"/>');
|
||||
$( 'body' ).append(overlay);
|
||||
var container=$('<div id="lightbox"/>');
|
||||
$( 'body' ).append(container);
|
||||
FileActions.register('image','View','',function(filename){
|
||||
var location='ajax/download.php?files='+filename+'&dir='+$('#dir').val();
|
||||
overlay.show();
|
||||
if(!images[location]){
|
||||
var img = new Image();
|
||||
img.onload = function(){
|
||||
images[location]=img;
|
||||
showLightbox(container,img);
|
||||
}
|
||||
img.src = location;
|
||||
}else{
|
||||
showLightbox(container,images[location]);
|
||||
}
|
||||
viewImage($('#dir').val(),filename);
|
||||
});
|
||||
$( 'body' ).click(hideLightbox);
|
||||
FileActions.setDefault('image','View');
|
||||
}
|
||||
OC.search.customResults.Images=function(row,item){
|
||||
var image=item.link.substr(item.link.indexOf('file=')+5);
|
||||
var a=row.find('a');
|
||||
var container=$('<div id="lightbox"/>');
|
||||
a.attr('href','#');
|
||||
a.click(function(){
|
||||
var file=image.split('/').pop();
|
||||
var dir=image.substr(0,image.length-file.length-1);
|
||||
viewImage(dir,file);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function viewImage(dir,file){
|
||||
var location=OC.filePath('files','ajax','download.php')+'?files='+file+'&dir='+dir;
|
||||
var overlay=$('#lightbox_overlay');
|
||||
var container=$('#lightbox');
|
||||
overlay.show();
|
||||
if(!images[location]){
|
||||
var img = new Image();
|
||||
img.onload = function(){
|
||||
images[location]=img;
|
||||
showLightbox(container,img);
|
||||
}
|
||||
img.src = location;
|
||||
}else{
|
||||
showLightbox(container,images[location]);
|
||||
}
|
||||
}
|
||||
|
||||
function showLightbox(container,img){
|
||||
var maxWidth = $( window ).width() - 50;
|
||||
var maxHeight = $( window ).height() - 50;
|
||||
|
@ -49,8 +66,9 @@ function showLightbox(container,img){
|
|||
},100);
|
||||
}
|
||||
|
||||
function hideLightbox(){
|
||||
function hideLightbox(event){
|
||||
if(lightBoxShown){
|
||||
event.stopPropagation();
|
||||
$('#lightbox_overlay').hide();
|
||||
$('#lightbox').hide();
|
||||
lightBoxShown=false;
|
||||
|
|
Loading…
Reference in a new issue