Lahore
Lahore

Reputation: 133

JointJS Non-interactive elements

I want to disable the movement of elements and links in JointJS Diagrams while keeping alive other featurs like hyperlinking of elements and highlighting of link on mouse:hover. I referred to the following links: https://groups.google.com/forum/#!searchin/jointjs/drag/jointjs/R0KZwKqfRbI/rGLJz3t4Un0J https://groups.google.com/forum/#!searchin/jointjs/read$20only/jointjs/o8CKU6N7EOI/1KGNFCQQHGUJ

But they didn't help me. I tried: paper.$el.css('pointer-events', 'none'); But it disables everything. I want to disable only element and link dragging

Upvotes: 6

Views: 6882

Answers (4)

Omar Duarte
Omar Duarte

Reputation: 686

The solution for me is add cell.model.attr('./pointer-events','none'); for example you need search the model:

For example after the create element:

var cell = paper.findViewByModel(graph.getLastCell());
cell.model.attr('./pointer-events','none');

Upvotes: 0

shdr
shdr

Reputation: 966

My suggestion is to get the event object and to use your own ligic for disable/keepalive. How you do that:

   var b_paperDraggable = false;
   var b_paperPropertise = false;

paper.on('cell:pointerdown', function (cellView) {

    if (b_paperDraggable == true) {
        //...
    }
    if (b_paperPropertise == true) {

        openPropInModal(cellView.model.id, cellView.model.attributes.elmTypeID);
        $("#modal-container").modal();
    }
});

Upvotes: 1

Aung Myat Hein
Aung Myat Hein

Reputation: 4188

paper.$el.css('pointer-events', 'none');

will disable the movement of everything on paper. If you want to disable the movement of specific element,use it.

element.attr({rect:{style:{'pointer-events':'none'}}});

Detail here: Make elements 'not selectable' in jointjs

Upvotes: 3

ckuepker
ckuepker

Reputation: 472

Assuming that I understand you correctly than the 2nd link should give you the answer. You simply have to make the paper non-interactive:

var paper = new joint.dia.Paper({
    el: '#paper',
    width: 500,
    height: 500,
    gridSize: 1,
    graph: new joint.dia.Graph,
    interactive: false
});

This should disable any movement of elements/links/vertices while maintaining the highlighting features.

Upvotes: 19

Related Questions