2 Replies Latest reply on Jun 18, 2008 9:39 AM by nicoza

    listShuttle clicking on elements/buttons not working

    nicoza

      Hi there,

      I'm sure I'm missing something here but I have some behaviour here I do not understand. Maybe someone can shed some light on it.

      I am using Facelets 1.1.14 together with Richfaces 3.2.0. Here is the code for the test page:

      <html xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:c="http://java.sun.com/jstl/core"
       xmlns:a4j="http://richfaces.org/a4j"
       xmlns:rich="http://richfaces.org/rich"
       xmlns:r="http://rorotika.com/jsf">
      <head>
      <title>TEST</title>
      </head>
      <body>
      <f:view>
      
       <h:panelGrid columns="2" title="Administration">
       <rich:panel header="List of users" style="height: 100%" id="userList">
       <c:forEach var="user" items="#{adminBean.users}">
       User: <b>#{user.name}</b>
      
       <c:if test="#{adminBean.editUser.name != user.name}">
       <a4j:form>
       <a4j:commandLink value="Edit" action="#{adminBean.editUser}"
       reRender="userList, testtesttest">
       <a4j:actionparam value="#{user.name}"
       assignTo="#{adminBean.editUser.name}" />
       </a4j:commandLink>
       </a4j:form>
       </c:if>
      
       <br/>
       </c:forEach>
      
       <rich:listShuttle id="testtesttest"
       sourceValue="#{adminBean.stringsSource}" targetValue="#{adminBean.stringsTarget}"
       var="role" targetCaptionLabel="Dummy" sourceCaptionLabel="Dummy2"
       listHeight="200" >
       <rich:column>
       <h:outputText value="#{role}" />
       </rich:column>
       </rich:listShuttle>
      
       </rich:panel>
      
       </h:panelGrid>
      
      
      <a href="logout.jsp">Logout</a>
      </f:view>
      </body>
      


      The adminBean.stringsSource and stringsTarget properties simply wrap a list of strings that get initialised at startup. The editUser is simply a temporary object to be used during the editing process to keep the values entered by the user in a form that gets presented (omitted in this short example).

      Now what is supposed to happen is when the user clicks on one of the "edit" links next to a user, that user displays an "editing" form (here presented by simply dropping the edit link). whilst taking the edit form away from the previously editing user. This part is working fine.

      The weird behaviour comes in with the listShuttle component - during the first load, clicking on the elements in the lists or the buttons works perfectly. But after clicking one of the Edit links, it suddenly stops working. Yet, when you manually do a refresh after clicking one of the Edit links, everything works fine again.

      I am totally stumped on this one, I'm sure there's something I am missing. Can anyone help out? If I need to provide any more information, just shout.

      Thanks in advance