Tree is kinda crazy

UI Components for JSF
Post Reply
Andre Froes
Posts: 155
Joined: 16 Mar 2011, 17:24
Location: Brazil - Curitiba

07 Apr 2011, 05:07

Hey everyone, the tree component is a bit crazy or I am missing something here? I added a nodeListener that simply shows the node that is selected, but it hapens only once, if I click it again, the event doesn't happens again. Here it is:

Code: Select all

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.frb.esporte;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.event.NodeSelectEvent;
import org.primefaces.model.DefaultTreeNode;
import org.primefaces.model.TreeNode;

/**
 *
 * @author André
 */
@ManagedBean
@SessionScoped
public class Tree implements Serializable{

    private TreeNode root;
    private TreeNode selectedNode;

    public Tree() {
        carregaTree(null);
    }

    public void carregaTree(NodeSelectEvent e){
        root = new DefaultTreeNode("Root", null);
        TreeNode node0 = new DefaultTreeNode("1 - Ato de Dopagem", root);
        TreeNode node1 = new DefaultTreeNode("2 - Controle de Dopagem", root);
        TreeNode node2 = new DefaultTreeNode("3 - Procedimento", root);
        TreeNode node4 = new DefaultTreeNode("4 - Análise das Amostras", root);
        TreeNode node5 = new DefaultTreeNode("5 - Informe dos Resultados", root);
        TreeNode node6 = new DefaultTreeNode("6 - Penalidades", root);
        TreeNode node7 = new DefaultTreeNode("7 - Lista de Substâncias Proibidas", root);
        TreeNode node8 = new DefaultTreeNode("8 - Métodos Proibidos", root);
        TreeNode node9 = new DefaultTreeNode("9 - Comissão Empresarial", root);

        TreeNode node21 = new DefaultTreeNode("Item 2.1", node1);
        TreeNode node22 = new DefaultTreeNode("Item 2.2", node1);
        TreeNode node23 = new DefaultTreeNode("Item 2.3", node1);
        TreeNode node24 = new DefaultTreeNode("Item 2.4", node1);
        TreeNode node25 = new DefaultTreeNode("Item 2.5", node1);
        TreeNode node26 = new DefaultTreeNode("Item 2.6", node1);
        TreeNode node27 = new DefaultTreeNode("Item 2.7", node1);

        TreeNode node31 = new DefaultTreeNode("Item 3.1", node2);
        TreeNode node32 = new DefaultTreeNode("Item 3.2", node2);
        TreeNode node33 = new DefaultTreeNode("Item 3.3", node2);
        TreeNode node34 = new DefaultTreeNode("Item 3.4", node2);
        TreeNode node341 = new DefaultTreeNode("Item 3.4.1", node24);
        TreeNode node342 = new DefaultTreeNode("Item 3.4.2", node24);
        TreeNode node343 = new DefaultTreeNode("Item 3.4.3", node24);
        TreeNode node344 = new DefaultTreeNode("Item 3.4.4", node24);
        TreeNode node345 = new DefaultTreeNode("Item 3.4.5", node24);
        TreeNode node346 = new DefaultTreeNode("Item 3.4.6", node24);
        TreeNode node347 = new DefaultTreeNode("Item 3.4.7", node24);
        TreeNode node348 = new DefaultTreeNode("Item 3.4.8", node24);
        TreeNode node349 = new DefaultTreeNode("Item 3.4.9", node24);
        TreeNode node3410 = new DefaultTreeNode("Item 3.4.10", node24);
        TreeNode node3411 = new DefaultTreeNode("Item 3.4.11", node24);
        TreeNode node3412 = new DefaultTreeNode("Item 3.4.12", node24);
        TreeNode node3413 = new DefaultTreeNode("Item 3.4.13", node24);
        TreeNode node3414 = new DefaultTreeNode("Item 3.4.14", node24);
        TreeNode node3415 = new DefaultTreeNode("Item 3.4.15", node24);
        TreeNode node3416 = new DefaultTreeNode("Item 3.4.16", node24);
        TreeNode node3417 = new DefaultTreeNode("Item 3.4.17", node24);

        TreeNode node41 = new DefaultTreeNode("Item 4.1", node4);
        TreeNode node42 = new DefaultTreeNode("Node 4.2", node4);
        TreeNode node43 = new DefaultTreeNode("Node 4.3", node4);

        TreeNode node411 = new DefaultTreeNode("Item 4.1.1", node41);
        TreeNode node412 = new DefaultTreeNode("Item 4.1.2", node41);
        TreeNode node413 = new DefaultTreeNode("Item 4.1.3", node41);

        TreeNode node51 = new DefaultTreeNode("Item 5.1", node5);
        TreeNode node52 = new DefaultTreeNode("Item 5.2", node5);
        TreeNode node53 = new DefaultTreeNode("Item 5.3", node5);
        TreeNode node54 = new DefaultTreeNode("Item 5.4", node5);
        TreeNode node55 = new DefaultTreeNode("Item 5.5", node5);

        TreeNode node61 = new DefaultTreeNode("Item 6.1", node6);
        TreeNode node62 = new DefaultTreeNode("Item 6.2", node6);
        TreeNode node63 = new DefaultTreeNode("Item 6.3", node6);
        TreeNode node64 = new DefaultTreeNode("Item 6.4", node6);
        TreeNode node65 = new DefaultTreeNode("Item 6.5", node6);
        TreeNode node66 = new DefaultTreeNode("Item 6.6", node6);
        TreeNode node67 = new DefaultTreeNode("Item 6.7", node6);
        TreeNode node68 = new DefaultTreeNode("Item 6.8", node6);
        TreeNode node69 = new DefaultTreeNode("Item 6.9", node6);
        TreeNode node610 = new DefaultTreeNode("Item 6.10", node6);

        TreeNode node631 = new DefaultTreeNode("Item 6.3.1", node63);
        TreeNode node632 = new DefaultTreeNode("Item 6.3.2", node63);

        TreeNode node71 = new DefaultTreeNode("Estimulantes", node7);
        TreeNode node72 = new DefaultTreeNode("Narcóticos", node7);
        TreeNode node73 = new DefaultTreeNode("Canabinóides", node7);
        TreeNode node74 = new DefaultTreeNode("Agentes Anabólicos", node7);
        TreeNode node75 = new DefaultTreeNode("Hormônios Peptídios", node7);
        TreeNode node76 = new DefaultTreeNode("Beta-2 Agonistas", node7);
        TreeNode node77 = new DefaultTreeNode("Agentes com Atividade Anti-Estrogênica", node7);
        TreeNode node78 = new DefaultTreeNode("Agentes Mascarantes", node7);
        TreeNode node79 = new DefaultTreeNode("Diuréticos", node7);
        TreeNode node710 = new DefaultTreeNode("Glicorticóides", node7);

        TreeNode node81 = new DefaultTreeNode("Interferência no Transporte do Oxigênio", node8);
        TreeNode node82 = new DefaultTreeNode("Farmacológico, Substância Química e Manipulação Física", node8);
        TreeNode node83 = new DefaultTreeNode("Dopagem Genética", node8);
    }

