I tried the code below for a nested context menu, but it didn’t work.
Code:
this.myDiagram.contextMenu =
$("ContextMenu",
$("ContextMenuButton",
{
visible: true,
"ButtonBorder.fill": "#E9E9E9",
"_buttonFillOver": "lightgray",
click: downloadSVG
},
$(go.TextBlock, "Download SVG"),
),
$("ContextMenuButton",
{
visible: true,
"ButtonBorder.fill": "#E9E9E9",
"_buttonFillOver": "lightgray",
click: resetDiagram
},
$(go.TextBlock, "Reset Diagram"),
),
$("ContextMenuButton",
{
visible: true,
"ButtonBorder.fill": "#E9E9E9",
"_buttonFillOver": "lightgray",
click: (e:any, obj:any) => {
const submenu = $( "ContextMenu",
$("ContextMenuButton",
{
visible: true,
"ButtonBorder.fill": "#E9E9E9",
"_buttonFillOver": "lightgray",
click: abc
},
$(go.TextBlock, "abc"),
),
$("ContextMenuButton",
{
visible: true,
"ButtonBorder.fill": "#E9E9E9",
"_buttonFillOver": "lightgray",
click: def
},
$(go.TextBlock, "def"),
),
$("ContextMenuButton",
{
visible: true,
"ButtonBorder.fill": "#E9E9E9",
"_buttonFillOver": "lightgray",
click: ghi
},
$(go.TextBlock, "ghi"),
),
);
obj.part.diagram.showContextMenu(submenu, obj.part);
}
},
$(go.TextBlock, "Diagram Data"),
),
);