| @ -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> | |||