files_source.html
174 lines
| 6.2 KiB
| text/html
|
HtmlLexer
r547 | <dl> | |||
r802 | <dt>${_('Revision')}</dt> | |||
r547 | <dd> | |||
r636 | ${h.link_to("r%s:%s" % (c.files_list.last_changeset.revision,h.short_id(c.files_list.last_changeset.raw_id)), | |||
r802 | h.url('changeset_home',repo_name=c.repo_name,revision=c.files_list.last_changeset.raw_id))} | |||
r547 | </dd> | |||
<dt>${_('Size')}</dt> | ||||
<dd>${h.format_byte_size(c.files_list.size,binary=True)}</dd> | ||||
<dt>${_('Mimetype')}</dt> | ||||
<dd>${c.files_list.mimetype}</dd> | ||||
<dt>${_('Options')}</dt> | ||||
<dd>${h.link_to(_('show annotation'), | ||||
r644 | h.url('files_annotate_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))} | |||
r547 | / ${h.link_to(_('show as raw'), | |||
r644 | h.url('files_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))} | |||
r547 | / ${h.link_to(_('download as raw'), | |||
r644 | h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))} | |||
r1305 | % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): | |||
r1313 | % if not c.files_list.is_binary: | |||
r1305 | / ${h.link_to(_('edit'), | |||
h.url('files_edit_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))} | ||||
r1313 | % endif | |||
r1305 | % endif | |||
r547 | </dd> | |||
<dt>${_('History')}</dt> | ||||
<dd> | ||||
<div> | ||||
${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')} | ||||
r636 | ${h.hidden('diff2',c.files_list.last_changeset.raw_id)} | |||
${h.select('diff1',c.files_list.last_changeset.raw_id,c.file_history)} | ||||
r1304 | ${h.submit('diff','diff to revision',class_="ui-button-small")} | |||
${h.submit('show_rev','show at revision',class_="ui-button-small")} | ||||
r547 | ${h.end_form()} | |||
</div> | ||||
</dd> | ||||
</dl> | ||||
<div id="body" class="codeblock"> | ||||
<div class="code-header"> | ||||
r636 | <div class="revision">${c.files_list.name}@r${c.files_list.last_changeset.revision}:${h.short_id(c.files_list.last_changeset.raw_id)}</div> | |||
r547 | <div class="commit">"${c.files_list.last_changeset.message}"</div> | |||
</div> | ||||
<div class="code-body"> | ||||
r1043 | %if c.files_list.is_binary: | |||
r1241 | ${_('Binary file (%s)') % c.files_list.mimetype} | |||
r1043 | %else: | |||
r813 | % if c.files_list.size < c.cut_off_limit: | |||
r965 | ${h.pygmentize(c.files_list,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")} | |||
r547 | %else: | |||
Augusto Herrmann
|
r1472 | ${_('File is too big to display')} ${h.link_to(_('show as raw'), | ||
r644 | h.url('files_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))} | |||
r547 | %endif | |||
r969 | <script type="text/javascript"> | |||
function highlight_lines(lines){ | ||||
for(pos in lines){ | ||||
YUD.setStyle('L'+lines[pos],'background-color','#FFFFBE'); | ||||
r1320 | } | |||
r969 | } | |||
page_highlights = location.href.substring(location.href.indexOf('#')+1).split('L'); | ||||
if (page_highlights.length == 2){ | ||||
highlight_ranges = page_highlights[1].split(","); | ||||
var h_lines = []; | ||||
for (pos in highlight_ranges){ | ||||
var _range = highlight_ranges[pos].split('-'); | ||||
if(_range.length == 2){ | ||||
var start = parseInt(_range[0]); | ||||
var end = parseInt(_range[1]); | ||||
if (start < end){ | ||||
for(var i=start;i<=end;i++){ | ||||
h_lines.push(i); | ||||
} | ||||
} | ||||
} | ||||
else{ | ||||
h_lines.push(parseInt(highlight_ranges[pos])); | ||||
} | ||||
} | ||||
r1320 | highlight_lines(h_lines); | |||
//remember original location | ||||
var old_hash = location.href.substring(location.href.indexOf('#')); | ||||
// this makes a jump to anchor moved by 3 posstions for padding | ||||
window.location.hash = '#L'+Math.max(parseInt(h_lines[0])-3,1); | ||||
//sets old anchor | ||||
window.location.hash = old_hash; | ||||
r969 | } | |||
r1043 | </script> | |||
%endif | ||||
r547 | </div> | |||
</div> | ||||
<script type="text/javascript"> | ||||
r1320 | YUE.onDOMReady(function(){ | |||
YUE.on('show_rev','click',function(e){ | ||||
YUE.preventDefault(e); | ||||
r547 | var cs = YAHOO.util.Dom.get('diff1').value; | |||
var url = "${h.url('files_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs); | ||||
window.location = url; | ||||
r1320 | }); | |||
function getIdentNode(n){ | ||||
//iterate thru nodes untill matched interesting node ! | ||||
if (typeof n == 'undefined'){ | ||||
return -1 | ||||
} | ||||
if(typeof n.id != "undefined" && n.id.match('L[0-9]+')){ | ||||
return n | ||||
} | ||||
else{ | ||||
return getIdentNode(n.parentNode); | ||||
} | ||||
} | ||||
function getSelectionLink() { | ||||
//get selection from start/to nodes | ||||
if (typeof window.getSelection != "undefined") { | ||||
s = window.getSelection(); | ||||
from = getIdentNode(s.anchorNode); | ||||
till = getIdentNode(s.focusNode); | ||||
f_int = parseInt(from.id.replace('L','')); | ||||
t_int = parseInt(till.id.replace('L','')); | ||||
if (f_int > t_int){ | ||||
//highlight from bottom | ||||
offset = -35; | ||||
r1322 | ranges = [t_int,f_int]; | |||
r1320 | } | |||
else{ | ||||
//highligth from top | ||||
offset = 35; | ||||
r1322 | ranges = [f_int,t_int]; | |||
r1320 | } | |||
if (ranges[0] != ranges[1]){ | ||||
if(YUD.get('linktt') == null){ | ||||
hl_div = document.createElement('div'); | ||||
hl_div.id = 'linktt'; | ||||
} | ||||
anchor = '#L'+ranges[0]+'-'+ranges[1]; | ||||
hl_div.innerHTML = ''; | ||||
l = document.createElement('a'); | ||||
l.href = location.href.substring(0,location.href.indexOf('#'))+anchor; | ||||
l.innerHTML = "${_('Selection link')}" | ||||
hl_div.appendChild(l); | ||||
YUD.get('body').appendChild(hl_div); | ||||
xy = YUD.getXY(till.id); | ||||
YUD.addClass('linktt','yui-tt'); | ||||
YUD.setStyle('linktt','top',xy[1]+offset+'px'); | ||||
YUD.setStyle('linktt','left',xy[0]+'px'); | ||||
YUD.setStyle('linktt','visibility','visible'); | ||||
} | ||||
else{ | ||||
YUD.setStyle('linktt','visibility','hidden'); | ||||
} | ||||
} | ||||
} | ||||
YUE.on('hlcode','mouseup',getSelectionLink) | ||||
r547 | }); | |||
Augusto Herrmann
|
r1472 | </script> | ||