Thanks for responding. Maybe i should have stated my goal clearly. I would like to remove the space occupied by empty list items. Basically i do it with wicket:enclosures. While not displaying the "empty element" markup the space is not occupied.
Do you mean that i need to change it that way? <!DOCTYPE html> <html xmlns:wicket="http://wicket.apache.org"> <head> <meta charset="utf-8" /> <link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:regular,bold' rel='stylesheet' type='text/css' /> </head> <body> <div> <wicket:enclosure child="foo:bar"> <ul wicket:id="foo"> <li> <span wicket:id="bar">[Content]</span> </li> </ul> </wicket:enclosure> </div> </body> </html> This is not working to. ERROR - DefaultExceptionMapper - Unexpected error occurred org.apache.wicket.WicketRuntimeException: Could not find child with id: foo:bar in the wicket:enclosure at org.apache.wicket.markup.html.internal.Enclosure.checkChildComponent(Enclosure.java:250) at org.apache.wicket.markup.html.internal.Enclosure.getChildComponent(Enclosure.java:228) at org.apache.wicket.markup.html.internal.Enclosure.onInitialize(Enclosure.java:132) at org.apache.wicket.Component.fireInitialize(Component.java:877) at org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:961) at org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:938) This works but with multiple ul in markup and the empty ul is still displayed. <!DOCTYPE html> <html xmlns:wicket="http://wicket.apache.org"> <head> <meta charset="utf-8" /> <link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:regular,bold' rel='stylesheet' type='text/css' /> </head> <body> <div> <ul wicket:id="foo"> <wicket:enclosure child="bar"> <li> <span wicket:id="bar">[Content]</span> </li> </wicket:enclosure> </ul> </div> </body> </html> Thanks for help Per > Gesendet: Donnerstag, 08. Juni 2017 um 10:17 Uhr > Von: "Andrea Del Bene" <[email protected]> > An: [email protected] > Betreff: Re: ListItem and enclosure problem > > Hi, > > have a look at the answer here on StackOverflow: > https://stackoverflow.com/questions/44270160/how-to-access-html-element-which-doesnt-have-a-wicketid > Basically you should move your ListView to <ul> tag an remove wicket:id > from <li> tag. > > On Thu, Jun 8, 2017 at 9:54 AM, Per Newgro <[email protected]> wrote: > > > Hello, > > > > i would like to enclose markup of a list item in wicket:enclosure. The > > enclosure is activated based on a child component on list item. > > So for i could not find any marker that this is not working. So i need to > > do something wrong. Any work around would be welcome. > > > > Thanks for your support > > Per > > > > <code> > > WicketApplication.java > > public class WicketApplication extends WebApplication > > { > > /** > > * @see org.apache.wicket.Application#getHomePage() > > */ > > @Override > > public Class<? extends WebPage> getHomePage() > > { > > return HomePage.class; > > } > > > > /** > > * @see org.apache.wicket.Application#init() > > */ > > @Override > > public void init() > > { > > super.init(); > > mountPage("encloselistitem", ListViewEnclosurePage.class); > > } > > } > > > > ListViewEnclosurePage.class > > public class ListViewEnclosurePage extends WebPage { > > > > public ListViewEnclosurePage() { > > add(new MyListView("foo", Arrays.asList("1", "2", "3"))); > > } > > > > public static class MyListView extends ListView<String> { > > > > public MyListView( > > String id, > > List<? extends String> list) { > > super(id, list); > > } > > > > @Override > > protected void populateItem(ListItem<String> item) { > > Label label = new Label("bar", item.getModel()); > > item.add(label); > > if (item.getIndex() == 1) { // any condition > > label.setVisible(false); > > } > > } > > } > > } > > > > ListViewEnclosurePage.html > > <!DOCTYPE html> > > <html xmlns:wicket="http://wicket.apache.org"> > > <head> > > <meta charset="utf-8" /> > > <link href='http://fonts.googleapis.com/css?family=Yanone+ > > Kaffeesatz:regular,bold' rel='stylesheet' type='text/css' /> > > </head> > > <body> > > <div> > > <ul> > > <wicket:enclosure child="foo:bar"> > > <li wicket:id="foo"> > > <span > > wicket:id="bar">[Content]</span> > > </li> > > </wicket:enclosure> > > </ul> > > </div> > > </body> > > </html> > > </code> > > > > --------------------------------------------------------------------- > > 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]
