Указание местоположения порта - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть решение для построения диаграмм, над которым я работаю, используя пользовательские элементы на основе devs.Model, которые динамически создаются во время выполнения.Каждый из элементов может иметь один или несколько inPorts и outPorts.Я пытаюсь указать Y часть позиции для каждого порта на основе содержимого.

В настоящее время я зацикливаюсь на объектах, которые я рисую, строю разметку для каждого элемента, и отслеживаю inPort иOutPorts мне нужно создать.После того, как я собрал нужную разметку, я создаю экземпляр элемента, определяя разметку, размер, положение и конфигурации группы портов (цвет и размер до сих пор).

Затем я перебираю созданные мной коллекции inPort и outPort и добавляю порт, используя el1.addOutPort (name) или el1.addInPort (name) .В документации это относится к объекту [opts], который может быть передан, но, похоже, нет четкой документации о том, что он может содержать, или, по крайней мере, я не вижу ничего, чтобы указать, где находится порт.

Вот пример изображения того, что я получаю сейчас

Here's a sample image of what i get now

Я пытаюсь получить его так, чтобы оба порта с обеих сторон (в данном случае) отображалисьв том же окне, что и текст «process».

Я надеюсь, что это то, что я только что пропустил, спасибо за любые отзывы.

1 Ответ

0 голосов
/ 26 сентября 2018

Хотя это может быть не лучшим решением, вот что я придумала.Я отправляю ответ на случай, если кто-то в будущем попытается выяснить ту же проблему.

Я добавлял свои порты, используя

el1.addOutPort(portName);

и пытался найти код IЯ мог бы добавить к этому опции.

Я вернулся на сайт jointjs и просматривал их учебные пособия, пока не увидел тот, который специально позиционировал порты, и посмотрел исходный код.Основываясь на этом, и после некоторых экспериментов я придумал

el1.addPort({ group: 'out', id: portName, args: { y: yPosition+offset }});

И вот результат

And here's the result (if someone could inline this image it would be appreciated)

...