[Seaside] Stupid anchor question
John Thornborrow
john at pinesoft.co.uk
Wed Aug 15 09:00:36 UTC 2007
For small items such as this (or perhaps an error on form validation or
similar, or a toggle) I prefer to use a boolean instvar such as:
#initialize
boolean _ false.
^super initialize
#renderContentOn: html
html anchor
callback: [boolean _ boolean not];
with: [html text: 'toggle'].
boolean ifTrue: [html div with: [html text: 'this is some text']]
Regards,
John.
www.pinesoft.co.uk
Philippe Marschall wrote:
> 2007/8/14, Leandro Pérez <lperez at lifia.info.unlp.edu.ar>:
>> Hello,
>> I want to do this: when clicking on an anchor, something else must be
>> displayed on a new page..just like simple html
>>
>> MyComponent>>renderContentOn: html
>> html anchor
>> callback:[self renderSomethingElseOn:html];
>> with:'go to somewhere else'
>>
>> MyComponent>>renderSomethingElseOn:html
>> html div with:'this is something else'
>>
>> and I always get this exception
>> Message not understood: #openTag:attributes:closed:
>>
>> I guess the whole idea might be wrong... is it?
>
> Yes, you mix the callback and the rendering phase. In the callback
> phase your "actions" are executed, you can do no rendering there. Your
> html argument will be invalid.
>
> The easiest way to make your example work is to create a new Component
> for 'this is something else' called SomethingElseComponent (or
> something else) the action triggered by the link would then do a
> #call: on this new component. This temporarily replaces MyComponent
> with SomethingElseComponent until you send #answer: in
> SomethingElseComponent.
>
> MyComponent>>renderContentOn: html
> html anchor
> callback:[ self renderSomethingElse ];
> with:'go to somewhere else'
>
> MyComponent>>renderSomethingElse
> self call: SomethingElseComponent new
>
> SomethingElseComponent >> #renderContentOn: html
> html div with:'this is something else'
>
> Cheers
> Philippe
>
>> Thanks!
>> --
>> View this message in context: http://www.nabble.com/Stupid-anchor-question-tf4267248.html#a12144350
>> Sent from the Squeak - Seaside mailing list archive at Nabble.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
Pinesoft Computers are registered in England, Registered number: 2914825. Registered office: 266-268 High Street, Waltham Cross, Herts, EN8 7EA
This message has been scanned for viruses by BlackSpider MailControl - www.blackspider.com
More information about the seaside
mailing list