| @ -1,219 +0,0 @@ | |||||
| <!doctype html> | |||||
| <html> | |||||
| <head> | |||||
| <title>Network | DOT language playground</title> | |||||
| <script type="text/javascript" src="../../../../dist/vis.js"></script> | |||||
| <link href="../../../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| <style type="text/css"> | |||||
| body, html { | |||||
| font: 10pt sans; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| color: #4d4d4d; | |||||
| } | |||||
| #frame { | |||||
| width: 100%; | |||||
| height: 99%; | |||||
| } | |||||
| #frame td { | |||||
| padding: 10px; | |||||
| height: 100%; | |||||
| } | |||||
| #error { | |||||
| color: red; | |||||
| } | |||||
| #data { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| border: 1px solid #d3d3d3; | |||||
| } | |||||
| #mynetwork { | |||||
| float: left; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| border: 1px solid #d3d3d3; | |||||
| box-sizing: border-box; | |||||
| -moz-box-sizing: border-box; | |||||
| overflow: hidden; | |||||
| } | |||||
| textarea.example { | |||||
| display: none; | |||||
| } | |||||
| </style> | |||||
| <script src="../../../googleAnalytics.js"></script> | |||||
| </head> | |||||
| <body onload="drawExample('example1')"> | |||||
| <table id="frame"> | |||||
| <col width="50%"> | |||||
| <col width="50%"> | |||||
| <tr> | |||||
| <td colspan="2" style="height: 50px;"> | |||||
| <h1>DOT language playground</h1> | |||||
| <div> | |||||
| <a href="javascript: drawExample('example1')">example 1</a> | |||||
| <a href="javascript: drawExample('example2')">example 2</a> | |||||
| <a href="javascript: drawExample('example3')">example 3</a> | |||||
| </div> | |||||
| <div> | |||||
| <br> | |||||
| <button id="draw">Draw</button> | |||||
| <span id="error"></span> | |||||
| </div> | |||||
| </td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td> | |||||
| <textarea id="data"></textarea> | |||||
| </td> | |||||
| <td> | |||||
| <div id="mynetwork"></div> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | |||||
| <script type="text/javascript"> | |||||
| var network = null; | |||||
| var data = null; | |||||
| var btnDraw = document.getElementById('draw'); | |||||
| var txtData = document.getElementById('data'); | |||||
| var txtError = document.getElementById('error'); | |||||
| btnDraw.onclick = draw; | |||||
| // resize the network when window resizes | |||||
| window.onresize = function () { | |||||
| network.redraw() | |||||
| }; | |||||
| function destroy() { | |||||
| if (network !== null) { | |||||
| network.destroy(); | |||||
| network = null; | |||||
| } | |||||
| } | |||||
| // parse and draw the data | |||||
| function draw () { | |||||
| destroy(); | |||||
| try { | |||||
| txtError.innerHTML = ''; | |||||
| // Provide a string with data in DOT language | |||||
| data = { | |||||
| dot: txtData.value | |||||
| }; | |||||
| // create a network | |||||
| var container = document.getElementById('mynetwork'); | |||||
| var options = { | |||||
| physics: { | |||||
| barnesHut: { | |||||
| springLength: 200 | |||||
| } | |||||
| } | |||||
| }; | |||||
| network = new vis.Network(container, data, options); | |||||
| } | |||||
| catch (err) { | |||||
| // set the cursor at the position where the error occurred | |||||
| var match = /\(char (.*)\)/.exec(err); | |||||
| if (match) { | |||||
| var pos = Number(match[1]); | |||||
| if(txtData.setSelectionRange) { | |||||
| txtData.focus(); | |||||
| txtData.setSelectionRange(pos, pos); | |||||
| } | |||||
| } | |||||
| // show an error message | |||||
| txtError.innerHTML = err.toString(); | |||||
| } | |||||
| } | |||||
| /** | |||||
| * Draw an example | |||||
| * @param {String} id HTML id of the textarea containing the example code | |||||
| */ | |||||
| function drawExample(id) { | |||||
| txtData.value = document.getElementById(id).value; | |||||
| draw(); | |||||
| } | |||||
| </script> | |||||
| <textarea id="example1" class="example"> | |||||
| digraph { | |||||
| node [shape=circle fontSize=16] | |||||
| edge [length=100, color=gray, fontColor=black] | |||||
| A -> A[label=0.5]; | |||||
| B -> B[label=1.2] -> C[label=0.7] -- A; | |||||
| B -> D; | |||||
| D -> {B; C} | |||||
| D -> E[label=0.2]; | |||||
| F -> F; | |||||
| A [ | |||||
| fontColor=white, | |||||
| color=red, | |||||
| ] | |||||
| } | |||||
| </textarea> | |||||
| <textarea id="example2" class="example"> | |||||
| digraph topology | |||||
| { | |||||
| node[shape=circle fontSize=12] | |||||
| edge[length=170 fontSize=12] | |||||
| "10.0.255.1" -> "10.0.255.3"[label="1.000"]; | |||||
| "10.0.255.1" -> "10.0.255.2"[label="1.000"]; | |||||
| "10.0.255.1" -> "10.0.255.2"[label="1.000"]; | |||||
| "10.0.255.1" -> "10.0.255.3"[label="1.000"]; | |||||
| "10.0.255.2" -> "10.0.255.1"[label="1.000"]; | |||||
| "10.0.255.2" -> "10.0.255.3"[label="1.000"]; | |||||
| "10.0.255.3" -> "10.0.255.1"[label="1.000"]; | |||||
| "10.0.255.3" -> "10.0.255.2"[label="1.000"]; | |||||
| "10.0.255.3" -> "10.0.3.0/24"[label="HNA", shape=solid]; | |||||
| "10.0.3.0/24"[shape=box]; | |||||
| "10.0.255.2" -> "10.0.2.0/24"[label="HNA"]; | |||||
| "10.0.2.0/24"[shape=box]; | |||||
| "10.0.255.1" -> "10.0.1.0/24"[label="HNA"]; | |||||
| "10.0.1.0/24"[shape=box]; | |||||
| } | |||||
| </textarea> | |||||
| <textarea id="example3" class="example"> | |||||
| digraph G { | |||||
| // note: not all attributes are recognized and supported by Network | |||||
| // unrecognized attributes are ignored | |||||
| node[width=.25,height=.375,fontsize=15] | |||||
| node [shape=filled fillcolor=#F1AAF0] | |||||
| 0-> 0 ; | |||||
| 1-> 1 ; | |||||
| 2-> 2 ; | |||||
| 3-> 3 ; | |||||
| 4-> 4 ; | |||||
| 5-> 5 ; | |||||
| 6-> 6 ; | |||||
| 7-> 5 ; | |||||
| 8-> 8 ; | |||||
| 9-> 9 ; | |||||
| 10-> 10 ; | |||||
| 11-> 10 ; | |||||
| 12-> 12 ; | |||||
| 13-> 5 ; | |||||
| 14-> 10 ; | |||||
| 15-> 0 ; | |||||
| } | |||||
| </textarea> | |||||
| </body> | |||||
| </html> | |||||
| @ -0,0 +1,23 @@ | |||||
| digraph G { | |||||
| // note: not all attributes are recognized and supported by Network | |||||
| // unrecognized attributes are ignored | |||||
| node[width=.25,height=.375,fontsize=15] | |||||
| node [shape=filled fillcolor=#F1AAF0] | |||||
| 0-> 0 ; | |||||
| 1-> 1 ; | |||||
| 2-> 2 ; | |||||
| 3-> 3 ; | |||||
| 4-> 4 ; | |||||
| 5-> 5 ; | |||||
| 6-> 6 ; | |||||
| 7-> 5 ; | |||||
| 8-> 8 ; | |||||
| 9-> 9 ; | |||||
| 10-> 10 ; | |||||
| 11-> 10 ; | |||||
| 12-> 12 ; | |||||
| 13-> 5 ; | |||||
| 14-> 10 ; | |||||
| 15-> 0 ; | |||||
| } | |||||
| @ -0,0 +1,19 @@ | |||||
| digraph topology | |||||
| { | |||||
| node[shape=circle fontSize=12] | |||||
| edge[length=170 fontSize=12] | |||||
| "10.0.255.1" -> "10.0.255.3"[label="1.000"]; | |||||
| "10.0.255.1" -> "10.0.255.2"[label="1.000"]; | |||||
| "10.0.255.1" -> "10.0.255.2"[label="1.000"]; | |||||
| "10.0.255.1" -> "10.0.255.3"[label="1.000"]; | |||||
| "10.0.255.2" -> "10.0.255.1"[label="1.000"]; | |||||
| "10.0.255.2" -> "10.0.255.3"[label="1.000"]; | |||||
| "10.0.255.3" -> "10.0.255.1"[label="1.000"]; | |||||
| "10.0.255.3" -> "10.0.255.2"[label="1.000"]; | |||||
| "10.0.255.3" -> "10.0.3.0/24"[label="HNA", shape=solid]; | |||||
| "10.0.3.0/24"[shape=box]; | |||||
| "10.0.255.2" -> "10.0.2.0/24"[label="HNA"]; | |||||
| "10.0.2.0/24"[shape=box]; | |||||
| "10.0.255.1" -> "10.0.1.0/24"[label="HNA"]; | |||||
| "10.0.1.0/24"[shape=box]; | |||||
| } | |||||
| @ -0,0 +1,15 @@ | |||||
| digraph { | |||||
| node [shape=circle fontsize=16] | |||||
| edge [length=100, color=gray, fontcolor=black] | |||||
| A -> A[label=0.5]; | |||||
| B -> B[label=1.2] -> C[label=0.7] -- A; | |||||
| B -> D; | |||||
| D -> {B; C} | |||||
| D -> E[label=0.2]; | |||||
| F -> F; | |||||
| A [ | |||||
| fontcolor=white, | |||||
| color=red, | |||||
| ] | |||||
| } | |||||
| @ -0,0 +1,22 @@ | |||||
| <html> | |||||
| <head> | |||||
| <title>Network | DOT Language</title> | |||||
| <script src="../../../../../dist/vis.js"></script> | |||||
| <link href="../../../../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| <script src="../../../../googleAnalytics.js"></script> | |||||
| </head> | |||||
| <body> | |||||
| <p> | |||||
| Network supports the DOT language. | |||||
| </p> | |||||
| <div id="mynetwork"></div> | |||||
| <script type="text/javascript"> | |||||
| var container = document.getElementById('mynetwork'); | |||||
| var dot = 'dinetwork {node[shape=circle]; 1 -> 1 -> 2; 2 -> 3; 2 -- 4; 2 -> 1 }'; | |||||
| var data = vis.network.convertDot(dot); | |||||
| var network = new vis.Network(container, data); | |||||
| </script> | |||||
| </body> | |||||
| </html> | |||||
| @ -0,0 +1,195 @@ | |||||
| <!doctype html> | |||||
| <html> | |||||
| <head> | |||||
| <title>Network | DOT language playground</title> | |||||
| <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> | |||||
| <script src="../../../../../dist/vis.js"></script> | |||||
| <link href="../../../../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| <style type="text/css"> | |||||
| body, html { | |||||
| font: 10pt sans; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| color: #4d4d4d; | |||||
| } | |||||
| #frame { | |||||
| width: 100%; | |||||
| height: 99%; | |||||
| } | |||||
| #frame td { | |||||
| padding: 10px; | |||||
| height: 100%; | |||||
| } | |||||
| #error { | |||||
| color: red; | |||||
| } | |||||
| #data { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| border: 1px solid #d3d3d3; | |||||
| } | |||||
| #mynetwork { | |||||
| float: left; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| border: 1px solid #d3d3d3; | |||||
| box-sizing: border-box; | |||||
| -moz-box-sizing: border-box; | |||||
| overflow: hidden; | |||||
| } | |||||
| textarea.example { | |||||
| display: none; | |||||
| } | |||||
| </style> | |||||
| <script src="../../../../googleAnalytics.js"></script> | |||||
| </head> | |||||
| <body> | |||||
| <table id="frame"> | |||||
| <col width="50%"> | |||||
| <col width="50%"> | |||||
| <tr> | |||||
| <td colspan="2" style="height: 50px;"> | |||||
| <h1>DOT language playground</h1> | |||||
| <p id="warning" style="color: red; display: none;"> | |||||
| Error: Cannot fetch the example data because of security restrictions in JavaScript. Run the example from a server instead of as a local file to resolve this problem. Alternatively, you can copy/paste the data of DOT graphs manually in the textarea below. | |||||
| </p> | |||||
| <script> | |||||
| if (location.href.substr(0, 5) == 'file:') { | |||||
| $('#warning').show(); | |||||
| } | |||||
| </script> | |||||
| <p> | |||||
| Play around with the DOT language in the textarea below, or select one of the following examples: | |||||
| </p> | |||||
| <p style="margin-left: 30px;"> | |||||
| <a href="#" class="example" data-url="data/simple.gv.txt">simple</a>, | |||||
| <a href="#" class="example" data-url="data/computer_network.gv.txt">computer network</a>, | |||||
| <a href="#" class="example" data-url="data/cellular_automata.gv.txt">cellular automata</a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/fsm.gv.txt">fsm *</a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/hello.gv.txt">hello *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/process.gv.txt">process *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/siblings.gv.txt">siblings *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/softmaint.gv.txt">softmaint *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/traffic_lights.gv.txt">traffic lights *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/transparency.gv.txt">transparency *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/twopi2.gv.txt">twopi2 *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/unix.gv.txt">unix *</sup></a>, | |||||
| <a href="#" class="example" data-url="graphvizGallery/world.gv.txt">world *</sup></a> | |||||
| </p> | |||||
| <p> | |||||
| The examples marked with a star (*) come straight from the <a href="http://www.graphviz.org/Gallery.php">gallery of GraphViz</a>. | |||||
| </p> | |||||
| <div> | |||||
| <br> | |||||
| <button id="draw">Draw</button> | |||||
| <span id="error"></span> | |||||
| </div> | |||||
| </td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td> | |||||
| <textarea id="data"> | |||||
| digraph { | |||||
| node [shape=circle fontsize=16] | |||||
| edge [length=100, color=gray, fontcolor=black] | |||||
| A -> A[label=0.5]; | |||||
| B -> B[label=1.2] -> C[label=0.7] -- A; | |||||
| B -> D; | |||||
| D -> {B; C} | |||||
| D -> E[label=0.2]; | |||||
| F -> F; | |||||
| A [ | |||||
| fontcolor=white, | |||||
| color=red, | |||||
| ] | |||||
| } | |||||
| </textarea> | |||||
| </td> | |||||
| <td> | |||||
| <div id="mynetwork"></div> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | |||||
| <script type="text/javascript"> | |||||
| var btnDraw = document.getElementById('draw'); | |||||
| var txtData = document.getElementById('data'); | |||||
| var txtError = document.getElementById('error'); | |||||
| btnDraw.onclick = draw; | |||||
| // resize the network when window resizes | |||||
| window.onresize = function () { | |||||
| network.redraw() | |||||
| }; | |||||
| $('button.example').click(function (event) { | |||||
| var url = $(event.target).data('url'); | |||||
| $.get(url).done(function(dotData) { | |||||
| txtData.value = dotData; | |||||
| draw(); | |||||
| }); | |||||
| }); | |||||
| $('a.example').click(function (event) { | |||||
| var url = $(event.target).data('url'); | |||||
| $.get(url).done(function(dotData) { | |||||
| txtData.value = dotData; | |||||
| draw(); | |||||
| }); | |||||
| }); | |||||
| $(window).load(draw); | |||||
| // create a network | |||||
| var container = document.getElementById('mynetwork'); | |||||
| var options = { | |||||
| physics: { | |||||
| stabilization: false, | |||||
| barnesHut: { | |||||
| springLength: 200 | |||||
| } | |||||
| } | |||||
| }; | |||||
| var data = {}; | |||||
| var network = new vis.Network(container, data, options); | |||||
| // parse and draw the data | |||||
| function draw () { | |||||
| try { | |||||
| txtError.innerHTML = ''; | |||||
| // Provide a string with data in DOT language | |||||
| data = vis.network.convertDot(txtData.value); | |||||
| network.setData(data); | |||||
| } | |||||
| catch (err) { | |||||
| // set the cursor at the position where the error occurred | |||||
| var match = /\(char (.*)\)/.exec(err); | |||||
| if (match) { | |||||
| var pos = Number(match[1]); | |||||
| if(txtData.setSelectionRange) { | |||||
| txtData.focus(); | |||||
| txtData.setSelectionRange(pos, pos); | |||||
| } | |||||
| } | |||||
| // show an error message | |||||
| txtError.innerHTML = err.toString(); | |||||
| } | |||||
| } | |||||
| </script> | |||||
| </body> | |||||
| </html> | |||||
| @ -1,23 +0,0 @@ | |||||
| <html> | |||||
| <head> | |||||
| <title>Network | DOT Language</title> | |||||
| <script type="text/javascript" src="../../../../dist/vis.js"></script> | |||||
| <link href="../../../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| <script src="../../../googleAnalytics.js"></script> | |||||
| </head> | |||||
| <body> | |||||
| <p> | |||||
| Network supports the DOT language. | |||||
| </p> | |||||
| <div id="mynetwork"></div> | |||||
| <script type="text/javascript"> | |||||
| var container = document.getElementById('mynetwork'); | |||||
| var data = { | |||||
| dot: 'dinetwork {node[shape=circle]; 1 -> 1 -> 2; 2 -> 3; 2 -- 4; 2 -> 1 }' | |||||
| }; | |||||
| var network = new vis.Network(container, data); | |||||
| </script> | |||||
| </body> | |||||
| </html> | |||||
| @ -1,86 +0,0 @@ | |||||
| <html> | |||||
| <head> | |||||
| <title>Network | Graphviz Gallery</title> | |||||
| <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> | |||||
| <script type="text/javascript" src="../../../dist/vis.js"></script> | |||||
| <style type="text/css"> | |||||
| p { | |||||
| width: 600px; | |||||
| } | |||||
| html, body, select { | |||||
| font: 11pt arial; | |||||
| } | |||||
| #mygraph { | |||||
| width: 100%; | |||||
| height: 600px; | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| </style> | |||||
| <script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-61231638-1', 'auto');ga('send', 'pageview');</script></head> | |||||
| <body> | |||||
| <script> | |||||
| if (location.href.substr(0, 5) == 'file:') { | |||||
| document.write( | |||||
| '<p style="color: red;">' + | |||||
| 'Error: Cannot fetch the example data because of security ' + | |||||
| 'restrictions in JavaScript. Run the example from a server ' + | |||||
| 'instead of as a local file to resolve this problem. ' + | |||||
| 'Alternatively, you can load DOT graphs in ' + | |||||
| 'the <a href="../15_dot_language_playground.html" ' + | |||||
| 'style="color:red;">playground</a>.' + | |||||
| '</p>'); | |||||
| } | |||||
| </script> | |||||
| <p> | |||||
| The following examples are unmodified copies from the | |||||
| <a href="http://www.graphviz.org/Gallery.php" target="_blank">Graphviz Gallery</a>. | |||||
| </p> | |||||
| <p> | |||||
| Note that some style attributes of Graphviz are not supported by vis.js, | |||||
| and that vis.js offers options not supported by Graphviz (which could make | |||||
| some examples look much nicer). | |||||
| </p> | |||||
| <p> | |||||
| <label for="url">Select an example:</label> | |||||
| <select id="url" onchange="loadData()"> | |||||
| <option value="data/fsm.gv.txt">fsm</option> | |||||
| <option value="data/hello.gv.txt">hello</option> | |||||
| <option value="data/process.gv.txt">process</option> | |||||
| <option value="data/siblings.gv.txt">siblings</option> | |||||
| <option value="data/softmaint.gv.txt">softmaint</option> | |||||
| <option value="data/traffic_lights.gv.txt">traffic_lights</option> | |||||
| <option value="data/transparency.gv.txt">transparency</option> | |||||
| <option value="data/twopi2.gv.txt">twopi2</option> | |||||
| <option value="data/unix.gv.txt">unix</option> | |||||
| <option value="data/world.gv.txt">world</option> | |||||
| </select> | |||||
| </p> | |||||
| <div id="mygraph"></div> | |||||
| <script type="text/javascript"> | |||||
| var container = document.getElementById('mygraph'); | |||||
| var url = document.getElementById('url'); | |||||
| var network = new vis.Network(container,{},{physics:{barnesHut:{springLength:75,springConstant:0.015}}}); | |||||
| function loadData () { | |||||
| $.ajax({ | |||||
| type: "GET", | |||||
| url: url.value | |||||
| }).done(function(data) { | |||||
| network.setOptions({ | |||||
| stabilize: false | |||||
| }); | |||||
| network.setData( { | |||||
| dot: data | |||||
| }); | |||||
| }); | |||||
| } | |||||
| loadData(); | |||||
| </script> | |||||
| </body> | |||||
| </html> | |||||