RPC calling buttons should be disabled during RPCs

This commit disables the following buttons after they have
been clicked till the corresponding RPC is complete.
Abandon, Restore buttons in PatchSetComplexDisclosurePanel
Cancel Buttons in AbandonChangeDialog, RestoreChangeDialog
Remove Button in ApprovalTable

Change-Id: I22a39bc550cc7c6eee68104af8464f66c58f1462
Bug: issue 846
This commit is contained in:
Raviteja Sunkara
2011-03-11 19:25:24 +05:30
parent 78ea8756d3
commit 2a3db6a8d6
4 changed files with 16 additions and 3 deletions

View File

@@ -75,6 +75,7 @@ public class AbandonChangeDialog extends AutoCenterDialogBox implements CloseHan
@Override
public void onClick(final ClickEvent event) {
sendButton.setEnabled(false);
cancelButton.setEnabled(false);
Util.MANAGE_SVC.abandonChange(psid, message.getText().trim(),
new GerritCallback<ChangeDetail>() {
public void onSuccess(ChangeDetail result) {
@@ -88,6 +89,7 @@ public class AbandonChangeDialog extends AutoCenterDialogBox implements CloseHan
@Override
public void onFailure(Throwable caught) {
sendButton.setEnabled(true);
cancelButton.setEnabled(true);
super.onFailure(caught);
}
});

View File

@@ -232,7 +232,7 @@ public class ApprovalTable extends Composite {
table.setWidget(row, col++, link(ad.getAccount()));
if (ad.canRemove()) {
PushButton remove = new PushButton( //
final PushButton remove = new PushButton( //
new Image(Util.R.removeReviewerNormal()), //
new Image(Util.R.removeReviewerPressed()));
remove.setTitle(Util.M.removeReviewer( //
@@ -241,7 +241,7 @@ public class ApprovalTable extends Composite {
remove.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
doRemove(ad);
doRemove(ad, remove);
}
});
table.setWidget(row, col, remove);
@@ -294,7 +294,8 @@ public class ApprovalTable extends Composite {
col++;
}
private void doRemove(final ApprovalDetail ad) {
private void doRemove(final ApprovalDetail ad, final PushButton remove) {
remove.setEnabled(false);
PatchUtil.DETAIL_SVC.removeReviewer(changeId, ad.getAccount(),
new GerritCallback<ReviewerResult>() {
@Override
@@ -306,6 +307,12 @@ public class ApprovalTable extends Composite {
new ErrorDialog(result.getErrors().get(0).toString()).center();
}
}
@Override
public void onFailure(final Throwable caught) {
remove.setEnabled(true);
super.onFailure(caught);
}
});
}
}

View File

@@ -400,6 +400,7 @@ class PatchSetComplexDisclosurePanel extends ComplexDisclosurePanel implements O
b.addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
b.setEnabled(false);
new AbandonChangeDialog(patchSet.getId(),
new AsyncCallback<ChangeDetail>() {
public void onSuccess(ChangeDetail result) {
@@ -420,6 +421,7 @@ class PatchSetComplexDisclosurePanel extends ComplexDisclosurePanel implements O
b.addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {
b.setEnabled(false);
new RestoreChangeDialog(patchSet.getId(),
new AsyncCallback<ChangeDetail>() {
public void onSuccess(ChangeDetail result) {

View File

@@ -75,6 +75,7 @@ public class RestoreChangeDialog extends AutoCenterDialogBox implements CloseHan
@Override
public void onClick(final ClickEvent event) {
sendButton.setEnabled(false);
cancelButton.setEnabled(false);
Util.MANAGE_SVC.restoreChange(psid, message.getText().trim(),
new GerritCallback<ChangeDetail>() {
@Override
@@ -89,6 +90,7 @@ public class RestoreChangeDialog extends AutoCenterDialogBox implements CloseHan
@Override
public void onFailure(Throwable caught) {
sendButton.setEnabled(true);
cancelButton.setEnabled(true);
super.onFailure(caught);
}
});