Commit fe0fc79a by Tuomas Riihimäki

Muutetaan kaksitasoiseksi kaikki menut ja siitä ylöspäin tabmenulla

1 parent ce16315e
......@@ -70,11 +70,11 @@ public class MenuBean implements MenuBeanLocal {
private synchronized void initializeMenu() {
int menusort = 100;
//int menusort = 100;
logger.info("Initializing new default menu");
LanEvent ev = eventbean.getCurrentEvent();
MenuNavigation usermenu = new MenuNavigation(ev, "topmenu.user", menusort = +10);
MenuNavigation usermenu = new MenuNavigation(ev, "topmenu.user", 40);
usermenu.addPage(menuitemfacade.findOrCreate("/frontpage"), UserPermission.ANYUSER);
usermenu.addPage(menuitemfacade.findOrCreate("/permissionDenied"), null).setVisible(false);
......@@ -138,7 +138,7 @@ public class MenuBean implements MenuBeanLocal {
// Admin menu
//
MenuNavigation adminmenu = new MenuNavigation(ev, "topmenu.admin", menusort = +10);
MenuNavigation adminmenu = new MenuNavigation(ev, "topmenu.admin", 20);
//user management
MenuNavigation adminuser = adminmenu.addPage(null, null);
......@@ -236,10 +236,10 @@ public class MenuBean implements MenuBeanLocal {
navifacade.create(adminmenu);
MenuNavigation shopmenu = new MenuNavigation(ev, "topnavi.shopnavi", menusort = +10);
//MenuNavigation shopmenu = new MenuNavigation(ev, "topnavi.shopnavi", menusort = +10);
// shopnavi.addPage(menuitemfacade.findOrCreate("/index3"),
// UserPermission.ANYUSER);
navifacade.create(shopmenu);
// navifacade.create(shopmenu);
MenuNavigation tournamentsadm = adminmenu.addPage(null, null);
tournamentsadm.setKey("tournaments.menutitle");
......
......@@ -59,8 +59,7 @@
<div id="header_center" class="flex1"></div>
<div id="header_right">
<a href="http://www.codecrew.fi"><img src="#{request.contextPath}/resources/templates/template1/img/moya_logo.png" />
</a>
<a href="http://www.codecrew.fi"><img src="#{request.contextPath}/resources/templates/template1/img/moya_logo.png" /> </a>
</div>
</header>
......@@ -94,6 +93,9 @@
</h:link>
</div>
<ui:insert name="title" />
<p:panelMenu model="#{primeMenuView.secondaryMenuModel}" />
<p:messages severity="info" />
<ui:insert name="edittab" />
<!-- <h:messages /> -->
......
package fi.codecrew.moya.web.cdiview.menu;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.ejb.EJB;
......@@ -51,8 +53,6 @@ public class PrimeMenuView extends GenericCDIView {
@Inject
private LayoutView layoutview;
private MenuModel nameMenu;
// private EventUser user;
private static final Logger logger = LoggerFactory.getLogger(PrimeMenuView.class);
......@@ -69,6 +69,17 @@ public class PrimeMenuView extends GenericCDIView {
// return nameMenu;
// }
private DefaultMenuModel secondaryMenuModel;
public MenuModel getSecondaryMenuModel()
{
if (secondaryMenuModel == null) {
getMenuModel();
}
//logger.info("Returning secondary menumodel with {} entries {}", secondaryMenuModel, secondaryMenuModel == null ? 0 : secondaryMenuModel.getElements().size());
return secondaryMenuModel;
}
public MenuModel getMenuModel()
{
if (menuModel == null)
......@@ -84,7 +95,6 @@ public class PrimeMenuView extends GenericCDIView {
}
} else {
Submenu subm = addSubmenu(m, layoutview.getSelectedSet());
if (subm != null) {
menuModel.addElement(subm);
}
......@@ -106,6 +116,105 @@ public class PrimeMenuView extends GenericCDIView {
{
ret = new DefaultSubMenu();
if (selectedSet.contains(m)) {
ret.setStyleClass("prime-menu-selected");
if (m.getItem() != null)
logger.info("Setting styleclass on menuitem {}, {}", m.getItem().getUrl(), m);
}
ret.setLabel(I18n.get(m.getKey()));
for (MenuNavigation child : m.getChildren())
{
if (child.getChildren().isEmpty()) {
if (child.getItem() != null)
{
DefaultMenuItem item = mkMenuitem(child);
if (item != null) {
item.setValue(I18n.get(child.getKey()));
ret.addElement(item);
}
} else if (ret.getElementsCount() > 0) {
ret.addElement(new DefaultSeparator());
}
} else {
List<DefaultMenuItem> subm = new ArrayList<>();
addSecondaryMenu(subm, child, selectedSet);
if (!subm.isEmpty()) {
DefaultMenuItem subItem = new DefaultMenuItem();
subItem.setValue(I18n.get(child.getKey()));
subItem.setOutcome(subm.get(0).getOutcome());
ret.addElement(subItem);
if (selectedSet.contains(child)) {
logger.info("Setting submenu model for {}", child.getKey());
secondaryMenuModel = new DefaultMenuModel();
DefaultMenuItem h1 = new DefaultMenuItem();
h1.setValue("Hurr1");
h1.setTitle("Title");
h1.setHref("http://www.iki.fi");
h1.setDisabled(false);
h1.setAjax(false);
// h1.setOutcome("/useradmin/list");
secondaryMenuModel.getElements().add(h1);
DefaultMenuItem h2 = new DefaultMenuItem();
h2.setValue("Hurr2");
h2.setTitle("hu33");
h1.setAjax(false);
h2.setOutcome("/role/list");
secondaryMenuModel.getElements().add(h2);
for (DefaultMenuItem su : subm) {
// secondaryMenuModel.addElement(su);
}
}
}
}
}
if (ret.getElementsCount() == 0) {
ret = null;
}
}
return ret;
}
private void addSecondaryMenu(List<DefaultMenuItem> submenus, MenuNavigation m, Set<MenuNavigation> selectedSet) {
if (m.isVisible() && (m.getPermission() == null || super.hasPermission(m.getPermission()))) {
for (MenuNavigation child : m.getChildren()) {
DefaultMenuItem elem = null;
if (child.getChildren().isEmpty()) {
if (child.getItem() != null) {
elem = mkMenuitem(child);
if (elem != null) {
submenus.add(elem);
}
}
} else {
addSecondaryMenu(submenus, child, selectedSet);
}
}
}
}
// Laitetaan talteen.... Ei käytetä missään.
private DefaultSubMenu addRecursiveSubmenu(MenuNavigation m, Set<MenuNavigation> selectedSet) {
DefaultSubMenu ret = null;
logger.info("Adding submenu {}", m.getKey());
if (m.isVisible() && (m.getPermission() == null || super.hasPermission(m.getPermission())))
{
ret = new DefaultSubMenu();
if (selectedSet.contains(m)) {
ret.setStyleClass("prime-menu-selected");
if (m.getItem() != null)
logger.info("Setting styleclass on menuitem {}, {}", m.getItem().getUrl(), m);
......@@ -129,6 +238,7 @@ public class PrimeMenuView extends GenericCDIView {
}
} else {
DefaultSubMenu subm = addSubmenu(child, selectedSet);
if (subm != null)
{
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!