<!doctype html>
							 | 
						|
								<html>
							 | 
						|
								<head>
							 | 
						|
								  <title>Graph | DOT language playground</title>
							 | 
						|
								
							 | 
						|
								  <script type="text/javascript" src="../../dist/vis.js"></script>
							 | 
						|
								
							 | 
						|
								  <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;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    #mygraph {
							 | 
						|
								      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>
							 | 
						|
								</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="mygraph"></div>
							 | 
						|
								    </td>
							 | 
						|
								  </tr>
							 | 
						|
								</table>
							 | 
						|
								
							 | 
						|
								<script type="text/javascript">
							 | 
						|
								  var graph, data;
							 | 
						|
								
							 | 
						|
								  var btnDraw = document.getElementById('draw');
							 | 
						|
								  var txtData = document.getElementById('data');
							 | 
						|
								  var txtError = document.getElementById('error');
							 | 
						|
								  btnDraw.onclick = draw;
							 | 
						|
								
							 | 
						|
								  // resize the graph when window resizes
							 | 
						|
								  window.onresize = function () {
							 | 
						|
								    graph.redraw()
							 | 
						|
								  };
							 | 
						|
								
							 | 
						|
								  // parse and draw the data
							 | 
						|
								  function draw () {
							 | 
						|
								    try {
							 | 
						|
								      txtError.innerHTML = '';
							 | 
						|
								
							 | 
						|
								      // Provide a string with data in DOT language
							 | 
						|
								      data = {
							 | 
						|
								        dot: txtData.value
							 | 
						|
								      };
							 | 
						|
								
							 | 
						|
								      // create a graph
							 | 
						|
								      var container = document.getElementById('mygraph');
							 | 
						|
								      var options = {};
							 | 
						|
								      graph = new vis.Graph(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>
							 |