Commit 8b6bd034 by Tuomas Riihimäki

Valitun sivun menu jää auki.

1 parent 0923d92a
......@@ -75,4 +75,9 @@ a.shopItem:hover {
a.shopItem:active {
background: red;
}
.prime-menu-selected div
{
display:block;
}
\ No newline at end of file
......@@ -64,7 +64,7 @@
<nav>
<div id="menu">
<p:panelMenu model="#{primeMenuView.menuModel}" />
<p:panelMenu model="#{primeMenuView.menuModel}" />
<!-- <ui:fragment rendered="#{menuView.getMenu(2).size() > 1}">
<div id="right">
......@@ -113,7 +113,7 @@
<br />
<ui:fragment rendered="#{menuView.renderTopmenuChanger}">
<div class="ui-widget-header">Select Mode: #{menuView.renderTopmenuChanger}</div>
<div class="ui-widget-header">Select Mode</div>
<div class="ui-widget-content" style="text-align: center">
<h:form>
<p:selectOneMenu value="#{menuView.menuChange}">
......
package fi.codecrew.moya.web.cdiview.menu;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
......@@ -75,34 +77,32 @@ public class PrimeMenuView extends GenericCDIView {
if (menuModel == null)
{
menuModel = new DefaultMenuModel();
MenuNavigation selectedTop = menubean.findNavigation(layoutview.getPagepath());
while (selectedTop != null && selectedTop.getParent() != null)
{
Set<MenuNavigation> selectedSet = new HashSet<>();
final MenuNavigation thisPage = menubean.findNavigation(layoutview.getPagepath());
MenuNavigation selectedTop = thisPage;
while (selectedTop != null && selectedTop.getParent() != null) {
selectedTop = selectedTop.getParent();
selectedSet.add(selectedTop);
}
List<MenuNavigation> tops = menubean.getTopmenus();
if (!tops.contains(selectedTop) && !tops.isEmpty())
{
if (!tops.contains(selectedTop) && !tops.isEmpty()) {
selectedTop = tops.get(0);
}
for (MenuNavigation m : selectedTop.getChildren())
{
if (m.getItem() != null && m.getChildren().isEmpty())
{
for (MenuNavigation m : selectedTop.getChildren()) {
if (m.getItem() != null && m.getChildren().isEmpty()) {
DefaultMenuItem menuitem = mkMenuitem(m);
if (menuitem != null)
{
if (menuitem != null) {
menuModel.addElement(menuitem);
}
} else {
Submenu subm = addSubmenu(m);
Submenu subm = addSubmenu(m, selectedSet);
if (subm != null)
{
if (subm != null) {
menuModel.addElement(subm);
}
}
......@@ -113,12 +113,15 @@ public class PrimeMenuView extends GenericCDIView {
return menuModel;
}
private DefaultSubMenu addSubmenu(MenuNavigation m) {
private DefaultSubMenu addSubmenu(MenuNavigation m, Set<MenuNavigation> selectedSet) {
DefaultSubMenu ret = null;
if (m.isVisible() && (m.getPermission() == null || super.hasPermission(m.getPermission())))
{
ret = new DefaultSubMenu();
if (selectedSet.contains(m)) {
ret.setStyleClass("prime-menu-selected");
}
ret.setLabel(I18n.get(m.getKey()));
for (MenuNavigation child : m.getChildren())
{
......@@ -127,17 +130,17 @@ public class PrimeMenuView extends GenericCDIView {
if (child.getItem() != null)
{
DefaultMenuItem item = mkMenuitem(child);
if (item != null)
{
if (item != null) {
item.setValue(I18n.get(child.getKey()));
ret.addElement(item);
}
} else if (ret.getElementsCount() > 0) {
ret.addElement(new DefaultSeparator());
}
} else {
DefaultSubMenu subm = addSubmenu(child);
DefaultSubMenu subm = addSubmenu(child, selectedSet);
if (subm != null)
{
subm.setLabel(I18n.get(child.getKey()));
......@@ -160,6 +163,7 @@ public class PrimeMenuView extends GenericCDIView {
if (m.isVisible() && (m.getPermission() == null || super.hasPermission(m.getPermission())))
{
item = new DefaultMenuItem();
String outcome;
if (m.getSitepage() != null)
{
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!