h:inputText that has rich:suggestionBox practically cannot be combined with 
a4j:support event="onBlur" because of 2 annoying problems
-------------------------------------------------------------------------------------------------------------------------------------

                 Key: RF-7527
                 URL: https://jira.jboss.org/jira/browse/RF-7527
             Project: RichFaces
          Issue Type: Bug
          Components: component-input
    Affects Versions: 3.3.1
         Environment: The scenario is for Firefox 3.5 and Opera 9.1, RichFaces 
>= 3.1
            Reporter: Konstantin Spirov


There are 2 problems mentioned here, but I am combining them in one report, 
because in the test scenario I will provide they are the same. I will also 
provide the workarounds (from user perspective) for both of them, but the 
workarounds are not satisfying.

The two these problems are about construction like:

<h:inputText style="margin:0px;" id="xxx" value="xxx">
                    <a4j:support event="onblur" reRender="xxx" 
bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>

<rich:suggestionbox for="xxx">

The approach is a4j:support rerender=xxx is *very standard* (see seam-gen for 
examples), and it is practically necessary if we want to modify the field 
automatically after it is changed.

Problem 1: Display suggestion list and click on some suggestion (with the 
mouse). The value will be updated for a while, then *the old content* is 
recovered (incorrectly ). We have again empty field. PLEASE notice that if you 
had used arrows and tab from the keyboard, everything would work correctly - so 
there is a solution, but it doesn't work when the user clicks with the mouse 
(our users usually click with the mouse, don't use keyboard  :-) 

Problem 2: JavaScript error if you try to display the suggestion again (see 
your browser console).  The suggestionbox stops working until you reload the 
page.

Exact steps to reproduce quickly test platform (I am sending  an attachment 
just for refference - it is similar)

1) Take from Richfaces showcase RichInput:SuggestionBox:ObjectsUsageExample

2) Add value="#{bean.attribute} to <h:inputText (create the "bean" in the most 
quick and easy for you way, in my platform it is seam component in conversation 
scope)

3) Inside  <h:form> wrap with <a4j:queue> (probably not necessary, but let's 
not risk the repeatability of the scenario)

4) From rich:suggestionBox remove:

            usingSuggestObjects=...
            onobjectchange=...

5) Add in h:inputText <a4j:support event="onblur" reRender="statesinput" 
bypassUpdates="true" ajaxSingle="true"/>

You will see that the last step line makes everything unusable :-(

-- 
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