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" <an.delb...@gmail.com>
> An: users@wicket.apache.org
> 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 <per.new...@gmx.ch> 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: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> 

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

Reply via email to