<!doctype html>
							 | 
						|
								<html>
							 | 
						|
								<head>
							 | 
						|
								    <title>Network | Basic usage</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: 1400px;
							 | 
						|
								            height: 1000px;
							 | 
						|
								            border: 1px solid lightgray;
							 | 
						|
								        }
							 | 
						|
								    </style>
							 | 
						|
								    <script type="text/javascript">
							 | 
						|
								    </script>
							 | 
						|
								</head>
							 | 
						|
								
							 | 
						|
								<body>
							 | 
						|
								<my-toolbar>
							 | 
						|
								    <button id="toggleAddNode">add Nodes</button>
							 | 
						|
								    <button id="btnDelete">delete</button>
							 | 
						|
								    <!-- other Vis manipulation buttons -->
							 | 
						|
								    <button id="togglePhysics">pause Physics</button>
							 | 
						|
								    <button id="togglePin">toggle pin</button>
							 | 
						|
								</my-toolbar>
							 | 
						|
								<div id="mynetwork"></div>
							 | 
						|
								<script>
							 | 
						|
								    document.getElementById("toggleAddNode").onclick = addNode;
							 | 
						|
								    document.getElementById("btnDelete").onclick = visDelete;
							 | 
						|
								    document.getElementById("togglePhysics").onclick = togglePhysics;
							 | 
						|
								    document.getElementById("togglePin").onclick = togglePin;
							 | 
						|
								
							 | 
						|
								    function storePositions() {
							 | 
						|
								        network.storePositions();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    var inAddNodeMode = false;
							 | 
						|
								
							 | 
						|
								    function addNode() {
							 | 
						|
								        if (inAddNodeMode) {
							 | 
						|
								            network.disableEditMode();
							 | 
						|
								            inAddNodeMode = false;
							 | 
						|
								        } else {
							 | 
						|
								            network.addNodeMode();
							 | 
						|
								            inAddNodeMode = true;
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    function visDelete() {
							 | 
						|
								        network.deleteSelected();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    function togglePhysics() {
							 | 
						|
								        isPhysicsEnabled = !isPhysicsEnabled;
							 | 
						|
								        network.setOptions({
							 | 
						|
								            physics: isPhysicsEnabled
							 | 
						|
								        });
							 | 
						|
								    }
							 | 
						|
								    var isPhysicsEnabled = true;
							 | 
						|
								
							 | 
						|
								    function togglePin() {
							 | 
						|
								        network.storePositions();
							 | 
						|
								        // update node.fixed
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    // create an array with nodes
							 | 
						|
								    var nodes = new vis.DataSet([{
							 | 
						|
								        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
							 | 
						|
								    var edges = new vis.DataSet([{
							 | 
						|
								        from: 1,
							 | 
						|
								        to: 3
							 | 
						|
								    }, {
							 | 
						|
								        from: 1,
							 | 
						|
								        to: 2
							 | 
						|
								    }, {
							 | 
						|
								        from: 2,
							 | 
						|
								        to: 4
							 | 
						|
								    }, {
							 | 
						|
								        from: 2,
							 | 
						|
								        to: 5
							 | 
						|
								    }]);
							 | 
						|
								
							 | 
						|
								    // create a network
							 | 
						|
								    var container = document.getElementById('mynetwork');
							 | 
						|
								    var data = {
							 | 
						|
								        nodes: nodes,
							 | 
						|
								        edges: edges
							 | 
						|
								    };
							 | 
						|
								    var options = {
							 | 
						|
								        manipulation: {
							 | 
						|
								            enabled: false,
							 | 
						|
								            initiallyActive: false,
							 | 
						|
								            addNode: false,
							 | 
						|
								            //addEdge: onConnectEdge,
							 | 
						|
								            //editNode: onEditNode,
							 | 
						|
								            //editEdge: true,
							 | 
						|
								            deleteNode: onDelete,
							 | 
						|
								            // this is false, but the manipulation api can still delete edges
							 | 
						|
								            deleteEdge: false
							 | 
						|
								        }
							 | 
						|
								    };
							 | 
						|
								
							 | 
						|
								    function onAddNode(nodeToBeAdded, callback) {
							 | 
						|
								        //$log.debug('onAdd', nodeToBeAdded);
							 | 
						|
								        console.log('onAdd');
							 | 
						|
								        // do stuff to the new node
							 | 
						|
								        inAddNodeMode = false;
							 | 
						|
								        callback(nodeToBeAdded);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    function onDelete(toBeDeletedData, callback) {
							 | 
						|
								        console.log('deleting data', toBeDeletedData);
							 | 
						|
								        // toBeDeletedData is object with nodes: [] and edges: []
							 | 
						|
								
							 | 
						|
								        callback(toBeDeletedData);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								    var network = new vis.Network(container, data, options);
							 | 
						|
								</script>
							 | 
						|
								</body>
							 | 
						|
								</html>
							 |