json-dropdown-tools
Version:
A tool to generate dropdown menus from JSON as HTML or JS modules
70 lines (69 loc) • 2.78 kB
JSON
{
"type": "menu",
"label": "Main Menu",
"id": "main-menu",
"items": [
{
"type": "item",
"label": "File",
"items": [
{ "type": "item", "label": "New File", "action": "newFile" },
{ "type": "item", "label": "Open File", "action": "openFile" },
{ "type": "item", "label": "Open Recent", "items": [
{ "type": "item", "label": "Project Alpha", "action": "openProjectAlpha" },
{ "type": "item", "label": "Project Beta", "action": "openProjectBeta" },
{ "type": "item", "label": "Project Gamma", "action": "openProjectGamma" }
]},
{ "type": "separator" },
{ "type": "item", "label": "Save", "action": "saveFile" },
{ "type": "item", "label": "Save As...", "action": "saveAsFile" },
{ "type": "separator" },
{ "type": "item", "label": "Exit", "action": "exitApp" }
]
},
{
"type": "item",
"label": "Edit",
"items": [
{ "type": "item", "label": "Undo", "action": "undoAction" },
{ "type": "item", "label": "Redo", "action": "redoAction" },
{ "type": "separator" },
{ "type": "item", "label": "Copy", "action": "copySelection" },
{ "type": "item", "label": "Paste", "action": "pasteClipboard" },
{ "type": "item", "label": "Advanced", "items": [
{ "type": "item", "label": "Find and Replace", "action": "findReplace" },
{ "type": "item", "label": "Format Code", "action": "formatCode" },
{ "type": "item", "label": "Preferences", "items": [
{ "type": "item", "label": "Theme", "action": "openTheme" },
{ "type": "item", "label": "Keybindings", "action": "openKeybindings" }
]}
]}
]
},
{
"type": "item",
"label": "View",
"items": [
{ "type": "item", "label": "Toggle Sidebar", "action": "toggleSidebar" },
{ "type": "item", "label": "Toggle Terminal", "action": "toggleTerminal" },
{ "type": "separator" },
{ "type": "item", "label": "Zoom", "items": [
{ "type": "item", "label": "Zoom In", "action": "zoomIn" },
{ "type": "item", "label": "Zoom Out", "action": "zoomOut" },
{ "type": "item", "label": "Reset Zoom", "action": "resetZoom" }
]}
]
},
{
"type": "item",
"label": "Help",
"items": [
{ "type": "item", "label": "Documentation", "action": "openDocs" },
{ "type": "item", "label": "Community Forums", "action": "openForums" },
{ "type": "item", "label": "Report Issue", "action": "reportIssue" },
{ "type": "separator" },
{ "type": "item", "label": "About", "action": "showAbout" }
]
}
]
}