|
|
- <!DOCTYPE html>
- <html>
- <head lang="en">
- <meta charset="UTF-8">
- <title></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;
- }
- </style>
-
-
- </head>
-
- <body>
- <div id="mynetwork"></div>
-
- <script>
- var network = null;
- // create an array with nodes
- var nodes = new vis.DataSet([
- {id: 1, label: 'Node 1', cid:1},
- {id: 2, label: 'Node 2', cid:1},
- {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([
- {id: 'e1', from: 1, to: 3, label: 'hi'},
- {from: 1, to: 2},
- {from: 2, to: 4},
- {from: 2, to: 5}
- ]);
-
- var data = {
- nodes: nodes,
- edges: edges
- };
- var container = document.getElementById('mynetwork');
-
- function drawQuick() {
- draw({physics:{stabilization:false}});
- }
-
- function draw(options) {
- // clean
- if (network !== null) {
- network.destroy();
- network = null;
- }
- network = new vis.Network(container, data, options);
- }
-
- function clusterByCid() {
- drawQuick();
- var clusterOptionsByData = {
- joinCondition:function(childOptions) {
- return childOptions.cid == 1;
- },
- clusterNodeProperties: {id:'cidCluster', borderWidth:3, shape:'database'}
- }
- network.cluster(clusterOptionsByData);
- }
-
-
- function clusterByConnection() {
- drawQuick();
- network.clusterByConnection(1)
- }
- function clusterByHubsize() {
- drawQuick();
- var clusterOptionsByData = {
- processProperties: function(clusterOptions, childNodes) {
- clusterOptions.label = "[" + childNodes.length + "]";
- return clusterOptions;
- },
- clusterNodeProperties: {borderWidth:3, shape:'box', font:{size:30}}
- }
- network.clusterByHubsize(undefined, clusterOptionsByData);
- }
-
- function checkMethods() {
- var methods = [
- {name:"setSize", arguments: [200,300]},
- {name:"canvasToDOM", arguments: [{x:10,y:20}]},
- {name:"DOMtoCanvas", arguments: [{x:10,y:20}]},
- {name:"findNode", arguments: [1]},
- {name:"isCluster", arguments: [1]},
- {name:"cluster", arguments: null, func: clusterByCid},
- {name:"findNode", arguments: [1]},
- {name:"isCluster", arguments: ['cidCluster']},
- {name:"getNodesInCluster", arguments: ['cidCluster']},
- {name:"openCluster", arguments: ['cidCluster']},
- {name:"clusterByConnection",arguments: null, func: clusterByConnection},
- {name:"clusterByHubsize", arguments: null, func: clusterByHubsize},
- {name:"clusterOutliers", arguments: null, funcFirst: drawQuick},
- {name:"getSeed", arguments: null, funcFirst: drawQuick},
- {name:"enableEditMode", arguments: null},
- {name:"disableEditMode", arguments: null},
- {name:"addNodeMode", arguments: null},
- {name:"disableEditMode", arguments: null},
- {name:"editNode", arguments: null, funcFirst: function() {network.setOptions({manipulation:{editNode:function(data,callback) {callback(data);}}})}},
- {name:"disableEditMode", arguments: null},
- {name:"addEdgeMode", arguments: null},
- {name:"disableEditMode", arguments: null},
- {name:"editEdgeMode", arguments: null},
- {name:"disableEditMode", arguments: null},
- {name:"selectNodes", arguments: [[5], true]},
- {name:"deleteSelected", arguments: null, funcFirst:drawQuick},
- {name:"disableEditMode", arguments: null},
- {name:"getPositions", arguments: [[1]]},
- {name:"storePositions", arguments: null},
- {name:"getBoundingBox", arguments: [1]},
- {name:"getConnectedNodes", arguments: [1]},
- {name:"getConnectedEdges", arguments: [1]},
- {name:"startSimulation", arguments: null},
- {name:"stopSimulation", arguments: null},
- {name:"stabilize", arguments: null},
- {name:"getSelection", arguments: null},
- {name:"getSelectedNodes", arguments: null},
- {name:"getSelectedEdges", arguments: null},
- {name:"getNodeAt", arguments: [{x:10,y:20}]},
- {name:"getEdgeAt", arguments: [{x:10,y:20}]},
- {name:"selectNodes", arguments: [[1],false]},
- {name:"selectEdges", arguments: [['e1']]},
- {name:"unselectAll", arguments: null},
- {name:"redraw", arguments: null},
- {name:"getScale", arguments: null},
- {name:"getViewPosition", arguments: null},
- {name:"fit", arguments: null},
- {name:"moveTo", arguments: [{position:{x:0,y:0}}]},
- {name:"focus", arguments: [1]},
- {name:"releaseNode", arguments: null},
- ]
-
- drawQuick();
- for (var i = 0; i < methods.length; i++) {
- setTimeout(testMethod.bind(this,methods,i), i*50);
- }
- }
-
- function testMethod(methods,i) {
- var methodName = methods[i].name;
- console.log("Currently testing:", methodName);
-
- if (methods[i].funcFirst !== undefined) {
- methods[i].funcFirst();
- }
-
- if (methods[i].func !== undefined) {
- methods[i].func();
- }
- else {
- if (methods[i].arguments === null) {
- network[methodName].apply(network);
- }
- else {
- network[methodName].apply(network, methods[i].arguments)
- }
- }
- }
-
- checkMethods();
- </script>
- </body>
- </html>
|