2015-08-20 56 views
0

右鍵單擊節點時,會向節點顯示其他詳細信息。 現在我想在節點僅被選中時,在其他地方顯示這些細節,而不是右鍵單擊。GoJS makeSvg contextMenu

有沒有一種方法,使從裝飾的SVG /文本菜單

我試圖充當如果文本菜單是一個正常的節點

我叫

diagram.makeSVG({ 
    parts: diagram.selection.first().adornments.first() 
}) 

或者

diagram.makeSVG({ 
    parts: diagram.selection.first().contextMenu 
}) 

但都沒有工作。

我總是錯誤「未定義不能設置屬性‘復位’」

試圖

工作沒有錯誤在某種程度上,這是奇怪的,因爲adornments給出了一個迭代器。隨着SVG的創建(我看到了這個後來我把它放在HTML),但沒有任何內容。

如何從contextMenu 正確創建SVG

回答

1

首先,Diagram.makeSvg方法的自變量的「份」屬性需要的集合,即一個可迭代

其次,如果你想Diagram.makeSvgDiagram.makeImage渲染裝飾品 S或其他臨時部分 S,你需要指定 「showTemporary」。 // assuming myDiagram.selection.count > 0: var svg = myDiagram.makeSvg({ parts: myDiagram.selection.first().adornments, showTemporary: true }); 這將包括顯示所選零件的任何上下文菜單。

第三,如果你只想要一個GoJS上下文菜單的呈現: var cm = myDiagram.selection.first().findAdornment("ContextMenu"); if (cm === null) return; var ads = new go.List(); ads.add(cm); var svg = myDiagram.makeSvg({ parts: ads, showTemporary: true });