2016-09-26 6 views
1

このvisjsネットワークでエッジを動的に追加できますか? 実際には、ノードをキャンバスに追加するためにドラッグアンドドロップを使用しようとしていますが、ノードをクリックしてキャンバスに存在する別のノードにエッジを動的に追加するときにエッジを追加する手助けが必要です。エッジを動的に追加する

答えて

1

vis.jsの「更新」機能を使用して、ノードまたはエッジをdinamycally追加することができます。追加しようとしているノードまたはエッジのセットを配列に渡すだけです。 - nodes.update(updateNodesArray) OR - edges.update(updateEdgesArray)

ノードとエッジは、あなたが最初にネットワーク用に作成vis.DataSetインスタンスです

:あなたはこのようにそれを呼び出します。

0

visjsからこの例を確認してください。 http://visjs.org/examples/network/other/manipulation.html

することができますカスタムの追加の仕方\編集以下のようにネットワークを構成することにより削除\:

manipulation: { 
     enabled: false, 
      addNode: function (data, callback) { 
       // filling in the popup DOM elements 
       console.log('add', data); 
      }, 
      editNode: function (data, callback) { 
       // filling in the popup DOM elements 
       console.log('edit', data); 
      }, 
      addEdge: function (data, callback) { 
       console.log('add edge', data); 
       if (data.from == data.to) { 
        var r = confirm("Do you want to connect the node to itself?"); 
        if (r === true) { 
         callback(data); 
        } 
       } 
       else { 
        callback(data); 
       } 
      } 
     } 
+0

彼が尋ねることはドラッグ&ドロップでegdesを作成することです。 –

+0

彼はツールバーをクリックするのではなく、ノードをクリックして編集モードに入りたいと思っています。 –

+0

上記の例では、編集モードに入る(編集ボタンをクリックする)ことにより、d&d、 でエッジを追加するオプションを示しています(vis関数を使用することもできます)。 を入力し、エッジモードを追加するために入力します(vis関数を使用することもできます)。 場合は、visを使用すると、あるノードから別のノードにエッジをドラッグすることができます。 これは、エッジドラッグアニメーションを表示し、ドロップすることで、visオプションの操作セクションでカスタマイズできる関数に入ります(上記のように)。 これがより明確になることを願っています。 – TERMIN

関連する問題