hi everybody,
I have the following code
<rich:tree value="#{treeElem.trees}" var="item" stateAdvisor="#{treeDemoStateAdvisor}" switchType="ajax" > <rich:treeNode changeExpandListener="#{handler.processExpansion}"> <h:outputText value="#{item.id} #{item.name}" /> </rich:treeNode> </rich:tree>
@Name("treeDemoStateAdvisor") public class TreeDemoStateAdvisor implements TreeStateAdvisor { public Boolean adviseNodeOpened(UITree tree) { if (!PostbackPhaseListener.isPostback()) { Object key = tree.getRowKey(); TreeRowKey treeRowKey = (TreeRowKey) key; if (treeRowKey == null || treeRowKey.depth() <= 20) { return Boolean.TRUE; } } return null; } public Boolean adviseNodeSelected(UITree tree) { return null; } }
Hi,
Check that
PostbackPhaseListener.isPostback()is working right. It should reflect whether current request is postback or not.