Class RichText
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier
,com.vaadin.flow.component.ClickNotifier<com.vaadin.flow.component.html.Div>
,com.vaadin.flow.component.DetachNotifier
,com.vaadin.flow.component.HasComponents
,com.vaadin.flow.component.HasElement
,com.vaadin.flow.component.HasEnabled
,com.vaadin.flow.component.HasOrderedComponents
,com.vaadin.flow.component.HasSize
,com.vaadin.flow.component.HasStyle
,com.vaadin.flow.component.HasText
,Serializable
By default jsoups Safelist.relaxed is used for sanitizing. This can be overridden by returning custom safelist with getSafelist method.
For a more secure approach with markdown formatting, add
"com.vladsch.flexmark:flexmark" dependency to your project and the component
starts to use server side rendering and Jsoup sanitizing instead. You can also
customize behaviour by implementing custom RichText.MarkdownStrategy
(and e.g.
use a bundled markdown-it instead of the dynamically loaded one).
Note, that for basic Markdown usage, the Markdown component from Vaadin core is now available since Vaadin 24.8. This component though provides more efficiency (does not save content to the server memory), easier to use append method (no need for UI.access dance) and more flexibility (uses the excellent Flexmark library for server side rendering if available, else falls back to the client side markdown-it)
>- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static interface
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasText
com.vaadin.flow.component.HasText.WhiteSpace
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionappendMarkDown
(String markdownFragment) appendMarkDownAsync
(String markdownFragment) A shorthand to append markdown snippet to the content from a non-UI thread.org.jsoup.safety.Safelist
getText()
Deprecated.might return null if text not set with setRichTextAndSaveReference method.org.jsoup.safety.Safelist
Deprecated.use getSafelist insteadprotected void
onAttach
(com.vaadin.flow.component.AttachEvent attachEvent) setRichText
(String text) setSafelist
(org.jsoup.safety.Safelist whitelist) Deprecated.Whitelist is not serializable.withContent
(String content) withMarkDown
(InputStream markdown) withMarkDown
(String markdown) withMarkDownResource
(String resourceName) withNewLines
(String text) Only replaces all new line characters with <br />, but no Markdown processing.withSafeHtml
(InputStream markdown) withSafeHtml
(String html) withSafeHtmlResource
(String resourceName) Methods inherited from class com.vaadin.flow.component.HtmlComponent
getTitle, setTitle
Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
Methods inherited from interface com.vaadin.flow.component.ClickNotifier
addClickListener, addClickShortcut, addDoubleClickListener, addSingleClickListener
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
Methods inherited from interface com.vaadin.flow.component.HasComponents
add, add, add, addComponentAsFirst, addComponentAtIndex, remove, remove, removeAll
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabled
Methods inherited from interface com.vaadin.flow.component.HasOrderedComponents
getChildren, getComponentAt, getComponentCount, indexOf, replace
Methods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
Methods inherited from interface com.vaadin.flow.component.HasText
getWhiteSpace, setText, setWhiteSpace
-
Field Details
-
markdownStrategy
-
-
Constructor Details
-
RichText
public RichText() -
RichText
-
-
Method Details
-
withMarkDown
-
withMarkDown
-
appendMarkDown
-
appendMarkDownAsync
A shorthand to append markdown snippet to the content from a non-UI thread. This is "the AI chatbot API".- Parameters:
markdownFragment
- new markdown fragment to append- Returns:
- the component for further configuration
-
withSafeHtml
-
withSafeHtml
-
withNewLines
Only replaces all new line characters with <br />, but no Markdown processing.- Parameters:
text
- the text value to be displayed- Returns:
- the object itself for further configuration
-
getWhitelist
Deprecated.use getSafelist instead- Returns:
- the safelist
-
getSafelist
public org.jsoup.safety.Safelist getSafelist() -
setSafelist
Deprecated.Whitelist is not serializable. Override getWhitelist instead if you need to support serialiazation- Parameters:
whitelist
- the whitelist used for sanitizing the rich text content- Returns:
- the object itself for further configuration
-
getText
Deprecated.might return null if text not set with setRichTextAndSaveReference method.Return the richt text set using setRichTextAndSaveReference method. Normally reference to the content is not saved to save server memory.- Returns:
- the rich text set to this content, if available
-
setRichText
-
setRichTextAndSaveReference
-
withMarkDownResource
-
withSafeHtmlResource
-
withContent
-
onAttach
protected void onAttach(com.vaadin.flow.component.AttachEvent attachEvent) - Overrides:
onAttach
in classcom.vaadin.flow.component.Component
-