diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index a36f0e6..6bffda5 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -1092,6 +1092,22 @@ $(".comment_and_close_action").click(function(event){ } ); + function _get_issues(url, callback){ + $.getJSON( + url, + function( data ) { + issues = data.issues.filter(function(el) { + return el.id !== {{issue.id}}; + }); + callback(issues); + if (data.pagination.next){ + _get_issues(data.pagination.next, callback) + } + } + ); + } + + var _block_loaded = false; $('.mainform #blocking').selectize({ plugins: ['remove_button'], valueField: 'id', @@ -1108,21 +1124,20 @@ $(".comment_and_close_action").click(function(event){ }, create: false, load: function(query, callback) { - $.getJSON( - "{{ url_for('api_ns.api_view_issues', - repo=repo.name, - username=username, - namespace=repo.namespace) }}", - function( data ) { - issues = data.issues.filter(function(el) { - return el.id !== {{issue.id}}; - }); - callback(issues); - } - ); + if (_block_loaded){ + callback(); + return; + }; + var _url = "{{ url_for('api_ns.api_view_issues', + repo=repo.name, + username=username, + namespace=repo.namespace) }}"; + _get_issues(_url, callback); + _block_loaded = true; } }); + var _dep_loaded = false; $('.mainform #depending').selectize({ plugins: ['remove_button'], valueField: 'id', @@ -1139,18 +1154,16 @@ $(".comment_and_close_action").click(function(event){ }, create: false, load: function(query, callback) { - $.getJSON( - "{{ url_for('api_ns.api_view_issues', - repo=repo.name, - username=username, - namespace=repo.namespace) }}", - function( data ) { - issues = data.issues.filter(function(el) { - return el.id !== {{issue.id}}; - }); - callback(issues); - } - ); + if (_dep_loaded){ + callback(); + return; + }; + var _url = "{{ url_for('api_ns.api_view_issues', + repo=repo.name, + username=username, + namespace=repo.namespace) }}"; + _get_issues(_url, callback); + _dep_loaded = true; } });