createMenu
Category: Tray Menu
Namespace: web.trayMenu.createMenu
Description
Create create menu.
Syntax
const result = await web.trayMenu.createMenu({
items: [
{ id: 1, caption: 'Open', image: 'icons/open.png' },
{ id: 2, caption: 'Settings', enabled: true },
{ separator: true },
{ id: 3, caption: 'Exit' }
]
});
Parameters
- items (required, Array) - Array of menu item objects
Object Structure:
{
id: number, // Unique identifier (required for non-separator items)
caption: string, // Menu item text (required for non-separator items)
enabled: boolean, // Optional, defaults to true
image: string, // Optional, path to icon/image file
separator: boolean, // Optional, when true creates a visual divider
items: array // Optional, array of nested menu items (same structure)
}
Returns
Promise
Example
// Complete example
const result = await web.trayMenu.createMenu({
items: [
{ id: 1, caption: 'Open', image: 'icons/open.png' },
{ id: 2, caption: 'Settings', enabled: true },
{ separator: true },
{ id: 3, caption: 'Exit' }
]
});
Simple Menu with Basic Items
const result = await web.trayMenu.createMenu({
items: [
{ id: 1, caption: "Open", enabled: true },
{ id: 2, caption: "Settings", enabled: true },
{ separator: true },
{ id: 3, caption: "Exit", enabled: true }
]
});
console.log(result); // "Tray menu created successfully"
Menu with Disabled Items
await web.trayMenu.createMenu({
items: [
{ id: 1, caption: "Restore Window", enabled: true },
{ id: 2, caption: "Minimize", enabled: false },
{ id: 3, caption: "Close", enabled: true }
]
});
Nested Menu with Submenus
await web.trayMenu.createMenu({
items: [
{
id: 1,
caption: "File",
enabled: true,
items: [
{ id: 11, caption: "New", enabled: true },
{ id: 12, caption: "Open", enabled: true },
{ separator: true },
{ id: 13, caption: "Exit", enabled: true }
]
},
{
id: 2,
caption: "Help",
enabled: true,
items: [
{ id: 21, caption: "About", enabled: true },
{ id: 22, caption: "Documentation", enabled: false }
]
}
]
});
##Handling Menu Clicks
After creating the menu, listen for item clicks:
window.web.events.onTrayMenuItemClick = function(itemId) {
console.log('Tray menu item clicked:', itemId);
switch(itemId) {
case 1:
// Handle Restore Window
break;
case 2:
// Handle Minimize
break;
case 3:
// Handle Close
break;
}
};
Use Cases
- Implement createMenu functionality
- Handle createMenu operations