[Seaside] style CSS and liveCallback

Michel Bany m.bany at wanadoo.fr
Tue Apr 11 05:48:48 UTC 2006


>       I have a liveCallback on a select tag. When any element  is 
> selected on this tag, I want change Style. I noticed when I perform a 
> submission of the form, the #style method is called, so CSS is 
> applied, but when I used liveCallbak, that doesn't happen.
> How could I update the CSS code when I'm using liveCallback?
> I am working with  Seaside2.5b8-mb.15/Squeak3.7.
>
The #style methods are not called during execution of  live callbacks.
Even if they were, their corresponding values would not be used,
since the live callback Javascript does not handle the html head
elements. Processing them, i.e. download the stylesheets and apply
the styles would be quite a challenge.

There might be a way though, to achieve what you are looking for.
The code below is written using the email editor, therefore untested

1) Add new methods to your component

renderStyleOn: html
    html attributes id: 'live-styles'.
    html tag: 'style' do: self liveStyle.

liveStyle
    ^ whatever styles need to be changed by live callbacks

2) Call the first method from your rendering method, must be at the end.

3) Call it also from your live callbacks. The live callback Javascript will
live-update the style element.

4) Pray for the browser to update the styles when the style element is
live-updated. Some browsers may, some other may not.

HTH,
Michel.








More information about the Seaside mailing list