Re: div block ID name collisions with 3rd party libraries

2013-04-26 Thread Howard Lewis Ship
Relying on CSS that uses ids, rather than classes, will give you all kinds of issues integrating it all together. It may render faster on the client, I don't know. It's possible to hook into Tapestry and "pre-register" all those ids that can cause conflicts. Tapestry will then not use them, and wi

RE: div block ID name collisions with 3rd party libraries

2013-04-26 Thread Lance Java
I suggest that component authors use the code I gave you. I also suggest to style by class instead of by id since the clientId should be a dynamic, runtime value that is not known at build time. If components have a static clientId, they can not (legally) be used in a loop.

RE: div block ID name collisions with 3rd party libraries

2013-04-26 Thread Ken in Nashua
Thanks Lance, These options are all great... helpful. I am interfacing with the author and trying to communicate what I have identified is a show stopper for the users of their library. I think some rules of thumb need to be agreed upon especially with regard to owness. So it should really be

RE: div block ID name collisions with 3rd party libraries

2013-04-26 Thread Lance Java
It's invalid html to have two elements with the same id so it will need to be fixed. Have you considered styling your CSS by "class" instead of by "id"?

RE: div block ID name collisions with 3rd party libraries

2013-04-26 Thread Ken in Nashua
Thanks Lance, Thats helpful information. I have a case where explicit raw usage of those ID's header, nav, main... are being used right within a CSS file or even in explicit style . So my layout is being blown off the map... (oops page). I still am wondering what solution I should impose. Tha

Re: div block ID name collisions with 3rd party libraries

2013-04-26 Thread Lance Java
Most tapestry components take the approach of using the "id" parameter (not to be confused with t:id) if one is provided. If an "id" is not provided, a clientId is generated which is guaranteed not to clash with other id's on the page. public class MyComponent implements ClientElement { @Enviro