Предотвращение замкнутого цикла в группе GoJS для создания групповой ссылки

для своего проекта я использую библиотеку GOJs. Пока все мои требования выполнены, но меня поразил один момент, касающийся проверки при создании ссылки "группа на группу". В принципе, я не хочу позволять моему пользователю создавать такой замкнутый цикл. Какова будет логика в этом случае. Для справки прилагаю скриншот сценария.

введите описание изображения здесь


person Utpal    schedule 19.12.2016    source источник
comment
Найдите алгоритм обнаружения цикла на графике. Если у узла может быть только один ввод / вывод, это просто. В противном случае это немного сложнее   -  person Fefux    schedule 19.12.2016


Ответы (1)


Простой ответ: myDiagram.validCycle = go.Diagram.CycleDestinationTree;

Однако при дальнейшем обсуждении выясняется, что это решение слишком широкое, потому что вы действительно хотите разрешить пользователям рисовать рефлексивные ссылки. https://forum.nwoods.com/t/preventing-closed-loop-in-gojs-group-to-group-link-creation/7848 В этом случае единственное решение - реализовать настраиваемый linkValidation предикат. Прочтите об этом на http://gojs.net/latest/intro/validation.html и поищите примеры в образцах.

person Walter Northwoods    schedule 21.12.2016