Search code examples
primefacesjsf-2.2treetable

avoid nodes of p:treeTable to collapse after update


i have a p:treeTable in a form and a p:dialog in another form where from p:dialog i add data to the p:treeTable

on submit of h:commandButton of the dialog i add update of p:treeTable in orded to see the added node

The issue is that all expanded nodes the user has opened will all collapse

I found this question Avoiding the collapsing of p:treeTable after update which in the question he wrote solved but no answer or solution for his question


Solution

  • To avoid collapsing or expanding you have to mark your node on the java side as collapsed or expanded. To do that that just add some ajax calls and some listener methods.

    JSF/Faces:

    <p:tree ...>
        <p:ajax event="expand" listener="#{backing.nodeExpand}" />
        <p:ajax event="collapse" listener="#{backing.nodeCollapse}" />
    ...
    </p:tree>
    

    Java/Backing:

    public void nodeExpand(NodeExpandEvent event) {
        event.getTreeNode().setExpanded(true);      
    }
    
    public void nodeCollapse(NodeCollapseEvent event) {
        event.getTreeNode().setExpanded(false);     
    }