Dear list, I decided to throw together an app detailing how JS works with T5 (how to connect behavior from a component or mixin, the important inner workings, etc). I created a mixin that attaches behavior (mouse overs) to an HTML element (and doing this requires the DOM id of that element). For a simple demo I just wanted to attach it to a styled <div id="my_div">, so I had to use a <div t:type="any" id="my_div">. No problem. Now I need that DOM id in my java code (mixin) so I can pass it to the instantiation string of my JS object. Here's what I tried:
@Parameter(value = "prop:componentResources.id", defaultPrefix = TapestryConstants.LITERAL_BINDING_PREFIX) private String clientId; This is the 'usual' way of getting the client side id of the component, at least when that component outputs it in the html element body. Since Any does not, it appears to interpret (or rather ignore) the id attribute and treat it as an informal. The problem with that is there is no way, at least that I know of, to get my hands on that value in java code. So what I'm having to do in my template code is explicitly declare the t:clientId parameter: <div t:type="any" t:mixins="hoverhighlight" id="my_box" t:clientId="my_box"> This works, but it's annoying that T5 can't know what the client side id will be. Components that actually produce a T5-generated client side id generally implement ClientElement#getClientId and explicitly insert the html id attribute with that as a value. I realize that it wouldn't make sense for _every_ component to do this, but IMO there should be a way to get at this id in the situations where it's been provided. Perhaps I've missed something, but unless I've missed something there's no current way to do this and get the dom id in code: <div t:type="any" t:mixins="hoverhighlight" id="my_box"> Thanks for any input you can offer. chris -- http://thegodcode.net --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]