Remember the last Project Screen used
Remember the last project screen used every time a project screen is loaded. Go to the remembered screen when selecting a new project from the project list instead of always going to the project info screen. This makes navigating between projects much more pleasant (fewer clicks), especially when comparing access rights or dashboards. Change-Id: I5ec4025b42c68028a8a459b25cbe8ad567ab0049
This commit is contained in:
@@ -153,8 +153,12 @@ public class Dispatcher {
|
|||||||
return "/admin/groups/uuid-" + uuid.toString() + "," + panel;
|
return "/admin/groups/uuid-" + uuid.toString() + "," + panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String toProject(Project.NameKey n) {
|
||||||
|
return toProjectAdmin(n, ProjectScreen.getSavedPanel());
|
||||||
|
}
|
||||||
|
|
||||||
public static String toProjectAdmin(Project.NameKey n, String panel) {
|
public static String toProjectAdmin(Project.NameKey n, String panel) {
|
||||||
if (ProjectScreen.INFO.equals(panel)) {
|
if (panel == null || ProjectScreen.INFO.equals(panel)) {
|
||||||
return "/admin/projects/" + n.toString();
|
return "/admin/projects/" + n.toString();
|
||||||
}
|
}
|
||||||
return "/admin/projects/" + n.toString() + "," + panel;
|
return "/admin/projects/" + n.toString() + "," + panel;
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ public class ProjectAccessScreen extends ProjectScreen {
|
|||||||
displayReadOnly(access);
|
displayReadOnly(access);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
savedPanel = ACCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayReadOnly(ProjectAccess access) {
|
private void displayReadOnly(ProjectAccess access) {
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ public class ProjectBranchesScreen extends ProjectScreen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
savedPanel = BRANCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void display(final List<Branch> listBranches) {
|
private void display(final List<Branch> listBranches) {
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ public class ProjectDashboardsScreen extends ProjectScreen {
|
|||||||
dashes.display(result);
|
dashes.display(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
savedPanel = DASHBOARDS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
|||||||
display(result);
|
display(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
savedPanel = INFO;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void enableForm(final boolean canModifyAgreements,
|
private void enableForm(final boolean canModifyAgreements,
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ public class ProjectListScreen extends Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String link(final ProjectInfo item) {
|
private String link(final ProjectInfo item) {
|
||||||
return Dispatcher.toProjectAdmin(item.name_key(), ProjectScreen.INFO);
|
return Dispatcher.toProject(item.name_key());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -23,6 +23,12 @@ public abstract class ProjectScreen extends Screen {
|
|||||||
public static final String ACCESS = "access";
|
public static final String ACCESS = "access";
|
||||||
public static final String DASHBOARDS = "dashboards";
|
public static final String DASHBOARDS = "dashboards";
|
||||||
|
|
||||||
|
protected static String savedPanel;
|
||||||
|
|
||||||
|
public static String getSavedPanel() {
|
||||||
|
return savedPanel;
|
||||||
|
}
|
||||||
|
|
||||||
private final Project.NameKey name;
|
private final Project.NameKey name;
|
||||||
|
|
||||||
public ProjectScreen(final Project.NameKey toShow) {
|
public ProjectScreen(final Project.NameKey toShow) {
|
||||||
|
|||||||
Reference in New Issue
Block a user