Wichtig
Kleinigkeit
Fehlerbehebung
Wichtig
Wichtig
#23013
WYSIWYG-Editor: Textfarbe, Schriftart, Hyperlinks, Verweise auf TL-Fachobjekte, Source-Code
Folgende Funktionen sind mögliche Erweiterungen des WYSIWYG-Editors:
- Unterstützung von WYSIWYG-Attributen in Tabellen / Grids (Dazu Entwurf eines Feldes ähnlich den Text-PopupFeldern für mehrzeilige String-Attribute für WYSIWYG-Attribute)
- Textformatierung:
- Textfarbe
- Text Highlighting (Hintergrundfarbe)
- Schriftart und Schriftgröße
- Einfügen:
- Hyperlinks (entweder manuell einzufügen oder automatische Erkennung analog zum BulletinBoardRenderer)
- Emojis
- Bilder
- Verweise auf TL-Fachobjekte
- Text als Sourcecode formatieren
In der Anwendungskonfiguration sollten die zusätzlichen Funktionen aktivierbar/deaktivierbar sein. Mindestens die Möglichkeit der Eingabe von Hyperlinks kann zu Sicherheitsproblemen führen. Hier muss man mindestens sicherstellen, dass über den Link kein JavaScript in der Seite ausgeführt werden kann (javascript:... muss verboten sein).
Anwendung
Die Konfiguration des CKEditors kann über den Service com.top_logic.layout.wysiwyg.ui.StructuredTextConfigService angepasst werden, indem aus einer Liste verfügbarer Features ausgewählt wird:
#!xml <config service-class="com.top_logic.layout.wysiwyg.ui.StructuredTextConfigService"> <instance> <html-config> <feature-ref name="basicstyles" /> <feature-ref name="colors" /> <feature-ref name="insert" /> </html-config> </instance> </config>
Diese Feature-Liste kann auch pro HTML-Attribut über die Annotation wysiwyg angepasst werden.
#!xml <property name="description" type="tl.model.wysiwyg:Html"> <annotations> <wysiwyg features="basicstyles, insert"/> </annotations> </property>
CKEditor Demo
Auf https://ckeditor.com/docs/ckeditor4/latest/examples/fullpreset.html findet man eine Demo des CKEditors mit allen nativen Features.
Test
/com.top_logic.demo/src/test/com/top_logic/demo/scripted/wysiwyg/TestWysiwyg.script.xml