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 > 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 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 >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org