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

Lukas Renggli renggli at gmail.com
Mon Feb 18 22:04:11 UTC 2008


> 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] ]

Heh, I was wondering about that one as well.

For all AJAX callbacks the html-render-canvas from the last full
refresh is reused. This is conceptually wrong, it should only reuse
the callback-registry. Furthermore that's also the reason why it
mostly works if you accidently use the renderer from a different
scope.

Anyway, the render-canvas remembers the last component rendered fully
and from then on uses this component until you do another full render
of a different component. In you code you have a great mixture of
different components rendering each other partly and fully.

We are working on a solution for Seaside 2.9 that makes all these
things go away.

Cheers,
Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch


More information about the seaside mailing list