Mercurial > kallithea
changeset 6943:c504e3af9ee8
js: reuse parent/child navigation code - avoid duplication
Modified by Mads Kiilerich.
author | domruf <dominikruf@gmail.com> |
---|---|
date | Mon, 02 Oct 2017 18:24:37 +0200 |
parents | 46bc7191e1e4 |
children | 17dea2319028 |
files | kallithea/public/js/base.js kallithea/templates/base/base.html |
diffstat | 2 files changed, 15 insertions(+), 52 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/public/js/base.js Wed Aug 16 17:34:44 2017 +0200 +++ b/kallithea/public/js/base.js Mon Oct 02 18:24:37 2017 +0200 @@ -1497,64 +1497,27 @@ * activate changeset parent/child navigation links */ var activate_parent_child_links = function(){ - //next links - $('#child_link').on('click', function(e){ + + $('.parent-child-link').on('click', function(e){ + var $this = $(this); //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')){ + if(!$this.hasClass('disabled')){ $.ajax({ - url: $('#child_link').data('ajax-url'), + url: $this.data('ajax-url'), success: function(data) { - var repo_name = $('#child_link').data('reponame'); + var repo_name = $this.data('reponame'); if(data.results.length === 0){ - $('#child_link').addClass('disabled'); - $('#child_link').text(_TM['No revisions']); + $this.addClass('disabled'); + $this.text(_TM['No revisions']); } if(data.results.length === 1){ var commit = data.results[0]; window.location = pyroutes.url('changeset_home', {'repo_name': repo_name, 'revision': commit.raw_id}); } else if(data.results.length === 2){ - $('#child_link').addClass('disabled'); - $('#child_link').addClass('double'); - var _html = ''; - _html +='<a title="__title__" href="__url__">__rev__</a> <i class="icon-right-open"></i>' - .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': repo_name, 'revision': data.results[0].raw_id})); - _html +='<br/>' - _html +='<a title="__title__" href="__url__">__rev__</a> <i class="icon-right-open"></i>' - .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': 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: $('#parent_link').data('ajax-url'), - success: function(data) { - var repo_name = $('#parent_link').data('reponame'); - if(data.results.length === 0){ - $('#parent_link').addClass('disabled'); - $('#parent_link').text(_TM['No revisions']); - } - if(data.results.length === 1){ - var commit = data.results[0]; - window.location = pyroutes.url('changeset_home', {'repo_name': repo_name, 'revision': commit.raw_id}); - } - else if(data.results.length === 2){ - $('#parent_link').addClass('disabled'); - $('#parent_link').addClass('double'); + $this.addClass('disabled'); + $this.addClass('double'); var _html = ''; _html +='<i class="icon-left-open"></i> <a title="__title__" href="__url__">__rev__</a>' .replace('__rev__','r{0}:{1}'.format(data.results[0].revision, data.results[0].raw_id.substr(0,6))) @@ -1565,7 +1528,7 @@ .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': repo_name, 'revision': data.results[1].raw_id})); - $('#parent_link').html(_html); + $this.html(_html); } } });
--- a/kallithea/templates/base/base.html Wed Aug 16 17:34:44 2017 +0200 +++ b/kallithea/templates/base/base.html Mon Oct 02 18:24:37 2017 +0200 @@ -530,16 +530,16 @@ </%def> <%def name="parent_child_navigation()"> - <div class="parents pull-left"> - <div class="parent_link" + <div class="pull-left"> + <div class="parent-child-link" data-ajax-url="${h.url('changeset_parents',repo_name=c.repo_name, revision=c.changeset.raw_id)}" data-reponame="${c.repo_name}"> <i class="icon-left-open"></i> <a href="#">${_('Parent rev.')}</a> </div> </div> - <div class="children pull-right"> - <div class="child_link" + <div class="pull-right"> + <div class="parent-child-link" data-ajax-url="${h.url('changeset_children',repo_name=c.repo_name, revision=c.changeset.raw_id)}" data-reponame="${c.repo_name}"> <a href="#">${_('Child rev.')}</a> <i class="icon-right-open"></i>