[ 
https://issues.apache.org/jira/browse/MYFACES-4679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17878448#comment-17878448
 ] 

Werner Punz edited comment on MYFACES-4679 at 9/2/24 5:27 AM:
--------------------------------------------------------------

Hi I have issued 3 preliminary merge requests, which restore the wanted 
behavior!
https://github.com/apache/myfaces/pull/744 is the one for main

Please review it whether it fixes it for your use cases. I have the appended 
example properly working again with it. Should the need arise, we can narrow 
down the append the issuing item even more by only executing that code on 
buttons hrefs and submits!
But for now I will leave it as generic as is!

[~volosied] please review it and if it solves your problem, so that we can 
merge!

FYI, the final fix is as I have proposed that we do not append the issuing item 
for certain cases, the behavior events are such a case (and the only one were 
we have to add such an exclusion, for now)





was (Author: werpu):
Hi I have issued 3 preliminary merge requests, which restore the wanted 
behavior!
https://github.com/apache/myfaces/pull/744 is the one for main

Please review it whether it fixes it for your use cases, I get the appended 
example properly working again with it. Should the need arise, we can narrow 
down the append the issuing item even more by only executing that code on 
buttons hrefs and submits!
But for now I will leave it as generic as is!

[~volosied] please review it and if it solves your problem we can merge!

FYI, the final fix is as I have proposed that we do not append the issuing item 
for certain cases, the behavior events are such a case (and the only one were 
we have to add such an exclusion, for now)




> MYFACES-4606 Causes Multiple Events To Queue
> --------------------------------------------
>
>                 Key: MYFACES-4679
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4679
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Volodymyr Siedlecki
>            Priority: Major
>         Attachments: MYFACES-4679.zip
>
>
> Easier to demonstrate via the attached app (note that ajax tags have a blur 
> event).
> 1) Deploy application with  MYFACES-4606 applied.
> 2) Visit index.xhtml
> 3) Click down on the first button (don't let go)
> 4  Move the cursor elsewhere and then let the click go.
> 5) Click anywhere on the page to trigger the blur event (unfocus the button). 
> 6)  Repeat with the second button
> With the second button, both the listener and confirm actions to occur. Even 
> though, the button wasn't actually clicked.
> In my view, only the listener event should occur, not the confirm actions. 
> However, by adding the issuing element to the request, JSF thinks the button 
> was clicked after all.
> In summary:
> Before 4606:
> Button 1:
>   nothing called 
> Button 2:
>   listener called
> With 4606:
> Button 1:
>   confirm called 
> Button 2:
>   listener called 
>   confirm called 
> The activate action check is here:
> [https://github.com/apache/myfaces/blob/2.3.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java#L65]
> The "isSubmitted" method return true for paramMap.containsKey(clientId) which 
> is what the 4606 fix did (add the client id).
> *This there a way to keep the older behavior for this scenario (pre-4606)?*
> Additionally, I've seen the multiple invocations for the listener / confirm, 
> but I can't pin point the problem (could be some other button click 
> combination).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to