MenuItem.types = ['normal', 'separator', 'submenu', 'checkbox', 'radio']
function MenuItem (options) {
- let click, ref
const {app, Menu} = require('electron')
- click = options.click
+
+ const click = options.click
this.selector = options.selector
this.type = options.type
this.role = options.role
if ((this.type == null) && (this.submenu != null)) {
this.type = 'submenu'
}
- if (this.type === 'submenu' && ((ref = this.submenu) != null ? ref.constructor : void 0) !== Menu) {
+ if (this.type === 'submenu' && (this.submenu != null ? this.submenu.constructor : void 0) !== Menu) {
throw new Error('Invalid submenu')
}
this.overrideReadOnlyProperty('type', 'normal')
this.commandId = ++nextCommandId
this.click = (focusedWindow) => {
// Manually flip the checked flags when clicked.
- let methodName, ref1, ref2
- if ((ref1 = this.type) === 'checkbox' || ref1 === 'radio') {
+ if (this.type === 'checkbox' || this.type === 'radio') {
this.checked = !this.checked
}
+
if (this.role && rolesMap[this.role] && process.platform !== 'darwin' && (focusedWindow != null)) {
- methodName = rolesMap[this.role]
+ const methodName = rolesMap[this.role]
if(methodInApp[methodName]) {
return app[methodName]()
} else if (methodInBrowserWindow[methodName]) {
return focusedWindow[methodName]()
} else {
- return (ref2 = focusedWindow.webContents) != null ? ref2[methodName]() : void 0
+ const {webContents} = focusedWindow
+ return webContents != null ? webContents[methodName]() : void 0
}
} else if (typeof click === 'function') {
return click(this, focusedWindow)