2016-10-04 15 views
0

Похоже, что составные узлы не подчиняются макетам, если у них есть связи между другими родителями, но у детей нет подключений. Лучший способ показать это изменить свой пример DAGRE:Комбинированные узлы cytoscape.js игнорируют макет?

http://jsbin.com/gist/e52c2fbc0b09edd6ec46?html,output

, заменив свои данные с этим:

elements: { 
nodes: [ 
{"data":{"id":"SimpleTest"}}, 
{"data":{"id":"child1","parent":"SimpleTest"}}, 
{"data":{"id":"child2","parent":"SimpleTest"}}, 
{"data":{"id":"subParent1"}}, 
{"data":{"id":"terminal0_socket","parent":"subParent1"}}, 
{"data":{"id":"subParent2"}},       
{"data":{"id":"terminal1_socket","parent":"subParent2"}}, 
{"data":{"id":"terminal0"}}, 
{"data":{"id":"terminal1"}} 
], 
edges: [ 
{"data":{"source":"SimpleTest","target":"subParent1"}}, 
{"data":{"source":"SimpleTest","target":"subParent2"}}, 
{"data":{"source":"terminal0_socket","target":"terminal0"}}, 
{"data":{"source":"terminal1_socket","target":"terminal1"}} 
] 
}, 

Ссылкой от детей до осиротелых узлов почитаются макетом, но ссылки между SimpleTest и двумя дочерними родителями - нет.

Я попытался запустить макет только для родителей, назначив классы и пропустив макет() субграфа, а затем просто запустив сетку на остальных узлах, но это тоже не работает.

Есть ли пример где-нибудь, как обрабатывать этот случай? Он появляется в двух примерах на своем веб-сайте (если я не ошибаюсь), они вручную устанавливают положение для родителей.

Единственным обходным решением, которое я вижу, является добавление фиктивных связей между дочерними элементами, чтобы получить макет для запуска, а затем отфильтровать их из графика/скрыть после этого, но я чувствую, что есть способ сделать это. Я не смотри ...

Спасибо!

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^