From bb696cecf99a9eafedd720c87c1488b879ba5f48 Mon Sep 17 00:00:00 2001 From: Ryan Lerch Date: Oct 03 2018 12:59:38 +0000 Subject: Rework how we display loading of the new PR dropdown This reworks the display of the new-pr dropdown, so we show loading animations for both the async requests, and display the results in a consistent manner. Previously, whatever request finished first, those results would be at the top. This does not change the ordering of the results, just how the dropdown is displayed. Fixes: #3812 --- diff --git a/pagure/templates/repo_master.html b/pagure/templates/repo_master.html index a6ac443..7e20a1a 100644 --- a/pagure/templates/repo_master.html +++ b/pagure/templates/repo_master.html @@ -99,13 +99,40 @@ aria-haspopup="true" aria-expanded="false" id="pr-button"> Open PR - {%endif%} @@ -421,43 +448,31 @@ function process_task_results(_data, callback) { function generate_branch_list(data) { - var _b = $("#dropdown-item-list"); - var first_item = true; + var _b = $("#pr-dropdown-mainlist"); for (branch in data.new_branch){ - if (first_item){ - _b.prepend("") - first_item = false; - } var url = "{{ url_for( 'ui_ns.new_request_pull', repo=repo.name, - username=repo.user.user if repo.is_fork else None, + username=None, namespace=repo.namespace, branch_to='-', branch_from='-') }}"; url = url.slice(0, -4) + data.new_branch[branch]['target_branch'] + '..' + branch; html = '' - + '' - + ' ' - + '{{ repo.name }}' - + ' ' + '' + ' ' + branch + ' '; - _b.prepend(html); + _b.append(html); } _b.show(); + $("#pr-dropdown-mainlist .pr-dropdown-spinner").hide(); } function generate_branch_list_fork(data) { - var _b = $("#dropdown-item-list"); - var first_item = true; + console.log(data); + var _b = $("#pr-dropdown-forklist"); for (branch in data.new_branch){ - if (first_item){ - _b.prepend("") - first_item = false; - } var url = "{{ url_for( 'ui_ns.new_request_pull', repo=repo.name, @@ -467,43 +482,20 @@ function generate_branch_list_fork(data) { branch_from='-') }}"; url = url.slice(0, -4) + data.new_branch[branch]['target_branch'] + '..' + branch; html = '' - + '' - + ' ' - + '{{ g.fas_user.username }}/{{ repo.name }} ' - + ' ' + '' + ' ' + branch + ' '; - _b.prepend(html); + _b.append(html); } _b.show(); + $("#pr-dropdown-forklist .pr-dropdown-spinner").hide(); } $("#pr-button").one("click", function() { var _pr_url = "{{ url_for('internal_ns.get_pull_request_ready_branch') }}"; - var _b = $("#dropdown-item-list"); - var _s = $("#spinnergif"); - _s.show(); - _b.hide(); - var new_pr_url = "{{ url_for('ui_ns.new_request_pull', - repo=repo.name, - username=username, - namespace=repo.namespace, - branch_to=head or 'master', - branch_from=branchname or 'master') }}" - var new_remote_pr_url = "{{ url_for( - 'ui_ns.new_remote_request_pull', - repo=repo.name, - username=username, - namespace=repo.namespace) }}" - var new_pr = ' \ - New Pull Request \ - ' + - ' \ - New Remote Pull Request \ - '; + var data = { repo: "{{ repo.name }}",