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;
|
Button edit;
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
Button cancel;
|
Button cancel1;
|
||||||
|
|
||||||
|
@UiField
|
||||||
|
Button cancel2;
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
ProjectAccessEditor accessEditor;
|
ProjectAccessEditor accessEditor;
|
||||||
@@ -90,31 +93,31 @@ public class ProjectAccessScreen extends ProjectScreen {
|
|||||||
new ScreenLoadCallback<ProjectAccess>(this) {
|
new ScreenLoadCallback<ProjectAccess>(this) {
|
||||||
@Override
|
@Override
|
||||||
public void preDisplay(ProjectAccess access) {
|
public void preDisplay(ProjectAccess access) {
|
||||||
edit(access);
|
displayReadOnly(access);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void edit(ProjectAccess access) {
|
private void displayReadOnly(ProjectAccess access) {
|
||||||
this.access = access;
|
this.access = access;
|
||||||
final boolean editing = !edit.isEnabled();
|
accessEditor.setEditing(false);
|
||||||
accessEditor.setEditing(editing);
|
|
||||||
UIObject.setVisible(editTools, !access.getOwnerOf().isEmpty());
|
UIObject.setVisible(editTools, !access.getOwnerOf().isEmpty());
|
||||||
cancel.setVisible(editing);
|
edit.setEnabled(!access.getOwnerOf().isEmpty());
|
||||||
UIObject.setVisible(commitTools, editing);
|
cancel1.setVisible(false);
|
||||||
|
UIObject.setVisible(commitTools, false);
|
||||||
driver.edit(access);
|
driver.edit(access);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UiHandler("edit")
|
@UiHandler("edit")
|
||||||
void onEdit(ClickEvent event) {
|
void onEdit(ClickEvent event) {
|
||||||
edit.setEnabled(false);
|
edit.setEnabled(false);
|
||||||
cancel.setVisible(true);
|
cancel1.setVisible(true);
|
||||||
UIObject.setVisible(commitTools, true);
|
UIObject.setVisible(commitTools, true);
|
||||||
accessEditor.setEditing(true);
|
accessEditor.setEditing(true);
|
||||||
driver.edit(access);
|
driver.edit(access);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UiHandler(value={"cancel", "cancel2"})
|
@UiHandler(value={"cancel1", "cancel2"})
|
||||||
void onCancel(ClickEvent event) {
|
void onCancel(ClickEvent event) {
|
||||||
Gerrit.display(PageLinks.toProjectAcceess(getProjectKey()));
|
Gerrit.display(PageLinks.toProjectAcceess(getProjectKey()));
|
||||||
}
|
}
|
||||||
@@ -142,9 +145,9 @@ public class ProjectAccessScreen extends ProjectScreen {
|
|||||||
new GerritCallback<ProjectAccess>() {
|
new GerritCallback<ProjectAccess>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(ProjectAccess access) {
|
public void onSuccess(ProjectAccess access) {
|
||||||
commitMessage.setText("");
|
|
||||||
edit(access);
|
|
||||||
enable(true);
|
enable(true);
|
||||||
|
commitMessage.setText("");
|
||||||
|
displayReadOnly(access);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -158,5 +161,7 @@ public class ProjectAccessScreen extends ProjectScreen {
|
|||||||
private void enable(boolean enabled) {
|
private void enable(boolean enabled) {
|
||||||
commitMessage.setEnabled(enabled);
|
commitMessage.setEnabled(enabled);
|
||||||
commit.setEnabled(enabled);
|
commit.setEnabled(enabled);
|
||||||
|
cancel1.setEnabled(enabled);
|
||||||
|
cancel2.setEnabled(enabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ limitations under the License.
|
|||||||
<ui:attribute name='text'/>
|
<ui:attribute name='text'/>
|
||||||
</g:Button>
|
</g:Button>
|
||||||
<g:Button
|
<g:Button
|
||||||
ui:field='cancel'
|
ui:field='cancel1'
|
||||||
text='Cancel'>
|
text='Cancel'>
|
||||||
<ui:attribute name='text'/>
|
<ui:attribute name='text'/>
|
||||||
</g:Button>
|
</g:Button>
|
||||||
|
|||||||
Reference in New Issue
Block a user