use of com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb in project midpoint by Evolveum.
the class PageRequestRole method createBreadcrumb.
@Override
protected void createBreadcrumb() {
super.createBreadcrumb();
Breadcrumb bc = getLastBreadcrumb();
bc.setIcon(new Model("fa fa-pencil-square-o"));
}
use of com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb in project midpoint by Evolveum.
the class WebComponentUtil method getPreviousPageClass.
public static Class<?> getPreviousPageClass(PageBase parentPage) {
List<Breadcrumb> breadcrumbs = parentPage.getBreadcrumbs();
if (breadcrumbs == null || breadcrumbs.size() < 2) {
return null;
}
Breadcrumb previousBreadcrumb = breadcrumbs.get(breadcrumbs.size() - 2);
Class<?> page = null;
if (previousBreadcrumb instanceof BreadcrumbPageClass) {
page = ((BreadcrumbPageClass) previousBreadcrumb).getPage();
} else if (previousBreadcrumb instanceof BreadcrumbPageInstance) {
page = ((BreadcrumbPageInstance) previousBreadcrumb).getPage().getClass();
}
return page;
}
use of com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb in project midpoint by Evolveum.
the class MainMenuPanel method menuItemPerformed.
private void menuItemPerformed(MenuItem menu) {
LOGGER.trace("menuItemPerformed: {}", menu);
// getSession().getSessionStorage().setActiveMenu(menu.getNameModel());
// getSession().getSessionStorage().setActiveMainMenu(getModelObject().getNameModel());
IPageFactory pFactory = Session.get().getPageFactory();
WebPage page;
if (menu.getParams() == null) {
page = pFactory.newPage(menu.getPageClass());
} else {
page = pFactory.newPage(menu.getPageClass(), menu.getParams());
}
if (!(page instanceof PageBase)) {
setResponsePage(page);
return;
}
PageBase pageBase = (PageBase) page;
// IMPORTANT: we need to re-bundle the name to a new models
// that will not be connected to the old page reference
// otherwise the old page will somehow remain in the memory
// I have no idea how it could do that and especially how
// several old pages can remain in memory. But if the model
// is not re-bundled here then the page size grows and never
// falls.
MainMenuItem mainMenuItem = getModelObject();
String name = mainMenuItem.getNameModel();
Breadcrumb bc = new Breadcrumb(createStringResource(name));
bc.setIcon(new Model<>(mainMenuItem.getIconClass()));
pageBase.addBreadcrumb(bc);
if (mainMenuItem.containsSubMenu() && mainMenuItem.isInsertDefaultBackBreadcrumb()) {
MenuItem first = mainMenuItem.getFirstMenuItem();
BreadcrumbPageClass invisibleBc = new BreadcrumbPageClass(createStringResource(first.getNameModel()), first.getPageClass(), first.getParams());
invisibleBc.setVisible(false);
pageBase.addBreadcrumb(invisibleBc);
}
setResponsePage(page);
}
use of com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb in project midpoint by Evolveum.
the class PageDashboard method createBreadcrumb.
@Override
protected void createBreadcrumb() {
super.createBreadcrumb();
Breadcrumb bc = getLastBreadcrumb();
bc.setIcon(new Model(GuiStyleConstants.CLASS_DASHBOARD_ICON));
}
use of com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb in project midpoint by Evolveum.
the class PageBase method redirectBackToBreadcrumb.
public void redirectBackToBreadcrumb(Breadcrumb breadcrumb) {
Validate.notNull(breadcrumb, "Breadcrumb must not be null");
boolean found = false;
// we remove all breadcrumbs that are after "breadcrumb"
List<Breadcrumb> breadcrumbs = getBreadcrumbs();
Iterator<Breadcrumb> iterator = breadcrumbs.iterator();
while (iterator.hasNext()) {
Breadcrumb b = iterator.next();
if (found) {
iterator.remove();
} else if (b.equals(breadcrumb)) {
found = true;
}
}
WebPage page = breadcrumb.redirect();
if (page instanceof PageBase) {
PageBase base = (PageBase) page;
base.setBreadcrumbs(breadcrumbs);
}
setResponsePage(page);
}
Aggregations