%for FID, (cs1, cs2, change, path, diff, stats) in c.changes[c.changeset.raw_id].iteritems():
@@ -198,6 +196,85 @@ ${self.repo_context_bar('changelog')}
// inject comments into they proper positions
var file_comments = YUQ('.inline-comment-placeholder');
renderInlineComments(file_comments);
+
+ pyroutes.register('changeset_home',
+ "${h.url('changeset_home', repo_name='%(repo_name)s', revision='%(revision)s')}",
+ ['repo_name', 'revision']);
+
+ //next links
+ $('#child_link').on('click', function(e){
+ //fetch via ajax what is going to be the next link, if we have
+ //>1 links show them to user to choose
+ if(!$('#child_link').hasClass('disabled')){
+ $.ajax({
+ url: '${h.url('changeset_children',repo_name=c.repo_name, revision=c.changeset.raw_id)}',
+ success: function(data) {
+ if(data.results.length === 0){
+ $('#child_link').addClass('disabled');
+ $('#child_link').html('${_('no revisions')}');
+ }
+ if(data.results.length === 1){
+ var commit = data.results[0];
+ window.location = pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': commit.raw_id});
+ }
+ else if(data.results.length === 2){
+ $('#child_link').addClass('disabled');
+ $('#child_link').addClass('double');
+ var _html = '';
+ _html +='
__rev__ '
+ .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6)))
+ .replace('__title__', data.results[0].message)
+ .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[0].raw_id}));
+ _html +='
'
+ _html +='
__rev__ '
+ .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6)))
+ .replace('__title__', data.results[1].message)
+ .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[1].raw_id}));
+ $('#child_link').html(_html);
+ }
+ },
+ });
+ e.preventDefault();
+ }
+ })
+
+ //prev links
+ $('#parent_link').on('click', function(e){
+ //fetch via ajax what is going to be the next link, if we have
+ //>1 links show them to user to choose
+ if(!$('#parent_link').hasClass('disabled')){
+ $.ajax({
+ url: '${h.url('changeset_parents',repo_name=c.repo_name, revision=c.changeset.raw_id)}',
+ success: function(data) {
+ if(data.results.length === 0){
+ $('#parent_link').addClass('disabled');
+ $('#parent_link').html('${_('no revisions')}');
+ }
+ if(data.results.length === 1){
+ var commit = data.results[0];
+ window.location = pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': commit.raw_id});
+ }
+ else if(data.results.length === 2){
+ $('#parent_link').addClass('disabled');
+ $('#parent_link').addClass('double');
+ var _html = '';
+ _html +='
__rev__'
+ .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6)))
+ .replace('__title__', data.results[0].message)
+ .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[0].raw_id}));
+ _html +='
'
+ _html +='
__rev__'
+ .replace('__rev__','r{0}:{1}'.format(data.results[1].revision, data.results[1].raw_id.substr(0,6)))
+ .replace('__title__', data.results[1].message)
+ .replace('__url__', pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}','revision': data.results[1].raw_id}));
+ $('#parent_link').html(_html);
+ }
+ },
+ });
+ e.preventDefault();
+ }
+ })
+
})