267 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			267 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!doctype html>
 | |
| <html>
 | |
| <head>
 | |
|     <title>Network | DataSet</title>
 | |
| 
 | |
|     <style type="text/css">
 | |
|         html, body {
 | |
|             font: 11pt arial;
 | |
|         }
 | |
| 
 | |
|         h1 {
 | |
|             font-size: 150%;
 | |
|             margin: 5px 0;
 | |
|         }
 | |
| 
 | |
|         h2 {
 | |
|             font-size: 100%;
 | |
|             margin: 5px 0;
 | |
|         }
 | |
| 
 | |
|         table.view {
 | |
|             width: 100%;
 | |
|         }
 | |
| 
 | |
|         table td {
 | |
|             vertical-align: top;
 | |
|         }
 | |
| 
 | |
|         table table {
 | |
|             background-color: #f5f5f5;
 | |
|             border: 1px solid #e5e5e5;
 | |
|         }
 | |
| 
 | |
|         table table td {
 | |
|             vertical-align: middle;
 | |
|         }
 | |
| 
 | |
|         input[type=text], pre {
 | |
|             border: 1px solid lightgray;
 | |
|         }
 | |
| 
 | |
|         pre {
 | |
|             margin: 0;
 | |
|             padding: 5px;
 | |
|             font-size: 10pt;
 | |
|         }
 | |
| 
 | |
|         #network {
 | |
|             width: 100%;
 | |
|             height: 400px;
 | |
|             border: 1px solid lightgray;
 | |
|         }
 | |
|     </style>
 | |
| 
 | |
|     <script type="text/javascript" src="../../../dist/vis.js"></script>
 | |
|     <link href="../../../dist/vis.css" rel="stylesheet" type="text/css"/>
 | |
| 
 | |
|     <script type="text/javascript">
 | |
|         var nodes, edges, network;
 | |
| 
 | |
|         // convenience method to stringify a JSON object
 | |
|         function toJSON(obj) {
 | |
|             return JSON.stringify(obj, null, 4);
 | |
|         }
 | |
| 
 | |
