2 * @param {WysiwygConfigOptions} options
5 export function getPrimaryToolbar(options) {
6 const textDirPlugins = options.textDirection === 'rtl' ? 'ltr rtl' : '';
11 'bold italic underline forecolor backcolor formatoverflow',
12 'alignleft aligncenter alignright alignjustify',
13 'bullist numlist listoverflow',
15 'link customtable imagemanager-insert insertoverflow',
16 'code about fullscreen',
19 return toolbar.filter(row => Boolean(row)).join(' | ');
23 * @param {Editor} editor
25 function registerPrimaryToolbarGroups(editor) {
26 editor.ui.registry.addGroupToolbarButton('formatoverflow', {
29 items: 'strikethrough superscript subscript inlinecode removeformat',
31 editor.ui.registry.addGroupToolbarButton('listoverflow', {
34 items: 'tasklist outdent indent',
36 editor.ui.registry.addGroupToolbarButton('insertoverflow', {
39 items: 'customhr codeeditor drawio media details',
44 * @param {Editor} editor
46 function registerLinkContextToolbar(editor) {
47 editor.ui.registry.addContextToolbar('linkcontexttoolbar', {
49 return node.closest('a') !== null;
53 items: 'link unlink openlink',
58 * @param {Editor} editor
60 function registerImageContextToolbar(editor) {
61 editor.ui.registry.addContextToolbar('imagecontexttoolbar', {
63 return node.closest('img') !== null && !node.hasAttribute('data-mce-object');
72 * @param {Editor} editor
74 function registerObjectContextToolbar(editor) {
75 editor.ui.registry.addContextToolbar('objectcontexttoolbar', {
77 return node.closest('img') !== null && node.hasAttribute('data-mce-object');
86 * @param {Editor} editor
88 export function registerAdditionalToolbars(editor) {
89 registerPrimaryToolbarGroups(editor);
90 registerLinkContextToolbar(editor);
91 registerImageContextToolbar(editor);
92 registerObjectContextToolbar(editor);