##// END OF EJS Templates
Added number of comments in changelog for each changeset...
Added number of comments in changelog for each changeset - significantly improved speed of changelog page for large repos

File last commit:

r1884:0614862a beta
r1884:0614862a beta
Show More
changelog.html
225 lines | 9.6 KiB | text/html | HtmlLexer
renamed project to rhodecode
r547 ## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>
<%def name="title()">
#38 updated RhodeCode titles
r619 ${c.repo_name} ${_('Changelog')} - ${c.rhodecode_name}
renamed project to rhodecode
r547 </%def>
<%def name="breadcrumbs_links()">
${h.link_to(u'Home',h.url('/'))}
&raquo;
${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
&raquo;
${_('Changelog')} - ${_('showing ')} ${c.size if c.size <= c.total_cs else c.total_cs} ${_('out of')} ${c.total_cs} ${_('revisions')}
</%def>
<%def name="page_nav()">
${self.menu('changelog')}
</%def>
<%def name="main()">
<div class="box">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<div class="table">
% if c.pagination:
<div id="graph">
<div id="graph_nodes">
<canvas id="graph_canvas"></canvas>
</div>
<div id="graph_content">
<div class="container_header">
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 ${h.form(h.url.current(),method='get')}
implemented #44 - branch filtering in changelog, aka branch browser...
r1656 <div class="info_box" style="float:left">
UI !
r1756 ${h.submit('set',_('Show'),class_="ui-btn")}
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 ${h.text('size',size=1,value=c.size)}
Aras Pranckevicius
changelog: more commits by default; tweak top header layout
r1850 ${_('revisions')}
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 </div>
${h.end_form()}
Aras Pranckevicius
changelog: more commits by default; tweak top header layout
r1850 <div id="rev_range_container" style="display:none"></div>
implemented #44 - branch filtering in changelog, aka branch browser...
r1656 <div style="float:right">${h.select('branch_filter',c.branch_name,c.branch_filters)}</div>
renamed project to rhodecode
r547 </div>
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977
renamed project to rhodecode
r547 %for cnt,cs in enumerate(c.pagination):
UI fixes...
r1865 <div id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
renamed project to rhodecode
r547 <div class="left">
Aras Pranckevicius
changelog: more polish
r1853 <div>
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 ${h.checkbox(cs.short_id,class_="changeset_range")}
UI fixes...
r1865 <span class="tooltip" title="${h.age(cs.date)}"><a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id)}"><span class="changeset_id">${cs.revision}:<span class="changeset_hash">${h.short_id(cs.raw_id)}</span></span></a></span>
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 </div>
renamed project to rhodecode
r547 <div class="author">
<div class="gravatar">
fixed chrome DAG graph rendering issue
r1463 <img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),16)}"/>
renamed project to rhodecode
r547 </div>
fixes issue #320....
r1764 <div title="${cs.author}" class="user">${h.person(cs.author)}</div>
renamed project to rhodecode
r547 </div>
UI fixes...
r1865 <div class="date">${cs.date}</div>
Aras Pranckevicius
changelog: making less noisy
r1849 </div>
<div class="mid">
Aras Pranckevicius
changelog: make messages be links again, and somewhat co-exist with issue tracker links (those are bold now)
r1878 <div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
Aras Pranckevicius
changelog: styling "show more" expander
r1882 <div class="expand"><span class="expandtext">&darr; ${_('show more')} &darr;</span></div>
renamed project to rhodecode
r547 </div>
<div class="right">
changelog uses lazy loading of affected files details, in some scenarios this can improve speed...
r1431 <div id="${cs.raw_id}_changes_info" class="changes">
Added number of comments in changelog for each changeset...
r1884 <div id="${cs.raw_id}" style="float:right;" class="changed_total tooltip" title="${_('Affected number of files, click to show more details')}">${len(cs.affected_files)}</div>
<div class="comments-container">
%if len(c.comments.get(cs.raw_id,[])) > 0:
<div class="comments-cnt" title="${('comments')}">${len(c.comments.get(cs.raw_id,[]))}</div>
<img src="${h.url('/images/icons/comments.png')}">
%endif
</div>
</div>
Aras Pranckevicius
css: merge/branch/tag blurbs
r1856 %if cs.parents:
renamed project to rhodecode
r547 %for p_cs in reversed(cs.parents):
Aras Pranckevicius
changelog: more polish
r1853 <div class="parent">${_('Parent')}
<span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
renamed project to rhodecode
r547 </div>
%endfor
large initial commits fixup...
r566 %else:
<div class="parent">${_('No parents')}</div>
%endif
renamed project to rhodecode
r547 <span class="logtags">
Aras Pranckevicius
css: merge/branch/tag blurbs
r1856 %if len(cs.parents)>1:
<span class="merge">${_('merge')}</span>
%endif
Code refactor for auth func, preparing for ldap support...
r699 %if cs.branch:
renamed project to rhodecode
r547 <span class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
Code refactor for auth func, preparing for ldap support...
r699 ${h.link_to(cs.branch,h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
%endif
renamed project to rhodecode
r547 %for tag in cs.tags:
<span class="tagtag" title="${'%s %s' % (_('tag'),tag)}">
Fixes for raw_id, needed for git...
r636 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
renamed project to rhodecode
r547 %endfor
</span>
</div>
</div>
%endfor
<div class="pagination-wh pagination-left">
${c.pagination.pager('$link_previous ~2~ $link_next')}
</div>
</div>
</div>
removed obsolete _static flag from url, and fixed urls in webhelpers
r1050 <script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
renamed project to rhodecode
r547 <script type="text/javascript">
YAHOO.util.Event.onDOMReady(function(){
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977
//Monitor range checkboxes and build a link to changesets
changelog uses lazy loading of affected files details, in some scenarios this can improve speed...
r1431 //ranges
started work on #93 added rev ranges view, checkboxes in changelog to view ranges of changes
r977 var checkboxes = YUD.getElementsByClassName('changeset_range');
var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
YUE.on(checkboxes,'click',function(e){
var checked_checkboxes = [];
for (pos in checkboxes){
if(checkboxes[pos].checked){
checked_checkboxes.push(checkboxes[pos]);
}
}
if(checked_checkboxes.length>1){
var rev_end = checked_checkboxes[0].name;
var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
var url = url_tmpl.replace('__REVRANGE__',
rev_start+'...'+rev_end);
var link = "<a href="+url+">${_('Show selected changes __S -> __E')}</a>"
link = link.replace('__S',rev_start);
link = link.replace('__E',rev_end);
YUD.get('rev_range_container').innerHTML = link;
YUD.setStyle('rev_range_container','display','');
}
else{
YUD.setStyle('rev_range_container','display','none');
}
});
UI fixes...
r1865 var msgs = YUQ('.message');
Aras Pranckevicius
changelog: simplify row expansion and fix for Firefox (parentElement->parentNode)
r1879 // get first element height
UI fixes...
r1865 var el = YUQ('.container')[0];
var row_h = el.clientHeight;
for(var i=0;i<msgs.length;i++){
var m = msgs[i];
var h = m.clientHeight;
var pad = YUD.getStyle(m,'padding');
if(h > row_h){
YUD.setStyle(m.nextElementSibling,'display','block');
YUD.setStyle(m.nextElementSibling,'margin-top',row_h-(h+14)+'px');
};
}
YUE.on(YUQ('.expand'),'click',function(e){
Aras Pranckevicius
changelog: simplify row expansion and fix for Firefox (parentElement->parentNode)
r1879 var elem = e.currentTarget.parentNode.parentNode;
UI fixes...
r1865 YUD.setStyle(e.currentTarget,'display','none');
Aras Pranckevicius
changelog: simplify row expansion and fix for Firefox (parentElement->parentNode)
r1879 YUD.setStyle(elem,'height','auto');
UI fixes...
r1865
Aras Pranckevicius
changelog: simplify row expansion and fix for Firefox (parentElement->parentNode)
r1879 //redraw the graph, max_w and jsdata are global vars
UI fixes...
r1865 set_canvas(max_w);
var r = new BranchRenderer();
r.render(jsdata,max_w);
})
implemented #44 - branch filtering in changelog, aka branch browser...
r1656 // Fetch changeset details
changelog uses lazy loading of affected files details, in some scenarios this can improve speed...
r1431 YUE.on(YUD.getElementsByClassName('changed_total'),'click',function(e){
var id = e.currentTarget.id
var url = "${h.url('changelog_details',repo_name=c.repo_name,cs='__CS__')}"
var url = url.replace('__CS__',id);
ypjax(url,id+'_changes_info',function(){tooltip_activate()});
});
implemented #44 - branch filtering in changelog, aka branch browser...
r1656 // change branch filter
YUE.on(YUD.get('branch_filter'),'change',function(e){
var selected_branch = e.currentTarget.options[e.currentTarget.selectedIndex].value;
var url_main = "${h.url('changelog_home',repo_name=c.repo_name)}";
var url = "${h.url('changelog_home',repo_name=c.repo_name,branch='__BRANCH__')}";
var url = url.replace('__BRANCH__',selected_branch);
if(selected_branch != ''){
window.location = url;
}else{
window.location = url_main;
}
});
changelog uses lazy loading of affected files details, in some scenarios this can improve speed...
r1431
improved rendering of dag (they are not trimmed anymore when number of heads exceeds 5)
r1429 function set_canvas(heads) {
renamed project to rhodecode
r547 var c = document.getElementById('graph_nodes');
var t = document.getElementById('graph_content');
canvas = document.getElementById('graph_canvas');
var div_h = t.clientHeight;
c.style.height=div_h+'px';
canvas.setAttribute('height',div_h);
improved rendering of dag (they are not trimmed anymore when number of heads exceeds 5)
r1429 c.style.height=max_w+'px';
canvas.setAttribute('width',max_w);
renamed project to rhodecode
r547 };
improved rendering of dag (they are not trimmed anymore when number of heads exceeds 5)
r1429 var heads = 1;
var max_heads = 0;
renamed project to rhodecode
r547 var jsdata = ${c.jsdata|n};
improved rendering of dag (they are not trimmed anymore when number of heads exceeds 5)
r1429
for( var i=0;i<jsdata.length;i++){
var m = Math.max.apply(Math, jsdata[i][1]);
if (m>max_heads){
max_heads = m;
}
}
var max_w = Math.max(100,max_heads*25);
set_canvas(max_w);
renamed project to rhodecode
r547 var r = new BranchRenderer();
improved rendering of dag (they are not trimmed anymore when number of heads exceeds 5)
r1429 r.render(jsdata,max_w);
implemented #44 - branch filtering in changelog, aka branch browser...
r1656
renamed project to rhodecode
r547 });
</script>
%else:
${_('There are no changes yet')}
%endif
</div>
</div>
UI fixes...
r1865 </%def>