# HG changeset patch # User domruf # Date 1506961477 -7200 # Node ID c504e3af9ee8775342fcee0cf9923f4c2825c43b # Parent 46bc7191e1e4e7307a355b37e2fa4194681c8c79 js: reuse parent/child navigation code - avoid duplication Modified by Mads Kiilerich. diff -r 46bc7191e1e4 -r c504e3af9ee8 kallithea/public/js/base.js --- 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 +='__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': 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': 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 +=' __rev__' .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); } } }); diff -r 46bc7191e1e4 -r c504e3af9ee8 kallithea/templates/base/base.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 name="parent_child_navigation()"> -
- -