Bruno, your problem is more of an issue with code beauty and design? I
agree that it's a bit misleading to have an setVisible method that
does nothing... As adding a fairly synthetic AjaxComponent subclass to
Component for using as a parent for every ajax-enabled component
doesn't seem justified, what if ListView (and other possible
repeaters) would throw UnsupportedOperationException or something like
that?

Of course, that would mean making Component.setVisible not final...

Alvar

On 5/18/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
i disagree,
wicket's primary usecase is not ajax, but regular rendering. ajax is a very
nice bonus and does not always work as smoothly as we would like.

now the ajax solution for the listview is quiet easy, put it into a
webmarkupcontainer and update that container instead of the listview via
ajax

WebMarkupContainer listviewcontainer=new
WebMarkupContainer("listviewcontainer");
ListView listview=new ListView("listview", .....

listviewContainer.add(listview);

<span wicket:id="listviewcontainer"><ul><li
wicket:id="listview">blah</li></ul></span>

... target.addComponent(listviewcontainer);

this has the added advantage of hiding the listview's container, be that a
ul or a table

-Igor



On 5/17/06, Bruno Borges <[EMAIL PROTECTED]> wrote:
>
>
> > one thing we might try is to add an isvisible check to
internalOnAttach() so that lsitview does not create children if it is not
visible. johan what do you think?
> >
>
>
> Igor, the problem is that we need to make possible the call for
setVisible(false), just like any other component... _after_ the component
was printed out (for example, hidding a list view within an AjaxLink).
>
> If this can't be done, ListView must be of other type except Component.
>
>
>
>
>
>
>
> On 5/17/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >
> > >
> > > Sure, I know about that, but the way we code for other things like
Label or TextField, it works, right? So, for ListView it should work too.
It's a component just like other.
> >
> >
> >
> > listview is very much different from ordinary components like label and
textfield. listview is a repeater. repeaters have no markup of their own and
they produce no markup.
> >
> > the markup you assign to the listview using wicket:id the listview
delegates to its children. the markup you see in the output generated by
listview does not come from the listview itself, but from its children that
render themselves.
> >
> > one thing we might try is to add an isvisible check to
internalOnAttach() so that lsitview does not create children if it is not
visible. johan what do you think?
> >
> > -Igor
> >
> >
>
>
>
>
> --
> Bruno Borges
> Summa Technologies




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to