1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-15 16:04:01 +00:00
seahub/templates/snippets/repo_file_get.html

187 lines
7.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- <script type="text/javascript"> -->
{% if filetype == 'Text' %}
{% ifnotequal file_content None %}
$('#file-view').css('background', '#fff');
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 %}
readOnly: true
});
{% endifnotequal %}
{% if err %}
$('#file-view').html('<p class="error">{{ err }}</p>').addClass('file-view-tip');
{% endif %}
{% endif %}
{% if filetype == 'Image' %}
$('#file-view').html('<img src="{{ raw_path }}" alt="{{ u_filename}}" id="image-view" />').css({'text-align':'center', 'padding':'30px 0'});
window.onload = function() {
if ($('#image-view').width() > $('#file-view').width()) {
$('#image-view').css('width', $('#file-view').width() - 4);
}
}
{% endif %}
{% if filetype == 'SVG' %}
if (!$.browser.mozilla && !$.browser.safari && !($.browser.msie && parseInt($.browser.version) > 8)) {
$('#file-view').html('<p>在线查看请使用firefox, chrome 或 IE 9。</p>').addClass('file-view-tip');
} else {
$('#file-view').html('<div><iframe src="{{ raw_path }}" frameborder="0" id="svg-view"></iframe></div>');
}
{% endif %}
{% if filetype == 'PDF' and not pdf_use_flash %}
// Use pdf.js to view pdf in firefox/chrome
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">上一页</button></span><span id="pdf-page"><label for="page-number"></label> <input type="number" id="page-number" value="1" min="1"></input> / <span id="page-nums"></span></span><span id="pdf-page-right"><button id="next" style="margin-right:15px;">下一页</button><button id="full-screen">全屏</button></span></div><img src="{{ MEDIA_URL }}pdf_full_view/images/loading-icon.gif" alt="加载中..." id="pdf-loading" style="margin:20px 0;" /><canvas data="{{ raw_path }}" id="pdf-view" class="hide"></canvas></div>').css({'text-align':'center'});
$('#pdf-page-right').append($('#file-op').html());
$('#file-op').html('');
$('#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 }}'));
});
});
{% endif %}
{% if filetype == 'Markdown' %}
{% ifnotequal file_content None %}
var converter = new Showdown.converter();
$('#file-view').html('<div id="md-view" class="article">' + converter.makeHtml('{{ file_content|escapejs }}') + '</div>');
$('#md-view').children(':first').css('margin-top', '0');
{% endifnotequal %}
{% if err %}
$('#file-view').html('<p class="error">{{ err }}</p>').addClass('file-view-tip');
{% endif %}
{% endif %}
{% if filetype == 'Unknown' %}
$('#file-view').html('<p>该类型文件无法在线查看。</p>').addClass('file-view-tip');
{% endif %}
{% if filetype == 'Document' or filetype == 'PDF' and pdf_use_flash %}
{% if err %}
$('#file-view').html('<p class="error">{{ err }}</p>').addClass('file-view-tip');
{% else %}
function load_flexpaper() {
$('#file-view').css('height', '480px');
var swf_url = '{{ DOCUMENT_CONVERTOR_ROOT }}swf/{{ obj_id }}';
var fp = new FlexPaperViewer(
'{{MEDIA_URL}}flexpaper/FlexPaperViewer',
'file-view', { 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'
}});
$('#file-view').children('object').prepend('<param name="wmode" value="opaque">'); //allow popup to show on top of the flash
}
{% if swf_exists %}
load_flexpaper();
{% else %}
function check_status () {
url = '{{ DOCUMENT_CONVERTOR_ROOT }}status';
url += '?file_id={{ obj_id }}';
$.ajax({
url: url,
cache: false,
dataType: 'jsonp',
jsonpCallback: 'xx',
crossDomain: true,
success: function(data) {
if (data['error']) {
$('#file-view').html('<p class="error">' + data['error'] + '</p>');
} else {
var status = data['status'];
if (status == 'QUEUED') {
// $('#file-view').html('<p class="msg">' + '文档转换任务正在排队,请稍后...' + '</p>');
setTimeout(check_status, 2000);
} else if (status == 'PROCESSING') {
// $('#file-view').html('<p class="msg">' + '文档正在转换,请稍候...' + '</p>');
setTimeout(check_status, 2000);
} else {
// $('#file-view').html('<p class="msg">' + '文档转换成功。正在打开...' + '</p>');
load_flexpaper();
}
}
},
error: function(xhr, ajaxOptions, thrownError) {
var jsonVal = jQuery.parseJSON(xhr.responseText);
$('#file-view').html('<p class="error">' + jsonVal['error'] + '</p>');
}
});
}
check_status();
{% endif %}
{% endif %}
{% endif %}