[Seaside] #render: and #children. What if I don't?

Johan Brichau johan at inceptive.be
Thu Oct 16 20:16:35 UTC 2014


As far as my knowledge goes about this part of the Seaside framework, #children is important in:
- a WATask [1]
- when you don’t override renderContentOn: (falling back to the default behavior of rendering the children)
- in combination with #states when you want to support state backtracking with the back button

FWIW, I know and have many components that don’t declare their children and it works fine. Of course, I’m not using any of the above in those cases.

Johan

[1] http://book.seaside.st/book/components/tasks/sequencing-components
On 16 Oct 2014, at 18:43, Mariano Martinez Peck <marianopeck at gmail.com> wrote:

> Hi guys,
> 
> From what I understand, if we have a component called X which, as part of the #renderConentOn: (or derivative), does:
> 
> ComponentX >> renderContentOn: html
> html render: self componentY
> 
> Then we need to add componentY to the #chidlren:
> 
> ComponentX >> children
> ^ Array with: self componentY
> 
> So..not the question is...it seems in some places I forgot to add it to #chidlren and the component still render correctly. At the same time, I remember once I was fighting to find a bug and it was exactly because I forgot to add the component to #children. So... what exactly happens if I DON'T add the component as a #children? What does it get broken?
> 
> The second question is...is a bit of a pain the #children. Why? Because I must store the component somewhere...which I may not requiere that. For example, if I have this code:
> 
> html render: (MyWebMessageComponent new errorMessage: 'Problem with xxxx'; yourself)
> 
> then I must define an instVar for that component, assign to it before render, and then render...
> 
> so the second question is...for this type of component that I render only "once" (the component is instantiated as part of the rendering phase and dead after), do I also have to add it to #children?
> 
> Thanks in advance for any clarification. 
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20141016/c86e3ca3/attachment.htm


More information about the seaside mailing list