##// END OF EJS Templates
small UI changes for pull-request view
small UI changes for pull-request view

File last commit:

r2461:015a42e9 beta
r2482:1fd3c043 beta
Show More
files_source.html
126 lines | 5.6 KiB | text/html | HtmlLexer
<dl>
<dt class="file_history">${_('History')}</dt>
<dd>
<div>
<div style="float:left">
${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')}
${h.hidden('diff2',c.file.changeset.raw_id)}
${h.select('diff1',c.file.changeset.raw_id,c.file_history)}
${h.submit('diff',_('diff to revision'),class_="ui-btn")}
${h.submit('show_rev',_('show at revision'),class_="ui-btn")}
${h.end_form()}
</div>
<div class="file_author">
<div class="item">${h.literal(ungettext(u'%s author',u'%s authors',len(c.authors)) % ('<b>%s</b>' % len(c.authors))) }</div>
%for email, user in c.authors:
<div class="contributor tooltip" style="float:left" title="${h.tooltip(user)}">
<div class="gravatar" style="margin:1px"><img alt="gravatar" src="${h.gravatar_url(email, 20)}"/> </div>
</div>
%endfor
</div>
</div>
<div style="clear:both"></div>
</dd>
</dl>
<div id="body" class="codeblock">
<div class="code-header">
<div class="stats">
<div class="left img"><img src="${h.url('/images/icons/file.png')}"/></div>
<div class="left item"><pre class="tooltip" title="${h.tooltip(h.fmt_date(c.file.changeset.date))}">${h.link_to("r%s:%s" % (c.file.changeset.revision,h.short_id(c.file.changeset.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id))}</pre></div>
<div class="left item"><pre>${h.format_byte_size(c.file.size,binary=True)}</pre></div>
<div class="left item last"><pre>${c.file.mimetype}</pre></div>
<div class="buttons">
%if c.annotate:
${h.link_to(_('show source'), h.url('files_home', repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
%else:
${h.link_to(_('show annotation'),h.url('files_annotate_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
%endif
${h.link_to(_('show as raw'),h.url('files_raw_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
${h.link_to(_('download as raw'),h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
% if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):
% if not c.file.is_binary:
${h.link_to(_('edit'),h.url('files_edit_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
% endif
% endif
</div>
</div>
<div class="author">
<div class="gravatar">
<img alt="gravatar" src="${h.gravatar_url(h.email(c.file.changeset.author),16)}"/>
</div>
<div title="${c.file.changeset.author}" class="user">${h.person(c.file.changeset.author)}</div>
</div>
<div class="commit">${h.urlify_commit(c.file.changeset.message,c.repo_name)}</div>
</div>
<div class="code-body">
%if c.file.is_binary:
${_('Binary file (%s)') % c.file.mimetype}
%else:
% if c.file.size < c.cut_off_limit:
%if c.annotate:
${h.pygmentize_annotation(c.repo_name,c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
%else:
${h.pygmentize(c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
%endif
%else:
${_('File is too big to display')} ${h.link_to(_('show as raw'),
h.url('files_raw_home',repo_name=c.repo_name,revision=c.file.changeset.raw_id,f_path=c.f_path))}
%endif
%endif
</div>
</div>
<script type="text/javascript">
YUE.onDOMReady(function(){
function highlight_lines(lines){
for(pos in lines){
YUD.setStyle('L'+lines[pos],'background-color','#FFFFBE');
}
}
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]));
}
}
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;
}
YUE.on('show_rev','click',function(e){
YUE.preventDefault(e);
var cs = YUD.get('diff1').value;
%if c.annotate:
var url = "${h.url('files_annotate_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
%else:
var url = "${h.url('files_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
%endif
window.location = url;
});
YUE.on('hlcode','mouseup',getSelectionLink("${_('Selection link')}"))
});
</script>