[jboss-user] [JBoss Seam] - how to 'stay in conversation' with rich suggestionbox?

bsmithjj do-not-reply at jboss.com
Mon Nov 12 15:09:26 EST 2007


I am having trouble 'staying in conversation' using a SFSB that backs a parent form and a child form.

>From the parent form, I have the following navigation rule:


  |   <page view-id="/MMktIssuer.xhtml" login-required="true">
  |     ...
  |     <navigation from-action="#{moneyMarketIssuerEditor.insertGuarantor}">
  |       <begin-conversation join="true"/>
  |       <render view-id="/EditGuarantorObligor.xhtml"/>
  |     </navigation>
  |     ...
  |   </page>
  | 

In the child form, I have a (rich) suggestion box.  When I select a value from the suggestions, I have a4j:support tag call a method on my SFSB to update state.  I also have a navigation rule:


  |   <page view-id="/EditGuarantorObligor.xhtml" login-required="true" conversation-required="true">
  |     <navigation from-action="#{moneyMarketIssuerEditor.selectThirdPartyByCode}">
  |       <begin-conversation join="true"/>
  |       <render view-id="/EditGuarantorObligor.xhtml"/>
  |     </navigation>
  |     ....
  |   </page>
  | 
Here is the suggestion box JSF markup that triggers the 'selection'


  | <a4j:form id="editGuarantorForm">
  |   <input type="hidden" name="cid" value="#{conversation.id}"/>
  |   <h:inputHidden id="code" value="#{editGuarantor.thirdParty.code}"/>
  | 
  |   <h:panelGrid columns="2">
  |     <h:outputText value="3rd Party Code"/>
  |     <h:panelGroup>
  |       <h:inputText id="thirdPartyCode" value="#{editGuarantor.thirdParty.thirdPartySelectionDisplay}" size="60"
  |                    style="height:20px;background:url('img/magnifying-glass.png') no-repeat center right;vertical-align:middle;"
  |                    maxlength="255"/>
  |       <h:graphicImage value="img/check2-16x16.png" alt="Ultimate Parent"
  |                       rendered="#{thirdParty.udThirdParty.ultimateParent == 1}"/>
  |       <h:graphicImage value="img/spacer.png" alt="" width="16" height="16"
  |                       rendered="#{thirdParty.udThirdParty.ultimateParent != 1}"/>
  |       <rich:suggestionbox for="thirdPartyCode" minChars="1" requestDelay="750" 
  |                           suggestionAction="#{thirdPartyHelper.getThirdPartiesByName}"
  |                           var="thirdParty" fetchValue="#{thirdParty.code}"
  |                           height="270" width="285">
  |         <a4j:support event="onselect" action="#{moneyMarketIssuerEditor.selectThirdPartyByCode}"
  |                      onsubmit="$('editGuarantorForm:code').value=$('editGuarantorForm:thirdPartyCode').value;"
  |                      reRender="editGuarantorForm"/>
  |         <facet name="nothingLabel">  (case sensitive)
  |           <h:outputText value="No matches found..."/>
  |         </facet>
  |         <h:column>
  |             #{thirdParty.code}    #{thirdParty.name}   
  |           <h:graphicImage value="img/check2-16x16.png"
  |                           rendered="#{thirdParty.udThirdParty.ultimateParent == 1}"/>
  |         </h:column>
  |       </rich:suggestionbox>
  |     </h:panelGroup>
  |     
  |     ...
  | </a4j:form>
  | 

When the a4j:support fires (due to event 'onselect'), the selection should be added to an object that is part of the conversation (parent-child type of relationship).  What's happening is that the parent object is now 'reset' as if I started a new conversation.... help?

Thanks,
Brad Smith

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4103853#4103853

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4103853



More information about the jboss-user mailing list