This is also used in the standard "Any" component.
("element" defaults to "templateTag" ...) <parameter name="element" type="java.lang.String" direction="in" required="no" default-value="templateTag"> <parameter name="templateTag" type="java.lang.String" direction="auto" required="no" default-value="null">
A quick google shows that Mind Bridge committed the templateTag change to CVS two years ago! This handy parameter should be in the docs, but I haven't seen it.
I crossed "Any" with (Glen Stampoultzis's) "ButtonSumbit" to create a useful mutant son: "AnySubmit". My current project uses it for easy clickable table cells: <td jwcid="myAccountLink">
Cheers, Nick.
Robert Zeigler wrote:
Not 100% sure on this, but... As near as I can tell from the "For" component (from t-deli), it looks like you could define a "templateTag" parameter which will be automatically set by the framework. Take a look at "For.jwc" for more details, but, something like: <parameter name="templateTag" type="java.lang.String" direction="auto" default-value="null"/>
Robert
NAEEM MALIK wrote:
Something that I find would be very useful for Tapestry developers is a method for components to output the element they are defined in. This is useful because components always throw away the element they are defined in and this element is often an important part of the HTML page.
For example if my HTML page contains a component called "menu" as below:
<div class="menu" style="height: 100px; width: 50px;" jwcid="menu">
</div>
After rendering, I would want the output to be:
<div class="menu" style="height: 100px; width: 50px;"> link1 link2 etc... </div>
What I will normally get is just a collection of links without the outer DIV tag.
The only way I can currently achieve the required output is if the menu component contained an 'element' parameter which specified the name of the element to output (in this case 'div') and by using the render code below.
writer.begin(element); renderInformalParameters(writer, cycle); writer.renderBody(writer, cycle); writer.end(element);
This 'element parameter' solution is not very elegant but it seems it is the only way to solve this problem because instances of components know nothing about the element they are defined in.
In summary, it would be useful for a component to know about the element it was defined in (just as it knows about its informal parameters). Even better would be a 'renderElement' option which tells Tapestry to render the component within the body of the element it was defined in rather than replacing the element it was defined in.
Has anyone else had a similar requirement or feel this enhancement is useful?
Thanks Naeem Malik
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]