jsPlumb.getConnections无法正常工作

时间:2014-10-01 14:44:26

标签: jsplumb

更新:这是小提琴:http://jsfiddle.net/janessaallen/c3b514wf/7/

试图找出以下为什么不能获得我的jsplumb连接。我有一个单独的流程图保存javascript文件,其中包含以下保存功能:

    function saveFlowchart() {
    var nodes = []

    $(".window").each(function (idx, elem) {
        var $elem = $(elem);
        var endpoints = jsPlumb.getEndpoints($elem.attr('id'));
        nodes.push({
            id: $elem.attr('id'),
            text: $elem.find($(".beneficiary")).text(),
            positionX: parseInt($elem.css("left"), 10),
            positionY: parseInt($elem.css("top"), 10)
        });
    });
    var connections = [];

    $.each(jsPlumb.getConnections(), function (idx, connection) {
            connections.push({
            connectionId: connection.id,
            sourceId: connection.sourceId,
            targetId: connection.targetId,
            anchors: $.map(connection.endpoints, function (endpoint) {

                return [[endpoint.anchor.x,
                endpoint.anchor.y,
                endpoint.anchor.orientation[0],
                endpoint.anchor.orientation[1],
                endpoint.anchor.offsets[0],
                endpoint.anchor.offsets[1]]];

            })
        });
    });

    var flowChart = {};
    flowChart.nodes = nodes;
    flowChart.connections = connections;
}

端点工作正常并被推送到数组,但jsPlumb.getConnections没有发现任何连接。

1 个答案:

答案 0 :(得分:0)

创建jsPlumb的实例来创建connections / makeSources / makeTargets,而不是使用全局变量jsPlumb本身。

如果使用实例创建连接,则必须查询而不是jsPlumb全局变量。

我已经更新了小提琴以保存对实例&的引用使用instance to getAllConnections.

更新了小提琴http://jsfiddle.net/c3b514wf/8/