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 >
smime.p7s
Description: S/MIME cryptographic signature