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>