add a WindowClosedCallback. Then you can make the refresh to your parent page.
On Fri, May 7, 2010 at 8:45 AM, Serban Balamaci <serban.balam...@asf.ro>wrote: > Hello. > > I have a case where I'm trying to refresh the parent page from a popup > page. > > On the parent page I have: > > AbstractDefaultAjaxBehavior clientSideCallingBehavior = > new AbstractDefaultAjaxBehavior() { > protected void respond(AjaxRequestTarget target) { > System.out.println("Refreshing ......."); > } > }; > > Label lblCallback = new Label("refreshJS", new > LoadableDetachableModel() { > > protected Object load() { > String callbackScript = "var callRefresh = function(value) { > wicketAjaxGet('" > + clientSideCallingBehavior.getCallbackUrl(false) > + "', null, null, function() {return true;}); return > false;}"; > return callbackScript; > } > }); > lblCallback.add(clientSideCallingBehavior); > lblCallback.setEscapeModelStrings(false); > add(lblCallback); > > > In the popup page I have on a link call the callRefresh method: > AjaxLink cancel = new AjaxLink("cancel") { > public void onClick(AjaxRequestTarget target) { > target.appendJavascript("window.opener.callRefresh();"); > } > }; > > org.apache.wicket.protocol.http.request.InvalidUrlException: > org.apache.wicket.WicketRuntimeException: component > right-content-panel-container:right-content-panel-id:details-panel:tabs:panel:refreshJS > not found on page com.asf.ufe.web.pages.evaluation.AccountEvaluationPage[id > = 2], listener interface = [RequestListenerInterface name=IBehaviorListener, > method=public abstract void > org.apache.wicket.behavior.IBehaviorListener.onRequest()] > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:262) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1310) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115) > Caused by: org.apache.wicket.WicketRuntimeException: component > right-content-panel-container:right-content-panel-id:details-panel:tabs:panel:refreshJS > not found on page com.asf.ufe.web.pages.evaluation.AccountEvaluationPage[id > = 2], listener interface = [RequestListenerInterface name=IBehaviorListener, > method=public abstract void > org.apache.wicket.behavior.IBehaviorListener.onRequest()] > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:426) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage(AbstractRequestCycleProcessor.java:471) > at > org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:144) > ... 26 more > > If I do make the call to callRefresh from the Parent Page(the same page > where the behaviour is located) with onclick="callRefresh();return false;" > it works. > > Do you have any ideeas? Does it have to be the last page in the PageMap for > ajax to work? > Thanks. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Fernando Wermus. www.linkedin.com/in/fernandowermus