I've run into a situation with @Script where I need to be able to limit script output in dynamic responses. The only problem with @Script templates (for this scenerio) is that the render logic doesn't really happen in the same way that component renders work.
Right now if I pass a valid writer to one component any IRender body instances it contains will automatically have their content output as well. (as is the preferred case for my usage) There is no IWriter to look at (as far as having context to a parent component) by the time we're at the point of actually writing some of the javascript output. The best solution I've come up with is adding two methods to IComponent. setParent(IComponent)/getParent(). This allows me to walk up the current heirarchy and determine if the component (Script component in this instance) is contained by a component that ~has~ been requested to have its content dynamically updated. I can't find any scenerio in the current codebase where this would be an issue, but then again I don't know all the various ways people do things with Tapestry so don't understand the potential problems this might create. I might commit the change now (unless someone replies back soon-ish), but will of course revert the change if requested. -- Jesse Kuhnert Tacos/Tapestry, team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind.
