0 Replies Latest reply on Nov 12, 2007 5:57 PM by jgilbert

    treeNode nodeSelectListener Stops Working

    jgilbert

      I have a tree that I use to navigate my data model and update the data. See the sample below.

      I have placed a breakpoint in my listener method and here is what I see.

      The nodeSelectListener works fine until the a4j:commandButton is pressed. You can still navigate to other nodes, but when you select the node that was just saved the listener method is not invoked. If I save another node then the listener on the previously saved node starts to work again.

      If I switch the a4j:commandButton to just reRender the 'detail' then the nodeSelectListener works fine. However, this is not good, because now my tree is not refreshed.

      Any ideas what is going on here?


      
      <t:table id="view">
       <t:tr>
       <t:td id="left">
       <a4j:form id="treeForm">
       <rich:tree id="tree" value="#{tree}" var="item" nodeFace="#{item.type}">
       <rich:treeNode type="Root">
       <h:outputText value="#{item.text}"/>
       </rich:treeNode>
       <rich:treeNode type="Folder">
       <h:outputText value="#{item.text}"/>
       </rich:treeNode>
       <rich:treeNode type="MyEntity"
       ajaxSubmitSelection="true"
       nodeSelectListener="#{item.changeCurrent}"
       reRender="detail">
       <h:outputText value="#{item.text}"/>
       </rich:treeNode>
       </rich:tree>
       </a4j:form>
       </t:td>
       <t:td id="detail">
       <a4j:form id="detailForm">
       <a4j:commandButton value="Save"
       reRender="view" action="#{tree.current.save}">
       </a4j:commandButton>
       <!-- details go here -->
       </a4j:form>
       </t:td>
       </t:tr>
      </t:table>