[richfaces-issues] [JBoss JIRA] Commented: (RF-7527) h:inputText that has rich:suggestionBox practically cannot be combined with a4j:support event="onBlur" because of 2 annoying problems

Konstantin Spirov (JIRA) jira-events at lists.jboss.org
Thu Jul 16 01:07:29 EDT 2009


    [ https://jira.jboss.org/jira/browse/RF-7527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12476498#action_12476498 ] 

Konstantin Spirov commented on RF-7527:
---------------------------------------

Here is the scenario with queue and rendering of parent component (if my attachment does not speak for itself)

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> (!!!)

3A  - NEW) Inside a4j:queue wrap with: 

 <a4j:outputPanel  id="XXXXX">

4) From rich:suggestionBox remove: 

            usingSuggestObjects=... 
            onobjectchange=... 

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

5A - NEW - PROBLEM 1:

A) Click with the mouse on the selection list (right mouse button). The field will become empty ( incorrectly)!
B) Do again a selection and navigate with tab (not with the mouse) - the field is not empty - with keyboard (it works)

5B - NEW - PROBLEM 2:

Do a bulk clicking on the arrow. From time to time the sellection will be positioned on a wrong place. With queue, with rendering of parent component!

> 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
>            Assignee: Tsikhon Kuprevich
>         Attachments: test.xhtml
>
>
> There are 2 problems mentioned here, but I am combining them in one report, because  the test scenario I will provide is the same. The workarounds I am providing are not satisfying.
> The two these problems are in 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 automatically from the server the field 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, which is very annoying. 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

        


More information about the richfaces-issues mailing list