[Seaside] Re: Finding the parent component of a rendered component

David Shaffer cdshaffer at acm.org
Tue Apr 24 16:55:10 UTC 2007


Luke wrote:
> Ok, maybe someone can help me figure out the logic I want here better than what
> I have figured out.
>
> I'm making a blog system.  I have the main application component as BlogView,
> and each post is rendered as a subcomponent BlogPostView.  Right now, I'm
> passing the BlogView object into each BlogPostView object so that if a
> BlogPostView's remove anchor is clicked, it verifies what they want to do, then
> removes it from the collection I'm using to store the posts, and tells the
> parent to re-generate it's list of children.
>
> What I want is a way to remove the need for the BlogPostView to have to know
> that a parent object even exists.  I want the BlogView to be able to generate a
> new set of children each time it is displayed, but if I do that right now, then
> any callbacks the children do are screwed up.  How do I get this parent view to
> generate a new list each time it is displayed, but not keep the callbacks in the
> children from working?
>
>   
I'm not sure if this will work for you but one method I used in simple 
cases is an "onAnswer:" block in the children...toy example:

Parent>>initialize
    super initialize.
    (child := Child new) onAnswer: [:answer | self updateList]



Child>>callbackWhenRemovePressed: theItem
    self removeTheItem: theItem.
    self answer: nil


This way you update your child list during a callback rather than on 
rendering so you should have fewer "callback not found" problems.

David




More information about the seaside mailing list