Skip to content

Commit db3a63f

Browse files
committed
[BUGFIX] Disable update btn while processing
Signed-off-by: Akash Ravi <akashkravi@gmail.com>
1 parent 1d0b388 commit db3a63f

File tree

1 file changed

+52
-50
lines changed

1 file changed

+52
-50
lines changed

extension/js/methods.js

Lines changed: 52 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -24,64 +24,65 @@ This function lists down all the updates and requires a user confirmation.
2424
function update_packages(project) {
2525
$('#updatebtn').unbind();
2626
$('#updatebtn').click(function () {
27-
var selectedPackages = common.get_selected_packages();
28-
var html = $('<p> The following packages are about to be updated: </p> </br>');
29-
$('#updatebtn').toggleClass('fa-wrench fa-spinner').addClass('fa-spin');
30-
api.check_update(project, function (resp) {
31-
$('#updatebtn').toggleClass('fa-wrench fa-spinner').removeClass('fa-spin');
32-
var updates = resp.updates;
33-
var packages = [];
27+
if ($('#updatebtn').hasClass('fa-wrench')) {
28+
var selectedPackages = common.get_selected_packages();
29+
var html = $('<p> The following packages are about to be updated: </p> </br>');
30+
$('#updatebtn').toggleClass('fa-wrench fa-spinner').addClass('fa-spin');
31+
api.check_update(project, function (resp) {
32+
$('#updatebtn').toggleClass('fa-wrench fa-spinner').removeClass('fa-spin');
33+
var updates = resp.updates;
34+
var packages = [];
3435

35-
if (selectedPackages.length > 0) {
36-
html.append($('<ul/>'));
36+
if (selectedPackages.length > 0) {
37+
html.append($('<ul/>'));
3738

38-
for (var i = 0; i < selectedPackages.length; i++) {
39-
var element = selectedPackages[i];
40-
element = element.split('=');
41-
var pkg = element[0];
42-
var ver = element[1];
43-
var nver = check_new_version(updates, pkg, ver);
44-
if (nver != ver) {
45-
packages.push(pkg);
46-
html.append("<li>" + pkg + " &nbsp; " + ver + " -> " + nver + "</li>");
39+
for (var i = 0; i < selectedPackages.length; i++) {
40+
var element = selectedPackages[i];
41+
element = element.split('=');
42+
var pkg = element[0];
43+
var ver = element[1];
44+
var nver = check_new_version(updates, pkg, ver);
45+
if (nver != ver) {
46+
packages.push(pkg);
47+
html.append("<li>" + pkg + " &nbsp; " + ver + " -> " + nver + "</li>");
48+
}
4749
}
4850
}
49-
}
50-
else {
51-
var list = $('.installed-values');
52-
html.append($('<ul/>'));
53-
for (var i = 0; i < list.length; i++) {
54-
var element = list[i];
55-
var pkg = $(element).find('.value-name')[0].innerText;
56-
var ver = $(element).find('.value-version')[0].innerText;
57-
var nver = check_new_version(updates, pkg, ver);
58-
if (nver != ver) {
59-
packages.push(pkg);
60-
html.append("<li>" + pkg + " &nbsp; " + ver + " -> " + nver + "</li>");
51+
else {
52+
var list = $('.installed-values');
53+
html.append($('<ul/>'));
54+
for (var i = 0; i < list.length; i++) {
55+
var element = list[i];
56+
var pkg = $(element).find('.value-name')[0].innerText;
57+
var ver = $(element).find('.value-version')[0].innerText;
58+
var nver = check_new_version(updates, pkg, ver);
59+
if (nver != ver) {
60+
packages.push(pkg);
61+
html.append("<li>" + pkg + " &nbsp; " + ver + " -> " + nver + "</li>");
62+
}
6163
}
6264
}
63-
}
64-
if (packages.length === 0) {
65-
html = $("<p> There are no updates available </p>");
66-
common.display_msg("Update Packages", html);
67-
}
68-
else
69-
common.confirm("Update Packages", html, "Confirm", function () {
70-
$('#loadingtext').text("Updating Packages");
71-
$('#loadingview').show();
72-
api.update_packages(packages, project, function () {
73-
$('#loadingview').hide();
74-
scripts.package_view(project);
75-
}, function () {
76-
$('#loadingview').hide();
77-
common.display_msg("Server Error", "The selected packages could not be updated. Please try again.");
65+
if (packages.length === 0) {
66+
html = $("<p> There are no updates available </p>");
67+
common.display_msg("Update Packages", html);
68+
}
69+
else
70+
common.confirm("Update Packages", html, "Confirm", function () {
71+
$('#loadingtext').text("Updating Packages");
72+
$('#loadingview').show();
73+
api.update_packages(packages, project, function () {
74+
$('#loadingview').hide();
75+
scripts.package_view(project);
76+
}, function () {
77+
$('#loadingview').hide();
78+
common.display_msg("Server Error", "The selected packages could not be updated. Please try again.");
79+
});
7880
});
81+
},
82+
function () {
83+
common.display_msg("Server Error", "Error in checking for new updates. Please try again.");
7984
});
80-
},
81-
function () {
82-
common.display_msg("Server Error", "Error in checking for new updates. Please try again.");
83-
});
84-
85+
}
8586
});
8687
}
8788

@@ -108,6 +109,7 @@ function delete_packages(project) {
108109
$('#loadingview').show();
109110
api.delete_packages(packages, project, function () {
110111
$('#loadingview').hide();
112+
$('#deletebtn').css("display", "none");
111113
scripts.package_view(project);
112114
}, function () {
113115
$('#loadingview').hide();

0 commit comments

Comments
 (0)