@serenity-is/corelib / HtmlContentEditor
Class: HtmlContentEditor<P>
Defined in: src/ui/editors/htmlcontenteditor.tsx:39
An editor that renders rich HTML content using CKEditor or Tiptap.
Extends
EditorWidget<P>
Extended by
Type Parameters
P
P extends HtmlContentEditorOptions = HtmlContentEditorOptions
Widget props type.
Implements
Constructors
Constructor
new HtmlContentEditor<
P>(props):HtmlContentEditor<P>
Defined in: src/ui/editors/htmlcontenteditor.tsx:71
Creates an HTML content editor.
Parameters
props
EditorProps<P>
Widget props.
Returns
HtmlContentEditor<P>
Overrides
Properties
domNode
readonlydomNode:HTMLTextAreaElement
Defined in: src/ui/editors/htmlcontenteditor.tsx:44
The DOM node this widget is bound to.
Overrides
idPrefix
readonlyidPrefix:string
Defined in: src/ui/widgets/widget.ts:22
The id prefix used for this widget's child element ids.
Inherited from
options
protectedreadonlyoptions:WidgetProps<EditorProps<P>>
Defined in: src/ui/widgets/widget.ts:18
The widget's options/props.
Inherited from
uniqueName
readonlyuniqueName:string
Defined in: src/ui/widgets/widget.ts:20
A unique name for this widget instance, used for event namespacing.
Inherited from
[typeInfo]
static[typeInfo]:EditorTypeInfo<"Serenity.">
Defined in: src/ui/editors/htmlcontenteditor.tsx:41
Implementation of
Overrides
CKEditorBasePath
staticCKEditorBasePath:string
Defined in: src/ui/editors/htmlcontenteditor.tsx:447
Base path for CKEditor assets.
CKEditorVer
staticCKEditorVer:string="4.22.1"
Defined in: src/ui/editors/htmlcontenteditor.tsx:445
CKEditor version to load.
defaultEditorProvider
staticdefaultEditorProvider:HtmlContentEditorProvider
Defined in: src/ui/editors/htmlcontenteditor.tsx:61
Default editor provider.
defaultOptions
readonlystaticdefaultOptions:Partial<HtmlContentEditorOptions> ={}
Defined in: src/ui/editors/htmlcontenteditor.tsx:64
Default options for the editor.
isComponent
readonlystaticisComponent:true=true
Defined in: src/ui/widgets/widget.ts:334
Inherited from
tiptapModule
statictiptapModule:TiptapModule| () =>TiptapModule|Promise<TiptapModule>
Defined in: src/ui/editors/htmlcontenteditor.tsx:47
The Tiptap module loader.
Accessors
editorProvider
Get Signature
get editorProvider():
HtmlContentEditorProvider
Defined in: src/ui/editors/htmlcontenteditor.tsx:489
Returns the active editor provider.
Returns
The editor provider.
element
Get Signature
get element():
Fluent
Defined in: src/ui/widgets/widget.ts:82
Returns a Fluent(this.domNode) object
Returns
Inherited from
props
Get Signature
get props():
WidgetProps<P>
Defined in: src/ui/widgets/widget.ts:307
Returns the widget's props/options.
Returns
WidgetProps<P>
Inherited from
readOnly
Get Signature
get readOnly():
boolean
Defined in: src/ui/editors/editorwidget.ts:42
Returns whether the editor is read-only.
Returns
boolean
True when read-only.
Set Signature
set readOnly(
value):void
Defined in: src/ui/editors/editorwidget.ts:48
Sets whether the editor is read-only.
Parameters
value
boolean
Returns
void
Inherited from
value
Get Signature
get value():
string
Defined in: src/ui/editors/htmlcontenteditor.tsx:379
Returns the current HTML value.
Returns
string
The HTML value.
Set Signature
set value(
v):void
Defined in: src/ui/editors/htmlcontenteditor.tsx:405
Sets the HTML value.
Parameters
v
string
Returns
void
Methods
addCssClass()
protectedaddCssClass():void
Defined in: src/ui/widgets/widget.ts:89
Adds the widget's CSS class to its DOM node.
Returns
void
Inherited from
addValidationRule()
Call Signature
addValidationRule(
rule,uniqueName?):void
Defined in: src/ui/widgets/widget.ts:142
Adds a validation rule to the widget's DOM node.
Parameters
rule
(input) => string
The validation rule function, or a unique name when the two-argument overload is used.
uniqueName?
string
A unique name for the rule, or the rule function when the two-argument overload is used.
Returns
void
Inherited from
EditorWidget.addValidationRule
Call Signature
addValidationRule(
uniqueName,rule):void
Defined in: src/ui/widgets/widget.ts:143
Adds a validation rule to the widget's DOM node.
Parameters
uniqueName
string
A unique name for the rule, or the rule function when the two-argument overload is used.
rule
(input) => string
The validation rule function, or a unique name when the two-argument overload is used.
Returns
void
Inherited from
EditorWidget.addValidationRule
afterRender()
protectedafterRender(callback):void
Defined in: src/ui/widgets/widget.ts:228
Queues a callback to run after the widget's contents are rendered.
Parameters
callback
() => void
The callback to run after rendering.
Returns
void
Inherited from
byId()
protectedbyId<TElement>(id):Fluent<TElement>
Defined in: src/ui/widgets/widget.ts:154
Finds a child element by its prefix-relative id.
Type Parameters
TElement
TElement extends HTMLElement = HTMLElement
Parameters
id
string
The id relative to the widget's id prefix.
Returns
Fluent<TElement>
A Fluent wrapper for the matching element.
Inherited from
change()
change(
handler):void
Defined in: src/ui/widgets/widget.ts:179
Registers a change handler on the widget's DOM node.
Parameters
handler
(e) => void
The change event handler.
Returns
void
Inherited from
changeSelect2()
changeSelect2(
handler):void
Defined in: src/ui/widgets/widget.ts:188
Registers a change handler that ignores changes originating from
combobox setting values.
Parameters
handler
(e) => void
The change event handler.
Returns
void
Inherited from
configureTiptapExtension()
protectedconfigureTiptapExtension(extension):any
Defined in: src/ui/editors/htmlcontenteditor.tsx:297
Configures a Tiptap extension.
Parameters
extension
any
The extension to configure.
Returns
any
The configured extension.
createTiptapToolbar()
protectedcreateTiptapToolbar(editor,hidden):HTMLElement
Defined in: src/ui/editors/htmlcontenteditor.tsx:329
Creates the Tiptap toolbar.
Parameters
editor
any
The Tiptap editor.
hidden
Hidden toolbar options.
Returns
HTMLElement
The toolbar element.
deferRender()
protecteddeferRender():boolean
Defined in: src/ui/widgets/widget.ts:98
Determines whether rendering should be deferred until init is called.
Returns
boolean
True to defer rendering.
Inherited from
destroy()
destroy():
void
Defined in: src/ui/editors/htmlcontenteditor.tsx:346
Cleans up the editor instance.
Returns
void
Overrides
findById()
protectedfindById<TElement>(id):TElement
Defined in: src/ui/widgets/widget.ts:163
Finds a child element by its prefix-relative id.
Type Parameters
TElement
TElement extends HTMLElement = HTMLElement
Parameters
id
string
The id relative to the widget's id prefix.
Returns
TElement
The matching element, or null if not found.
Inherited from
get_readOnly()
get_readOnly():
boolean
Defined in: src/ui/editors/htmlcontenteditor.tsx:413
Returns whether the editor is read-only.
Returns
boolean
True when read-only.
Implementation of
get_value()
get_value():
string
Defined in: src/ui/editors/htmlcontenteditor.tsx:362
Returns the current HTML value.
Returns
string
The HTML value.
Implementation of
getCKEditorConfig()
protectedgetCKEditorConfig():CKEditorConfig
Defined in: src/ui/editors/htmlcontenteditor.tsx:233
Returns the CKEditor configuration.
Returns
The CKEditor config.
getCKEditorInstance()
protectedgetCKEditorInstance():any
Defined in: src/ui/editors/htmlcontenteditor.tsx:287
Returns the CKEditor instance for this editor.
Returns
any
The CKEditor instance.
getCKEditorLanguage()
protectedgetCKEditorLanguage():string
Defined in: src/ui/editors/htmlcontenteditor.tsx:203
Returns the CKEditor language code.
Returns
string
The language code.
getConfig()
protectedgetConfig():CKEditorConfig
Defined in: src/ui/editors/htmlcontenteditor.tsx:225
[DEPRECATED] Override and use getCKEditorConfig()
Returns
getCssClass()
protectedgetCssClass():string
Defined in: src/ui/widgets/widget.ts:106
Returns the CSS class(es) applied to the widget's DOM node.
Returns
string
The space-separated CSS class string.
Inherited from
getCustomAttribute()
protectedgetCustomAttribute<TAttr>(attrType,inherit):TAttr
Defined in: src/ui/widgets/widget.ts:220
Returns a custom attribute applied to the widget's type.
Type Parameters
TAttr
TAttr extends CustomAttribute
Parameters
attrType
(...args) => TAttr
The attribute type to look up.
inherit
boolean = true
Whether to search inherited types; defaults to true.
Returns
TAttr
The matching attribute, or null.
Inherited from
EditorWidget.getCustomAttribute
getGridField()
getGridField():
Fluent
Defined in: src/ui/widgets/widget.ts:171
Returns the closest .field element containing the widget's DOM node.
Returns
A Fluent wrapper for the grid field.
Inherited from
getTiptapExtensions()
protectedgetTiptapExtensions(tiptap):any[]
Defined in: src/ui/editors/htmlcontenteditor.tsx:319
Returns the Tiptap extensions for this editor.
Parameters
tiptap
The Tiptap module.
Returns
any[]
The extensions.
getTiptapToolbarHidden()
protectedgetTiptapToolbarHidden(editor):TiptapToolbarHiddenOption
Defined in: src/ui/editors/htmlcontenteditor.tsx:338
Returns the hidden Tiptap toolbar options.
Parameters
editor
any
The Tiptap editor.
Returns
The hidden options.
handleCKEditorChange()
protectedhandleCKEditorChange(e):void
Defined in: src/ui/editors/htmlcontenteditor.tsx:177
Handles the CKEditor change event.
Parameters
e
any
The CKEditor event.
Returns
void
handleCKInstanceReady()
protectedhandleCKInstanceReady(x):void
Defined in: src/ui/editors/htmlcontenteditor.tsx:160
Handles the CKEditor instance-ready event.
Parameters
x
any
The CKEditor event.
Returns
void
handleCKKey()
protectedhandleCKKey(e):void
Defined in: src/ui/editors/htmlcontenteditor.tsx:195
Handles the CKEditor key event.
Parameters
e
any
The CKEditor event.
Returns
void
init()
init():
this
Defined in: src/ui/widgets/widget.ts:243
Initializes the widget, rendering its contents if rendering was deferred.
Returns
this
This widget instance.
Inherited from
internalRenderContents()
internalRenderContents():
void
Defined in: src/ui/widgets/widget.ts:266
Renders the widget's contents and runs any queued after-render callbacks.
Returns
void
Inherited from
EditorWidget.internalRenderContents
legacyTemplateRender()
protectedlegacyTemplateRender():boolean
Defined in: src/ui/widgets/widget.ts:291
Renders the widget from a legacy getTemplate string, if defined.
Returns
boolean
True if a legacy template was rendered.
Inherited from
EditorWidget.legacyTemplateRender
render()
render():
any
Defined in: src/ui/widgets/widget.ts:253
Returns the main element for this widget or the document fragment. As widgets may get their elements from props unlike regular JSX widgets, this method should not be overridden. Override renderContents() instead.
Returns
any
Inherited from
renderContents()
protectedrenderContents():any
Defined in: src/ui/widgets/widget.ts:281
Renders the widget's contents. Override this to provide custom content.
Returns
any
The rendered contents.
Inherited from
set_readOnly()
set_readOnly(
value):void
Defined in: src/ui/editors/htmlcontenteditor.tsx:421
Sets whether the editor is read-only.
Parameters
value
boolean
True to enable read-only mode.
Returns
void
Implementation of
set_value()
set_value(
value):void
Defined in: src/ui/editors/htmlcontenteditor.tsx:387
Sets the HTML value.
Parameters
value
string
The HTML value to set.
Returns
void
Implementation of
syncOrAsyncThen()
protectedsyncOrAsyncThen<T>(syncMethod,asyncMethod,then):void
Defined in: src/ui/widgets/widget.ts:318
Runs a method synchronously or asynchronously depending on the widget's
useAsync flag, then invokes a continuation.
Type Parameters
T
T
Parameters
syncMethod
() => T
The synchronous method to run.
asyncMethod
() => PromiseLike<T>
The asynchronous method to run.
then
(v) => void
The continuation invoked with the result.
Returns
void
Inherited from
useIdPrefix()
protecteduseIdPrefix():IdPrefixType
Defined in: src/ui/widgets/widget.ts:329
Returns an id prefix helper for resolving child element ids.
Returns
An IdPrefixType proxy for this widget's id prefix.
Inherited from
create()
staticcreate<TWidget,P>(params):TWidget
Defined in: src/ui/widgets/widget.ts:202
Creates a widget instance from the given params, appending its element to the container and invoking the init/init callbacks.
Type Parameters
TWidget
TWidget extends Widget<P>
P
P
Parameters
params
CreateWidgetParams<TWidget, P>
The widget creation params.
Returns
TWidget
The created widget instance.
Inherited from
createDefaultElement()
staticcreateDefaultElement():HTMLTextAreaElement
Defined in: src/ui/editors/htmlcontenteditor.tsx:58
Creates the default DOM element for a widget.
Returns
HTMLTextAreaElement
A new div element.
Overrides
EditorWidget.createDefaultElement
getCKEditorBasePath()
staticgetCKEditorBasePath():string
Defined in: src/ui/editors/htmlcontenteditor.tsx:453
Returns the base path for CKEditor assets.
Returns
string
The base path.
getWidgetName()
staticgetWidgetName(type):string
Defined in: src/ui/widgets/widget.ts:131
Returns the widget name for a type, used for association and unique names.
Parameters
type
Function
The widget type.
Returns
string
The widget name.
Inherited from
includeCKEditor()
staticincludeCKEditor(then):void
Defined in: src/ui/editors/htmlcontenteditor.tsx:470
Includes the CKEditor script and invokes the callback when loaded.
Parameters
then
() => void
Callback invoked when CKEditor is available.
Returns
void
registerClass()
protectedstaticregisterClass<TypeName>(typeName,intfAndAttr?):ClassTypeInfo<TypeName>
Defined in: src/ui/widgets/widget.ts:342
Registers this type as a class with the given type name.
Type Parameters
TypeName
TypeName
Parameters
typeName
StringLiteral<TypeName>
The type name to register.
intfAndAttr?
(InterfaceType | AttributeSpecifier)[]
Optional interfaces and attributes.
Returns
ClassTypeInfo<TypeName>
The class type info.
Inherited from
registerEditor()
protectedstaticregisterEditor<TypeName>(typeName,intfAndAttr?):EditorTypeInfo<TypeName>
Defined in: src/ui/widgets/widget.ts:357
Registers this type as an editor with the given type name.
Type Parameters
TypeName
TypeName
Parameters
typeName
StringLiteral<TypeName>
The type name to register.
intfAndAttr?
(InterfaceType | AttributeSpecifier)[]
Optional interfaces and attributes.
Returns
EditorTypeInfo<TypeName>
The editor type info.