Fazer com que elementos 'não selecionáveis' em jointjs
-
21-12-2019 - |
Pergunta
Eu tenho usado Jointjs diagramação biblioteca do meu projeto.
1) Estou curioso para saber se ele oferece alguma forma de restringir os utilizadores a não brincar com os elementos do diagrama.O que eu quero dizer é:um usuário deve ser capaz de ver o diagrama como uma imagem em vez de interagir com ele, como redimensionamento, mudança de posição, arrastando links, etc.
2) Meu aplicativo está dependendo mal.Apesar de eu ter resolvido o problema de layout automático, mas é que isso é possível com Jointjs, podemos apenas dizer que a lib que nós queremos que esses elementos e coisas e, por favor, ajudar-nos a tornar o diagrama mais adequado, não colidindo elementos e com um número mínimo de ligações colidindo uns com os outros e com os elementos em seu caminho, se os links são linhas retas contínuas ?
3) Por último, quero saber se podemos verificar links colidir com outros elementos ou com outros links no mesmo diagrama.Eu sei que é possível no caso de elementos.
if (element1.getBBox().intersect(element2.getBBox())) {
// elements intersect
}
Solução
1) Use um new joint.dia.Paper({ interactive: false, ... })
ou conjunto de ponteiro-eventos propriedade CSS para nenhum directamente no papel: paper.$el.css('pointer-events', 'none')
2) Você pode usar o comum.layout.DirectedGraph plugin.Este plugin está disponível para download aqui: http://jointjs.com/download e um post de blog descrevendo é aqui: http://www.daviddurman.com/automatic-graph-layout-with-jointjs-and-dagre.html.
3) Isso não é, em geral, fácil.Gostaria de indicar a você este site para um exemplo de computação intersecção entre dois caminhos: http://www.kevlindev.com/geometry/2D/intersections/intersect_bezier2_bezier2.svg.Aqui é a biblioteca para fazer o download: http://www.kevlindev.com/gui/math/intersection/index.htm