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 > 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