Re: Execute Javascript after components of a certain type render

2012-01-24 Thread Alec Swan
Your suggestions worked. Thank you both! On Mon, Jan 23, 2012 at 1:50 PM, Alec Swan alecs...@gmail.com wrote: What about AbstractTransformerBehavior? Can I use it to execute Javascript? On Mon, Jan 23, 2012 at 12:08 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: There is no baked behavior

Re: Execute Javascript after components of a certain type render

2012-01-23 Thread Andrea Del Bene
Why not make an abstract MyPanel and provide an implementation of renderHead method (from IHeaderContributor)? I mean something like: public abstract class MyPanel extends Panel{ public void renderHead(Component component, IHeaderResponse response) {

Re: Execute Javascript after components of a certain type render

2012-01-23 Thread Alec Swan
That's a a good idea but unfortunately my panels extend disjoint class hierarchies and I can only group them using interfaces. Any thoughts on how I can use Application listeners to accomplish this? Thanks, Alec On Mon, Jan 23, 2012 at 3:41 AM, Andrea Del Bene adelb...@ciseonweb.it wrote: Why

Re: Execute Javascript after components of a certain type render

2012-01-23 Thread Andrea Del Bene
Your idea of using PostComponentOnBeforeRenderListener sounds good to me, but I didn't understand exactly what you do with this kind of listener. Once you have checked if component implements IMyPanel, I would call Application.getHeaderContributorListenerCollection() and I would add a header

Re: Execute Javascript after components of a certain type render

2012-01-23 Thread Alec Swan
It looks like your code will add an IHeaderContributor to EVERY component once IComponentOnBeforeRenderListener finds an instance of IMyPanel component. Which is not what I need. I was hoping to do something like this: addPostComponentOnBeforeRenderListener(new IComponentOnBeforeRenderListener()

Re: Execute Javascript after components of a certain type render

2012-01-23 Thread Alec Swan
Sorry component instanceof MicroSitePanel should have read component instanceof IMyPanel On Mon, Jan 23, 2012 at 11:26 AM, Alec Swan alecs...@gmail.com wrote: It looks like your code will add an IHeaderContributor to EVERY component once IComponentOnBeforeRenderListener finds an instance of

Re: Execute Javascript after components of a certain type render

2012-01-23 Thread Igor Vaynberg
There is no baked behavior for this. Create your own and override renderhead method to output js. If this is a one time thing override istemporary method to return true. -igor -igor On Jan 23, 2012 10:26 AM, Alec Swan alecs...@gmail.com wrote: It looks like your code will add an

Re: Execute Javascript after components of a certain type render

2012-01-23 Thread Alec Swan
What about AbstractTransformerBehavior? Can I use it to execute Javascript? On Mon, Jan 23, 2012 at 12:08 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: There is no baked behavior for this. Create your own and override renderhead method to output js. If this is a one time thing override

Execute Javascript after components of a certain type render

2012-01-22 Thread Alec Swan
Hello, What is the best way to execute some Javascript code when components of type IMyPanel render? I was hoping that I could use Application#addPostComponentOnBeforeRenderListener(..) and add a listener that would add a behavior to each component of IMyPanel type. The behavior would then