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]