diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java index 6a3f567bb8..4d0264c520 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/AbstractMenuPanel.java @@ -40,6 +40,7 @@ import org.zkoss.zk.ui.event.EventQueues; import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.A; import org.zkoss.zul.Panel; +import org.zkoss.zul.Popup; import org.zkoss.zul.Toolbarbutton; import org.zkoss.zul.Tree; import org.zkoss.zul.Treecell; @@ -277,26 +278,7 @@ public abstract class AbstractMenuPanel extends Panel implements EventListener popMenu = new Popup(); popMenu.setId("menuTreePopup"); - popMenu.appendChild(new MenuTreePanel(popMenu)); + new MenuTreePanel(popMenu); popMenu.setWidth("600px"); - popMenu.setHeight("90%"); - popMenu.setParent(hbox); + popMenu.setHeight("90%"); btnMenu = new ToolBarButton(); btnMenu.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(),"Menu"))); LayoutUtils.addSclass("desktop-header-font", btnMenu); btnMenu.setParent(hbox); - btnMenu.setPopup("menuTreePopup"); btnMenu.addEventListener(Events.ON_CLICK, this); LayoutUtils.addSclass("desktop-header-left", west); @@ -130,4 +129,25 @@ public class HeaderPanel extends Panel implements EventListener } } } + + /* (non-Javadoc) + * @see org.zkoss.zk.ui.AbstractComponent#onPageAttached(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Page) + */ + @Override + public void onPageAttached(Page newpage, Page oldpage) { + super.onPageAttached(newpage, oldpage); + if (newpage != null) + popMenu.setPage(newpage); + } + + /* (non-Javadoc) + * @see org.zkoss.zk.ui.AbstractComponent#onPageDetached(org.zkoss.zk.ui.Page) + */ + @Override + public void onPageDetached(Page page) { + super.onPageDetached(page); + popMenu.setPage(null); + } + + }