Re: Panel update after Ajax Submit
Hi! 2011/3/1 Dmitriy Neretin : > Thanks for reply, > > If you want to refresh the panel, call setOutputMarkupId(true) on the panel >> , then add the panel to the target. >> > > Does it mean I should call setOutputMarkUpId(true) in the constructor of the > panel? If I do so, the layout of the panel is destroyed. > > You should set it before you first send out the component (normal pageRender or in on ajax response). You can set it in the constructor or some time before Rendering. -- Zoltán Nagy - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Panel update after Ajax Submit
No, the panel is outside! What I just want, is that the panel shows me the result of the submit. But I did it :) Hier is my solution: 1. Call in the constructor of the panel setOutputMarkUpId(true); 2. Instantiate the panel Class in the abstract Class (masterlayout) as field and return it back with a simple getter. 3. In the AjaxSubmitLink: target.addComponent(call the getter from an abstract class); I don't know, if it was right, but it works now :) What do the experts mean? On 1 March 2011 14:04, Pedro Santos wrote: > Hi, if you update the panel within the form, you need to update it's submit > link component outside this panel also. > onsubmit(target){ > target.addComponent(formPanel); > target.addComponent(submitLinkNotNestedInsideTheFormPanel); > } > > On Tue, Mar 1, 2011 at 9:51 AM, Dmitriy Neretin < > dmitriy.nere...@googlemail.com> wrote: > > > Thanks for reply, > > > > If you want to refresh the panel, call setOutputMarkupId(true) on the > > panel > > > , then add the panel to the target. > > > > > > > Does it mean I should call setOutputMarkUpId(true) in the constructor of > > the > > panel? If I do so, the layout of the panel is destroyed. > > > > > > > If the Ajax Link is on the same panel, you can call > > > this.setOutputMarkupId(true) , and you can also add MyPanel.this to the > > > target. > > > > > > > No, the link is not on the same panel. This is actually the point that I > > don't really understand. What should I add, if the link not on the panel. > > > > > > > The point is , what ever you want to refresh via ajax must have > > > outputMarkupId set to true. > > > > > > Hope that helps. > > > > > > Josh. > > > > > > On Tue, Mar 1, 2011 at 11:51 AM, Dmitriy Neretin < > > > dmitriy.nere...@googlemail.com> wrote: > > > > > > > Hello everybody! > > > > > > > > Hope someone can help me. I don't really understand, what I should > add > > as > > > > ajax target :( > > > > > > > > So, I have an abstract class Index where I add all my panels (3) and > it > > > is > > > > my "masterlayout". I add the panels in the index class like this: > > > > > > > > add(new ShoppingCartPanel("id", "anotherMehod"); > > > > > > > > The appropriate Markup has just following tags > > (ShoppingCartPanel.html): > > > > > > > > Content > > > > > > > > > > > > In the other Page (that inherits from Index) I have implemented the > > > > AjaxSubmitLink: > > > > > > > > add(new AjaxSubmitLink("addtocart") { > > > >@Override > > > >protected void onSubmit(AjaxRequestTarget target, Form > form) > > { > > > >target.addComponent(?); > > > > > > > > What I want is, when the link is activated the panel should be > > updated... > > > > > > > > First: I don't really understand what I have add to the > addComponent() > > > > method ? > > > > Second: Where schould I set setOutputMarupId(true) ? > > > > > > > > Thank You! > > > > > > > > > > > > > -- > Pedro Henrique Oliveira dos Santos >
Re: Panel update after Ajax Submit
Hi, if you update the panel within the form, you need to update it's submit link component outside this panel also. onsubmit(target){ target.addComponent(formPanel); target.addComponent(submitLinkNotNestedInsideTheFormPanel); } On Tue, Mar 1, 2011 at 9:51 AM, Dmitriy Neretin < dmitriy.nere...@googlemail.com> wrote: > Thanks for reply, > > If you want to refresh the panel, call setOutputMarkupId(true) on the > panel > > , then add the panel to the target. > > > > Does it mean I should call setOutputMarkUpId(true) in the constructor of > the > panel? If I do so, the layout of the panel is destroyed. > > > > If the Ajax Link is on the same panel, you can call > > this.setOutputMarkupId(true) , and you can also add MyPanel.this to the > > target. > > > > No, the link is not on the same panel. This is actually the point that I > don't really understand. What should I add, if the link not on the panel. > > > > The point is , what ever you want to refresh via ajax must have > > outputMarkupId set to true. > > > > Hope that helps. > > > > Josh. > > > > On Tue, Mar 1, 2011 at 11:51 AM, Dmitriy Neretin < > > dmitriy.nere...@googlemail.com> wrote: > > > > > Hello everybody! > > > > > > Hope someone can help me. I don't really understand, what I should add > as > > > ajax target :( > > > > > > So, I have an abstract class Index where I add all my panels (3) and it > > is > > > my "masterlayout". I add the panels in the index class like this: > > > > > > add(new ShoppingCartPanel("id", "anotherMehod"); > > > > > > The appropriate Markup has just following tags > (ShoppingCartPanel.html): > > > > > > Content > > > > > > > > > In the other Page (that inherits from Index) I have implemented the > > > AjaxSubmitLink: > > > > > > add(new AjaxSubmitLink("addtocart") { > > >@Override > > >protected void onSubmit(AjaxRequestTarget target, Form form) > { > > >target.addComponent(?); > > > > > > What I want is, when the link is activated the panel should be > updated... > > > > > > First: I don't really understand what I have add to the addComponent() > > > method ? > > > Second: Where schould I set setOutputMarupId(true) ? > > > > > > Thank You! > > > > > > -- Pedro Henrique Oliveira dos Santos
Re: Panel update after Ajax Submit
Thanks for reply, If you want to refresh the panel, call setOutputMarkupId(true) on the panel > , then add the panel to the target. > Does it mean I should call setOutputMarkUpId(true) in the constructor of the panel? If I do so, the layout of the panel is destroyed. > If the Ajax Link is on the same panel, you can call > this.setOutputMarkupId(true) , and you can also add MyPanel.this to the > target. > No, the link is not on the same panel. This is actually the point that I don't really understand. What should I add, if the link not on the panel. > The point is , what ever you want to refresh via ajax must have > outputMarkupId set to true. > > Hope that helps. > > Josh. > > On Tue, Mar 1, 2011 at 11:51 AM, Dmitriy Neretin < > dmitriy.nere...@googlemail.com> wrote: > > > Hello everybody! > > > > Hope someone can help me. I don't really understand, what I should add as > > ajax target :( > > > > So, I have an abstract class Index where I add all my panels (3) and it > is > > my "masterlayout". I add the panels in the index class like this: > > > > add(new ShoppingCartPanel("id", "anotherMehod"); > > > > The appropriate Markup has just following tags (ShoppingCartPanel.html): > > > > Content > > > > > > In the other Page (that inherits from Index) I have implemented the > > AjaxSubmitLink: > > > > add(new AjaxSubmitLink("addtocart") { > >@Override > >protected void onSubmit(AjaxRequestTarget target, Form form) { > >target.addComponent(?); > > > > What I want is, when the link is activated the panel should be updated... > > > > First: I don't really understand what I have add to the addComponent() > > method ? > > Second: Where schould I set setOutputMarupId(true) ? > > > > Thank You! > > >
Re: Panel update after Ajax Submit
Hi there, If you want to refresh the panel, call setOutputMarkupId(true) on the panel , then add the panel to the target. If the Ajax Link is on the same panel, you can call this.setOutputMarkupId(true) , and you can also add MyPanel.this to the target. The point is , what ever you want to refresh via ajax must have outputMarkupId set to true. Hope that helps. Josh. On Tue, Mar 1, 2011 at 11:51 AM, Dmitriy Neretin < dmitriy.nere...@googlemail.com> wrote: > Hello everybody! > > Hope someone can help me. I don't really understand, what I should add as > ajax target :( > > So, I have an abstract class Index where I add all my panels (3) and it is > my "masterlayout". I add the panels in the index class like this: > > add(new ShoppingCartPanel("id", "anotherMehod"); > > The appropriate Markup has just following tags (ShoppingCartPanel.html): > > Content > > > In the other Page (that inherits from Index) I have implemented the > AjaxSubmitLink: > > add(new AjaxSubmitLink("addtocart") { >@Override >protected void onSubmit(AjaxRequestTarget target, Form form) { >target.addComponent(?); > > What I want is, when the link is activated the panel should be updated... > > First: I don't really understand what I have add to the addComponent() > method ? > Second: Where schould I set setOutputMarupId(true) ? > > Thank You! >
Panel update after Ajax Submit
Hello everybody! Hope someone can help me. I don't really understand, what I should add as ajax target :( So, I have an abstract class Index where I add all my panels (3) and it is my "masterlayout". I add the panels in the index class like this: add(new ShoppingCartPanel("id", "anotherMehod"); The appropriate Markup has just following tags (ShoppingCartPanel.html): Content In the other Page (that inherits from Index) I have implemented the AjaxSubmitLink: add(new AjaxSubmitLink("addtocart") { @Override protected void onSubmit(AjaxRequestTarget target, Form form) { target.addComponent(?); What I want is, when the link is activated the panel should be updated... First: I don't really understand what I have add to the addComponent() method ? Second: Where schould I set setOutputMarupId(true) ? Thank You!