翻譯|使用教程|編輯:楊鵬連|2021-05-08 10:26:52.260|閱讀 438 次
概述:GoJS是一款功能強大,快速且輕量級的流程圖控件。本文介紹了GoJS API參考手冊中GoJS類別索引-類裝飾的具體內容。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
GoJS是一款功能強大,快速且輕量級的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中創建流程圖,且極大地簡化您的JavaScript / Canvas 程序。
相關內容推薦
流程圖控件GoJS教程:內置GraphObject類各指數介紹(一)
流程圖控件GoJS教程:內置GraphObject類各指數介紹(二)
流程圖控件GoJS教程:內置GraphObject類各指數介紹(三)
流程圖控件GoJS教程:內置GraphObject類各指數介紹(四)
流程圖控件GoJS教程:內置GraphObject類各指數介紹(五)
toLinkableDuplicates : boolean
獲取或設置用戶是否可以繪制重復的鏈接到該端口。LinkingBaseTool.isValidLink使用此屬性。默認值為false。
除非整個Node都充當單個端口,否則必須在portId為非null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
toLinkableSelfNode : boolean
獲取或設置用戶是否可以繪制連接到此端口的Node的鏈接。LinkingBaseTool.isValidLink使用此屬性。默認值為false。
除非整個Node都充當單個端口,否則必須在portId為非null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
toMaxLinks : number
獲取或設置可能進入此端口的最大鏈接數。LinkingBaseTool.isValidTo使用此屬性。
該值必須為非負數。默認值為無窮大。
除非整個Node都充當單個端口,否則必須在portId為非null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
toShortLength : number
獲取或設置去往該端口的鏈接的末段距離實際端口多遠。正值受toEndSegmentLength或Link.toEndSegmentLength限制。負值會導致鏈接擴展到端口。默認值為零。
當您具有粗鏈接和尖的箭頭時,此屬性很有用。通常,鏈接“形狀”一直延伸到箭頭的末端。如果鏈接“形狀”較寬,則會在箭頭后面看到其邊緣。通過將此屬性設置為較小的正值,鏈接形狀可以在箭頭的主體內結束,而僅箭頭的點在鏈接的末端可見。
當您希望鏈接形狀繼續進入端口時,此屬性的負值也很有用,可能是因為端口的一部分是透明的,并且您希望鏈接看起來與節點上的其他點在視覺上相連。
在確定鏈接的路由時,Link.toShortLength的值(如果不是NaN)優先于此端口上的值。
有關如何使用此屬性的示例,請參見鏈接連接點。
除非整個Node都充當單個端口,否則必須在portId為非null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
toSpot : Spot
獲取或設置鏈接應連接到此端口的位置。默認值為Spot.None,這意味著鏈接路由必須考慮端口的形狀并連接到最近的點。
值Link.toSpot,如果不是Spot.Default,判斷鏈接的路線時,在該端口的優先級高于該值。許多預定義的Layout會自動設置Link.fromSpot和Link.toSpot,從而導致忽略此屬性和port元素上的fromSpot。根據布局,您可以禁用該行為,例如通過將ForceDirectedLayout.setsPortSpots, TreeLayout.setsPortSpot,TreeLayout.setsChildPortSpot或LayeredDigraphLayout.setsPortSpots設置為false。
有關如何使用此屬性的示例,請參見鏈接連接點。
除非整個Node都充當單個端口,否則必須在portId為非null的GraphObject上設置此屬性,在這種情況下,應在Node上設置此屬性。
toolTip : Adornment | HTMLInfo
當鼠標懸停在此對象上時,將顯示此裝飾物或HTMLInfo。默認值為null,表示不顯示任何工具提示。
典型的工具提示是按照以下方式定義的,該方式是從“小貓監視器”樣本中獲取的:
myDiagram.nodeTemplate = $(go.Node, . . . { // this tooltip shows the name and picture of the kitten toolTip: $("ToolTip", $(go.Panel, "Vertical", $(go.Picture, new go.Binding("source", "src", function(s) { return "images/" + s + ".png"; })), $(go.TextBlock, { margin: 3 }, new go.Binding("text", "key")))) });請注意,此裝飾取決于與裝飾的部件具有相同的數據綁定(即Panel.data的值)。
工具提示不會通過copy復制,因此模板的所有實例都可以共享工具提示。
在由ToolManager.hoverDelay給出的定時延遲之后顯示工具提示。您可以通過以下方式更改延遲時間:
myDiagram = $(go.Diagram, "myDiagramDiv", { "toolManager.hoverDelay": 500 }); // 500 milliseconds或者:
myDiagram.toolManager.hoverDelay = 500; // 500 milliseconds工具提示通常由ToolManager.positionToolTip定位。但是,如果工具提示中有一個占位符,則將放置工具提示(即裝飾),以使占位符與此裝飾的GraphObject處于同一位置。
替換此值將不會修改或刪除為此對象顯示的任何現有工具提示。
在ToolTips上了解有關工具提示的更多信息。
visible : boolean
獲取或設置GraphObject是否可見。默認值是true。不可見的對象不會在其面板中占據任何空間。切換可見性可能會導致視覺樹中的元素重新測量和重新排列。使面板不可見會導致其所有元素都不可見或接收輸入事件。將面板更改為可見會導致其所有元素都可見并處于活動狀態,除非這些元素本身不可見。
如果該對象不可見 或無法拾取,則不會獲得任何鼠標/觸摸事件。
通過將其Shape.fill 和Shape.stroke設置為null或,可以具有未繪制的可見Shape。同樣,可以將TextBlock.stroke設置為null或。另外,也可以補充通過設置透明一個GraphObjects GraphObject.opacity最后為0,一個可以使整個層部件通過設置不可見的-全Layer.visible為false。"transparent""transparent"
使用isVisibleObject謂詞來看看這GraphObject是可見的,是一個內部小組 是isVisibleObject,并依此類推,直到板鏈,直到到達部分。
對于Part,可以調用Part.isVisible謂詞來確定不僅該Part是否可見,而且還包含其中的Group或Link以及它所在的Layer是否可見。
width : number
獲取或設置此GraphObject的所需寬度(以本地坐標表示)。這只是獲取或設置了想要的尺寸的寬度分量。默認值為NaN。
大小也可以通過設置minSize和maxSize來約束。
寬度不包括由于比例或角度引起的任何變換,也不包括由于Shape.strokeWidth而引起的任何筆粗(如果這是Shape)。如果有一個包含面板的面板,面板將確定實際尺寸。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: