Rich Text Editor

The IQNOX Rich Text Editor is a powerful and flexible ThingWorx widget designed to enhance text input and formatting capabilities within your applications. Built on a robust rich-text editing framework, this widget enables users to create, edit, and format content effortlessly with a user-friendly interface. It supports a wide range of text styling options, including bold, italics, lists, headings, and more, making it ideal for capturing detailed notes, descriptions, and other structured text content in ThingWorx mashups. Seamlessly integrated and highly configurable, the IQNOX Rich Text Editor improves usability and productivity while maintaining a lightweight and efficient performance profile.

Examples

Properties #

PropertyTypeBindingDefault value
CustomClassSTRING<>Enables you to define an HTML class to the top div of the widget. Multiple classes can be separated by a space.
HTMLTextSTRING<>It outputs the content of the widget as HTML
MarkdownTextSTRING<>It outputs the content of the widget as Markdown
AllowedIframeSourcesSTRING<www.youtube.com, player.vimeo.comComma separated list of iframe source domains that are allowed to be embedded as video elements in the editor.
VideoEmbedSettingsJSON
DebounceTime1INTEGER300Time in milliseconds from last key pressed to triggering the ContentChanged event.
LabelSTRING(localized)<The text that is displayed above the Rich Text Editor
ShowSecondaryLabelBOOLEAN<Flag property which decides whether or not to show the Secondary Label.
SecondaryLabelSTRING(localized)<Type of the input that will be passed to the widget.
ShowHelpIconBOOLEAN<FALSEWill enable a customizable icon on the right of the label, the icon will show the tooltip on hover for more documentation
HelpIconSTRING<material-outlined:helpIcon to be displayed on the right of the label when ShowHelpIcon is enabled.
TooltipSTRING(localized)<Optional tooltip used to display additional information. If ShowHelpIcon is enabled, the tooltip will be triggered by hovering the HelpIcon. This tooltip can be styled globally from GlobalStyles.
TooltipFormatSTRING(localized)<see Format Complex
MentionsINFOTABLE<The list of mentions that will be available in the editor.
MentionsDenotationCharsSTRINGSpecifies which characters will cause the mention autocomplete to open. Must be a single character. An empty string will disable the mention feature(ex @).
MentionDenotationCharFieldNameLISTThe column from the Mentions with the character that will be used to denote the mention. Leaving it empty means that the mention will trigger for all characters.
MentionDisplayFieldNameLISTThe column from the Mentions with the display of the object.
MentionIdFieldNameLISTThe column from the Mentions with the id of the object.
PlaceholderSTRING(localized)<Text that appears in the text box when it has no value set.
ReadOnlyBOOLEAN<FALSEDisables any interaction with the widget.
TabSequenceINTEGER0Specifies the tab order of an element (when the “tab” button is used for navigating).
TemplateLIST<The widget template to use for this widget.
ToolbarBehaviorLISTHow the toolbar should behave. Either FixedFloating or Hidden.
ToolbarOptionsLISTThe options that are available in the toolbar. For example, if just markup is needed, you can set this to “Basic”. Available options: FullBasicMinimalCustom.
ToolbarControlsJSON<A JSON that defines which toolbar controls to display and how. Available only when ToolbarOptions is set to Custom. See more options: https://quilljs.com/docs/modules/toolbar#container

Services #

PropertyTypeBindingDescription
BlurSERVICE<Removes the focus from the element
FocusSERVICE<Forces the focus on the widget, allowing it to receive keyboard inputs

Events #

PropertyTypeBindingDescription
ContentChangedEVENT>Triggers an event when the value of the widget is changed

Videos #

Because video elements cannot be rendered natively in Markdown, they are exported as HTML.

Two types of elements are treated as videos:

1. HTML <video> elements

Any URL that ends with .mp4 or .webm is automatically embedded as an HTML <video> element.

Users can also provide raw video HTML in the input element. This HTML is transformed according to the video settings defined in the VideoEmbedSettings JSON property.

Supported attributes

  • height
  • width
  • poster
  • preload
  • crossorigin
  • controls
  • muted
  • autoplay
  • playsinline
  • loop

2. HTML <iframe> elements

Users may also provide an HTML <iframe> in the video input element.

Iframes are rendered in the editor only if its src is whitelisted in the AllowedIframeSources widget property. If the src value is not whitelisted, it is replaced with //:0.

Supported attributes

  • height
  • width
  • sandbox
  • title
  • referrerpolicy
  • allowfullscreen
  • frameborder
  • allow

Video Elements configuration

The HTML attributes that should be added to embedded elements in the rich text editor are defined in the VideoEmbedSettings property.

VideoEmbedSettings supports two configuration objects:

  • iframe
  • video

Shared attributes such as width and height can also be defined at the top level of the JSON object. These values apply to both element types.

The default value is

JavaScript
{
  iframe: {
    frameborder: 0,
    allowfullscreen: true,
  },
  video: {
    controls: true,
  }
}

Notes #

1. DebounceTime is only available if TriggerContentChanged is TRUE, else ContentChanged is trigger on defocus/enter key pressed. ↩︎

Was this article helpful?

  • Happy
  • Normal
  • Sad

Contact Support

Support form is only accessible for logged in users.
IQNOX Logo
Log In

Welcome back!

Remember me
Don't have an account? Sign Up

Schedule a Demo

Schedule a personalized demo to explore how our widgets can streamline your workflow, enhance efficiency, and drive better results.
Preferred Date / Time (US Eastern time)
We’ll do our best to accommodate your preferred date and time. If it’s not available, our team will reach out to find a time that works for everyone.
Consent