2

コネクタで接続されたエンドポイントを含むページがあります。2 つのエンドポイント間の接続を削除すると、エンドポイントは未接続のままになります。

  • すべてのエンドポイントが接続されているかどうかを確認する必要があるページを検証する必要があります。
  • すべてのエンドポイントに接続がある場合は true として検証する必要があり、それ以外の場合は false として検証する必要があります。
4

1 に答える 1

1
  • まず、エンドポイントを作成するときに、エンドポイントの一意の ID を ex の配列に格納します。エンドポイントは、配列コレクション内の一意の div id を格納する div ストアに表示されます。たとえば、totEndPoints(Array) に格納しています。

    したがって、利用可能な totEndPoints の数を取得します。

  • 次に、jsPlumb.getConnections() を使用して接続を見つけ、接続ごとに sourceId と targetId を見つけて、その ID を配列 (例: jsArray) に保存します。

    この配列 (jsArray) に存在する重複した ID を削除します。

    カウントに基づいて検証できます。カウントが等しい場合、すべてのエンドポイントが接続されています。それ以外の場合、どのエンド ポイントも接続されていません。

    関数 fnValidatePage() {

    var jsArray = [];
     $.each(jsPlumb.getConnections(), function (index, item) {
         jsArray.push(item.sourceId);
         jsArray.push(item.targetId);
     });
     jsArray = jsArray.removeDuplicates();
                var totEndPoints = [];
            $.each($('.w'), function (index, item) {
                totEndPoints.push(item.id);
            });
    
            if (jsArray.length == totEndPoints.length)
                return true;
            else
                return false;
        }
    
于 2013-10-29T06:24:49.563 に答える