JSF / ICEFACES - Menu pesonalizado

1 resposta
M

Pessoal , boa tarde !!

Atualmente para exibir o menu aqui na empresa utilizamos a tag , porem precisamos aplicar um novo layout ao menu. Como posso realizar esta atividade sem alterar ou criar novos componentes do icefaces ? Alguem conhece alguma tag que posso utilizar ?

Segue meu codigo abaixo:

Meu BEAN:

public class FirstPageBBean extends BasicBBean implements InitializingBean {

    private TreeModel treeModel;
        
        try {
        	
               //AQUI VEM O MENU CADASTRADO NO AD 
        	treeModel = authorization.getMenuTree(parametros);
            
        	if( treeModel != null ){
        		expandAll(treeModel, false);
        	}
        	
        } catch (Exception e) {
        	addMessage(FacesMessage.SEVERITY_ERROR, null, "Acesso negado!");
        	logger.warn(e.getMessage());
        	treeModel = null;
        }
    }
    
    public void expandAll(TreeModel treeModel, boolean expand) {
        if (treeModel.getRoot() != null && treeModel.getRoot() instanceof DefaultMutableTreeNode) {
           collapseMenuItemHolder( (DefaultMutableTreeNode)treeModel.getRoot()  , expand );
        }
    }

    public void collapseMenuItemHolder(DefaultMutableTreeNode treeNode, boolean expand) {
       
    	if (treeNode.getUserObject() != null && (treeNode.getUserObject() instanceof MenuItemUserObject)) {
            MenuItemUserObject menuItemHolder = (MenuItemUserObject) treeNode.getUserObject();
            if (treeNode.getAllowsChildren()) {
                if (!treeNode.isRoot()) {
                    menuItemHolder.setExpanded(expand);
                }

                Enumeration<DefaultMutableTreeNode> children = treeNode.children();
                while (children.hasMoreElements()) {
                    collapseMenuItemHolder(children.nextElement(), expand);
                }
            }
        }
    }
    
    public TreeModel getTreeModel() {
        return treeModel;
    }

    public void setTreeModel(TreeModel treeModel) {
        this.treeModel = treeModel;
    }
}

Meu menu atual, utilizando a tag :

<ice:tree id="mainMenuTree"
                                      value="#{firstPageBBean.treeModel}"
                                      rendered="#{firstPageBBean.treeModel != null}"       
                                      var="node"                              
                                      hideRootNode="true"
                                      hideNavigation="false"
                                      style="margin-left:3;">
                                <ice:treeNode>
                                    <f:facet name="content">
                                        <ice:panelGroup style="display: inline;">
                                        	<ice:commandLink id="treeNode"
                                        		action="#{executaBBean.inicio}" 
                                        		rendered="${not empty node.userObject.menuItem.url}" 
                                        		styleClass="MenuLateralItemLink" 
                                        		value="#{node.userObject.menuItem.descricao}">
                                        		<f:param name="nmBean" id="nmBean" value="#{node.userObject.menuItem.url}" />
                                        	</ice:commandLink>
                                        		
                                            <ice:outputLink id="treeNode"
                                                            value="#"
                                                            rendered="${empty node.userObject.menuItem.url}"
                                                            styleClass="MenuLateralItemLink">
                                                #{node.userObject.menuItem.descricao}
                                            </ice:outputLink>
                                        </ice:panelGroup>
                                    </f:facet>
                                </ice:treeNode>
                            </ice:tree>

Estilo que devo aplicar. Menu "novo" :

<form jsfc="h:form" id="mnu1">
		<div id="menu" style="border: 1px #c6c6c6 solid;">
			<ul class="nivel1">
			   <li><a href="#" id="example1-show" onclick="showHide('example1');return false;" class="fechado">NIVEL 1</a></li>
				 <div id="example1" class="more">
					   <ul class="nivel2" id="example1-hide">
							    <li><a href="#" id="example1_1-show" onclick="showHideChild('example1_1');return false;" class="nivel2">Agrupacao A</a></li>
							      <div id="example1_1" class="more">
							    	<ul class="nivel3">
										<li><a href="#">Item de menu</a></li>
										<li><a href="#">Item de menu</a></li>
										<li><a href="#">Item de menu</a></li>
									</ul>
								  </div>
								
						</ul>
				</div>
			</ul>
		</div>

Obrigado.
Felipe Mozena

1 Resposta

M

Alguém ??? :shock:

Att,
Felipe Mozena

Criado 27 de agosto de 2012
Ultima resposta 28 de ago. de 2012
Respostas 1
Participantes 1