diff options
Diffstat (limited to 'www/lib/vis/examples/network/data/datasets.html')
| -rw-r--r-- | www/lib/vis/examples/network/data/datasets.html | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/www/lib/vis/examples/network/data/datasets.html b/www/lib/vis/examples/network/data/datasets.html new file mode 100644 index 00000000..df93b81a --- /dev/null +++ b/www/lib/vis/examples/network/data/datasets.html @@ -0,0 +1,140 @@ +<!doctype html> +<html> +<head> + <title>Network | Dynamic Data</title> + + <script type="text/javascript" src="../../../dist/vis.js"></script> + <link href="../../../dist/vis.css" rel="stylesheet" type="text/css" /> + + <style type="text/css"> + #mynetwork { + width: 600px; + height: 400px; + border: 1px solid lightgray; + } + + p { + max-width:600px; + } + + h4 { + margin-bottom:3px; + } + </style> +</head> + +<p> + You can change any settings you want while the network is initialized using the vis Dataset, setOptions and setData. Finally you can destroy the network and completely reinitialize it. +</p> + +<h4>DataSet (change the data while it's loaded and initialzed):</h4> +<input type="button" onclick="addNode()" value="add node dynamically"> <br /> +<input type="button" onclick="changeNode1()" value="change node 1's color dynamically"> <br /> +<input type="button" onclick="removeRandomNode()" value="remove a random Node"> <br /> +<input type="button" onclick="resetAllNodes()" value="reload all nodes"> <br /> +<input type="button" onclick="resetAllNodesStabilize()" value="reload all nodes and stabilize"> <br /> + +<h4>setOptions (change the global options):</h4> +<input type="button" onclick="changeOptions()" value="change the global options"><br /> + +<h4>setData (reinitialize the data): </h4> +<input type="button" onclick="setTheData()" value="setData. This stabilizes again if stabilization is true."><br /> + +<h4>Cleanly destroy the network and restart it:</h4> +<input type="button" onclick="resetAll()" value="Destroy the network and restart it."><br /> +<div id="mynetwork"></div> + +<script type="text/javascript"> + var nodeIds, shadowState, nodesArray, nodes, edgesArray, edges, network; + + function startNetwork() { + // this list is kept to remove a random node.. we do not add node 1 here because it's used for changes + nodeIds = [2, 3, 4, 5]; + shadowState = false; + + + // create an array with nodes + nodesArray = [ + {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'} + ]; + nodes = new vis.DataSet(nodesArray); + + // create an array with edges + edgesArray = [ + {from: 1, to: 3}, + {from: 1, to: 2}, + {from: 2, to: 4}, + {from: 2, to: 5} + ]; + edges = new vis.DataSet(edgesArray); + + // create a network + var container = document.getElementById('mynetwork'); + var data = { + nodes: nodes, + edges: edges + }; + var options = {}; + network = new vis.Network(container, data, options); + } + + function addNode() { + var newId = (Math.random() * 1e7).toString(32); + nodes.add({id:newId, label:"I'm new!"}); + nodeIds.push(newId); + } + + function changeNode1() { + var newColor = '#' + Math.floor((Math.random() * 255 * 255 * 255)).toString(16); + nodes.update([{id:1, color:{background:newColor}}]); + } + + function removeRandomNode() { + var randomNodeId = nodeIds[Math.floor(Math.random() * nodeIds.length)]; + nodes.remove({id:randomNodeId}); + + var index = nodeIds.indexOf(randomNodeId); + nodeIds.splice(index,1); + } + + function changeOptions() { + shadowState = !shadowState; + network.setOptions({nodes:{shadow:shadowState},edges:{shadow:shadowState}}); + } + + function resetAllNodes() { + nodes.clear(); + edges.clear(); + nodes.add(nodesArray); + edges.add(edgesArray); + } + + function resetAllNodesStabilize() { + resetAllNodes(); + network.stabilize(); + } + + function setTheData() { + nodes = new vis.DataSet(nodesArray); + edges = new vis.DataSet(edgesArray); + network.setData({nodes:nodes, edges:edges}) + } + + function resetAll() { + if (network !== null) { + network.destroy(); + network = null; + } + startNetwork(); + } + + startNetwork(); +</script> + +<script src="../../googleAnalytics.js"></script> +</body> +</html> |
