Skip to content

Editors Toolbar

The well configured rich text editor toolbar meeting end-users expectations is first step to laverege work efficiency. The plug-in exposes dozen of options to configure the toolbar including:

  • customizing what buttons are available for the end-user
  • responsive toolbar layout depending on the browser width
  • configuring what fonts can be used to create rich text document
  • configuring what font sizes can be used to create rich text document
  • configuring what pararagraph styles can be used to create rich text document
  • configuring different layouts depending on document nature
  • and much more

The editor’s toolbar can be highly customized using JavaScript Code, APEX dynamic actions interface, and some features can be dependent on application PL/SQL logic.

The toolbar layout is very flexible and it’s up to developer what rich text editor functionalities are available to the end-user. The toolbar supports reponsive design dependent on the browser current width by exposing 4 stages:

  • browser width greater than 1200px
  • browser width smaller than 1200px but larger than 922px
  • browser width smaller than 922px but larger than 768px
  • browser width smaller than 768px

image-20240513153519017

image-20240513153447889

image-20240513153055705

image-20240513152721578

:::tip Learn more

See example code in toolbar customination guides for responsive layout.

:::

The toolbar buttons can be grouped into four optional groups paragrahp, text, rich and misc, aligned to left and right. Each toolbar groups support hidding not fitting buttons.

The plug-in attribute toolbar allows defining toolbar buttons using predefined presets basic, intermediate and full. The summary below presents each group highlighted, and buttons available for each preset.

Button IDBasicIntermediateFull
paragraphFormat:x::heavy_check_mark::heavy_check_mark:
fontFamily:x::heavy_check_mark::heavy_check_mark:
fontSize:x::heavy_check_mark::heavy_check_mark:
formatOL:heavy_check_mark::heavy_check_mark::heavy_check_mark:
formatUL:heavy_check_mark::heavy_check_mark::heavy_check_mark:
align:x::heavy_check_mark::heavy_check_mark:
lineHeight:x::heavy_check_mark::heavy_check_mark:
outdent:x::heavy_check_mark::heavy_check_mark:
indent:x::heavy_check_mark::heavy_check_mark:
quote:x::x::heavy_check_mark:
paragraphStyle:x::x::heavy_check_mark:

Button IDBasicIntermediateFull
bold:heavy_check_mark::heavy_check_mark::heavy_check_mark:
strikeThrough:x::x::heavy_check_mark:
clearFormatting:heavy_check_mark::heavy_check_mark::heavy_check_mark:
textColor:x::heavy_check_mark::heavy_check_mark:
backgroundColor:x::heavy_check_mark::heavy_check_mark:
underline:x::heavy_check_mark::heavy_check_mark:
italic:heavy_check_mark::heavy_check_mark::heavy_check_mark:
superscript:x::x::heavy_check_mark:
subscript:x::x::heavy_check_mark:
inlineClass:x::x::heavy_check_mark:
inlineStyle:x::x::heavy_check_mark:

Button IDBasicIntermediateFull
insertLink:heavy_check_mark::heavy_check_mark::heavy_check_mark:
insertImage:heavy_check_mark::heavy_check_mark::heavy_check_mark:
insertTable:x::heavy_check_mark::heavy_check_mark:
insertHR:x::heavy_check_mark::heavy_check_mark:
specialCharacters:x::x::heavy_check_mark:
fontAwesome:x::x::heavy_check_mark:
emoticons:x::x::heavy_check_mark:
insertVideo:x::heavy_check_mark::heavy_check_mark:

ButtonBasicIntermediateFull
undo:heavy_check_mark::heavy_check_mark::heavy_check_mark:
fullscreen:heavy_check_mark::heavy_check_mark::heavy_check_mark:
redo:heavy_check_mark::heavy_check_mark::heavy_check_mark:
print:heavy_check_mark::heavy_check_mark::heavy_check_mark:
getPDF:x::x::heavy_check_mark:
selectAll:x::heavy_check_mark::heavy_check_mark:
html:heavy_check_mark::heavy_check_mark::heavy_check_mark:
help:heavy_check_mark::heavy_check_mark::heavy_check_mark:

The toolbar layout is not fixed, and it’s up to a developer how toolbar looks and what features it exposes. For example, the plug-in toolbar can mimic Google Gmail, where toolbar is positioned bottom.

image-20240530113553653

Or it can resemble Google Documents giving end-user the feeling he is working with a document.

image-20240530113455836

Or the whole editor can be integrated into application region, with toolbar poping out on end-user demand.

image-20240530113222782

:::tip Example layouts

Explore example layouts with ready to copy code here.

:::

The editor’s toolbar can be customized using Oracle APEX Authorization Schemes. This core APEX feature can be applied to dynamic actions customizing plug-in and using page item attribute Initialization PL/SQL Code with custom PL/SQL code.

:::tip learn more

Learn more about utilizing authorization schemes in concept Action Control List.

:::

The editor’s toolbar can be customized using PL/SQL logic defined in dynamic action attribute server-side condition or using the plug-in attribute Initialization PL/SQL code and the plug-in PL/SQL procedure toolbar_init_group.

:::tip learn more

The example PL/SQL creating responsive toolbar is described in toolbar PL/SQL customization guidelines.

:::

The Froala JavaScript API exposes more than 200 options to configure the plug-in including toolbar options. The plug-in customization guidelines covers some of the options with example code ready to copy and paste. These options can be set using the plug-in page item attribute Initialization JavaScript Code, or using the supporting dynamic action plug-in.

:::tip learn more

The guidelines document covers the toolbar’s customizations using JavaScript Code.

:::

The toolbar buttons can be customized using the supporting dynamic action plug-ins Change Toolbar and Initialization JavaScript Code. A dynamic action can be implemented on same page, or using APEX global page.

:::tip dynamic action attributes

Using a dynamic action attributes server-side condition and authorization scheme allows flexible plug-in configuration dependent on page logic, user’s role or PL/SQL code.

:::