[ http://issues.apache.org/jira/browse/TAPESTRY-891?page=all ]
Jesse Kuhnert resolved TAPESTRY-891.
------------------------------------
Fix Version/s: 4.1.1
Resolution: Fixed
Assignee: Jesse Kuhnert
See new render stack related methods added to IRequestCycle
> CLONE -Add getParent() method to IComponent
> -------------------------------------------
>
> Key: TAPESTRY-891
> URL: http://issues.apache.org/jira/browse/TAPESTRY-891
> Project: Tapestry
> Issue Type: Improvement
> Components: Framework
> Affects Versions: 3.0.1
> Reporter: Sergey Manukyan
> Assigned To: Jesse Kuhnert
> Priority: Minor
> Fix For: 4.1.1
>
>
> Tapestry does not allow you to retrieve the parent of a component. If you
> have a component C nested in a component P, there is no method to retrieve
> the parent P from C. What is needed is a getParent() method.
> There is no logical reason for not including a getParent method as methods
> exist to retrieve the children of a component. The getParent method is
> extremely useful if you wish to change the rendering behavior of a component
> based on whether it is nested inside a particular component. The JSP taglib
> API supports this with the TagSupport.findAncestorWithClass(Tag, Class)
> method. Without the getParent method, it is difficult to convert some JSP
> tags to Tapestry components.
> Fortunately, this improvement is not difficult to implement. I have
> successfully implemented this by adding a private variable _parent of type
> IComponent to AbstractComponent and adding getParent/setParent methods to
> get/set the variable: the getter should look like this:
> return _parent != null ? _parent : getContainer();
> Finally, add the following line to
> BaseComponentTemplateLoader.process(OpenToken) method (line 268 under version
> 3.0.1)
> component.setParent(_activeComponent);
> (Note that Tapestry does allow you to retrieve the IComponent a particular
> component is embedded in via the IComponent.getContainer() call. This call
> will retrieve the component whose template C was defined in. This method does
> not address the issue.)
--
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]