Creating custom menu items
Use Cases
-
Create a shortcut for an action or a series of actions that the user repeatedly does.
-
Create a button for custom behavior.
How to create custom menu items
The methods for adding custom menu items are in the UI Registry part of the editor API editor.ui.registry. The API has three methods for adding menu items:
-
editor.ui.registry.addMenuItem(identifier, configuration)
-
editor.ui.registry.addNestedMenuItem(identifier, configuration)
-
editor.ui.registry.addToggleMenuItem(identifier, configuration)
The two arguments these methods take are:
-
identifier
- a unique name for the button -
configuration
- an object containing your configuration for that button.
Define the custom toolbar button with the setup
callback of the TinyMCE configuration to add it to the editor. This callback is invoked automatically for every initialized editor instance. Access to the UI registry API occurs when the callback receives a reference to the editor instance as its argument.
Example of adding a custom menu item
tinymce.init({
selector: '#editor',
menu: {
custom: { title: 'Custom Menu', items: 'undo redo myCustomMenuItem' }
},
menubar: 'file edit custom',
setup: (editor) => {
editor.ui.registry.addMenuItem('myCustomMenuItem', {
text: 'My Custom Menu Item',
onAction: () => alert('Menu item clicked')
});
}
});
The identifier used to create the menu item must be included in the menu option in the TinyMCE configuration for it to be added to the menubar’s menus. It will not be added to the menubar’s menus if menu is not configured correctly.
|