Skip to main content

Introducing Workflow Engine, try for FREE workflowengine.io.

Rich text editor

Introduction​

RichTextEditor is a thin wrapper around the rich text editor Quill.

This component is in a separate package @react-form-builder/components-rich-text.

Main properties​

The following general properties are available within the Main tab:

NameTypeDefaultDescription
Initial Valuestring-Initial value for the editor
Labelstring'Rich text editor'Provide a title for your component
Placeholderstring-Placeholder string
Read onlybooleanfalseIf set to true, makes your component unavailable for users to interact with
Features-see belowOne checkbox per group. Writes a complete on/off into Modules. Disabled if the JSON is a partial match
Modulesjsonsee belowDesigner JSON. Checkbox changes merge into this blob. Not a public wrapper prop
Use semantic HTMLbooleantrueIf true, stores Quill semantic HTML instead of the editor DOM HTML

The public wrapper API is features. Each flag fully enables or disables format, toolbar, and module for that group. formats and modules are not public props. Omitted keys keep their defaults.

<RichTextEditor
features={{
image: true,
video: false,
formula: false,
link: false,
undoRedo: true,
keyboardShortcuts: false,
}}
onChange={value => console.log(value)}
/>

In the designer, toggling a checkbox merges that one group into the Modules JSON and leaves other keys and toolbar items unchanged. If the JSON only partially matches a group, that checkbox is disabled.

video: false means no video format, no video toolbar button, and no video embed.

GroupDefaultControls
inlineFormattingonBold, italic, underline, strike, color, background, superscript, subscript
blocksonHeadings, blockquote, code block, lists, indent, align
imageonImage embed
videooffVideo embed
formulaoffFormula. Requires KaTeX on the page
linkoffHyperlink
undoRedoonUndo and redo
keyboardShortcutsoffKeyboard shortcuts for bold, italic, and underline

At the bottom of the Main properties menu, you can find additional options:

Style properties​

These are properties that allow to customize the size, color and other style properties of your component:

  • For Device: You can provide component's style customization for all devices or specific devices by using this dropdown list. Refer to Adaptive Layout for more details.
  • Component > Class Name: Add a class name for your component for the subsequent styling if necessary.
  • Wrapper: The options below enable you to tailor the appearance of your component and customize it for a specific device type, as selected in the For Device property:

    NameTypeDescription
    WidthnumberSpecifies the width for your component
    HeightnumberSpecifies the height for your component
    Margin top/right/bottom/leftnumberMargin values for you component
    ColorstringAllows customizing the text color
    Background colorstringEnables customizing the background color
Stay in the know
Quickly Build Drag-and-Drop Forms
Star us on GitHub