流程圖控件GoJS內置GraphObject類各指數介紹(二)

GoJS是一款功能強大,快速且輕量級的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中創建流程圖,且極大地簡化您的JavaScript / Canvas 程序。

下載GoJS最新版【慧都網】

背景點擊 :功能(é :InputEvent的,thisObj :GraphObject ):void| null

獲取或設置當用戶單擊該對象時執行的函數。通常,這需要進行鼠標下移,然後使用鼠標右鍵(輔助)在大約相同的位置上進行快速鼠標上移。 當用戶單擊GraphObject時,ClickSelectingTool使用此屬性。除了 使用name引發的DiagramEvent之外,還調用了該涵數。"ObjectContextClicked"

如果此屬性值是一個函數,則使用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。

上下文菜單 :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正版授權,或瞭解更多產品信息請【諮詢慧都在線客服】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章