[Seaside] WYSIWYG text editor
Torsten Bergmann
astares at gmx.de
Tue Feb 23 10:58:25 UTC 2010
>I don't wanna be annoying, but I really can't find any specific info on
>embedding fairly complex javascript apps in Seaside.
Because that depends on the kind of script you want to include. Is it
a simple script, a jquery plugin, ...
Typically you have a WAComponent subclass and there are
mainly two basic ways to wrap a javascript:
1) Just implement a #script method on the instance side of
your component class returning a String with your script.
This is automatically sent to the client but the #script method
is more intended for rapid prototyping.
2) Upload your scripts to an own custom WAFileLibrary subclass using
the config tool and either
2a) implement #selectorsToInclude to return all the (script) methods
that should always sent to the client:
selectorsToInclude
^#(barJs fooJs)
You also have to register the lib with you app to make this work:
app := WAAdmin
register: self
asApplicationAt: 'myapp'.
app addLibrary: MyOwnFileLibrary.
or
2b) select the script you want to send to the client in
the updateRoot method:
updateRoot: anHtmlRoot
super updateRoot: anHtmlRoot.
anHtmlRoot javascript url: MyOwnFileLibrary / #barJs.
You can also use an URL here if you want to test with the scripts
of the original location:
anHtmlRoot javascript url: 'http://foo.com/bar.js'
If you want to wrap a script that comes as a JQuery Plugin I would point
you to the JQueryWidgetBox project for Seaside:
http://www.squeaksource.com/JQueryWidgetBox
Just click on Wiki there.
Bye
T.
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
More information about the seaside
mailing list