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:
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user