If it was my own Panel class then I would add the extra markup. But I am using 
the built in AjaxLazyLoadPanel class and was hoping to just override it easily.

Looks like I'll extend it as per Sven's suggestion below.

cheers,
Steve



On 21/01/2010, at 6:37 PM, svenmeier wrote:

> 
> class SomePanel extends Panel implements IHeaderContributor
> {
>        public SomePanel(String id)
>        {
>                super(id);
>        }
> 
>        public void renderHead(IHeaderResponse response)
>        {
>                response.renderOnDomReadyJavascript("alert('hello');");
>        }
> }
> 
> Sven
> 
> 
> Steve Swinsburg-3 wrote:
>> 
>> Hi Lionel,
>> 
>> Thanks and yes, thats what I am trying to do, attach some javascript after
>> something has rendered. So I attached an AjaxEventBehaviour to it and now
>> have this:
>> 
>> add(new AjaxLazyLoadPanel("myPanel") {
>> 
>>      @Override
>>         public Component getLazyLoadComponent(String markupId) {
>>              return new SomePanel(markupId);
>>         }
>> }.add(new AjaxEventBehavior("onload"){
>>        protected void onEvent(AjaxRequestTarget target){
>>              target.appendJavascript("alert('hello)';");
>>        }
>> }));
>> 
>> but the javascript is never fired.
>> 
>> Any more ideas?
>> 
>> cheers,
>> Steve
>> 
>> 
>> On 21/01/2010, at 3:09 PM, Lionel Port wrote:
>> 
>>> Hi Steve,
>>> 
>>> Are you trying to do this..
>>> 
>>> http://cwiki.apache.org/WICKET/adding-javascript-from-wicket.html
>>> 
>>> with an onload event instead of onblur, or do I misunderstand.
>>> 
>>> regards,
>>> Lionel
>>> 
>>> On Thu, Jan 21, 2010 at 2:56 PM, Steve Swinsburg
>>> <steve.swinsb...@gmail.com> wrote:
>>>> 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
>>>>> <steve.swinsb...@gmail.com> 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: 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
>>> 
>> 
>> 
>> 
> 
> -- 
> View this message in context: 
> http://old.nabble.com/onAfterRender-called-twice-in-AjaxLazyLoadPanel-tp27252299p27253924.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to