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

Reply via email to