Thanks Sven, that works nicely. Now if only the iframe this panel loads in was in was being resized appropriately after the panel loads its contents....
cheers, Steve On 21/01/2010, at 10:55 PM, Steve Swinsburg wrote: > 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 >> > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org