Suggestion Box bug: Revisit RF-923
----------------------------------

                 Key: RF-4290
                 URL: https://jira.jboss.org/jira/browse/RF-4290
             Project: RichFaces
          Issue Type: Bug
    Affects Versions: 3.2.1
         Environment: JBoss 4.2.2
            Reporter: Brendan Farragher


I have discovered the following suggestion box bug in a different context that 
has been reported as being fixed by JIRA RF-923:

https://jira.jboss.org/jira/browse/RF-923;jsessionid=691170C187DCB362DD9AB95D05F61693

The context is the following:

I have a JSP include that contains a JSF subview and a RF modal panel tag. 
Within the modal panel tag, I have an HTML table. One of the table cells 
contains a textfield that has a RF suggestion box tag associated. The drop-down 
list is displayed after typing, but when a selection is made, the result 
variable (which is a Hibernate pojo) is not passed to the setter method that I 
have specified as the target on the f:setPropertyActionListener tag. Through 
logging messages, I see that the method is fired when a selection event occurs. 
The problem is that the variable is null, just as the behavior states in the 
RF-923 bug.

In the example below, the setSuggestionBoxNameLookupResult method is passed a 
null value when the selection is made from the drop down list.

Here is the JSP that is brought in as a subview to the main JSF JSP page via a 
JSP include tag:

<%@ taglib uri="http://richfaces.org/rich"; prefix="rich"%>
<%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f" %>
<%@ taglib uri="http://richfaces.org/a4j"; prefix="a4j" %>
        
<f:subview id="nameModalWindowSubView">
                
    <rich:modalPanel id="lookupModalPanel" width="500" height="250">

        <f:facet name="header">

            <h:outputText value="#{msgs.header}"/>

        </f:facet>
        
        <table id="lookupGrid">
        <tbody>
        <tr>
                <td scope="row" class="cellInfo">
                        <h:outputText value="#{msgs.findLabelText}"/>
                </td>
                
                        <td scope="row" class="cellInfo">
                                        
                                <a4j:region id="findNameRegion">
                                        
                                <h:inputText id="findName" 
styleClass="LongInput" maxlength="30" value="#{bean.findName}"/>
                                        
                                <%-- Suggestion box RichFaces tag for name. 
Performs name lookup and displays drop down list.   --%>
                                <%-- When a selection is made, several fields 
are re-rendered with the selected values.         --%>

                                <%-- NOTE:      There is a bug in version 3.1.0 
of RichFaces where the                  --%>
                                <%--            setPropertyActionListener 
target method gets passed a null              --%>
                                <%--            parameter, instead of the 
selected DB pojo. An upgrade to version       --%>
                                <%--        3.2.1 was required to fix it. 
RichFaces 3.2 jars are present in the         --%>
                                <%--            WEB-INF/lib folder, to correct 
this problem                             --%>
                        
                                <rich:suggestionbox
                                   width="#{bean.suggestionBoxWidth}" 
                                   height="#{bean.suggestionBoxHeight}"
                               id="nameSuggestBox"
                               styleClass="nameSuggestBox"
                   for="findName"
                                   ajaxSingle="true"
                   suggestionAction="#{bean.autoComplete}" var="result"
                   fetchValue="#{result.field1}"
                   nothingLabel="#{msgs.suggestionBoxNoMatchText}">
                        <h:column>
                        <h:outputText value="#{result.field1}" />
                        </h:column>
                        <h:column>
                        <h:outputText value="#{result.field2}" />
                        </h:column>
                        <h:column>
                        <h:outputText value="#{result.field3}" 
style="font-style:italic"/>
                        </h:column>
                        <h:column>
                        <h:outputText value="#{result.field3}" />
                        </h:column>
                
                        <a4j:support event="onselect" 
timeout="#{bean.suggestionBoxSelectionEventAjaxTimeout}">
                                        <f:setPropertyActionListener 
value="#{result}" target="#{bean.suggestionBoxNameLookupResult}" />        
                        </a4j:support>
                                        
                        </rich:suggestionbox>
                                        
                        </a4j:region>
                </td>
                <td>
                <button type="button" 
onClick="javascript:processNameLookup()">OK</button>
                </td>
                <td>
                <button type="button" 
onClick="javascript:closeNameLookupWindow()">Close</button>
                </td>
                </tr>
                </tbody>
                </table>
        
    </rich:modalPanel>

        <button type="button" onClick="javascript:showNameLookupWindow()">Name 
Lookup</button>
    
</f:subview> 




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to