Skip to main content

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.

Responsive

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

Learn more

See example code in toolbar customination guides for responsive layout.

Groups and presets

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✔️✔️
fontFamily✔️✔️
fontSize✔️✔️
formatOL✔️✔️✔️
formatUL✔️✔️✔️
align✔️✔️
lineHeight✔️✔️
outdent✔️✔️
indent✔️✔️
quote✔️
paragraphStyle✔️

Layouts

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

Example layouts

Explore example layouts with ready to copy code here.

Dependable on user's roles

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.

learn more

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

Dependable on PL/SQL logic

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.

learn more

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

Customizations

JavaScript

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.

learn more

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

Dynamic actions

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.

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.