[Seaside] Call and Answer

Lukas Renggli renggli at gmail.com
Fri Oct 16 08:43:43 UTC 2009


> ComponentA>>renderContentOn: html
>   | component |
>   component := ComponentB new onAnswer: [ :answerB |
>     self answer: answerB
>   ].
>   html render: component.

You probably don't want to instantiate components while rendering.
This will recreate ComponentB on every refresh and thus break any
stateful behavior. Otherwise the code would work.

Lukas

2009/10/16 Robert Sirois <watchlala at hotmail.com>:
> If you had a lot of "component Bs" would it be faster to just pass it component A? Or will this second method always be faster?
>
> RS
>
> Peter Osburg <peter.osburg at gmail.com> wrote:
>
>>Hi Richard,
>>
>>I guess from now on I would prefer that one, as well :)
>>
>>Thanks,
>>Peter
>>
>>2009/10/16 Richard Durr <richard.durr at googlemail.com>
>>
>>> I would prefer something like
>>> ComponentA>>renderContentOn: html
>>>   | component |
>>>   component := ComponentB new onAnswer: [ :answerB |
>>>     self answer: answerB
>>>   ].
>>>   html render: component.
>>>
>>> since it does not need a reference to the root component (~decoupling).
>>>
>>> On Thu, Oct 15, 2009 at 7:25 PM, Robert Sirois <watchlala at hotmail.com>wrote:
>>>
>>>>  That worked perfectly, thank you :)
>>>>
>>>> RS
>>>>
>>>> ------------------------------
>>>> Date: Thu, 15 Oct 2009 19:04:30 +0200
>>>> Subject: Re: [Seaside] Call and Answer
>>>> From: peter.osburg at gmail.com
>>>> To: seaside at lists.squeakfoundation.org
>>>>
>>>>
>>>> Hi Robert,
>>>>
>>>> I know this problem very well.
>>>> One way could be, to pass a reference of WAComponentA to WAComponentB.
>>>>
>>>> You could probably create an instance variable called
>>>> rootComponent
>>>>
>>>> After you initialized WAComponentB, you give it the reference from within
>>>> WAComponentA, e.g.:
>>>> WAComponentA
>>>>   *renderContentOn:html *
>>>>        |component|
>>>>        component := (WAComponentB new) rootComponent: self.
>>>>        html render: component.
>>>>
>>>> And within WAComponentB:
>>>>   *answer *>> self rootComponent answer: 'blah'
>>>>
>>>> I hope this helps.
>>>>
>>>> Regards,
>>>> Peter
>>>>
>>>> 2009/10/15 Robert Sirois <watchlala at hotmail.com>
>>>>
>>>>  I'm trying something a little strange here, and my logic is really quite
>>>> flawed:
>>>>
>>>> someWATask
>>>>     go >> self call: WAComponentA
>>>>
>>>> WAComponentA
>>>>     renderContentOn: >> html render: WAComponentB
>>>>     children >> ^Array with: WAComponentB
>>>>
>>>> WAComponentB
>>>>     answer >> self answer: 'blah'
>>>>
>>>> I would like for WAComponentB to answer someWATask in place of
>>>> WAComponentA, is there a way to do this?
>>>>
>>>> Thanks,
>>>> RS
>>>>
>>>> ------------------------------
>>>> Hotmail: Trusted email with powerful SPAM protection. Sign up now.<http://clk.atdmt.com/GBL/go/177141665/direct/01/>
>>>>
>>>> _______________________________________________
>>>> seaside mailing list
>>>> seaside at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> www.peter-osburg.de
>>>> www.experiencedwebprogramming.com
>>>> www.mix-rss.com
>>>>
>>>> ------------------------------
>>>> Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. Sign up
>>>> now. <http://clk.atdmt.com/GBL/go/171222985/direct/01/>
>>>>
>>>> _______________________________________________
>>>> seaside mailing list
>>>> seaside at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>
>>>>
>>>
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>
>>>
>>
>>
>>--
>>www.peter-osburg.de
>>www.experiencedwebprogramming.com
>>www.mix-rss.com
>>_______________________________________________
>>seaside mailing list
>>seaside at lists.squeakfoundation.org
>>http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>



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


More information about the seaside mailing list