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