2016-08-25 3 views
1

Когда я перетаскиваю ячейки «таблицы» вокруг, в большинстве случаев соединения плоские/выравниваются (например, вертикальная часть ссылки или маленький бит, который выходит из таблицы ORDERLINE), но иногда они оказываются под небольшим углом (левый бит ссылки). Есть ли способ предотвратить это?Связи между ячейками не являются «плоскими» - JointJS

enter image description here

Если я проверить элемент в Devtools тогда показывает, что rotate имеет некоторые небольшие-иш смещения вместо значений я бы ожидать, чтобы увидеть вместо (т.е. 0, 90, 180, -90, - 180) .. пример того, что в настоящее время визуализируется для этого левого бита ссылки:

<path class="marker-source" fill="white" stroke="#c5d8e5" d="M 6 0 L 6 10 M 6 5 L 0 5 z" id="v-29" stroke-width="2" transform="translate(318.204758999181,420.00417997801776) scale(1,1) rotate(2.34686279296875)"></path> 

есть ли способ сделать что-то об этом, может быть?

ответ

3

это manhattan маршрутизатор? если да, там есть трюк, как улучшить это. Попробуйте установить такое же значение для paper.option.gridSize и router.option.step как в примере ниже, где устанавливается на 20.

var paper = new joint.dia.Paper({ 
    el: document.getElementById('paper'), 
    width: 800, 
    height: 600, 
    gridSize: 20, 
    perpendicularLinks: true, 
    model: graph, 
    defaultLink: new joint.dia.Link({ 
     router: { name: 'manhattan', args: { step: 20 } }, 
     connection: { name: 'orthogonal' }, 
     attrs: { 
      '.marker-target': { d: 'M 10 0 L 0 5 L 10 10 z', fill: '#fff', stroke: '#000' }, 
      '.link-tools .tool-remove circle, .marker-vertex': { r: 8 }, 
      '.connection': { 
       stroke: '#000', 'stroke-width': 1 
      } 
     } 
    }), 
    interactive: { 
     vertexAdd: false 
    } 
}); 
+0

Спасибо. Да, это манхэттен, и он отвечает на мой вопрос. Однако это решение не является оптимальным. Когда я перемещаю столы вокруг холста, я не хочу, чтобы они прыгали с шагом 20, потому что это неудобно. Я хочу, чтобы он был гладким, но я хочу, чтобы линии также работали гладко. Кажется, это может быть невозможно в настоящий момент, хотя .. – pootzko

+0

вы бы уменьшили «gridSize» и «step», 20 действительно –