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() { @Override public void onBeforeRender(Component component) { if (component instanceof MicroSitePanel) { component.add(new XXXBehavior() { // somehow fire Javascript when component renders, e.g. onComponentTag??? }); } } }); So, my question is what XXXBehavior should I use and how to fire Javascript when component renders? Thanks, Alec On Mon, Jan 23, 2012 at 10:09 AM, Andrea Del Bene <adelb...@ciseonweb.it> wrote: > 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 contributor which renders your JavaScript as I suggested in the > previous mail. > The code of you IComponentOnBeforeRenderListener should be something like: > > .... implements IComponentOnBeforeRenderListener{ > > onBeforeRender(Component component) { > if(component instanceof IMyPanel) > > Application.get().getHeaderContributorListenerCollection().add(new > IHeaderContributor(){ > public void renderHead( IHeaderResponse > response) > { > > response.renderOnLoadJavaScript("<...your JavaScript...>"); > } > }); > > } > } >> >> 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: >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org