[ http://issues.apache.org/jira/browse/TAPESTRY-1054?page=all ]

Jesse Kuhnert resolved TAPESTRY-1054.
-------------------------------------

    Fix Version/s: 4.1.1
       Resolution: Fixed

Fixed. Applied suggested changes and it worked out. Thanks :) Will deploy it in 
a couple minutes.

> DojoAjaxResponseBuilder will never render FormComponents
> --------------------------------------------------------
>
>                 Key: TAPESTRY-1054
>                 URL: http://issues.apache.org/jira/browse/TAPESTRY-1054
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.1
>            Reporter: Ben Sommerville
>         Assigned To: Jesse Kuhnert
>             Fix For: 4.1.1
>
>         Attachments: TapBug-1054.zip
>
>
> DojoAjaxResponseBuilder uses the client id of a component to determine 
> whether or not to render it (see the contains method).  Form components 
> (children of AbstractFormComponent) will always have a null client id at this 
> point & hence will never be rendered.
> The form components seem to have a null client id because 
> AbstractFormComponent has an abstract setClientId method.  This causes 
> tapestry to add a generated getClientId method that overrides the 
> AbstractComponent.getClientId method.  If you look at a form component in a 
> debugger you can see the extra $clientId member variables that have been 
> added to the concrete class.
> The AbstractFormComponent setClientId method is only invoked by 
> renderIdAttribute.  Obviously this happens after the DojoAjaxResponseBuilder 
> calls getClientId to determine whether the component should be rendered.
> I think this can be fixed by removing the AbstractFormComponent setClientId 
> method & adding a protected setClientId method to AbstractComponent (that 
> just sets the _clientId member).  
> This will result in DojoAjaxResponseBuilder calling 
> AbstractComponent.getClientId & being returned the bound id or the 
> IComponent.getId.  Either of which should allow it to properly determine 
> whether the component is supposed to be rendered or not.

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to