как бросать элементы и вставлять в суставы

1

Я использую JointJS для создания динамических графов. В моем сценарии я получил две работы. Левый содержит элементы-фигуры в качестве шаблонов, которые я могу перетащить на нужную бумагу. Все отлично работает. Но теперь я хочу отбросить одну форму элемента над другой (например, связанный элемент). Если левый элемент пересекается с любым другим элементом на правой бумаге, должно быть инициировано событие, которое вставляет новую фигуру элемента в существующую.

Я получил это до сих пор, но пересечение не работает:

...

//try to embed by dropping
_.each(graph.getElements(), function (el) {
    if (el.getBBox().intersect(cellView.model.getBBox())) {
        //embed element one into element two
    }
});

...

Заранее спасибо!

Теги:
svg
jointjs

1 ответ

1
Лучший ответ

Теперь я собираюсь ответить на свой вопрос...

//get all existing elements and iterate through
_.each(graph.getElements(), function (elements) {
    //let s be the new element to drag over the parent element
    if (s.getBBox().intersect(elements.getBBox())) {
        //add a condition if you want....
        if (elements instanceof joint.shapes.devs.Coupled) {   
            //now embed the new element into the existing one
            elements.embed(s);
        }
    }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню