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