@@ -89,213 +89,212 @@ ${self.repo_context_bar('changelog', c.f
%if c.statuses.get(cs.raw_id):
<div class="changeset-status-ico">
%if c.statuses.get(cs.raw_id)[2]:
<a class="tooltip" title="${_('Changeset status: %s\nClick to open associated pull request %s') % (c.statuses.get(cs.raw_id)[1], c.statuses.get(cs.raw_id)[4])}" href="${h.url('pullrequest_show',repo_name=c.statuses.get(cs.raw_id)[3],pull_request_id=c.statuses.get(cs.raw_id)[2])}">
<i class="icon-circle changeset-status-${c.statuses.get(cs.raw_id)[0]}"></i>
</a>
%else:
<a class="tooltip" title="${_('Changeset status: %s') % c.statuses.get(cs.raw_id)[1]}" href="${c.comments[cs.raw_id][0].url()}">
%endif
</div>
</td>
<td class="author">
${h.gravatar(h.email_or_none(cs.author), size=16)}
<span title="${cs.author}" class="user">${h.shorter(h.person(cs.author),22)}</span>
<td class="hash" style="width:${len(h.show_id(cs))*6.5}px">
<a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id)}">
<span class="changeset_hash">${h.show_id(cs)}</span>
<td class="date">
<div class="date tooltip" title="${h.fmt_date(cs.date)}">${h.age(cs.date,True)}</div>
<td class="expand_commit" commit_id="${cs.raw_id}" title="${_('Expand commit message')}">
<i class="icon-align-left" style="color:#999"></i>
<td class="mid">
<div class="log-container">
<div class="message" id="C-${cs.raw_id}">${h.urlify_commit(cs.message, c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
<div class="extra-container">
%if c.comments.get(cs.raw_id):
<div class="comments-container">
<div class="comments-cnt" title="${_('Changeset has comments')}">
<a href="${c.comments[cs.raw_id][0].url()}">
${len(c.comments[cs.raw_id])}
<i class="icon-comment-discussion"></i>
%if h.is_hg(c.db_repo_scm_instance):
%for book in cs.bookmarks:
<div class="booktag" title="${_('Bookmark %s') % book}">
${h.link_to(book,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}
%endfor
%for tag in cs.tags:
<div class="tagtag" title="${_('Tag %s') % tag}">
${h.link_to(tag,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}
%if (not c.branch_name) and cs.branch:
<div class="branchtag" title="${_('Branch %s' % cs.branch)}">
${h.link_to(cs.branch,h.url('changelog_home',repo_name=c.repo_name,branch=cs.branch))}
</tr>
</tbody>
</table>
<input type="checkbox" id="singlerange" style="display:none"/>
<div class="pagination-wh pagination-left">
${c.pagination.pager('$link_previous ~2~ $link_next')}
<script type="text/javascript" src="${h.url('/js/graph.js', ver=c.kallithea_version)}"></script>
<script type="text/javascript">
$(document).ready(function(){
var $checkboxes = $('.changeset_range');
pyroutes.register('changeset_home', "${h.url('changeset_home', repo_name='%(repo_name)s', revision='%(revision)s')}", ['repo_name', 'revision']);
var checkbox_checker = function(e) {
var $checked_checkboxes = $checkboxes.filter(':checked');
var $singlerange = $('#singlerange');
$('#rev_range_container').hide();
$checkboxes.show();
$singlerange.show();
if ($checked_checkboxes.length > 0) {
$checked_checkboxes.first().parent('td').append($singlerange);
var singlerange = $singlerange.prop('checked');
var rev_end = $checked_checkboxes.first().prop('name').substr(0, 12);
var rev_end = $checked_checkboxes.first().prop('name');
if ($checked_checkboxes.length > 1 || singlerange) {
var rev_start = $checked_checkboxes.last().prop('name').substr(0, 12);
var rev_start = $checked_checkboxes.last().prop('name');
$('#rev_range_container').prop('href',
pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}',
'revision': rev_start + '...' + rev_end}));
$('#rev_range_container').html(
_TM['Show Selected Changesets {0} → {1}'].format(rev_start, rev_end));
_TM['Show Selected Changesets {0} → {1}'].format(rev_start.substr(0, 12), rev_end.substr(0, 12)));
$('#rev_range_container').show();
$('#open_new_pr').prop('href', pyroutes.url('pullrequest_home',
{'repo_name': '${c.repo_name}',
'rev_start': rev_start,
'rev_end': rev_end}));
$('#open_new_pr').html(_TM['Open New Pull Request for {0} → {1}'].format(rev_start, rev_end));
$('#open_new_pr').html(_TM['Open New Pull Request for {0} → {1}'].format(rev_start.substr(0, 12), rev_end.substr(0, 12)));
} else {
$('#open_new_pr').html(_TM['Open New Pull Request from {0}'].format(rev_end));
$('#open_new_pr').html(_TM['Open New Pull Request from {0}'].format(rev_end.substr(0, 12)));
}
$('#rev_range_clear').show();
$('#compare_fork').hide();
var disabled = true;
$checkboxes.each(function(){
var $this = $(this);
if (disabled) {
if ($this.prop('checked')) {
$this.closest('tr').removeClass('out-of-range');
disabled = singlerange;
$this.closest('tr').addClass('out-of-range');
disabled = $this.prop('checked');
});
if ($checked_checkboxes.length + (singlerange ? 1 : 0) >= 2) {
$checkboxes.hide();
$checked_checkboxes.show();
if (!singlerange)
$singlerange.hide();
$('#singlerange').hide().prop('checked', false);
$('#rev_range_clear').hide();
%if c.revision:
'rev_end':'${c.first_revision.raw_id}'}));
$('#open_new_pr').html(_TM['Open New Pull Request from {0}'].format('${c.revision}'));
'branch':'${c.first_revision.branch}'}));
$('#open_new_pr').html(_TM['Open New Pull Request from {0}'].format('${c.first_revision.branch}'));
$('#compare_fork').show();
$checkboxes.closest('tr').removeClass('out-of-range');
};
checkbox_checker();
$checkboxes.click(function() {
r.render(jsdata,100);
$('#singlerange').click(checkbox_checker);
$('#rev_range_clear').click(function(e){
$checkboxes.prop('checked', false);
var $msgs = $('.message');
// get first element height
var el = $('#graph_content .container')[0];
var row_h = el.clientHeight;
$msgs.each(function() {
var m = this;
var h = m.clientHeight;
if(h > row_h){
var offset = row_h - (h+12);
$(m.nextElementSibling).css('display', 'block');
$(m.nextElementSibling).css('margin-top', offset+'px');
$('.expand_commit').on('click',function(e){
var cid = $(this).attr('commit_id');
$('#C-'+cid).toggleClass('expanded');
//redraw the graph, r and jsdata are bound outside function
// change branch filter
$("#branch_filter").select2({
dropdownAutoWidth: true,
minimumInputLength: 1,
sortResults: branchSort
$("#branch_filter").change(function(e){
var selected_branch = e.currentTarget.options[e.currentTarget.selectedIndex].value;
if(selected_branch != ''){
window.location = pyroutes.url('changelog_home', {'repo_name': '${c.repo_name}',
'branch': selected_branch});
}else{
window.location = pyroutes.url('changelog_home', {'repo_name': '${c.repo_name}'});
$("#changelog").hide();
Status change: