diff --git a/lib/browser/api/menu.js b/lib/browser/api/menu.js index 99d650d773..d7cdbe81be 100644 --- a/lib/browser/api/menu.js +++ b/lib/browser/api/menu.js @@ -189,6 +189,19 @@ Menu.prototype.closePopup = function (window) { } } +Menu.prototype.getMenuItemById = function (items, id) { + if (items instanceof Menu) { + items = items.items; + } + let found = items.find(item => item.id === id) || false; + for(let i = 0, length = items.length; !found && i < length; i++) { + if (items[i].submenu) { + found = this.getMenuItemById(items[i].submenu, id); + } + } + return found; +}; + Menu.prototype.append = function (item) { return this.insert(this.getItemCount(), item) }