Skip to content

Commit

Permalink
more menu improvements.
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Oct 7, 2015
1 parent 6a9e52c commit e22f941
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 30 deletions.
Expand Up @@ -82,8 +82,10 @@ public boolean isMenuActive(WebPage page) {
return false;
}

boolean isMenuActive = isMenuActive();

if (pageClass.isAssignableFrom(this.page)) {
return true;
return isMenuActive;
}

if (aliases == null) {
Expand All @@ -92,10 +94,14 @@ public boolean isMenuActive(WebPage page) {

for (Class c : aliases) {
if (pageClass.isAssignableFrom(c)) {
return true;
return isMenuActive;
}
}

return false;
}

protected boolean isMenuActive() {
return true;
}
}
Expand Up @@ -48,6 +48,7 @@
import com.evolveum.midpoint.web.page.admin.home.PageDashboard;
import com.evolveum.midpoint.web.page.admin.reports.PageCreatedReports;
import com.evolveum.midpoint.web.page.admin.reports.PageNewReport;
import com.evolveum.midpoint.web.page.admin.reports.PageReport;
import com.evolveum.midpoint.web.page.admin.reports.PageReports;
import com.evolveum.midpoint.web.page.admin.resources.PageResourceWizard;
import com.evolveum.midpoint.web.page.admin.resources.PageResources;
Expand Down Expand Up @@ -77,6 +78,7 @@
import org.apache.commons.lang.Validate;
import org.apache.wicket.Component;
import org.apache.wicket.injection.Injector;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
Expand Down Expand Up @@ -393,18 +395,7 @@ private MainMenuItem createServerTasksItems() {
PageTaskAdd.class);
submenu.add(n);
n = new MenuItem(createStringResource("PageAdmin.menu.top.serverTasks.edit"),
PageTaskEdit.class, null, new VisibleEnableBehaviour() {

@Override
public boolean isVisible() {
return getPage().getClass().equals(PageTaskEdit.class);
}

@Override
public boolean isEnabled() {
return false;
}
});
PageTaskEdit.class, null, createVisibleDisabledBehaviorForEditMenu(PageTaskEdit.class));
submenu.add(n);

return item;
Expand Down Expand Up @@ -438,6 +429,9 @@ private MainMenuItem createReportsItems() {
MenuItem list = new MenuItem(createStringResource("PageAdmin.menu.top.reports.list"),
PageReports.class);
submenu.add(list);
MenuItem configure = new MenuItem(createStringResource("PageAdmin.menu.top.reports.configure"),
PageReport.class, null, createVisibleDisabledBehaviorForEditMenu(PageReport.class));
submenu.add(configure);
MenuItem created = new MenuItem(createStringResource("PageAdmin.menu.top.reports.created"),
PageCreatedReports.class);
submenu.add(created);
Expand Down Expand Up @@ -487,18 +481,7 @@ private MainMenuItem createConfigurationItems() {
PageDebugList.class);
submenu.add(menu);
menu = new MenuItem(createStringResource("PageAdmin.menu.top.configuration.repositoryObjectView"),
PageDebugView.class, null, new VisibleEnableBehaviour() {

@Override
public boolean isVisible() {
return getPage().getClass().equals(PageDebugView.class);
}

@Override
public boolean isEnabled() {
return false;
}
});
PageDebugView.class, null, createVisibleDisabledBehaviorForEditMenu(PageDebugView.class));
submenu.add(menu);

PageParameters params = new PageParameters();
Expand Down Expand Up @@ -559,7 +542,37 @@ private MainMenuItem createUsersItems() {

MenuItem list = new MenuItem(createStringResource("PageAdmin.menu.top.users.list"), PageUsers.class);
submenu.add(list);
MenuItem newUser = new MenuItem(createStringResource("PageAdmin.menu.top.users.new"), PageUser.class);
MenuItem edit = new MenuItem(createStringResource("PageAdmin.menu.top.users.edit"), PageUser.class,
null, new VisibleEnableBehaviour() {

@Override
public boolean isEnabled() {
return false;
}

@Override
public boolean isVisible() {
if (!getPage().getClass().equals(PageUser.class)) {
return false;
}

PageUser page = (PageUser) getPage();
return page.isEditingUser();
}
});
submenu.add(edit);
MenuItem newUser = new MenuItem(createStringResource("PageAdmin.menu.top.users.new"), PageUser.class) {

@Override
protected boolean isMenuActive() {
if (!PageBase.this.getPage().getClass().equals(PageUser.class)) {
return false;
}

PageUser page = (PageUser) PageBase.this.getPage();
return !page.isEditingUser();
}
};
submenu.add(newUser);
// MenuItem search = new MenuItem(createStringResource("PageAdmin.menu.users.search"),
// PageUsersSearch.class);
Expand Down Expand Up @@ -608,4 +621,19 @@ protected PrismObject<UserType> loadUserSelf(PageBase page) {

return user;
}

private VisibleEnableBehaviour createVisibleDisabledBehaviorForEditMenu(final Class<? extends WebPage> page) {
return new VisibleEnableBehaviour() {

@Override
public boolean isVisible() {
return getPage().getClass().equals(page);
}

@Override
public boolean isEnabled() {
return false;
}
};
}
}
Expand Up @@ -166,9 +166,7 @@ public AbstractResource getObject() {
summaryContainer.add(img);
}



private boolean isEditingUser() {
public boolean isEditingUser() {
StringValue userOid = getPageParameters().get(OnePageParameterEncoder.PARAMETER);
return userOid != null && StringUtils.isNotEmpty(userOid.toString());
}
Expand Down
Expand Up @@ -2741,3 +2741,5 @@ PageSelfDashboard.workItems=My work items
PageSelfDashboard.myRequests=My requests
PageAdmin.menu.top.serverTasks.edit=Edit task
PageAdmin.menu.top.configuration.repositoryObjectView=Edit object
PageAdmin.menu.top.reports.configure=Configure report
PageAdmin.menu.top.users.edit=Edit user

0 comments on commit e22f941

Please sign in to comment.