2016-04-07 14 views
0

Ich versuche, Vis.js in einem Flussdiagramm wie Szenario zu verwenden.Fix Nodes Standort manuell

Ich erhalte Informationen des Ablaufplans aus der Datenbank und wollen Vis.js nutzen, um mich propely die Flussdiagramm Knoten legen zu helfen.

Allerdings mag ich den START-Knoten und Endknoten immer von linken Rand und in der Mitte der rechten Kante des Behälters in der Mitte sein.

Ich kann nicht scheinen, die Optionen dazu herauszufinden.

Mein Code so weit in diesem Stift:

var container = document.getElementById('visualization'); 
var nodes = []; 
var edges = []; 
nodes.push({ 
    id: 1, 
    label: "START", 
    shape: "box", 
    fixed: { 
    x: true, 
    y: true, 
    }, 
    x: 100, 
    y: 100, 
}); 
nodes.push({ 
    id: 2, 
    label: "test node 2" 
}); 
nodes.push({ 
    id: 3, 
    label: "test node 3" 
}); 
nodes.push({ 
    id: 4, 
    label: "test node 4\n Second line" 
}); 
nodes.push({ 
    id: 99, 
    label: "END", 
    fixed: true, 
    shape: "box", 
}); 
edges.push({ 
    from: 1, 
    to: 2, 
    label: 'text' 

}); 
edges.push({ 
    from: 1, 
    to: 3 
}); 

edges.push({ 
    from: 3, 
    to: 99 
}); 
edges.push({ 
    from: 2, 
    to: 4 
}); 
edges.push({ 
    from: 4, 
    to: 99 
}); 
edges.push({ 
    from: 3, 
    to: 4 
}); 
var data = { 
    nodes: nodes, 
    edges: edges 
}; 
var options = { 
    physics: { 
    enabled: true, 
    stabilization: true, 
    barnesHut: { 
     avoidOverlap: 1 
    }, 
    }, 
    edges: { 
    arrows: { 
     to: { 
     enabled: true, 
     scaleFactor: 1 
     }, 
     middle: { 
     enabled: false, 
     scaleFactor: 1 
     }, 
     from: { 
     enabled: false, 
     scaleFactor: 1 
     } 
    }, 

    } 

}; 
var timeline = new vis.Network(container, data, options); 

http://codepen.io/anon/pen/WwdGvP

Wie kann ich die Position von Anfangs- und Endknoten in Bezug auf die Behälter befestigt und dann lassen VIS JS kümmern der Rest des Layouts?

Antwort

0

müssen Sie

fixed: { 
    x: true, 
    y: true} 

zu Ihrem Knoten hinzuzufügen.

+0

Ich habe das schon gemacht, meine Frage ist, wie man die Koordinaten so spezifiziert, dass der Knoten an dieser festen Koordinatenstelle auf der Leinwand erscheint. – Pratik

+0

Sie möchten immer, dass sie am linken und rechten Rand fixiert sind, selbst wenn Sie die Leinwand verschieben/zoomen? – SonIcco

+0

ja. Ich erstelle ein Flussdiagramm. Es macht keinen Sinn, dass das Start- und Ende-Nicken in der Mitte der Seite schwebt – Pratik