jsPlumb выбирает, к какой конечной точке подключаться, если элемент имеет несколько конечных точек.

Я создаю приложение логических ворот, соединяющее ворота через jsPlumb.

Чтобы создать конечную точку логического вентиля, я делаю:

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);

Все это отлично работает для добавления ворот и входов на страницу и рисования линий между ними, но я хочу предварительно загрузить некоторую существующую логику, используя:

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})
}

но функция подключения, похоже, не обращает внимания на существующие конечные точки и создает свои собственные.

Как нарисовать связь между источником ввода и одной из целей ворот?


person matts1189    schedule 24.05.2016    source источник
comment
код живет в защищенной сети и содержит конфиденциальные данные, поэтому я не могу предоставить скрипку   -  person matts1189    schedule 24.05.2016


Ответы (1)


Я обнаружил, что это можно сделать, установив uuid в конечной точке, когда он будет добавлен, и соединение будет нарисовано следующим образом:

jsPlumb.connect({uuids: [leftUuid, leftGateUuid]});
person matts1189    schedule 25.05.2016