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

Reply via email to