[Seaside] Is seaside supports calling subtask inside task?

Denis Kudriashov dionisiydk at gmail.com
Sun Oct 7 15:40:23 UTC 2012


Yes, children method solved problem.
Thank's

2012/10/4 Julian Fitzell <jfitzell at gmail.com>

> Hmm... so if you return your sub-task in #children it will work.
>
> But we normally only insist that you return components that you are
> embedding, not calling, so this may be a bug.
>
> The problem is that by the time the WATaskVisitor has executed the task,
> the WAVisiblePresenterGuide has already visited the decoration chain, so we
> don't notice and execute the subtask. One possible fix is the following:
>
> WATaskVisitor>>visitTask: aTask
>     super visitTask: aTask.
>     aTask isExecuting ifFalse: [
>         [ self halt. aTask execute ]
>             on: WARenderNotification
>             do: [ :n | (WAVisiblePresenterGuide client: (WATaskVisitor
> new)) start: aTask ] ]
>
> Probably it's fine, but I'm not sure if it's the best solution or not. We
> could grab the decorations before and after, look for a new decoration then
> just visit it. Or we could stop using WAVisiblePresenterGuide and use a
> subclass or some other visitor entirely to make sure that we execute tasks
> before visiting their decorations.
>
> What do other devs think?
>
> Julian
>
> On Sat, Sep 29, 2012 at 1:05 PM, Denis Kudriashov <dionisiydk at gmail.com>wrote:
>
>> Hello.
>>
>> I try build little application with WATasks's. And I find strange
>> behaviour.
>> When I call some WATask inside another WATask like this:
>>
>> MyMainTask>>go
>>    self call: MySubtask new
>>
>> I got error due to method:
>>
>> WATask>>renderContentOn: html
>>     "Tasks define behaviour and should not render themselves directly.
>> Behaviour is defined
>>     in the #go method, which can use #call: and other methods to display
>> components.
>>
>>     In general, if this method is called, it means that the application
>> has not been configured
>>     properly to use Flow and the task was never executed."
>>
>>     WATaskNotDelegated signal: 'This task has no delegation.'
>>
>> Which means that #go method not executed for callable MySubtask (I put
>> halt on it).
>> Is this known restriction or it is just bug?
>>
>> Best regards,
>> Denis
>>
>>
>> _______________________________________________
>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20121007/0bff6c26/attachment.htm


More information about the seaside mailing list