2012-12-20 11:50:56 +00:00
{% load i18n %}
{% if not err %}
{% if filetype == 'Text' %}
{% ifnotequal file_content None %}
var editor = CodeMirror.fromTextArea($('#docu-view')[0], {
{% include 'snippets/editor_set_mode.html' %}
theme: 'default',
indentUnit: 4,
{% if fileext != 'txt' and fileext != 'text' %}
lineNumbers: true,
{% endif %}
lineWrapping: true,
readOnly: true
});
{% endifnotequal %}
{% endif %}
{% if filetype == 'Image' %}
2013-02-05 09:50:32 +00:00
var img_ht = {{file_content.img_h}};
2013-01-31 05:17:28 +00:00
var file_view_ht = parseInt($('#file-view').css('min-height'));
var prev_next_ht = 0;
if ($('#img-prev-next').length > 0) {
prev_next_ht = $('#img-prev-next').outerHeight(true);
2012-12-20 11:50:56 +00:00
}
2013-01-31 05:17:28 +00:00
if (img_ht < file_view_ht - prev_next_ht ) {
$('#image-view').css({'margin-top':(file_view_ht - img_ht - prev_next_ht)/2});
}
$('#image-view').removeClass('vh');
2012-12-20 11:50:56 +00:00
{% endif %}
{% if filetype == 'SVG' %}
if (!$.browser.mozilla & & !$.browser.safari & & !($.browser.msie & & parseInt($.browser.version) > 8)) {
$('#file-view').html('< div id = "file-view-tip" > < p > {% trans "To view it online, you can use firefox, chrome or IE 9." %}< / p > < / div > ');
} else {
$('#file-view').html('< iframe src = "{{ raw_path }}" frameborder = "0" id = "svg-view" > < / iframe > ');
}
{% endif %}
{% if filetype == 'Markdown' %}
{% ifnotequal file_content None %}
var converter = new Showdown.converter();
2013-02-24 08:52:10 +00:00
$('#md-view').html(converter.makeHtml('{{ file_content|escapejs }}')).children(':first').css('margin-top', '0');
2012-12-20 11:50:56 +00:00
{% endifnotequal %}
{% endif %}
2013-01-09 07:32:44 +00:00
{% if filetype == 'Document' or filetype == 'PDF' and not use_pdfjs %}
2013-01-10 02:58:45 +00:00
$('#file-view').html('< div id = "flash" > < / div > ');
function load_flexpaper() {
var swf_url = '{{ DOCUMENT_CONVERTOR_ROOT }}swf/{{ obj_id }}';
var fp = new FlexPaperViewer(
2012-12-20 11:50:56 +00:00
'{{MEDIA_URL}}flexpaper/FlexPaperViewer',
'flash', { config : {
SwfFile : escape(swf_url),
Scale : 1.0,
ZoomTransition : 'easeOut',
ZoomTime : 0.5,
ZoomInterval : 0.2,
FitPageOnLoad : false,
FitWidthOnLoad : true,
FullScreenAsMaxWindow : false,
ProgressiveLoading : false,
MinZoomSize : 0.2,
MaxZoomSize : 5,
SearchMatchAll : false,
InitViewMode : 'Portrait',
PrintPaperAsBitmap : false,
ViewModeToolsVisible : true,
ZoomToolsVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true,
localeChain: 'en_US'
}});
2013-01-10 02:58:45 +00:00
}
{% if swf_exists %}
load_flexpaper();
{% else %}
function check_status () {
$.ajax({
url: '{{ DOCUMENT_CONVERTOR_ROOT }}status?file_id={{ obj_id }}',
cache: false,
dataType: 'jsonp',
jsonpCallback: 'xx',
crossDomain: true,
success: function(data) {
var status = data['status'];
if (status == 'QUEUED' || status == 'PROCESSING') {
setTimeout(check_status, 2000);
} else {
load_flexpaper();
}
},
error: function(xhr, textStatus, errorThrown) {
var str;
if (xhr.responseText) {
str = '{% trans "Document convertion failed." %}';
} else {
str = '{% trans "Failed. Please check the network." %}';
}
$('#file-view').html('< div id = "file-view-tip" > < p class = "error" > ' + str + '< / p > < / div > ');
2012-12-20 11:50:56 +00:00
}
});
}
check_status();
{% endif %}
{% endif %}
2013-01-09 07:32:44 +00:00
{% if filetype == 'PDF' and use_pdfjs %}
2013-01-10 09:37:43 +00:00
if (!($.browser.msie & & parseInt($.browser.version) < 10 ) ) {
2013-01-09 07:32:44 +00:00
PDFJS.workerSrc = '{{MEDIA_URL}}js/pdf.js';
$('#file-view').html('< div id = "pdf" > < div id = "pdf-op-bar" class = "vh" > < span id = "pdf-page-left" > < button id = "prev" > {% trans "Previous" %}< / button > < / span > {% blocktrans %}< span id = "pdf-page" > < label for = "page-number" > Page< / label > < input type = "number" id = "page-number" value = "1" min = "1" > < / input > / < span id = "page-nums" > < / span > < / span > {% endblocktrans %}< span id = "pdf-page-right" > < button id = "next" style = "margin-right:15px;" > {% trans "Next" %}< / button > < button id = "full-screen" > {% trans "Full Screen" %}< / button > < / span > < / div > < img src = "{{ MEDIA_URL }}pdf_full_view/images/loading-icon.gif" alt = "{% trans " loading . . . " % } " id = "pdf-loading" style = "margin:20px 0;" / > < canvas data = "{{ raw_path }}" id = "pdf-view" class = "hide" > < / canvas > < / div > ').css({'text-align':'center'});
$('#pdf-page-left, #pdf-page-right').css('display', 'inline-block');
$('#pdf-page-left').css({'text-align':'right', 'width': $('#pdf-page-right').width()});
$('#pdf-op-bar').removeClass('vh');
var seahub_getPage = function (pdf, page_number) {
pdf.getPage(page_number).then(function(page) {
var scale = 1.5;
var viewport = page.getViewport(scale);
var canvas = $('#pdf-view')[0];
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
};
PDFJS.getDocument($('#pdf-view').attr('data')).then(function(pdf) {
$('#page-nums').html(pdf.numPages);
$('#page-number').attr('max', pdf.numPages).css('width', String(pdf.numPages).length * 6 + 10);
seahub_getPage(pdf, 1);
$('#pdf-loading').addClass('hide');
$('#pdf-view').removeClass('hide');
$('#page-number').change(function() {
seahub_getPage(pdf, $(this).val());
});
$('#prev').click(function() {
var current = $('#page-number').val();
if (current > 1) {
seahub_getPage(pdf, --current);
$('#page-number').val(current);
}
});
$('#next').click(function() {
var current = $('#page-number').val();
if (current < pdf.numPages ) {
seahub_getPage(pdf, ++current);
$('#page-number').val(current);
}
});
$('#full-screen').click(function() {
window.open('{{ SITE_ROOT }}pdf_full_view/?repo_id={{ repo.id }}& obj_id={{obj_id}}& file_name=' + e('{{ file_name }}'));
});
});
} else {
2013-01-10 09:37:43 +00:00
$('#file-view').html('< div id = "file-view-tip" > < p > {% trans "You can use IE 10 or other browsers, for example, firefox, to view it online." %}< / p > < / div > ');
2013-01-09 07:32:44 +00:00
}
{% endif %}
2012-12-20 11:50:56 +00:00
{% if filetype == 'Unknown' %}
$('#file-view').html('< div id = "file-view-tip" > < p > {% trans "This type of file cannot be viewed online." %}< / p > < / div > ');
{% endif %}
2013-01-09 07:32:44 +00:00
{% endif %}{# 'if not err' ends here. #}
2013-02-24 08:52:10 +00:00
{% if filetype == 'Text' or filetype == 'Sf' or filetype == 'Markdown' %}
$('#file-enc').change(function() {
var file_enc = $(this).val();
var s = location.search;
if (s.indexOf('?') == -1) {
location.search = '?file_enc=' + file_enc;
} else {
if (s.indexOf('file_enc') == -1) {
location.search += '& file_enc=' + file_enc;
} else {
var params = s.substr(1).split('&');
var param;
for (var i = 0, len = params.length; i < len ; i + + ) {
param = params[i].split('=');
if (param[0] == 'file_enc') {
param[1] = file_enc;
params[i] = param.join('=');
break;
}
}
location.search = '?' + params.join('&');
}
}
})
{% endif %}