Disable editing after successful save of Access screen
When the access has been successfully modified for a project, switch back to the "read-only" view where the widgets are all disabled and the Edit button is enabled. This way the user gets more visual cues that their change has been completed. Change-Id: Id9afdeda3406ce550194c93dddbecb4d89529779
This commit is contained in:
		| @@ -51,7 +51,10 @@ public class ProjectAccessScreen extends ProjectScreen { | ||||
|   Button edit; | ||||
|  | ||||
|   @UiField | ||||
|   Button cancel; | ||||
|   Button cancel1; | ||||
|  | ||||
|   @UiField | ||||
|   Button cancel2; | ||||
|  | ||||
|   @UiField | ||||
|   ProjectAccessEditor accessEditor; | ||||
| @@ -90,31 +93,31 @@ public class ProjectAccessScreen extends ProjectScreen { | ||||
|         new ScreenLoadCallback<ProjectAccess>(this) { | ||||
|           @Override | ||||
|           public void preDisplay(ProjectAccess access) { | ||||
|             edit(access); | ||||
|             displayReadOnly(access); | ||||
|           } | ||||
|         }); | ||||
|   } | ||||
|  | ||||
|   void edit(ProjectAccess access) { | ||||
|   private void displayReadOnly(ProjectAccess access) { | ||||
|     this.access = access; | ||||
|     final boolean editing = !edit.isEnabled(); | ||||
|     accessEditor.setEditing(editing); | ||||
|     accessEditor.setEditing(false); | ||||
|     UIObject.setVisible(editTools, !access.getOwnerOf().isEmpty()); | ||||
|     cancel.setVisible(editing); | ||||
|     UIObject.setVisible(commitTools, editing); | ||||
|     edit.setEnabled(!access.getOwnerOf().isEmpty()); | ||||
|     cancel1.setVisible(false); | ||||
|     UIObject.setVisible(commitTools, false); | ||||
|     driver.edit(access); | ||||
|   } | ||||
|  | ||||
|   @UiHandler("edit") | ||||
|   void onEdit(ClickEvent event) { | ||||
|     edit.setEnabled(false); | ||||
|     cancel.setVisible(true); | ||||
|     cancel1.setVisible(true); | ||||
|     UIObject.setVisible(commitTools, true); | ||||
|     accessEditor.setEditing(true); | ||||
|     driver.edit(access); | ||||
|   } | ||||
|  | ||||
|   @UiHandler(value={"cancel", "cancel2"}) | ||||
|   @UiHandler(value={"cancel1", "cancel2"}) | ||||
|   void onCancel(ClickEvent event) { | ||||
|     Gerrit.display(PageLinks.toProjectAcceess(getProjectKey())); | ||||
|   } | ||||
| @@ -142,9 +145,9 @@ public class ProjectAccessScreen extends ProjectScreen { | ||||
|         new GerritCallback<ProjectAccess>() { | ||||
|           @Override | ||||
|           public void onSuccess(ProjectAccess access) { | ||||
|             commitMessage.setText(""); | ||||
|             edit(access); | ||||
|             enable(true); | ||||
|             commitMessage.setText(""); | ||||
|             displayReadOnly(access); | ||||
|           } | ||||
|  | ||||
|           @Override | ||||
| @@ -158,5 +161,7 @@ public class ProjectAccessScreen extends ProjectScreen { | ||||
|   private void enable(boolean enabled) { | ||||
|     commitMessage.setEnabled(enabled); | ||||
|     commit.setEnabled(enabled); | ||||
|     cancel1.setEnabled(enabled); | ||||
|     cancel2.setEnabled(enabled); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -42,7 +42,7 @@ limitations under the License. | ||||
|       <ui:attribute name='text'/> | ||||
|     </g:Button> | ||||
|     <g:Button | ||||
|         ui:field='cancel' | ||||
|         ui:field='cancel1' | ||||
|         text='Cancel'> | ||||
|       <ui:attribute name='text'/> | ||||
|     </g:Button> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Shawn O. Pearce
					Shawn O. Pearce