PL/SQL Code
The toolbar buttons can be customized using the plug-in PL/SQL procedure toolbar_init_group and the plug-in attribute Initialization PL/SQL Code. Enabling custom toolbar using PL/SQL require setting the plug-in page item attribute Toolbar to Custom PL/SQL.
:::note APEX attribute maximum length
Oracle APEX plug-in attribute value maximum length is 4000 characters and we suggest to wrap the example code as named procedure customizing the toolbar. Such procedure can be executed within the plug-in attribute Initialization PL/SQL Code.
:::
Responsive
Section titled “Responsive”As it is described for JavaScipt custom toolbar, the custom implementation using PL/SQL code can define responsive toolbar depending on browser width and JavaScript options toolbarButtons, toolbarButtonsMD, toolbarButtonsSM and toolbarButtonsXS.
toolbarButtons
Section titled “toolbarButtons”The example PL/SQL below defines the plug-in toolbar representing the plug-in preset full when browser width is larger than 1200px.
declare v_buttons_paragraph apex_t_varchar2 := apex_t_varchar2('paragraphFormat', 'fontFamily', 'fontSize', 'formatOL', 'formatUL', 'align', 'lineHeight', 'indent', 'outdent', 'quote'); v_buttons_text apex_t_varchar2 := apex_t_varchar2('bold', 'strikeThrough', 'clearFormatting', 'textColor', 'backgroundColor', 'underline', 'italic', 'superscript', 'subscript', 'inlineClass', 'inlineStyle'); v_buttons_rich apex_t_varchar2 := apex_t_varchar2('insertLink', 'insertImage', 'insertTable', 'insertHR', 'specialCharacters', 'fontAwesome', 'emoticons', 'insertVideo'); v_buttons_misc apex_t_varchar2 := apex_t_varchar2('undo', 'fullscreen', 'redo', 'print', 'getPDF', 'selectAll', 'html', 'help');begin
UC_FROALA_RTE.init_toolbar_group( p_group => UC_FROALA_RTE.c_toolbar_group_paragraph, p_visible_buttons => 6, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_paragraph );
UC_FROALA_RTE.init_toolbar_group( p_group => UC_FROALA_RTE.c_toolbar_group_text, p_visible_buttons => 4, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_text );
UC_FROALA_RTE.init_toolbar_group( p_group => UC_FROALA_RTE.c_toolbar_group_rich, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_rich );
UC_FROALA_RTE.init_toolbar_group( p_group => UC_FROALA_RTE.c_toolbar_group_misc, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_right, p_buttons => v_buttons_rich );end;toolbarButtonsMD
Section titled “toolbarButtonsMD”The example PL/SQL below defines the plug-in toolbar representing the plug-in preset full when browser width is larger or equal 922px but less than 1200px.
declare v_buttons_paragraph apex_t_varchar2 := apex_t_varchar2('paragraphFormat', 'fontFamily', 'fontSize', 'formatOL', 'formatUL', 'align', 'lineHeight', 'indent', 'outdent', 'quote'); v_buttons_text apex_t_varchar2 := apex_t_varchar2('bold', 'strikeThrough', 'clearFormatting', 'textColor', 'backgroundColor', 'underline', 'italic', 'superscript', 'subscript', 'inlineClass', 'inlineStyle'); v_buttons_rich apex_t_varchar2 := apex_t_varchar2('insertLink', 'insertImage', 'insertTable', 'insertHR', 'specialCharacters', 'fontAwesome', 'emoticons', 'insertVideo'); v_buttons_misc apex_t_varchar2 := apex_t_varchar2('undo', 'fullscreen', 'redo', 'print', 'getPDF', 'selectAll', 'html', 'help');begin
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_md, p_group => UC_FROALA_RTE.c_toolbar_group_paragraph, p_visible_buttons => 3, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_paragraph );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_md, p_group => UC_FROALA_RTE.c_toolbar_group_text, p_visible_buttons => 4, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_text );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_md, p_group => UC_FROALA_RTE.c_toolbar_group_rich, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_rich );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_md, p_group => UC_FROALA_RTE.c_toolbar_group_misc, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_right, p_buttons => v_buttons_rich );end;toolbarButtonsSM
Section titled “toolbarButtonsSM”The example PL/SQL below defines the plug-in toolbar representing the plug-in preset full when browser width is larger or equal 768px but less than 992px.
declare v_buttons_paragraph apex_t_varchar2 := apex_t_varchar2('paragraphFormat', 'fontFamily', 'fontSize', 'formatOL', 'formatUL', 'align', 'lineHeight', 'indent', 'outdent', 'quote'); v_buttons_text apex_t_varchar2 := apex_t_varchar2('bold', 'strikeThrough', 'clearFormatting', 'textColor', 'backgroundColor', 'underline', 'italic', 'superscript', 'subscript', 'inlineClass', 'inlineStyle'); v_buttons_rich apex_t_varchar2 := apex_t_varchar2('insertLink', 'insertImage', 'insertTable', 'insertHR', 'specialCharacters', 'fontAwesome', 'emoticons', 'insertVideo'); v_buttons_misc apex_t_varchar2 := apex_t_varchar2('undo', 'fullscreen', 'redo', 'print', 'getPDF', 'selectAll', 'html', 'help');begin
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_sm, p_group => UC_FROALA_RTE.c_toolbar_group_paragraph, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_paragraph );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_sm, p_group => UC_FROALA_RTE.c_toolbar_group_text, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_text );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_sm, p_group => UC_FROALA_RTE.c_toolbar_group_rich, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_rich );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_sm, p_group => UC_FROALA_RTE.c_toolbar_group_misc, p_visible_buttons => 1, p_align => UC_FROALA_RTE.c_toolbar_align_right, p_buttons => v_buttons_rich );end;toolbarButtonsXS
Section titled “toolbarButtonsXS”The example PL/SQL below defines the plug-in toolbar representing the plug-in preset full when browser width is less than 768px.
declare v_buttons_paragraph apex_t_varchar2 := apex_t_varchar2('paragraphFormat', 'fontFamily', 'fontSize', 'formatOL', 'formatUL', 'align', 'lineHeight', 'indent', 'outdent', 'quote'); v_buttons_text apex_t_varchar2 := apex_t_varchar2('bold', 'strikeThrough', 'clearFormatting', 'textColor', 'backgroundColor', 'underline', 'italic', 'superscript', 'subscript', 'inlineClass', 'inlineStyle'); v_buttons_rich apex_t_varchar2 := apex_t_varchar2('insertLink', 'insertImage', 'insertTable', 'insertHR', 'specialCharacters', 'fontAwesome', 'emoticons', 'insertVideo'); v_buttons_misc apex_t_varchar2 := apex_t_varchar2('undo', 'fullscreen', 'redo', 'print', 'getPDF', 'selectAll', 'html', 'help');begin
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_xs, p_group => UC_FROALA_RTE.c_toolbar_group_paragraph, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_paragraph );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_xs, p_group => UC_FROALA_RTE.c_toolbar_group_text, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_text );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_xs, p_group => UC_FROALA_RTE.c_toolbar_group_rich, p_visible_buttons => 2, p_align => UC_FROALA_RTE.c_toolbar_align_left, p_buttons => v_buttons_rich );
UC_FROALA_RTE.init_toolbar_group( p_responsive => UC_FROALA_RTE.c_toolbar_responsive_xs, p_group => UC_FROALA_RTE.c_toolbar_group_misc, p_visible_buttons => 10, p_align => UC_FROALA_RTE.c_toolbar_align_right, p_buttons => v_buttons_rich );end;