nwjs-bootstrap2
Version:
Minimalistic NW.js app bootstrap 2
33 lines • 1.1 kB
JavaScript
export default
{
/**
* Create menu from preset structure
* @param {object} structure
* @returns {nw.Menu}
*/
create: function(structure)
{
const menu = new nw.Menu({ type: "menubar" });
for (const label in structure) {
const items = structure[label];
menu.append(new nw.MenuItem({
label: label,
submenu: (function() {
const subMenu = new nw.Menu();
for (const label in items) {
if (label.startsWith("separator") === true) {
subMenu.append(new nw.MenuItem({ type: "separator" }));
continue;
}
const item = items[label];
item.label = label;
subMenu.append(new nw.MenuItem(item));
}
return subMenu;
})()
}));
}
nw.Window.get().menu = menu;
return menu;
}
}