    public TreeNode getRoot() {
        return root;
    }

    public TreeNode getSelectedNode() {
        return selectedNode;
    }

    public void setSelectedNode(TreeNode selectedNode) {
        this.selectedNode = selectedNode;
    }

    public void onNodeSelect(NodeSelectEvent event) {
        System.out.print(selectedNode.getData());
        carregaTree(null);
    }
}

xhtml

Code: Select all

<ui:composition template="../../modulos/template/modelo.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.prime.com.tr/ui">
    <ui:define name="estilos">
        <link rel="stylesheet" media="all" href="/FRB/resources/css/barcos.css"/>
    </ui:define>
    <ui:define name="conteudo">
        <p:panel>
            <h:panelGrid width="100%" id="titulo">
                <h:outputText value="Código Nacional de Dopagem"/>
            </h:panelGrid>
            <br/>
            <h:form>
                <p:tree value="#{tree.root}" var="node" 
                        selection="#{tree.selectedNode}"
                        selectionMode="single"
                        update="nd"
                        nodeSelectListener="#{tree.onNodeSelect}">
                    <p:treeNode>
                        <h:outputText value="#{node}"/>
                    </p:treeNode>
                </p:tree>
                <h:outputText value="#{tree.selectedNode.data}" id="nd"/>
            </h:form>
        </p:panel>

    </ui:define>
</ui:composition>
as you can see, the only thing that I do is show the node in my console and in my screen. In both, the 1st selection works, it shows normally the node, if I click again, both stays dead, nothing happens
PrimeFaces 3.5 | Glassfish 3.1 | Mojarra 2.1.5 (JSF 2.1)
Netbeans 7.2.1 | JDK1.7 | Java EE 6 | SQL Server 2008
Win7 64 bits | Firefox 10 - Chrome - IE (all unfortunately)

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: Google [Bot] and 62 guests