gpt4 book ai didi

javascript - 使链接在隐藏节点上继续

转载 作者:行者123 更新时间:2023-12-03 05:45:22 25 4
gpt4 key购买 nike

我有一个显示层次结构流程的 go.js 图表。它或多或少像 chartEditor 中的那样。例如,但我想做的是隐藏一些节点。例如,在此图表中,我想隐藏 id:6 的节点,以便将每个图表元素保留在其位置,但删除 id:6 的节点。

enter image description here

我已经找到了如何隐藏此 "How to hide nodes?" 之后的节点链接,但发生的情况是,在我隐藏节点后,我留下了一个损坏的链接。有办法解决这个问题吗?理想情况下,我希望该链接在隐藏节点上继续。

enter image description here

我在代码中所做的正是 go.js 论坛答案中所说的。我向 nodeDataArray 添加了一个“visible”属性,并将以下绑定(bind)添加到节点的 go.Shape 对象

new go.Binding("visible", "visible", function(t) { return t ? true : false; })

最佳答案

我认为最简单的方法是显示一条具有适当描边颜色和宽度的垂直线来代替普通元素。

因此,在组织结构图编辑器示例的节点模板中,替换:
//定义节点的外部形状
$(go.Shape, "矩形",
{
名称:“形状”,填充:“白色”,描边:空,
//设置端口属性:
portId:“”,fromLinkable:true,toLinkable:true,光标:“指针”
}),
和:
//定义节点的外部形状
$(去.面板,
//这是当 SHAPE 透明时用户将看到的垂直线:
$(go.Shape, "LineV", { 描边宽度: 4, 描边: "#00a4a4",
对齐:go.Spot.Center,拉伸(stretch):go.GraphObject.Fill }),
$(go.Shape, "矩形",
{
名称:“形状”,填充:“白色”,描边:空,拉伸(stretch):go.GraphObject.Fill,
//设置端口属性:
portId:“”,fromLinkable:true,toLinkable:true,光标:“指针”
})
),
并将 name: "PANEL" 添加到包含所有信息的“水平”面板:
$(go.Panel, "水平",
{名称:“面板”},
$(去.图片,
。 。 。

然后,当用户想要使选定的节点不可见时,调用此函数或类似的函数:
函数切换(){
var node = myDiagram.selection.first();
if (go.Node 的节点实例) {
myDiagram.startTransaction();
if (node.isTreeLeaf) {
节点不透明度 = (节点不透明度 > 0.5) ? 0.0:1.0;
} 别的 {
var shape = node.findObject("SHAPE");
if (shape !== null) shape.opacity = (shape.opacity > 0.5) ? 0.0:1.0;
var panel = node.findObject("PANEL");
if (panel!== null) panel.opacity = (panel.opacity > 0.5) ? 0.0:1.0;
}
myDiagram.commitTransaction("切换节点元素的不透明度");
}
}
请注意,对于叶节点,它如何使整个节点半透明,而不是显示垂直线。

结果是: GoJS Org Chart Editor with one node translucent

顺便说一句,您可以通过在 GoJS 论坛中发帖来更快地获得答案: https://forum.nwoods.com/c/gojs

关于javascript - 使链接在隐藏节点上继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40352561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com