2014-10-14 4 views
1

Я пытаюсь настроить jsPlumb для рисования графиков со всеми стрелками, идущими вниз, с источниками подключения с нижней стороны контейнера и целями подключения к верхней части контейнера где-то вниз по странице , я использую:jsPlumb anchors position

instance.connect({ source:"sourceDiv", target:"targetDiv" , anchors:["Bottom", "Top"] }); 

, который работает отлично, за исключением одного маленького вопроса ...

Все стрелки будут исходить из средней донного стороны и заканчиваются в средней из в Топ- боковая сторона.

Когда есть много стрелок, идущих в/из одного и того же контейнера, я бы предпочел, чтобы анкеры равномерно распределяли вдоль верхних и нижних сторон.

Из документов, я пытался что-то вроде:

instance.makeSource("sourceDiv", { anchor: "Continuous" }); 
instance.makeTarget("targetDiv", { anchor: "Continuous" }); 

или (с JQuery):

instance.makeSource($("#sourceDiv"), { anchor: "Continuous" }); 
instance.makeTarget($("#targetDiv"), { anchor: "Continuous" }); 

Но, видимо, не правильный синтаксис ... получаю ошибки, такие как:

jsPlumb: fire failed for event connection : TypeError: info.connection.getOverlay(...) is null 

Нужна помощь в сортировке.

ответ

0

Анкеры связаны с конечной точкой. При подключении элементов конечные точки создаются автоматически, но создание объекта источника & цели, не создает конечную точку, если не создается соединение &, поэтому код не работает.

https://jsplumbtoolkit.com/doc/anchors.html 

Вместо того, чтобы элемент source & target, addEndpoint к этому элементу следующим образом:

jsPlumb.addEndpoint("someDiv", { 
    endpoint:"Dot", 
    isSource:true, 
    isTarget:false, 
    anchor:[ "Perimeter", { shape:"Square", anchorCount:150 }] 
}); 
+0

Хм ... так что в каком порядке я должен делать это? Теперь я создал элементы с html-divs, затем попытался изменить их позиции привязок, затем .connect() их. Какая правильная последовательность? Должен ли я использовать .connect()? Или каким-то другим способом? (Нелегко понять концепции этой структуры ... Я думаю, некоторые иллюстрации иллюстрации в документах помогли бы ...) – Rop

+0

'jsPlumb' очень гибкий, что позволяет создавать соединения непосредственно между элементами и внешними конечными точками. Я лично предпочитаю этот [пример] (https://jsplumbtoolkit.com/demo/flowchart/dom.html), и вот [код] (https://jsplumbtoolkit.com/demo/flowchart/demo.js). –