| <!doctype html> | |
| <html> | |
| <head> | |
|   <title>Network | Random nodes</title> | |
| 
 | |
|   <style type="text/css"> | |
|     body { | |
|       font: 10pt sans; | |
|     } | |
|     #mynetwork { | |
|       width: 600px; | |
|       height: 600px; | |
|       border: 1px solid lightgray; | |
|     } | |
| 
 | |
|     #message { | |
|       color:darkred; | |
|       max-width:600px; | |
|       font-size:16px; | |
|       cursor:pointer; | |
|       text-decoration: underline; | |
|     } | |
|   </style> | |
| 
 | |
|   <script type="text/javascript" src="../exampleUtil.js"></script> | |
|   <script type="text/javascript" src="../../../dist/vis.js"></script> | |
|   <link href="../../../dist/vis-network.min.css" rel="stylesheet" type="text/css" /> | |
| 
 | |
|   <script type="text/javascript"> | |
|     var nodes = null; | |
|     var edges = null; | |
|     var network = null; | |
|     var setSmooth = false; | |
| 
 | |
|     function destroy() { | |
|       if (network !== null) { | |
|         network.destroy(); | |
|         network = null; | |
|       } | |
|     } | |
| 
 | |
|     function draw() { | |
|       destroy(); | |
|       var nodeCount = document.getElementById('nodeCount').value; | |
|       if (nodeCount > 100) { | |
|         document.getElementById("message").innerHTML = '<a onclick="disableSmoothCurves()">You may want to disable dynamic smooth curves for better performance with a large amount of nodes and edges. Click here to disable them.</a>'; | |
|       } | |
|       else if (setSmooth === false) { | |
|         document.getElementById("message").innerHTML = ''; | |
|       } | |
|       // create a network | |
|       var container = document.getElementById('mynetwork'); | |
|       var data = getScaleFreeNetwork(nodeCount); | |
|       var options = { | |
|         physics: { stabilization: false } | |
|       }; | |
|       network = new vis.Network(container, data, options); | |
|     } | |
| 
 | |
|     function disableSmoothCurves() { | |
|       setSmooth = true; | |
|       network.setOptions({edges:{smooth:{type:'continuous'}}}); | |
|       document.getElementById("message").innerHTML = '<a onclick="enableSmoothCurves()">Click here to reenable the dynamic smooth curves.</a>'; | |
|     } | |
| 
 | |
|     function enableSmoothCurves() { | |
|       setSmooth = false; | |
|       document.getElementById("message").innerHTML = '<a onclick="disableSmoothCurves()">You may want to disable dynamic smooth curves for better performance with a large amount of nodes and edges. Click here to disable them.</a>'; | |
|       network.setOptions({edges:{smooth:{type:'dynamic'}}}); | |
|     } | |
| 
 | |
| 
 | |
|   </script> | |
|    | |
| </head> | |
| <body onload="draw();"> | |
| <p> | |
|   Generate a random network with nodes and edges. | |
| </p> | |
| <p> | |
|   <form onsubmit="draw(); return false;"> | |
|   <label for="nodeCount">Number of nodes:</label> | |
|   <input id="nodeCount" type="text" value="25" style="width: 50px;"> | |
|   <input type="button" value="Go" onclick="draw()"> | |
| </form> | |
| </p> | |
| <span id="message"></span> | |
| <div id="mynetwork"></div> | |
| 
 | |
| </body> | |
| </html>
 |