Merge pull request #3715 from atom/do-not-edit-menu-template
Do not modify the specified menu template
This commit is contained in:
commit
8aee0f52e9
4 changed files with 15 additions and 4 deletions
|
@ -26,6 +26,8 @@ class MenuItem
|
|||
|
||||
{click, @selector, @type, @role, @label, @sublabel, @accelerator, @icon, @enabled, @visible, @checked, @submenu} = options
|
||||
|
||||
if @submenu? and @submenu.constructor isnt Menu
|
||||
@submenu = Menu.buildFromTemplate @submenu
|
||||
@type = 'submenu' if not @type? and @submenu?
|
||||
throw new Error('Invalid submenu') if @type is 'submenu' and @submenu?.constructor isnt Menu
|
||||
|
||||
|
|
|
@ -169,9 +169,8 @@ Menu.buildFromTemplate = (template) ->
|
|||
for item in positionedTemplate
|
||||
throw new TypeError('Invalid template for MenuItem') unless typeof item is 'object'
|
||||
|
||||
item.submenu = Menu.buildFromTemplate item.submenu if item.submenu?
|
||||
menuItem = new MenuItem(item)
|
||||
menuItem[key] = value for key, value of item when not menuItem[key]?
|
||||
menuItem[key] ?= value for key, value of item
|
||||
menu.append menuItem
|
||||
|
||||
menu
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue