3 KiB
MenuItem
The menu-item
module allows you to add items to an application or context
menu
.
See menu
for examples.
Class: MenuItem
Create a new MenuItem
with the following method:
new MenuItem(options)
options
Objectclick
Function - Will be called withclick(menuItem, browserWindow)
when the menu item is clickedrole
String - Define the action of the menu item; when specified theclick
property will be ignoredtype
String - Can benormal
,separator
,submenu
,checkbox
orradio
label
Stringsublabel
Stringaccelerator
Acceleratoricon
NativeImageenabled
Boolean - If false, the menu item will be greyed out and unclickable.visible
Boolean - If false, the menu item will be entirely hidden.checked
Boolean - Should only be specified forcheckbox
orradio
type menu items.submenu
Menu - Should be specified forsubmenu
type menu items. Ifsubmenu
is specified, thetype: 'submenu'
can be omitted. If the value is not aMenu
then it will be automatically converted to one usingMenu.buildFromTemplate
.id
String - Unique within a single menu. If defined then it can be used as a reference to this item by the position attribute.position
String - This field allows fine-grained definition of the specific location within a given menu.
It is best to specify role
for any menu item that matches a standard role,
rather than trying to manually implement the behavior in a click
function.
The built-in role
behavior will give the best native experience.
The role
property can have following values:
undo
redo
cut
copy
paste
selectall
minimize
- Minimize current windowclose
- Close current window
On OS X role
can also have following additional values:
about
- Map to theorderFrontStandardAboutPanel
actionhide
- Map to thehide
actionhideothers
- Map to thehideOtherApplications
actionunhide
- Map to theunhideAllApplications
actionfront
- Map to thearrangeInFront
actionwindow
- The submenu is a "Window" menuhelp
- The submenu is a "Help" menuservices
- The submenu is a "Services" menu
When specifying role
on OS X, label
and accelerator
are the only options that will affect the MenuItem. All other options will be ignored.
Instance Properties
The following properties (and no others) can be updated on an existing MenuItem
:
enabled
Booleanvisible
Booleanchecked
Boolean
Their meanings are as described above.
A checkbox
menu item will toggle its checked
property on and off when
selected. You can add a click
function to do additional work.
A radio
menu item will turn on its checked
property when clicked, and
will turn off that property for all adjacent items in the same menu. Again,
you can add a click
function for additional behavior.