You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by "marioosh.net" <ma...@gmail.com> on 2010/03/22 11:36:04 UTC

Deleting items form ListView (ajaxed)

I have BoxBorder component with close button :

public abstract class BoxBorder extends Border {
	public BoxBorder(String id) {
		super(id);
		add(new AjaxLink("delete") {

			@Override
			public void onClick(AjaxRequestTarget target) {
				onClose(target);
			}
		});
	}

	/**
	 * What to do on closing box
	 */
	protected abstract void onClose(AjaxRequestTarget target);
}



I have ListView of BoxBorder components and i stuck in: HOW TO delete
BoxBorder element from listview by clicking close button.
Anybody helps ???

public class Index extends WebPage {

	private List<BoxBorder> list = new ArrayList();

	public Index() {
		final WebMarkupContainer deskcontainer = new
WebMarkupContainer("deskcontainer");
		deskcontainer.setOutputMarkupId(true);

		final ListView<BoxBorder> desk = new ListView<BoxBorder>("desk", new
PropertyModel(this, "list")) {

			@Override
			protected void populateItem(ListItem<BoxBorder> item) {
				item.add(new BoxBorder("elem") {
					@Override
					protected void onClose(AjaxRequestTarget target) {
						System.out.println("close1");
						//............................ ????? ....................
						target.addComponent(deskcontainer);
					}
				});
				item.setOutputMarkupId(true);
			}
		};
		deskcontainer.add(desk);
		add(new AjaxLink("plus") {

			@Override
			public void onClick(AjaxRequestTarget target) {
				list.add(new BoxBorder("nomatter"));
				target.addComponent(deskcontainer);
			}
		});
		add(deskcontainer);
	}

	public void setList(List<BoxBorder> list) {
		this.list = list;
	}

	public List<BoxBorder> getList() {
		return list;
	}

}

-- 
Greetings,
marioosh

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Deleting items form ListView (ajaxed)

Posted by Pedro Santos <pe...@gmail.com>.
Hi, take a look at:
http://markmail.org/search/?q=list%3Aorg.apache.wicket.users+from%3A%22Pedro+Santos%22+view#query:list%3Aorg.apache.wicket.users%20from%3A%22Pedro%20Santos%22%20view+page:1+mid:442snjhrd3mjyjl2+state:results

about how to remove the border, you can implement the designated space with:

list.remove(item.getIndex());


On Mon, Mar 22, 2010 at 7:36 AM, marioosh.net <ma...@gmail.com>wrote:

> I have BoxBorder component with close button :
>
> public abstract class BoxBorder extends Border {
>        public BoxBorder(String id) {
>                super(id);
>                add(new AjaxLink("delete") {
>
>                        @Override
>                        public void onClick(AjaxRequestTarget target) {
>                                onClose(target);
>                        }
>                });
>        }
>
>        /**
>         * What to do on closing box
>         */
>        protected abstract void onClose(AjaxRequestTarget target);
> }
>
>
>
> I have ListView of BoxBorder components and i stuck in: HOW TO delete
> BoxBorder element from listview by clicking close button.
> Anybody helps ???
>
> public class Index extends WebPage {
>
>        private List<BoxBorder> list = new ArrayList();
>
>        public Index() {
>                final WebMarkupContainer deskcontainer = new
> WebMarkupContainer("deskcontainer");
>                deskcontainer.setOutputMarkupId(true);
>
>                final ListView<BoxBorder> desk = new
> ListView<BoxBorder>("desk", new
> PropertyModel(this, "list")) {
>
>                        @Override
>                        protected void populateItem(ListItem<BoxBorder>
> item) {
>                                item.add(new BoxBorder("elem") {
>                                        @Override
>                                        protected void
> onClose(AjaxRequestTarget target) {
>
>  System.out.println("close1");
>
>  //............................ ????? ....................
>
>  target.addComponent(deskcontainer);
>                                        }
>                                });
>                                item.setOutputMarkupId(true);
>                        }
>                };
>                deskcontainer.add(desk);
>                add(new AjaxLink("plus") {
>
>                        @Override
>                        public void onClick(AjaxRequestTarget target) {
>                                list.add(new BoxBorder("nomatter"));
>                                target.addComponent(deskcontainer);
>                        }
>                });
>                add(deskcontainer);
>        }
>
>        public void setList(List<BoxBorder> list) {
>                this.list = list;
>        }
>
>        public List<BoxBorder> getList() {
>                return list;
>        }
>
> }
>
> --
> Greetings,
> marioosh
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Pedro Henrique Oliveira dos Santos