summaryrefslogtreecommitdiffstats
path: root/apps/files_odfviewer/js/viewer.js
blob: 9455a9a0a0c101f4b4a380cd80fc0aed9175f4a2 (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
51
52
53
54
55
56
57
58
59
60
function viewOdf(dir, file) {
	var location=OC.filePath('files','ajax','download.php')+'?files='+file+'&dir='+dir;

	// fade out files menu and add odf menu
	$('.actions,#file_action_panel').fadeOut('slow').promise().done(function() {
		// odf action toolbar
		var odfToolbarHtml = 
			'<div id="odf-toolbar">' +
			'<input type="button" id="odf_close">'+t('files_odfviewer','Close')+
			'</div>';
		$('#controls').append(odfToolbarHtml);

	});

	// fade out file list and show pdf canvas
	$('table').fadeOut('slow').promise().done(function(){;
		var canvashtml = '<div id="odf-canvas"></div>';
		$('table').after(canvashtml);

		var odfelement = document.getElementById("odf-canvas");
		var odfcanvas = new odf.OdfCanvas(odfelement);
		odfcanvas.load(location);
	});
}

function closeOdfViewer(){
	// Fade out odf-toolbar
	$('#odf-toolbar').fadeOut('slow');
	// Fade out editor
	$('#odf-canvas').fadeOut('slow', function(){
		$('#odf-toolbar').remove();
		$('#odf-canvas').remove();
		$('.actions,#file_access_panel').fadeIn('slow');
		$('table').fadeIn('slow');	
	});
	is_editor_shown = false;
}

$(document).ready(function() {
	if(typeof FileActions!=='undefined'){

		var supportedMimes = new Array(
			'application/vnd.oasis.opendocument.text', 
			'application/vnd.oasis.opendocument.spreadsheet',
			'application/vnd.oasis.opendocument.graphics',
			'application/vnd.oasis.opendocument.presentation');
		for (var i = 0; i < supportedMimes.length; ++i){
			var mime = supportedMimes[i];
			FileActions.register(mime,'View','',function(filename){
				viewOdf($('#dir').val(),filename);
			});
			FileActions.setDefault(mime,'View');
		}
	}
	
	$('#odf_close').live('click',function() {
		closeOdfViewer();	
	});
});