The demo.html
shows most of these features.
new MenuItem
(options)
These can be initialized in the options object passed to the constructor.
type
- one of menubar
or contextmenu
(the default).
items
- the array of MenuItems.
You can also build this array incrementally using the append
method.
beforeShow
- a function that is called before the menu is displayed.
This Menu is passed as the first argument.
This is useful for updating properties of menu items.
It can be used in place of the Electron menu-wil-show
event.
There is also a beforeShow
call-back on MenuItem
.
contextMenuParent
- Parent node for context menu popup.
If null, document.body
is the default.
append
(menuItem)
insert
(item, index)
remove
(item)
removeAt
(index)
popup
(clientX, clientY) - display this menu.
This is normally only called directly for context menus.
setApplicationMenu
(menuBar)
new MenuItem
(options)
These can be initialized in the options object passed to the constructor.
type
- one of separator
, checkbox
, radio
, or normal
(the default).
If separator
, this is not a real MenuItem, but is just used to
display a separator line.
label
- the descriptive label.
icon
- an icon (small image) to display before the label.
submenu
- a (child) sub-menu of the containing menu.
accelerator
- keyboard accelerator.
Usually a string representing a keyboard shortcut - for example "Ctrl+Shift+Q"
.
A multi-key sequences (as used in Emacs) is represented
as an array of strings - for example ["Ctrl+X", "B"]
.
(Alternatively, you can use a single string with spaces between each keystroke.)
Using accelerator
is preferred over using key
and modifiers
because
it can handle multi-key sequences, and because this is compatible with Electron.
Note this property is only "informational" - this library
does not handle keyboard events, except for menu navigation.
key
- keyboard key
modifiers
- sequence of modifiers - used in conjuction with key
.
Displayed using symbols if MenuItem.useModifierSymbols
is true,
which is the default only on Mac.
enabled
- normally true. If false, it is partially grayed out
and cannot be selected.
visible
- normally true. If false, it is hidden.
checked
- true if a checkbox
or radio
item is selected.
Clicking a checkbox
item will toggle its checked field.
Clicking a radio
item will select the clicked field,
and unselect any adjacent radio
items in the same menu.
tooltip
- a string displayed when hovering over the item.
click
- function that gets called when selected (mouse click or keboard Enter).
The active MenuItem
is passed as the first arguemnt,
beforeShow
- a function that is called before the MenuItem is displayed.
It is useful for updating properties (such as checkboxes and visibility).
This MenuItem is passed as the first argument.