Welcome to mirror list, hosted at ThFree Co, Russian Federation.

lightbox.js « js « files_imageviewer « apps - github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e29bc510ee361ac51c7d8af7e0211a00682e566b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var lightBoxShown=false;
$(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));
	lightBoxShown=true;
}

function hideLightbox(){
	if(lightBoxShown){
		$('#lightbox_overlay').remove();
		$('#lightbox').remove();
	}
}