JointJS - 通过链接获得所有继承者

时间:2018-01-08 11:04:15

标签: javascript jointjs

使用以下方法获得元素I的继承者:

const successors = graph.getSuccessors(element);

但它返回没有链接的元素。是否可以通过选项joint.dia.Graph.ExploreOptions指定此函数以返回链接?或者是通过链接将后继元素连接在一起的其他方式?

由于

拉​​法尔

2 个答案:

答案 0 :(得分:1)

您正在寻找graph.getSubgraph(cells, [, opt])方法(documentation)。

var elements = graph.getSuccessors(element).concat(element);
// find all the links between successors and the element
var subgraph = graph.getSubgraph(elements);
// remove the element itself
subgraph.splice(subgraph.indexOf(element), 1);

答案 1 :(得分:0)

看起来我找到了解决方案。

根据element

documentation
  

返回getConnectedLinks的所有后继者的数组。

所以我假设没有办法使用这个函数元素并与此函数链接。我需要opt获取separately链接。 inbound对象可以包含我们可以使用的3个属性(outbounddeepconst connectedLinks = graph.getConnectedLinks(task, { inbound: true }); // RETURNS AN ARRAY )。例如,要获得具有入站连接的单个链接,它将是:

public presentActionSheet(
    actionTitle: string, 
    items: any[],
    callbackHandler:any): void {

    let actionSheet = this.actionSheetCtrl.create({
        title: actionTitle
    });
    for (let i = 0; i < items.length; i++) {
        actionSheet.addButton({
            text: items[i].name,
            cssClass: items[i].css,
            icon: items[i].selectIcon,
            handler: () => {
                callbackHandler(i, items[i]);//call the handler passed
                console.log('Service ActionHandler');
            }
        });
    }
    actionSheet.addButton({ text: 'Cancel', 'role': 'cancel' });
    actionSheet.present();
    }

致以最诚挚的问候,

拉​​法尔