Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jointjs: prevent adding vertex by clicking on link

I would like to add a label to a link by doing a doubleclick on the link. So this is my attempt:

paper.on({
    'cell:pointerdblclick': function(cellView, event, x, y){
        if (cellView.model.isLink()) {
            cellView.model.label(0, {
                position: .5,
                attrs: {
                    rect: { fill: 'white' },
                    text: { text: 'my label' }
                }
            });
        }
    },
});

The problem is, that by doing a doubleclick there is also a vertex beeing created at the same time. How can I prevent that?

Or what would be another simple way to let users add a label for a link?

like image 708
user3142695 Avatar asked Oct 24 '15 19:10

user3142695


1 Answers

As shown in the docs (http://jointjs.com/api#joint.dia.LinkView:addVertex) just add this part to joint.dia.Paper:

    interactive: function(cellView) {
        if (cellView.model instanceof joint.dia.Link) {
            // Disable the default vertex add functionality on pointerdown.
            return { vertexAdd: false };
        }
        return true;
    }
like image 144
user3848987 Avatar answered Oct 11 '22 22:10

user3848987