在jointJS中获取外部元素以扩展纸张

时间:2015-10-17 15:30:01

标签: javascript jointjs

我希望在用户将元素移动到底部或右边框时展开纸张:

var paper = new joint.dia.Paper({
    el: $('#canvas'),
    width: 801,
    height: 496,
    model: graph
});

rect.on('change:position', function(evt, pos) {
    if (pos.y > 400) { height = pos.y + 96; }
    else { height = 496; }

    if (pos.x > 680) { width = pos.x + 121; }
    else { width = 801; }

    paper.setDimensions(width, height);
});

这仅适用于单个元素。但是如果已经存在另一个元素,那么这不起作用。

所以我需要找到具有最高x或y值的元素。这意味着我搜索了纸张最右边或最底层的元素。然后我会把它放到另一个if子句中。

我想过使用paper.findViewsInArea(rect),但我真的不知道如何获得我需要的结果。

1 个答案:

答案 0 :(得分:3)

您不必使用setDimensions()。做一些像

这样的事情
rect.on('change:position', function(evt, pos, y) {
    paper.fitToContent({
        minWidth: 801,
        minHeight: 496
    });
});