|         function addNode() {
 | |
|             try {
 | |
|                 nodes.add({
 | |
|                     id: document.getElementById('node-id').value,
 | |
|                     label: document.getElementById('node-label').value
 | |
|                 });
 | |
|             }
 | |
|             catch (err) {
 | |
|                 alert(err);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         function updateNode() {
 | |
|             try {
 | |
|                 nodes.update({
 | |
|                     id: document.getElementById('node-id').value,
 | |
|                     label: document.getElementById('node-label').value
 | |
|                 });
 | |
|             }
 | |
|             catch (err) {
 | |
|                 alert(err);
 | |
|             }
 | |
|         }
 | |
|         function removeNode() {
 | |
|             try {
 | |
|                 nodes.remove({id: document.getElementById('node-id').value});
 | |
|             }
 | |
|             catch (err) {
 | |
|                 alert(err);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         function addEdge() {
 | |
|             try {
 | |
|                 edges.add({
 | |
|                     id: document.getElementById('edge-id').value,
 | |
|                     from: document.getElementById('edge-from').value,
 | |
|                     to: document.getElementById('edge-to').value
 | |
|                 });
 | |
|             }
 | |
|             catch (err) {
 | |
|                 alert(err);
 | |
|             }
 | |
|         }
 | |
|         function updateEdge() {
 | |
|             try {
 | |
|                 edges.update({
 | |
|                     id: document.getElementById('edge-id').value,
 | |
|                     from: document.getElementById('edge-from').value,
 | |
|                     to: document.getElementById('edge-to').value
 | |
|                 });
 | |
|             }
 | |
|             catch (err) {
 | |
|                 alert(err);
 | |
|             }
 | |
|         }
 | |
|         function removeEdge() {
 | |
|             try {
 | |
|                 edges.remove({id: document.getElementById('edge-id').value});
 | |
|             }
 | |
|             catch (err) {
 | |
|                 alert(err);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         function draw() {
 | |
|             // create an array with nodes
 | |
|             nodes = new vis.DataSet();
 | |
|             nodes.on('*', function () {
 | |
|                 document.getElementById('nodes').innerHTML = JSON.stringify(nodes.get(), null, 4);
 | |
|             });
 | |
|             nodes.add([
 | |
|                 {id: '1', label: 'Node 1'},
 | |
|                 {id: '2', label: 'Node 2'},
 | |
|                 {id: '3', label: 'Node 3'},
 | |
|                 {id: '4', label: 'Node 4'},
 | |
|                 {id: '5', label: 'Node 5'}
 | |
|             ]);
 | |
| 
 | |
|             // create an array with edges
 | |
|             edges = new vis.DataSet();
 | |
|             edges.on('*', function () {
 | |
|                 document.getElementById('edges').innerHTML = JSON.stringify(edges.get(), null, 4);
 | |
|             });
 | |
|             edges.add([
 | |
|                 {id: '1', from: '1', to: '2'},
 | |
|                 {id: '2', from: '1', to: '3'},
 | |
|                 {id: '3', from: '2', to: '4'},
 | |
|                 {id: '4', from: '2', to: '5'}
 | |
|             ]);
 | |
| 
 | |
|             // create a network
 | |
|             var container = document.getElementById('network');
 | |
|             var data = {
 | |
|                 nodes: nodes,
 | |
|                 edges: edges
 | |
|             };
 | |
|             var options = {};
 | |
|             network = new vis.Network(container, data, options);
 | |
| 
 | |
|         }
 | |
| 
 | |
|     </script>
 | |
|     <script src="../../googleAnalytics.js"></script>
 | |
| </head>
 | |
| 
 | |
| <body onload="draw();">
 | |
| 
 | |
| <p>
 | |
|     This example demonstrates dynamically adding, updating and removing nodes
 | |
|     and edges using a DataSet.
 | |
| </p>
 | |
| 
 | |
| <h1>Adjust</h1>
 | |
| <table>
 | |
|     <tr>
 | |
|         <td>
 | |
|             <h2>Node</h2>
 | |
|             <table>
 | |
|                 <tr>
 | |
|                     <td></td>
 | |
|                     <td><label for="node-id">Id</label></td>
 | |
|                     <td><input id="node-id" type="text" value="6"></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td></td>
 | |
|                     <td><label for="node-label">Label</label></td>
 | |
|                     <td><input id="node-label" type="text" value="Node 6"></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td></td>
 | |
|                     <td>Action</td>
 | |
|                     <td>
 | |
|                         <button id="node-add" onclick="addNode();">Add</button>
 | |
|                         <button id="node-update" onclick="updateNode();">Update</button>
 | |
|                         <button id="node-remove" onclick="removeNode();">Remove</button>
 | |
|                     </td>
 | |
|                 </tr>
 | |
|             </table>
 | |
|         </td>
 | |
|         <td>
 | |
|             <h2>Edge</h2>
 | |
|             <table>
 | |
|                 <tr>
 | |
|                     <td></td>
 | |
|                     <td><label for="edge-id">Id</label></td>
 | |
|                     <td><input id="edge-id" type="text" value="5"></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td></td>
 | |
|                     <td><label for="edge-from">From</label></td>
 | |
|                     <td><input id="edge-from" type="text" value="3"></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td></td>
 | |
|                     <td><label for="edge-to">To</label></td>
 | |
|                     <td><input id="edge-to" type="text" value="4"></td>
 | |
|                 </tr>
 | |
|                 <tr>
 | |
|                     <td></td>
 | |
|                     <td>Action</td>
 | |
|                     <td>
 | |
|                         <button id="edge-add" onclick="addEdge();">Add</button>
 | |
|                         <button id="edge-update" onclick="updateEdge();">Update</button>
 | |
|                         <button id="edge-remove" onclick="removeEdge();">Remove</button>
 | |
|                     </td>
 | |
|                 </tr>
 | |
|             </table>
 | |
|         </td>
 | |
|     </tr>
 | |
| 
 | |
| </table>
 | |
| 
 | |
| <h1>View</h1>
 | |
| <table class="view">
 | |
|     <colgroup>
 | |
|         <col width="25%">
 | |
|         <col width="25%">
 | |
|         <col width="50%">
 | |
|     </colgroup>
 | |
|     <tr>
 | |
|         <td>
 | |
|             <h2>Nodes</h2>
 | |
|             <pre id="nodes"></pre>
 | |
|         </td>
 | |
| 
 | |
|         <td>
 | |
|             <h2>Edges</h2>
 | |
|             <pre id="edges"></pre>
 | |
|         </td>
 | |
| 
 | |
|         <td>
 | |
|             <h2>Network</h2>
 | |
| 
 | |
|             <div id="network"></div>
 | |
|         </td>
 | |
|     </tr>
 | |
| </table>
 | |
| 
 | |
| </body>
 | |
| </html>
 |