Commit 8b6bd034 by Tuomas Riihimäki

Valitun sivun menu jää auki.

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