Hi Sebastian, i also tried it with the AjaxLink. It seems that the #onselect method is always called first, and only after that the ajaxlink. So overriding the #updateAjaxAttributes may not help?
thanks for your help! Chris > Am 08.02.2015 um 14:17 schrieb Sebastien <[email protected]>: > > Hi Chris, > > Actually what you describe is the opposite of what is supposed to happen :) > > I will try to look at this... There could be several reason: the region > occupied by the markup container can be misleading for instance, or there > could be a "canceling bubble" conflict between registered wicket ajax event > and pure jquery ones (I would be surprised but i will double check) > > Btw IIRC, the event name should be "click", not "onclick" > new AjaxEventBehavior("click") > > Furthermore, is there any reason you preferred a container over a link? > Maybe you can try with a link instead, just to be sure it is not a matter > of the region being clicked... > Last point, depending of the resulting hierarchy level of elements, maybe > STOP_IMMEDIATE should be used instead of just STOP > > Best regards, > Sebastien > > > On Sun, Feb 8, 2015 at 1:55 PM, Chris <[email protected]> wrote: > >> Hi Sebastian - thanks for your answer. >> >> I experience that when adding #attributes.setEventPropagation, the >> #onEvent method of infoLink is not called at all, and the #onselect method >> of the sortable is still called. It would be awesome if you know how to fix >> it. >> >> @Override >> protected void populateItem(ListItem<String> item) { >> ... >> WebMarkupContainer infoLink = new WebMarkupContainer("infoLink"); >> infoLink.add(new AjaxEventBehavior("onclick") { >> >> @Override >> protected void onEvent(AjaxRequestTarget target) { >> >> } >> >> @Override >> protected void updateAjaxAttributes(AjaxRequestAttributes >> attributes) { >> super.updateAjaxAttributes(attributes); >> attributes.setAllowDefault(false); >> >> attributes.setEventPropagation(AjaxRequestAttributes.EventPropagation.STOP); >> >> } >> }); >> >> br, Chris >> >>> Am 08.02.2015 um 11:15 schrieb Sebastien <[email protected]>: >>> >>> Hi Chris, >>> >>> Sorry for the mistake, its >>> attributes.setEventPropagation(EventPropagation.STOP); >>> >>> Best regards, >>> Sebastien. >>> >>> >>> On Fri, Feb 6, 2015 at 10:12 PM, Chris <[email protected]> wrote: >>> >>>> Update: >>>> >>>> When setting #setAllowDefault(false), the #onevent method of the web >>>> markup container is called, but in addition also the #on select method >> of >>>> sortable. >>>> When setting #setAllowDefault(true), the #onevent method is not called >> at >>>> all, only the #on select method. >>>> >>>> It seems that setAllowDefault(false or true) does not prevent the event >>>> bubbling to parents. What might be missing? >>>> >>>> >>>> @Override >>>> protected void populateItem(ListItem<String> item) { >>>> ... >>>> WebMarkupContainer infoLink = new WebMarkupContainer("infoLink"); >>>> infoLink.add(new AjaxEventBehavior("onclick") { >>>> >>>> @Override >>>> protected void onEvent(AjaxRequestTarget target) { >>>> >>>> } >>>> >>>> @Override >>>> protected void updateAjaxAttributes(AjaxRequestAttributes >>>> attributes) { >>>> super.updateAjaxAttributes(attributes); >>>> attributes.setAllowDefault(false); >>>> } >>>> }); >>>> >>>> >>>> @Override >>>> public void onSelect(AjaxRequestTarget target, List<String> items) { >>>> ….. >>>> >>>> >>>> Chris >>>> >>>> >>>>> Am 06.02.2015 um 21:20 schrieb Martin Grigorov <[email protected]>: >>>>> >>>>> Hi, >>>>> >>>>> On Fri, Feb 6, 2015 at 10:13 PM, Chris <[email protected]> wrote: >>>>> >>>>>> Hi Sebastian, >>>>>> >>>>>> thanks for your help. Has that the method signature recently changed? >>>> The >>>>>> method #setPreventDefault is not available on the object #attributes. >>>>>> >>>>>> >>>>>> Link link = new AjaxFallbackLink<String>("link") { >>>>>> >>>>>> @Override >>>>>> public void onClick(AjaxRequestTarget target) { >>>>>> } >>>>>> >>>>>> @Override >>>>>> protected void updateAjaxAttributes(AjaxRequestAttributes >>>>>> attributes) { >>>>>> super.updateAjaxAttributes(attributes); >>>>>> attributes.setPreventDefault(true); >>>>>> >>>>> >>>>> In Wicket 6.x it is wrongly named "setAllowDefault()". >>>>> >>>>> >>>>>> } >>>>>> }; >>>>>> >>>>>> Chris >>>>>> >>>>>> >>>>>> >>>>>>> Am 06.02.2015 um 19:56 schrieb Sebastien <[email protected]>: >>>>>>> >>>>>>> Hi Chris, >>>>>>> >>>>>>> Yes, generally speaking, you have to cancel bubbling events to parent >>>>>>> elements. >>>>>>> For a [Ajax]Link (or any event-behavior related) you have to set the >>>>>>> preventDefault property to true; >>>>>>> >>>>>>> protected void updateAjaxAttributes(AjaxRequestAttributes >> attributes) >>>>>>> { >>>>>>> super.updateAjaxAttributes(attributes); >>>>>>> >>>>>>> attributes.setPreventDefault(true); // cancel bubbling >>>>>>> } >>>>>>> >>>>>>> Hope this helps, >>>>>>> Best regards, >>>>>>> Sebastien >>>>>>> >>>>>>> On Fri, Feb 6, 2015 at 6:59 PM, Chris <[email protected]> wrote: >>>>>>> >>>>>>>> Hi Sebastian, >>>>>>>> >>>>>>>> I would have a follow-up question regarding the #Sortable: >>>>>>>> >>>>>>>> >>>>>>>> Is it possible to add an AjaxLink to the item with its own behavior >> so >>>>>>>> that if the user clicks on this link, then its on-click behavior >>>> should >>>>>> be >>>>>>>> called instead of the #onselect method from the sortable. At the >>>> moment, >>>>>>>> the #onselect method would be called for this link. >>>>>>>> >>>>>>>> Thanks a lot, >>>>>>>> Chris >>>>>>>> >>>>>>>> @Override >>>>>>>> protected void populateItem(ListItem<String> item) >>>>>>>> { >>>>>>>> item.add(new >> EmptyPanel("icon").add(AttributeModifier.append("class", >>>>>>>> "ui-icon " + JQueryIcon.ARROW_2_N_S))); >>>>>>>> item.add(new Label("item", item.getModelObject())); >>>>>>>> item.add(AttributeModifier.append("class", "ui-state-default")); >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Am 05.02.2015 um 14:30 schrieb Sebastien <[email protected]>: >>>>>>>>> >>>>>>>>> I've opened the issue: >>>>>>>>> https://github.com/sebfz1/wicket-jquery-ui/issues/153 >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Feb 5, 2015 at 10:29 AM, Sebastien <[email protected]> >> wrote: >>>>>>>>> >>>>>>>>>> Hi Chris, >>>>>>>>>> >>>>>>>>>> Right, Sortable is processing events thought the Event Bus, that's >>>>>>>> because >>>>>>>>>> 2 sortables can be connected and then, these should be able to >>>>>>>> communicate >>>>>>>>>> >>>>>>>>>> As you are sending the event from the Sortable, you enter the >>>>>> condition: >>>>>>>>>> if (event.getSource() instanceof Sortable<?>) >>>>>>>>>> >>>>>>>>>> I will try to find out how I can add a check, but as Sortable is >>>>>> using a >>>>>>>>>> generic model object (typeof T)... >>>>>>>>>> I think the correct solution/workaround would be that you change >> the >>>>>>>>>> broadcast type to EXACT, so Sortable#onEvent will not be >> triggered. >>>>>>>>>> >>>>>>>>>> Thanks & best regards, >>>>>>>>>> Sebastien. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Feb 4, 2015 at 8:55 PM, Chris <[email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Sven, thanks. >>>>>>>>>>> >>>>>>>>>>> The onRemove method is from the class >>>>>>>>>>> com.googlecode.wicket.jquery.ui.interaction.sortable.Sortable: >>>>>>>>>>> >>>>>>>>>>> @Override >>>>>>>>>>> public void onRemove(AjaxRequestTarget target, String item) { >>>>>>>>>>> super.onRemove(target, item); >>>>>>>>>>> } >>>>>>>>>>> Why is the payload processed in this method, as it takes the >> target >>>>>> as >>>>>>>>>>> parameter? Is there another way to render the other panel or >>>> rewrite >>>>>>>> the >>>>>>>>>>> payload? >>>>>>>>>>> >>>>>>>>>>> br, Chris >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Am 04.02.2015 um 20:41 schrieb Sven Meier <[email protected]>: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> you're using a DeleteItem as payload of the event: >>>>>>>>>>>> >>>>>>>>>>>> send(getPage(), Broadcast.BREADTH, new DeleteItem(target)); >>>>>>>>>>>> >>>>>>>>>>>> Yet in #onRemove() you're casting the payload to a String: >>>>>>>>>>>> >>>>>>>>>>>> java.lang.ClassCastException: tripplanner.mycompany.DeleteItem >>>>>>>>>>> cannot be cast to java.lang.String >>>>>>>>>>>> at >>>>>>>>>>> mycompany.panels.SuitcasePanel$1.onRemove(SuitcasePanel.java:54) >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Regards >>>>>>>>>>>> Sven >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 04.02.2015 20:32, Chris wrote: >>>>>>>>>>>>> Hi Tobias - sorry, here it is: >>>>>>>>>>>>> >>>>>>>>>>>>> Last cause: mycompany.DeleteItem cannot be cast to >>>> java.lang.String >>>>>>>>>>>>> WicketMessage: Method onRequest of interface >>>>>>>>>>> org.apache.wicket.behavior.IBehaviorListener targeted at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> com.googlecode.wicket.jquery.ui.interaction.selectable.SelectableBehavior$1@127d9785 >>>>>>>>>>> on component [Sortable [Component id = sortable]] threw an >>>> exception >>>>>>>>>>>>> >>>>>>>>>>>>> Root cause: >>>>>>>>>>>>> >>>>>>>>>>>>> java.lang.ClassCastException: tripplanner.mycompany.DeleteItem >>>>>> cannot >>>>>>>>>>> be cast to java.lang.String >>>>>>>>>>>>> at >>>>>>>>>>> mycompany.panels.SuitcasePanel$1.onRemove(SuitcasePanel.java:54) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> com.googlecode.wicket.jquery.ui.interaction.sortable.Sortable.onEvent(Sortable.java:126) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.settings.def.FrameworkSettings.dispatchEvent(FrameworkSettings.java:132) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.ComponentEventSender.dispatchToComponent(ComponentEventSender.java:282) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.ComponentEventSender.access$100(ComponentEventSender.java:36) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(ComponentEventSender.java:329) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.ComponentEventSender$ComponentEventVisitor.component(ComponentEventSender.java:306) >>>>>>>>>>>>> at >>>>>>>>>>> >> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) >>>>>>>>>>>>> at >>>>>>>>>>> >> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) >>>>>>>>>>>>> at >>>>>>>>>>> >> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) >>>>>>>>>>>>> at >>>>>>>>>>> >> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) >>>>>>>>>>>>> at >>>>>>>>>>> >> org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:875) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.ComponentEventSender.breadth(ComponentEventSender.java:160) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.ComponentEventSender.send(ComponentEventSender.java:68) >>>>>>>>>>>>> at org.apache.wicket.Component.send(Component.java:4429) >>>>>>>>>>>>> at >>>>>>>>>>> >> mycompany.panels.SuitcasePanel$1$1.onSelect(SuitcasePanel.java:92) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> com.googlecode.wicket.jquery.ui.interaction.selectable.SelectableBehavior.onAjax(SelectableBehavior.java:122) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> com.googlecode.wicket.jquery.core.ajax.JQueryAjaxBehavior.respond(JQueryAjaxBehavior.java:171) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:633) >>>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:483) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:250) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137) >>>>>>>>>>>>> at >> javax.servlet.http.HttpServlet.service(HttpServlet.java:618) >>>>>>>>>>>>> at >> javax.servlet.http.HttpServlet.service(HttpServlet.java:725) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:106) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:142) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) >>>>>>>>>>>>> at >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> br, Chris >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> Am 04.02.2015 um 20:09 schrieb Tobias Soloschenko < >>>>>>>>>>> [email protected]>: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>> >>>>>>>>>>>>>> would you be so kind and apply some more information like >>>>>> StackTrace >>>>>>>>>>> of the interal server error. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks a lot. >>>>>>>>>>>>>> >>>>>>>>>>>>>> kind regards >>>>>>>>>>>>>> >>>>>>>>>>>>>> Tobias. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Am 04.02.15 um 20:05 schrieb Chris: >>>>>>>>>>>>>>> Sven, I have an additional situation where I am getting an >>>>>> internal >>>>>>>>>>> error. Could you help me in figuring out the problem? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Panel A senses the selection of an item from a user and adds >>>> the >>>>>>>>>>> „sortable“ as container to the ajax target. >>>>>>>>>>>>>>> In addition, Panel B should be added to the ajax target, >> using >>>>>>>>>>> Wicket events. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The internal error is thrown when using Wicket events to add >>>> the >>>>>>>>>>> additional panel. Without the event, just calling >>>>>>>> #target.add(sortable) it >>>>>>>>>>> works. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Panel A >>>>>>>>>>>>>>> ************* >>>>>>>>>>>>>>> @Override >>>>>>>>>>>>>>> public void onSelect(AjaxRequestTarget target, List<String> >>>>>> items) >>>>>>>> { >>>>>>>>>>>>>>> sortable.onRemove(target, items.get(0)); >>>>>>>>>>>>>>> target.add(sortable); >>>>>>>>>>>>>>> send(getPage(), Broadcast.BREADTH, new >>>>>>>>>>> DeleteItem(target)); >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> Panel B >>>>>>>>>>>>>>> ************* >>>>>>>>>>>>>>> public class PoiListPanel extends Panel { >>>>>>>>>>>>>>> @Override >>>>>>>>>>>>>>> public void onEvent(IEvent<?> event) { >>>>>>>>>>>>>>> super.onEvent(event); >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> if (event.getPayload() instanceof DeleteItem) >> { >>>>>>>>>>>>>>> DeleteItem update = (DeleteItem) >>>>>>>>>>> event.getPayload(); >>>>>>>>>>>>>>> update.getTarget().add(this); >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> Chris >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Am 04.02.2015 um 14:32 schrieb Grün Christoph < >>>>>>>>>>> [email protected]>: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Sven - thank you. That solved it! >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Am 04.02.2015 um 14:14 schrieb Sven Meier <[email protected] >>> : >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Your container has to output its markup id: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> container.setOutputMarkupId() >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Regards >>>>>>>>>>>>>>>>> Sven >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 04.02.2015 14:11, Chris wrote: >>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> When the user clicks on a certain icon, a specific part of >>>> the >>>>>>>>>>> page should be reloaded through ajax. The icon is part of a >> panel, >>>>>> the >>>>>>>>>>> specific part is a webmarkupcontainer added directly to the >> page. I >>>>>> am >>>>>>>>>>> using Wicket Events to push the click event. However, when adding >>>> the >>>>>>>> web >>>>>>>>>>> markup container as target, I am getting an internal error. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -> update.getTarget().add(container); >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Can someone help me to fix this? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ********************* >>>>>>>>>>>>>>>>>> ***** PANEL ***** >>>>>>>>>>>>>>>>>> final WebMarkupContainer suitcaseIcon = new >>>>>>>>>>> WebMarkupContainer("icon"); >>>>>>>>>>>>>>>>>> icon.setOutputMarkupId(true); >>>>>>>>>>>>>>>>>> icon.add(new AjaxEventBehavior("onclick") { >>>>>>>>>>>>>>>>>> protected void onEvent(AjaxRequestTarget target) { >>>>>>>>>>>>>>>>>> send(getPage(), Broadcast.BREADTH, new >>>>>>>>>>> AddItem(target)); >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> }); >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ********************* >>>>>>>>>>>>>>>>>> ***** PAGE ***** >>>>>>>>>>>>>>>>>> ... >>>>>>>>>>>>>>>>>> WebMarkupContainer container; >>>>>>>>>>>>>>>>>> public HomePage() { >>>>>>>>>>>>>>>>>> container = new WebMarkupContainer("container"); >>>>>>>>>>>>>>>>>> add(container); >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> @Override >>>>>>>>>>>>>>>>>> public void onEvent(IEvent<?> event) { >>>>>>>>>>>>>>>>>> super.onEvent(event); >>>>>>>>>>>>>>>>>> if (event.getPayload() instanceof AddItem) { >>>>>>>>>>>>>>>>>> AddItem update = (AddItem) event.getPayload(); >>>>>>>>>>>>>>>>>> update.getTarget().add(container); >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ********************* >>>>>>>>>>>>>>>>>> ***** AddItem ***** >>>>>>>>>>>>>>>>>> public class AddItem { >>>>>>>>>>>>>>>>>> private final AjaxRequestTarget target; >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> public AddItem(AjaxRequestTarget target) { >>>>>>>>>>>>>>>>>> this.target = target; >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> public AjaxRequestTarget getTarget() { >>>>>>>>>>>>>>>>>> return target; >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Thanks. >>>>>>>>>>>>>>>>>> Chris >>>>>>>>>>>>>>>>> >>>>>>>>>>> >>>> --------------------------------------------------------------------- >>>>>>>>>>>>>>>>> To unsubscribe, e-mail: >> [email protected] >>>>>>>>>>>>>>>>> For additional commands, e-mail: >>>> [email protected] >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>> >>>> --------------------------------------------------------------------- >>>>>>>>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>>>>>>>> For additional commands, e-mail: >> [email protected] >>>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>> >> --------------------------------------------------------------------- >>>>>>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>> --------------------------------------------------------------------- >>>>>>>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>>>>>>> For additional commands, e-mail: [email protected] >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [email protected] >>>>>> For additional commands, e-mail: [email protected] >>>>>> >>>>>> >>>> >>>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
