Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-21 Thread Steve Swinsburg
my javascript like >>>>>>> so: >>>>>>> >>>>>>> add(new AjaxLazyLoadPanel("myPanel") { >>>>>>> >>>>>>> @Override >>>>>>> public Component getLazyLoadComponent(String markupId) { >>>>>>> re

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-21 Thread Steve Swinsburg
>>>>>> @Override >>>>>> protected void onAfterRender() { >>>>>> JavascriptUtils.writeJavascript(getResponse(), >>>>>> "alert('hello');"); >>>>>> super.onAfter

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread svenmeier
;>>> 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? >>>>> >>>>>

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread Lionel Port
Actually, Ernesto idea sounds much simpler. On Thu, Jan 21, 2010 at 4:19 PM, Ernesto Reinaldo Barreiro wrote: > Why don't you include a

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread Ernesto Reinaldo Barreiro
Why don't you include a

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread Steve Swinsburg
Ah. Ok added that, still nothing. I see in the markup that the html has been added to the panel's div, though it's not running. Elsewhere on the page Javascript is working ok so I don't think it's broken, I just don't think the onLoad event is firing for an AjaxLazyLoadPanel. I'll keep going wi

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread Lionel Port
I guess doesn't need to extend AjaxBehaviour as it doesn't have any ajax. Try. add(new AbstractBehavior() { @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); String js = "alert('hello'

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread Lionel Port
I was looking at the first box. add(new AbstractDefaultAjaxBehavior() { @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); String js = "alert('hello');"; tag.

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread Steve Swinsburg
Typo in the alert, but even adding logging to the AjaxEventBehavior, it never fires. .add(new AjaxEventBehavior("onload"){ protected void onEvent(AjaxRequestTarget target){ log.error("*"); target.a

Re: add javascript after AjaxLazyLoadPanel finishes rendering - (was: onAfterRender called twice in AjaxLazyLoadPanel)

2010-01-20 Thread Steve Swinsburg
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) {

Re: onAfterRender called twice in AjaxLazyLoadPanel

2010-01-20 Thread Lionel Port
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 wrote: > So  overriding onAfterRender for a component doesn't

Re: onAfterRender called twice in AjaxLazyLoadPanel

2010-01-20 Thread Steve Swinsburg
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 rend

Re: onAfterRender called twice in AjaxLazyLoadPanel

2010-01-20 Thread Igor Vaynberg
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 wrote

onAfterRender called twice in AjaxLazyLoadPanel

2010-01-20 Thread Steve Swinsburg
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) {