if (HomePage.class.equals(getClass())) {
homePageLink.setBeforeDisabledLink("");
homePageLink.setAfterDisabledLink("");
homePageLink.setEnabled(false);
} else {
homePageLink.add(new AttributeAppender("title", new ResourceModel("navigation.backToHome")));
}
add(homePageLink);
// Bread crumb
add(createBodyBreadCrumb("breadCrumb"));
// Main navigation bar
add(new ListView<NavigationMenuItem>("mainNav", getMainNav()) {
private static final long serialVersionUID = -2257358650754295013L;
@Override
protected void populateItem(ListItem<NavigationMenuItem> item) {
NavigationMenuItem navItem = item.getModelObject();
AbstractLink navLink = navItem.link("navLink");
navLink.add(new Label("navLabel", navItem.getLabelModel()));
item.setVisible(navItem.isAccessible());
if (navItem.isActive(MainTemplate.this.getFirstMenuPage())) {
item.add(new ClassAttributeAppender("active"));
}
item.add(navLink);
// Dropdown
List<NavigationMenuItem> subMenuItems = navItem.getSubMenuItems();
WebMarkupContainer caret = new WebMarkupContainer("caret");
navLink.add(caret);
WebMarkupContainer dropdownMenu = new ListView<NavigationMenuItem>("dropdownMenu", subMenuItems) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(ListItem<NavigationMenuItem> subMenuItem) {
NavigationMenuItem subMenu = subMenuItem.getModelObject();
AbstractLink navLink = subMenu.link("subMenuLink");
navLink.add(new Label("subMenuLabel", subMenu.getLabelModel()));
subMenuItem.setVisible(subMenu.isAccessible());
subMenuItem.add(navLink);
}
};
item.add(dropdownMenu);
if (!subMenuItems.isEmpty()) {
item.add(new ClassAttributeAppender("dropdown"));
navLink.add(new ClassAttributeAppender("dropdown-toggle"));
navLink.add(new AttributeAppender("data-toggle", "dropdown"));
navLink.add(new AttributeModifier("href", "#"));
caret.setVisible(true);
dropdownMenu.setVisible(true);
} else {
caret.setVisible(false);