2014-07-17 1 views
0

Я пытаюсь реализовать свой собственный класс формы с портами. Однако я хочу, чтобы эти фигуры стали плавными. Прямо сейчас, единственный способ, которым я знаю, чтобы сделать гладкие ссылки, -JointJs создает пользовательские формы и задает их ссылку по умолчанию

link.set('smooth', true).

Но как мне это сделать не через код? Как получить гладкие ссылки, просто перетаскивая?

Я продлил класс связи (MyLink), но как мне сказать JointJS, какой класс Link использовать, когда я перетаскиваю порт?

joint.shapes.myclass.Link = joint.dia.Link.extend({ 

    defaults: { 
     type: 'myclass.Link', 
     attrs: { '.connection' : { 'stroke-width' : 5 }}, 
     smooth:true 
    } 
}); 
+0

на совершенно несвязанной ноте: что такое joint.util.deepSupplement ?? – WindowsMaker

ответ

4

Ссылка, созданная с помощью пользовательского интерфейса с помощью перетаскивания портов определены в defaultLink свойства бумаги. Это может быть либо объект, в этом случае речь идет о модели ссылки или функция, которая возвращает ссылку модель:

var paper = new joint.dia.Paper({ 
    defaultLink: new joint.shapes.myclass.Link, 
    ... 
}) 

или:

var paper = new joint.dia.Paper({ 
    defaultLink: function(elementView, magnet) { 
     if (aCondition) return new joint.dia.Link; 
     else return joint.shapes.myclass.Link; 
    } 
}) 

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

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

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