[Seaside] Re: Re: Ajax delete component only works if #childrenstillreport all previously deleted components?

itsme213 itsme213 at hotmail.com
Mon Feb 18 18:54:34 UTC 2008


"Lukas Renggli" <renggli at gmail.com> wrote in message

> It is not nice,

Oh, you have no idea how lovely it looks to me :-)

> but it should work in all situations where you call
> internal rendering methods of different components.

Great. I was trying to figure out why I need to use #in:do: even for a 
self-call:
 callback: [:r |
    self subs add: (C new parent: self).
    r in: self do: [self basicRenderOn: r] ]

My interpretations are 1 & 2 below:

1. If an Ajax callback changes self's component tree in a way which 
invalidates the last call to #children, use
   r in: self do: [self reRenderOn... r].
This ensures that all re-rendered callbacks have the right owner.

2. Anytime you call internal rendering methods of different components
  (e.g. via other Component renderXYZOn: r)
in an Ajax callback, use #in:do: to get correct ownership of re-rendered 
callbacks.

Thanks - Sophie





More information about the seaside mailing list