2016-05-24 1 views
0

Je construis une application de porte logique connectant les portes via jsPlumb.jsPlumb choisir le point de terminaison auquel se connecter si un élément a plusieurs points d'extrémité

Pour créer un point final de porte logique que je fais:

jsPlumb.addEndpoint('and', { 
     isTarget: true, 
     maxConnections: 1, 
     anchor: 'TopRight' 
    }, 
    genericStyling); 

jsPlumb.addEndpoint('and', { 
     isTarget: true, 
     maxConnections: 1, 
     anchor: 'BottomRight' 
    }, 
    genericStyling); 

jsPlumb.addEndpoint('and', { 
     isSource: true, 
     maxConnections: 1, 
     anchor: 'Left' 
    }, 
    genericStyling); 

Tout cela est bien travailler pour ajouter des portes et des entrées à la page et tracer les lignes entre eux, mais je veux précharger une certaine logique existante en utilisant:

var left = getInput(logic.left),//adds an input to the page and adds a source endpoint 
    right = getInput(logic.right), 
    gate = getGate(logic.gate); //adds a gate to the page and adds source and target endpoints 

if(left && gate){ 
    var leftLine = jsPlumb.getInstance(genericLine); 
    leftLine.connect({source: left, target: gate}) 
} 

if(right && gate){ 
    var rightLine = jsPlumb.getInstance(genericLine); 
    rightLine.connect({source: right, target: gate}) 
} 

mais la fonction connect ne semble pas faire attention aux points de terminaison existants et crée son propre. Comment dessiner la connexion entre la source d'entrée et l'une des cibles de la porte?

+0

vit le code sur un réseau sécurisé et contient des données sensibles, donc je ne peux pas fournir un violon – matts1189

Répondre

0

Je trouve que cela peut être fait en définissant un UUID sur critère d'évaluation lorsqu'il est ajouté et la connexion dessiné comme:

jsPlumb.connect({uuids: [leftUuid, leftGateUuid]});