[richfaces-issues] [JBoss JIRA] Commented: (RF-10275) Provide sourceId in ClientBehaviorContext

Nick Belaevski (JIRA) jira-events at lists.jboss.org
Fri Jan 28 13:09:39 EST 2011


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

Nick Belaevski commented on RF-10275:
-------------------------------------

Martin,

In RichFaces we are resolving execute/render dynamically when component that is triggering the request is processed. Here is the article: http://community.jboss.org/wiki/A4jCoreComponentsRequirements - see 1.3 Difference for JSF and RF render/execute mechanisms.

So, for a4j:ajax we need clientId to be sent to the server and all processing is done based on this.

> Its very interesting. How RichFaces do that? If f:ajax client behavour is rendered with renderer from RI or Myfaces then renderer (should?) 
> replace @this keyword with sourceId (or not? Andy Schwartz says it should).

This is done by rendering behavior code as part of component JS initialization code and not as inline event handler (when handler is targeting non-root elements or custom events like 'expand' or 'switch'). The rest is easy - component JS code provides necessary context for event handler invocation. 

> Provide sourceId in ClientBehaviorContext
> -----------------------------------------
>
>                 Key: RF-10275
>                 URL: https://issues.jboss.org/browse/RF-10275
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: base functionality 
>    Affects Versions: 4.0.0.Milestone5
>         Environment: richfaces trunk svn rev. 21155, mojarra 2.0.3, myfaces trunk
>            Reporter: Martin Kočí
>            Assignee: Konstantin Mishin
>             Fix For: 4.0.0.CR1
>
>         Attachments: RF-10275.patch
>
>
> Example:
> <rich:select id="richSelect">
>   <f:ajax />
> ...some selectItems
> </rich:select>
> f:ajax execute default value is @this. But http request contains (for this example) javax.faces.partial.execute = formId:richSelectInput (with 'Input' suffix) and thus component is not executed on server! This is a combination of bugs, one of them is in rich faces: RenderKitUtils.getAttributeAndBehaviorsValue does not provide sourceid for ClientBehaviorContext.
> For other informations see:
> http://www.mail-archive.com/dev@myfaces.apache.org/msg50884.html
> https://issues.apache.org/jira/browse/MYFACES-3018

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the richfaces-issues mailing list