GoJS是一款功能強大,快速且輕量級的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中建立流程圖,且極大地簡化您的JavaScript / Canvas 程序。html
下載GoJS最新版【慧都網】node
背景點擊 :功能(é :InputEvent的,thisObj :GraphObject ):void| nullapi
獲取或設置當用戶單擊該對象時執行的函數。一般,這須要進行鼠標下移,而後使用鼠標右鍵(輔助)在大約相同的位置上進行快速鼠標上移。 當用戶單擊GraphObject時,ClickSelectingTool使用此屬性。除了 使用name引起的DiagramEvent以外,還調用了該涵數。"ObjectContextClicked"ide
若是此屬性值是一個函數,則使用InputEvent 和此GraphObject進行調用。該InputEvent.targetObject規定,在鼠標點仰視的可視化樹以前發現GraphObject GraphObject.panel s到得到此對象。函數
從第二個參數obj,您能夠經過part屬性到達Node或Link 。從那裏,您能夠經過Panel.data屬性訪問綁定數據。所以,您能夠從事件處理程序中經過獲取綁定數據obj.part.data。this
默認狀況下,此屬性爲null。htm
Layer.isTemporary的Layer中的對象不接收點擊事件。若是您確實但願此類對象響應點擊,請將isActionable設置爲true。對象
若是確實提供了能夠更改圖或其模型的功能,則應在事務內完成此操做-調用Diagram.startTransaction和 Diagram.commitTransaction。繼承
上下文菜單 :Adornment | HTMLInfo | null事件
在此對象上單擊上下文時,將顯示此裝飾或HTMLInfo。默認值爲null,表示不顯示上下文菜單。
更改此值不會修改或刪除爲此對象顯示的任何現有菜單。
上下文菜單還可能取決於與裝飾的部件具備相同的數據綁定(即,Panel.data的值相同)。
上下文菜單不是經過copy複製的,所以上下文菜單能夠由模板的全部實例共享。
典型的上下文菜單被實現爲帶有多個按鈕的裝飾。例如,此上下文菜單在「動態端口」示例中定義 :
var nodeMenu = // context menu for each Node
$("ContextMenu",
$("ContextMenuButton",
$(go.TextBlock, "Add top port"),
{ click: function(e, obj) { addPort("top"); } }),
$("ContextMenuButton",
$(go.TextBlock, "Add left port"),
{ click: function(e, obj) { addPort("left"); } }),
$("ContextMenuButton",
$(go.TextBlock, "Add right port"),
{ click: function(e, obj) { addPort("right"); } }),
$("ContextMenuButton",
$(go.TextBlock, "Add bottom port"),
{ click: function(e, obj) { addPort("bottom"); } }));
並在節點模板中使用:
myDiagram.nodeTemplate =
$(go.Node, "Table",
{ . . .
contextMenu: nodeMenu
},
. . .);
上下文菜單一般由ContextMenuTool.positionContextMenu定位。可是,若是上下文菜單中有一個佔位符,則將放置上下文菜單(即裝飾),以使佔位符與此裝飾的GraphObject處於同一位置。
該基本樣本還說明如何使上下文菜單項時不可見的命令無效。
替換此值將不會修改或刪除爲此對象顯示的任何現有上下文菜單。
在「上下文菜單」中瞭解有關上下文菜單的更多信息。
遊標 :字符串
獲取或設置當鼠標懸停在此對象上且沒有按下鼠標按鈕時使用的鼠標光標。若是沒有爲此對象指定特定的遊標,則該值爲null;實際的光標由任何包含Panel的光標肯定。
默認值爲空字符串,這表示當前鼠標光標由圖表肯定。其餘字符串應該是指定遊標的有效CSS字符串。這提供了有關遊標語法的更多信息: CSS cursors(mozilla.org)。
所需尺寸
獲取或設置此GraphObject的所需大小(以本地座標表示)。值必須爲Size類型。默認值爲Size(NaN,NaN)。您不能修改此屬性值的寬度或高度-若是要更改指望的Size,必須將此屬性設置爲其餘Size。
獲取或設置寬度或高度等效於獲取或設置此屬性的寬度或高度。
該大小不包括因爲比例或角度引發的任何變換,也不包括因爲Shape.strokeWidth而引發的任何筆粗(若是這是Shape)。若是有一個包含面板的面板,面板將肯定實際尺寸。若是指望的大小大於GraphObject的面板肯定的容許大小,則GraphObject可能會在視覺上被剪切。若是指望的大小不符合minSize和maxSize的約束,則將調整GraphObject的大小來知足它們。
只讀圖 :Diagram | null
此只讀屬性返回此GraphObject所在的Diagram(若是存在)。
此屬性不可設置。儘管您不能將任何普通的GraphObject添加到圖中,但能夠調用Diagram.add 將部件添加到圖中。
雙點擊 :功能(é :InputEvent的,thisObj :GraphObject ):void| null
獲取或設置當用戶雙擊該對象時執行的函數。一般,這涉及使用鼠標左鍵(主鍵)在大體相同的位置快速連續地向下/向下/上/下/上鼠標。 當用戶單擊GraphObject時,ClickSelectingTool使用此屬性。除了 使用name引起的DiagramEvent以外,還調用了該函數。"ObjectDoubleClicked"
若是此屬性值是一個函數,則使用InputEvent 和此GraphObject進行調用。該InputEvent.targetObject規定,在鼠標點仰視的可視化樹以前發現GraphObject GraphObject.panel s到得到此對象。
從第二個參數obj,您能夠經過part屬性到達Node或Link 。從那裏,您能夠經過Panel.data屬性訪問綁定數據。所以,您能夠從事件處理程序中經過獲取綁定數據obj.part.data。
默認狀況下,此屬性爲null。
Layer.isTemporary的Layer中的對象不接收點擊事件。若是您確實但願此類對象響應點擊,請將isActionable設置爲true。
若是確實提供了能夠更改圖或其模型的功能,則應在事務內完成此操做-調用Diagram.startTransaction和 Diagram.commitTransaction。
該層次結構類樣本 代表,開闢了該類的文檔網頁雙擊事件處理程序的定義:
diagram.nodeTemplate =
$(go.Node, . . .,
{
doubleClick: // here the second argument is this object, which is this Node
function(e, node) { window.open("../api/symbols/" + node.data.key + ".html"); }
},
. . .
);
啓用改變 :function(thisObj: GraphObject, enabled: boolean): void | null
獲取或設置函數,該函數在某些包含Panel的值更改Panel.isEnabled時執行。它一般用於修改對象的外觀。此函數不得更改任何面板Panel.isEnabled的值。
若是此屬性值是一個函數,則使用兩個參數(此GraphObject和新值)調用它。默認狀況下,此屬性爲null-不調用任何函數。
fromEndSegmentLength:number
獲取或設置來自此端口的連接的第一段的長度。當計算的「 from spot」不是Spot.None時,將使用此值。默認值爲10。該值還限制了可繪製Link.fromShortLength的時間。
在肯定連接的路由時,Link.fromEndSegmentLength的值(若是不是NaN)優先於此端口上的值。
有關如何使用此屬性的示例,請參見「連接末段長度」。
除非整個Node都充當單個端口,不然必須在portId不爲null的GraphObject上設置此屬性,在這種狀況下,應在Node上設置此屬性。
fromLinkable : boolean | null
獲取或設置用戶是否能夠今後端口繪製連接。LinkingBaseTool.isValidFrom使用此屬性。
默認值爲null,表示實際值是從父級Panel繼承而來的;若是不包含父面板,則爲false。
您必須在端口ID不爲null的GraphObject上設置此屬性,除非整個Node都充當單個端口,在這種狀況下,應在Node上設置此屬性,或者除非您禁用特定對象的「可連接性」 Panel中的GraphObject,其fromLinkable已設置或綁定爲true。
來自可連接重複項 :布爾值
獲取或設置用戶是否能夠從該端口繪製重複的連接。LinkingBaseTool.isValidLink使用此屬性。默認值爲false。
除非整個Node都充當單個端口,不然必須在portId不爲null的GraphObject上設置此屬性,在這種狀況下,應在Node上設置此屬性。
來自可連接的自我節點 :布爾值
獲取或設置用戶是否能夠繪製從該端口的Node鏈接的連接。LinkingBaseTool.isValidLink使用此屬性。默認值爲false。
除非整個Node都充當單個端口,不然必須在portId不爲null的GraphObject上設置此屬性,在這種狀況下,應在Node上設置此屬性。
想要購買GoJS正版受權,或瞭解更多產品信息請【諮詢慧都在線客服】