2016-04-19 7 views
0

A haben eine jsfiddle mit einer einfachen Datenstruktur, die Knoten zu Knoten hinzufügt, wenn auf den Knoten geklickt wird. Ich möchte, dass es nach vorhandenen Kindern des angeklickten Knotens sucht. Die Dokumentation zeigt node.children(); - Um dies zu tun - aber es gibt eine leere Liste zurück. Ich bin mir nicht sicher, was ich falsch mache.cytoscape.js - So ermitteln Sie, ob ein übergeordneter Knoten untergeordnete Elemente hat

Unten ist ein Ausschnitt der Wo die Kinderfunktion aufgerufen wird.
Der GetMoreData wird im Knotenklick-Handler aufgerufen.

Irgendwelche Vorschläge?

function GetMoreData(cy, event) 
{ 
debugger; 
    var children = event.cyTarget.children(); 
    var test = cy.nodes().children(); 
    var parentID = event.cyTarget.data('id'); 
    var nodeID = event.timeStamp.toFixed(0) + "x"; 

    cy.add({group:"nodes", data: {id:nodeID, guid:nodeID, image:'https://circabc.europa.eu/images/extension/help.png'}, 
    position:{x:event.cyPosition.x, y:event.cyPosition.y}}); 
    var edgeID = parentID+"x"+nodeID; 
    cy.add({group:"edges", data: {id:edgeID, source:parentID, target:nodeID}}); 
    var nodex = cy.elements('node[id="x"]'); 
    var layout = cy.makeLayout({ name: 'breadthfirst', animate: true, animationDuration: 500, fit: false }); 

layout.run(); 
} 

Antwort

0

Cytoscape.js unterstützt compound graphs. Unglücklicherweise sind "Eltern" und "Kind" Wörter, die häufig in gerichteten, nicht zusammengesetzten Graphen (normalerweise DAGs oder Bäume) für incomers und outgoers verwendet werden, was Mehrdeutigkeit erzeugt.

Nebenbei: Stellen Sie sicher, dass Ihre Grafik und Ihr Layout ausgerichtet sind und die Quellen und Ziele in der richtigen Richtung definiert sind.

+0

Danke - ich muss meinen Ansatz überdenken. –

Verwandte Themen