Seaside wrapper for Tiny MCE Editor
The "TinyMCE for Seaside" project provides the [TinyMCE][1] editor libraries for use in Seaside applications.
The project is located on GitHub at https://github.com/astares/Seaside-TinyMCE
The Smalltalk code is under MIT License. Note that TinyMCE has an LGPL license.
First install Seaside into your Pharo image:
Metacello new
baseline:'Seaside3';
repository: 'github://SeasideSt/Seaside:develop/repository';
load.
Now you can install the packages necessary for TinyMCE by evaluating:
Metacello new
baseline:'TinyMCE';
repository: 'github://astares/Seaside-TinyMCE:master/src';
load
After starting the Seaside server you can check out the example at
http://localhost:8080/tinymce
As usual you should create a subclass of WAComponent for an own Seaside web application component. To use the library just register it with your Seaside application.
register
|app|
app := WAAdmin register: self asApplicationAt: 'tinymce'.
app addLibrary: TMCEFileLibrary
To render the editor component you just need a textArea tag in your generated HTML code and modify it to be a TinyMCE Editor using a simple JavaScript. Here is an example Seaside rendering method:
renderContentOn: html
html heading: 'TinyMCE Demo'.
html form: [
html textArea
callback: [ :value | text := value];
with: text.
html break.
html submitButton: 'Send to server and display' ].
html break; horizontalRule.
html html: text.
"Add the script to run TinyMCE"
html script: ' tinymce.init({selector:''textarea''});'
Check out the TinyMCE documentation for more.