So overriding onAfterRender for a component doesn't just override it for that
instance of the component?
Also I can see the markup is being added to the end of the page after the
closing HTML. However, the Javadocs say it is meant to be called after after
the actual component is finished rendering. So it look s like onAfterRender is
not what I need.
Can I attach to a different phase in the render lifecycle to call the
javascript when that specific panel has just finished rendering?
thanks,
Steve
On 21/01/2010, at 2:52 PM, Igor Vaynberg wrote:
> you are writing out javascript after every component render...
>
> perhaps you should keep a boolean flag that marks if you rendered the
> js yet or not.
>
> alternatively you can add a behavior to the panel with istemporary() {
> return true; }
>
> -igor
>
> On Wed, Jan 20, 2010 at 7:24 PM, Steve Swinsburg
> <[email protected]> wrote:
>> I have an AjaxLazyLoadPanel and want some javascript to fire after its
>> loaded it's contents:
>>
>> I assumed I could override onAfterRender and add my javascript like so:
>>
>> add(new AjaxLazyLoadPanel("myPanel") {
>>
>> @Override
>> public Component getLazyLoadComponent(String markupId) {
>> return new SomePamel(markupId);
>> }
>>
>> @Override
>> protected void onAfterRender() {
>> JavascriptUtils.writeJavascript(getResponse(),
>> "alert('hello');");
>> super.onAfterRender();
>> }
>>
>> });
>>
>> Except it is called twice, it looks like once when the page is loading and
>> then again when the actual panel has been loaded.
>>
>> Is there another way to achieve what I want?
>>
>> thanks,
>> Steve
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]