| @ -0,0 +1,235 @@ | |||||
| .vis.timeline { | |||||
| } | |||||
| .vis.timeline.rootpanel { | |||||
| position: relative; | |||||
| overflow: hidden; | |||||
| border: 1px solid #bfbfbf; | |||||
| -moz-box-sizing: border-box; | |||||
| box-sizing: border-box; | |||||
| } | |||||
| .vis.timeline .panel { | |||||
| position: absolute; | |||||
| overflow: hidden; | |||||
| } | |||||
| .vis.timeline .groupset { | |||||
| position: absolute; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| } | |||||
| .vis.timeline .labels { | |||||
| position: absolute; | |||||
| top: 0; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| border-right: 1px solid #bfbfbf; | |||||
| box-sizing: border-box; | |||||
| -moz-box-sizing: border-box; | |||||
| } | |||||
| .vis.timeline .labels .label-set { | |||||
| position: absolute; | |||||
| top: 0; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| overflow: hidden; | |||||
| border-top: none; | |||||
| border-bottom: 1px solid #bfbfbf; | |||||
| } | |||||
| .vis.timeline .labels .label-set .label { | |||||
| position: absolute; | |||||
| left: 0; | |||||
| top: 0; | |||||
| width: 100%; | |||||
| color: #4d4d4d; | |||||
| } | |||||
| .vis.timeline.top .labels .label-set .label, | |||||
| .vis.timeline.top .groupset .itemset-axis { | |||||
| border-top: 1px solid #bfbfbf; | |||||
| border-bottom: none; | |||||
| } | |||||
| .vis.timeline.bottom .labels .label-set .label, | |||||
| .vis.timeline.bottom .groupset .itemset-axis { | |||||
| border-top: none; | |||||
| border-bottom: 1px solid #bfbfbf; | |||||
| } | |||||
| .vis.timeline .labels .label-set .label .inner { | |||||
| display: inline-block; | |||||
| padding: 5px; | |||||
| } | |||||
| .vis.timeline .itemset { | |||||
| position: absolute; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| overflow: hidden; | |||||
| } | |||||
| .vis.timeline .background { | |||||
| } | |||||
| .vis.timeline .foreground { | |||||
| } | |||||
| .vis.timeline .itemset-axis { | |||||
| position: absolute; | |||||
| } | |||||
| .vis.timeline .item { | |||||
| position: absolute; | |||||
| color: #1A1A1A; | |||||
| border-color: #97B0F8; | |||||
| background-color: #D5DDF6; | |||||
| display: inline-block; | |||||
| } | |||||
| .vis.timeline .item.selected { | |||||
| border-color: #FFC200; | |||||
| background-color: #FFF785; | |||||
| z-index: 999; | |||||
| } | |||||
| .vis.timeline .item.cluster { | |||||
| /* TODO: use another color or pattern? */ | |||||
| background: #97B0F8 url('img/cluster_bg.png'); | |||||
| color: white; | |||||
| } | |||||
| .vis.timeline .item.cluster.point { | |||||
| border-color: #D5DDF6; | |||||
| } | |||||
| .vis.timeline .item.box { | |||||
| text-align: center; | |||||
| border-style: solid; | |||||
| border-width: 1px; | |||||
| border-radius: 5px; | |||||
| -moz-border-radius: 5px; /* For Firefox 3.6 and older */ | |||||
| } | |||||
| .vis.timeline .item.point { | |||||
| background: none; | |||||
| } | |||||
| .vis.timeline .dot { | |||||
| border: 5px solid #97B0F8; | |||||
| position: absolute; | |||||
| border-radius: 5px; | |||||
| -moz-border-radius: 5px; /* For Firefox 3.6 and older */ | |||||
| } | |||||
| .vis.timeline .item.range { | |||||
| overflow: hidden; | |||||
| border-style: solid; | |||||
| border-width: 1px; | |||||
| border-radius: 2px; | |||||
| -moz-border-radius: 2px; /* For Firefox 3.6 and older */ | |||||
| } | |||||
| .vis.timeline .item.rangeoverflow { | |||||
| border-style: solid; | |||||
| border-width: 1px; | |||||
| border-radius: 2px; | |||||
| -moz-border-radius: 2px; /* For Firefox 3.6 and older */ | |||||
| } | |||||
| .vis.timeline .item.range .drag-left, .vis.timeline .item.rangeoverflow .drag-left { | |||||
| cursor: w-resize; | |||||
| z-index: 1000; | |||||
| } | |||||
| .vis.timeline .item.range .drag-right, .vis.timeline .item.rangeoverflow .drag-right { | |||||
| cursor: e-resize; | |||||
| z-index: 1000; | |||||
| } | |||||
| .vis.timeline .item.range .content, .vis.timeline .item.rangeoverflow .content { | |||||
| position: relative; | |||||
| display: inline-block; | |||||
| } | |||||
| .vis.timeline .item.line { | |||||
| position: absolute; | |||||
| width: 0; | |||||
| border-left-width: 1px; | |||||
| border-left-style: solid; | |||||
| } | |||||
| .vis.timeline .item .content { | |||||
| margin: 5px; | |||||
| white-space: nowrap; | |||||
| overflow: hidden; | |||||
| } | |||||
| .vis.timeline .axis { | |||||
| position: relative; | |||||
| } | |||||
| .vis.timeline .axis .text { | |||||
| position: absolute; | |||||
| color: #4d4d4d; | |||||
| padding: 3px; | |||||
| white-space: nowrap; | |||||
| } | |||||
| .vis.timeline .axis .text.measure { | |||||
| position: absolute; | |||||
| padding-left: 0; | |||||
| padding-right: 0; | |||||
| margin-left: 0; | |||||
| margin-right: 0; | |||||
| visibility: hidden; | |||||
| } | |||||
| .vis.timeline .axis .grid.vertical { | |||||
| position: absolute; | |||||
| width: 0; | |||||
| border-right: 1px solid; | |||||
| } | |||||
| .vis.timeline .axis .grid.horizontal { | |||||
| position: absolute; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| height: 0; | |||||
| border-bottom: 1px solid; | |||||
| } | |||||
| .vis.timeline .axis .grid.minor { | |||||
| border-color: #e5e5e5; | |||||
| } | |||||
| .vis.timeline .axis .grid.major { | |||||
| border-color: #bfbfbf; | |||||
| } | |||||
| .vis.timeline .currenttime { | |||||
| background-color: #FF7F6E; | |||||
| width: 2px; | |||||
| z-index: 9; | |||||
| } | |||||
| .vis.timeline .customtime { | |||||
| background-color: #6E94FF; | |||||
| width: 2px; | |||||
| cursor: move; | |||||
| z-index: 9; | |||||
| } | |||||
| @ -1,87 +1,87 @@ | |||||
| .com { | .com { | ||||
| color: gray; | |||||
| color: gray; | |||||
| } | } | ||||
| .lit { | .lit { | ||||
| color: red; | |||||
| color: red; | |||||
| } | } | ||||
| .pun { | .pun { | ||||
| color: gray; | |||||
| color: gray; | |||||
| } | } | ||||
| .pln { | .pln { | ||||
| color: #333333; | |||||
| color: #333333; | |||||
| } | } | ||||
| pre.prettyprint { | pre.prettyprint { | ||||
| border: 1px solid lightgray; | |||||
| background-color: #fcfcfc; | |||||
| padding: 5px; | |||||
| border: 1px solid lightgray; | |||||
| background-color: #fcfcfc; | |||||
| padding: 5px; | |||||
| font-size: 10pt; | |||||
| line-height: 1.5em; | |||||
| font-family: monospace; | |||||
| font-size: 10pt; | |||||
| line-height: 1.5em; | |||||
| font-family: monospace; | |||||
| } | } | ||||
| ol.linenums { | ol.linenums { | ||||
| margin-top:0; | |||||
| margin-bottom:0; | |||||
| margin-top:0; | |||||
| margin-bottom:0; | |||||
| } | } | ||||
| li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { | ||||
| list-style:none; | |||||
| list-style:none; | |||||
| } | } | ||||
| li.L1,li.L3,li.L5,li.L7,li.L9 { | li.L1,li.L3,li.L5,li.L7,li.L9 { | ||||
| background:#eee; | |||||
| background:#eee; | |||||
| } | } | ||||
| .str,.atv { | .str,.atv { | ||||
| color: green; | |||||
| color: green; | |||||
| } | } | ||||
| .kwd,.tag { | .kwd,.tag { | ||||
| color:#2B7CE9; | |||||
| color:#2B7CE9; | |||||
| } | } | ||||
| .typ,.atn,.dec { | .typ,.atn,.dec { | ||||
| color: darkorange; | |||||
| color: darkorange; | |||||
| } | } | ||||
| @media print { | @media print { | ||||
| .com { | |||||
| color:#600; | |||||
| font-style:italic; | |||||
| } | |||||
| .typ { | |||||
| color:#404; | |||||
| font-weight:700; | |||||
| } | |||||
| .lit { | |||||
| color:#044; | |||||
| } | |||||
| .pun { | |||||
| color:#440; | |||||
| } | |||||
| .pln { | |||||
| color:#000; | |||||
| } | |||||
| .atn { | |||||
| color:#404; | |||||
| } | |||||
| .str,.atv { | |||||
| color:#060; | |||||
| } | |||||
| .kwd,.tag { | |||||
| color:#006; | |||||
| font-weight:700; | |||||
| } | |||||
| .com { | |||||
| color:#600; | |||||
| font-style:italic; | |||||
| } | |||||
| .typ { | |||||
| color:#404; | |||||
| font-weight:700; | |||||
| } | |||||
| .lit { | |||||
| color:#044; | |||||
| } | |||||
| .pun { | |||||
| color:#440; | |||||
| } | |||||
| .pln { | |||||
| color:#000; | |||||
| } | |||||
| .atn { | |||||
| color:#404; | |||||
| } | |||||
| .str,.atv { | |||||
| color:#060; | |||||
| } | |||||
| .kwd,.tag { | |||||
| color:#006; | |||||
| font-weight:700; | |||||
| } | |||||
| } | } | ||||
| @ -1,77 +1,77 @@ | |||||
| html, body { | html, body { | ||||
| width: 100%; | |||||
| height: 100%; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| } | } | ||||
| body, td, th { | body, td, th { | ||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| color: #4D4D4D; | |||||
| line-height: 1.7em; | |||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| color: #4D4D4D; | |||||
| line-height: 1.7em; | |||||
| } | } | ||||
| #container { | #container { | ||||
| position: relative; | |||||
| margin: 0 auto; | |||||
| padding: 10px 10px 50px 10px; | |||||
| width: 700px; | |||||
| max-width: 100%; | |||||
| box-sizing: border-box; | |||||
| position: relative; | |||||
| margin: 0 auto; | |||||
| padding: 10px 10px 50px 10px; | |||||
| width: 700px; | |||||
| max-width: 100%; | |||||
| box-sizing: border-box; | |||||
| } | } | ||||
| h1 { | h1 { | ||||
| font-size: 180%; | |||||
| font-weight: bold; | |||||
| padding: 0; | |||||
| margin: 1em 0 1em 0; | |||||
| font-size: 180%; | |||||
| font-weight: bold; | |||||
| padding: 0; | |||||
| margin: 1em 0 1em 0; | |||||
| } | } | ||||
| h2 { | h2 { | ||||
| padding-top: 20px; | |||||
| padding-bottom: 10px; | |||||
| border-bottom: 1px solid #a0c0f0; | |||||
| color: #2B7CE9; | |||||
| padding-top: 20px; | |||||
| padding-bottom: 10px; | |||||
| border-bottom: 1px solid #a0c0f0; | |||||
| color: #2B7CE9; | |||||
| } | } | ||||
| h3 { | h3 { | ||||
| font-size: 140%; | |||||
| font-size: 140%; | |||||
| } | } | ||||
| a > img { | a > img { | ||||
| border: none; | |||||
| border: none; | |||||
| } | } | ||||
| a { | a { | ||||
| color: #2B7CE9; | |||||
| text-decoration: none; | |||||
| color: #2B7CE9; | |||||
| text-decoration: none; | |||||
| } | } | ||||
| a:visited { | a:visited { | ||||
| color: #2E60A4; | |||||
| color: #2E60A4; | |||||
| } | } | ||||
| a:hover { | a:hover { | ||||
| color: red; | |||||
| text-decoration: underline; | |||||
| color: red; | |||||
| text-decoration: underline; | |||||
| } | } | ||||
| table { | table { | ||||
| border-collapse: collapse; | |||||
| border-collapse: collapse; | |||||
| } | } | ||||
| th { | th { | ||||
| font-weight: bold; | |||||
| border: 1px solid lightgray; | |||||
| background-color: #E5E5E5; | |||||
| text-align: left; | |||||
| vertical-align: top; | |||||
| padding: 5px; | |||||
| font-weight: bold; | |||||
| border: 1px solid lightgray; | |||||
| background-color: #E5E5E5; | |||||
| text-align: left; | |||||
| vertical-align: top; | |||||
| padding: 5px; | |||||
| } | } | ||||
| td { | td { | ||||
| border: 1px solid lightgray; | |||||
| padding: 5px; | |||||
| vertical-align: top; | |||||
| border: 1px solid lightgray; | |||||
| padding: 5px; | |||||
| vertical-align: top; | |||||
| } | } | ||||
| @ -1,65 +1,65 @@ | |||||
| <!doctype html> | <!doctype html> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Graph | Dashed lines</title> | |||||
| <title>Graph | Dashed lines</title> | |||||
| <style type="text/css"> | |||||
| body { | |||||
| font: 10pt sans; | |||||
| } | |||||
| #mygraph { | |||||
| width: 600px; | |||||
| height: 600px; | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| </style> | |||||
| <style type="text/css"> | |||||
| body { | |||||
| font: 10pt sans; | |||||
| } | |||||
| #mygraph { | |||||
| width: 600px; | |||||
| height: 600px; | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| </style> | |||||
| <script type="text/javascript" src="../../vis.js"></script> | |||||
| <script type="text/javascript" src="../../dist/vis.js"></script> | |||||
| <script type="text/javascript"> | |||||
| // Called on page load | |||||
| function draw() { | |||||
| var nodes = [ | |||||
| {id: 1, label: 'dashed\nline\nexamples'}, | |||||
| {id: 2, label: 'default'}, | |||||
| {id: 3, label: 'dash.length: 20\ndash.gap: 20'}, | |||||
| {id: 4, label: 'dash.length: 20\ndash.gap: 5'}, | |||||
| {id: 5, label: 'dash.length: 5\ndash.gap: 20'}, | |||||
| {id: 6, label: 'dash.length: 20\ndash.gap: 5\ndash.altLength: 5'} | |||||
| ]; | |||||
| var edges = [ | |||||
| {from: 1, to: 2, style: 'dash-line'}, | |||||
| {from: 1, to: 3, style: 'dash-line', dash: {length: 20, gap: 20}}, | |||||
| {from: 1, to: 4, style: 'dash-line', dash: {length: 20, gap: 5}}, | |||||
| {from: 1, to: 5, style: 'dash-line', dash: {length: 5, gap: 20}}, | |||||
| {from: 1, to: 6, style: 'dash-line', dash: {length: 20, gap: 5, altLength: 5}} | |||||
| ]; | |||||
| <script type="text/javascript"> | |||||
| // Called on page load | |||||
| function draw() { | |||||
| var nodes = [ | |||||
| {id: 1, label: 'dashed\nline\nexamples'}, | |||||
| {id: 2, label: 'default'}, | |||||
| {id: 3, label: 'dash.length: 20\ndash.gap: 20'}, | |||||
| {id: 4, label: 'dash.length: 20\ndash.gap: 5'}, | |||||
| {id: 5, label: 'dash.length: 5\ndash.gap: 20'}, | |||||
| {id: 6, label: 'dash.length: 20\ndash.gap: 5\ndash.altLength: 5'} | |||||
| ]; | |||||
| var edges = [ | |||||
| {from: 1, to: 2, style: 'dash-line'}, | |||||
| {from: 1, to: 3, style: 'dash-line', dash: {length: 20, gap: 20}}, | |||||
| {from: 1, to: 4, style: 'dash-line', dash: {length: 20, gap: 5}}, | |||||
| {from: 1, to: 5, style: 'dash-line', dash: {length: 5, gap: 20}}, | |||||
| {from: 1, to: 6, style: 'dash-line', dash: {length: 20, gap: 5, altLength: 5}} | |||||
| ]; | |||||
| // create the graph | |||||
| var container = document.getElementById('mygraph'); | |||||
| var data = { | |||||
| nodes: nodes, | |||||
| edges: edges | |||||
| }; | |||||
| var options = { | |||||
| nodes: { | |||||
| shape: 'box' | |||||
| }, | |||||
| edges: { | |||||
| length: 180 | |||||
| }, | |||||
| stabilize: false | |||||
| }; | |||||
| var graph = new vis.Graph(container, data, options); | |||||
| } | |||||
| </script> | |||||
| // create the graph | |||||
| var container = document.getElementById('mygraph'); | |||||
| var data = { | |||||
| nodes: nodes, | |||||
| edges: edges | |||||
| }; | |||||
| var options = { | |||||
| nodes: { | |||||
| shape: 'box' | |||||
| }, | |||||
| edges: { | |||||
| length: 180 | |||||
| }, | |||||
| stabilize: false | |||||
| }; | |||||
| var graph = new vis.Graph(container, data, options); | |||||
| } | |||||
| </script> | |||||
| </head> | </head> | ||||
| <body onload="draw();"> | <body onload="draw();"> | ||||
| <p> | |||||
| This example shows the different options for dashed lines. | |||||
| </p> | |||||
| <p> | |||||
| This example shows the different options for dashed lines. | |||||
| </p> | |||||
| <div id="mygraph"></div> | |||||
| <div id="mygraph"></div> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @ -1,18 +1,18 @@ | |||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Graph | DOT Language</title> | |||||
| <title>Graph | DOT Language</title> | |||||
| <script type="text/javascript" src="../../vis.js"></script> | |||||
| <script type="text/javascript" src="../../dist/vis.js"></script> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <div id="mygraph"></div> | |||||
| <div id="mygraph"></div> | |||||
| <script type="text/javascript"> | |||||
| var container = document.getElementById('mygraph'); | |||||
| var data = { | |||||
| dot: 'digraph {node[shape=circle]; 1 -> 1 -> 2; 2 -> 3; 2 -- 4; 2 -> 1 }' | |||||
| }; | |||||
| var graph = new vis.Graph(container, data); | |||||
| </script> | |||||
| <script type="text/javascript"> | |||||
| var container = document.getElementById('mygraph'); | |||||
| var data = { | |||||
| dot: 'digraph {node[shape=circle]; 1 -> 1 -> 2; 2 -> 3; 2 -- 4; 2 -> 1 }' | |||||
| }; | |||||
| var graph = new vis.Graph(container, data); | |||||
| </script> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @ -1,201 +1,201 @@ | |||||
| <!doctype html> | <!doctype html> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Graph | DOT language playground</title> | |||||
| <script type="text/javascript" src="../../vis.js"></script> | |||||
| <style type="text/css"> | |||||
| body, html { | |||||
| font: 10pt sans; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| padding: 0; | |||||
| margin: 0; | |||||
| color: #4d4d4d; | |||||
| } | |||||
| <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; | |||||
| } | |||||
| #frame { | |||||
| width: 100%; | |||||
| height: 99%; | |||||
| } | |||||
| #frame td { | |||||
| padding: 10px; | |||||
| height: 100%; | |||||
| } | |||||
| #error { | |||||
| color: red; | |||||
| } | |||||
| #data { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| border: 1px solid #d3d3d3; | |||||
| } | |||||
| #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; | |||||
| } | |||||
| #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> | |||||
| textarea.example { | |||||
| display: none; | |||||
| } | |||||
| </style> | |||||
| </head> | </head> | ||||
| <body onload="drawExample('example1')"> | <body onload="drawExample('example1')"> | ||||
| <table id="frame"> | <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> | |||||
| <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> | </table> | ||||
| <script type="text/javascript"> | <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(); | |||||
| } | |||||
| 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); | |||||
| } | |||||
| } | |||||
| /** | |||||
| * 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(); | |||||
| // 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> | </script> | ||||
| <textarea id="example1" class="example"> | <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, | |||||
| ] | |||||
| } | |||||
| 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> | ||||
| <textarea id="example2" class="example"> | <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]; | |||||
| } | |||||
| 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> | ||||
| <textarea id="example3" class="example"> | <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 ; | |||||
| } | |||||
| 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> | </textarea> | ||||
| </body> | </body> | ||||
| @ -1,264 +1,264 @@ | |||||
| <!doctype html> | <!doctype html> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Graph | DataSet</title> | |||||
| <title>Graph | DataSet</title> | |||||
| <style type="text/css"> | |||||
| html, body { | |||||
| font: 11pt arial; | |||||
| } | |||||
| <style type="text/css"> | |||||
| html, body { | |||||
| font: 11pt arial; | |||||
| } | |||||
| h1 { | |||||
| font-size: 150%; | |||||
| margin: 5px 0; | |||||
| } | |||||
| h1 { | |||||
| font-size: 150%; | |||||
| margin: 5px 0; | |||||
| } | |||||
| h2 { | |||||
| font-size: 100%; | |||||
| margin: 5px 0; | |||||
| } | |||||
| h2 { | |||||
| font-size: 100%; | |||||
| margin: 5px 0; | |||||
| } | |||||
| table.view { | |||||
| width: 100%; | |||||
| } | |||||
| table.view { | |||||
| width: 100%; | |||||
| } | |||||
| table td { | |||||
| vertical-align: top; | |||||
| } | |||||
| table td { | |||||
| vertical-align: top; | |||||
| } | |||||
| table table { | |||||
| background-color: #f5f5f5; | |||||
| border: 1px solid #e5e5e5; | |||||
| } | |||||
| table table { | |||||
| background-color: #f5f5f5; | |||||
| border: 1px solid #e5e5e5; | |||||
| } | |||||
| table table td { | |||||
| vertical-align: middle; | |||||
| } | |||||
| table table td { | |||||
| vertical-align: middle; | |||||
| } | |||||
| input[type=text], pre { | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| input[type=text], pre { | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| pre { | |||||
| margin: 0; | |||||
| padding: 5px; | |||||
| font-size: 10pt; | |||||
| } | |||||
| pre { | |||||
| margin: 0; | |||||
| padding: 5px; | |||||
| font-size: 10pt; | |||||
| } | |||||
| #graph { | |||||
| width: 100%; | |||||
| height: 400px; | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| </style> | |||||
| #graph { | |||||
| width: 100%; | |||||
| height: 400px; | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| </style> | |||||
| <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> | |||||
| <script type="text/javascript" src="../../vis.js"></script> | |||||
| <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> | |||||
| <script type="text/javascript"> | |||||
| var nodes, edges, graph; | |||||
| <script type="text/javascript"> | |||||
| var nodes, edges, graph; | |||||
| // convenience method to stringify a JSON object | |||||
| function toJSON (obj) { | |||||
| return JSON.stringify(obj, null, 4); | |||||
| } | |||||
| // convenience method to stringify a JSON object | |||||
| function toJSON (obj) { | |||||
| return JSON.stringify(obj, null, 4); | |||||
| } | |||||
| $(window).load(function () { | |||||
| // attach actions to the node buttons | |||||
| $('#node-add').click(function () { | |||||
| try { | |||||
| nodes.add({ | |||||
| id: $('#node-id').val(), | |||||
| label: $('#node-label').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#node-update').click(function () { | |||||
| try { | |||||
| nodes.update({ | |||||
| id: $('#node-id').val(), | |||||
| label: $('#node-label').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#node-remove').click(function () { | |||||
| try { | |||||
| var id = $('#node-id').val(); | |||||
| nodes.remove(id); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $(window).load(function () { | |||||
| // attach actions to the node buttons | |||||
| $('#node-add').click(function () { | |||||
| try { | |||||
| nodes.add({ | |||||
| id: $('#node-id').val(), | |||||
| label: $('#node-label').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#node-update').click(function () { | |||||
| try { | |||||
| nodes.update({ | |||||
| id: $('#node-id').val(), | |||||
| label: $('#node-label').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#node-remove').click(function () { | |||||
| try { | |||||
| var id = $('#node-id').val(); | |||||
| nodes.remove(id); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| // attach actions to the edge buttons | |||||
| $('#edge-add').click(function () { | |||||
| try { | |||||
| edges.add({ | |||||
| id: $('#edge-id').val(), | |||||
| from: $('#edge-from').val(), | |||||
| to: $('#edge-to').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#edge-update').click(function () { | |||||
| try { | |||||
| edges.update({ | |||||
| id: $('#edge-id').val(), | |||||
| from: $('#edge-from').val(), | |||||
| to: $('#edge-to').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#edge-remove').click(function () { | |||||
| try { | |||||
| var id = $('#edge-id').val(); | |||||
| edges.remove(id); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| // attach actions to the edge buttons | |||||
| $('#edge-add').click(function () { | |||||
| try { | |||||
| edges.add({ | |||||
| id: $('#edge-id').val(), | |||||
| from: $('#edge-from').val(), | |||||
| to: $('#edge-to').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#edge-update').click(function () { | |||||
| try { | |||||
| edges.update({ | |||||
| id: $('#edge-id').val(), | |||||
| from: $('#edge-from').val(), | |||||
| to: $('#edge-to').val() | |||||
| }); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| $('#edge-remove').click(function () { | |||||
| try { | |||||
| var id = $('#edge-id').val(); | |||||
| edges.remove(id); | |||||
| } | |||||
| catch (err) { | |||||
| alert(err); | |||||
| } | |||||
| }); | |||||
| // create an array with nodes | |||||
| nodes = new vis.DataSet(); | |||||
| nodes.subscribe('*', function () { | |||||
| $('#nodes').html(toJSON(nodes.get())); | |||||
| }); | |||||
| nodes.add([ | |||||
| {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 nodes | |||||
| nodes = new vis.DataSet(); | |||||
| nodes.subscribe('*', function () { | |||||
| $('#nodes').html(toJSON(nodes.get())); | |||||
| }); | |||||
| nodes.add([ | |||||
| {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 | |||||
| edges = new vis.DataSet(); | |||||
| edges.subscribe('*', function () { | |||||
| $('#edges').html(toJSON(edges.get())); | |||||
| }); | |||||
| edges.add([ | |||||
| {id: '1', from: '1', to: '2'}, | |||||
| {id: '2', from: '1', to: '3'}, | |||||
| {id: '3', from: '2', to: '4'}, | |||||
| {id: '4', from: '2', to: '5'} | |||||
| ]); | |||||
| // create an array with edges | |||||
| edges = new vis.DataSet(); | |||||
| edges.subscribe('*', function () { | |||||
| $('#edges').html(toJSON(edges.get())); | |||||
| }); | |||||
| edges.add([ | |||||
| {id: '1', from: '1', to: '2'}, | |||||
| {id: '2', from: '1', to: '3'}, | |||||
| {id: '3', from: '2', to: '4'}, | |||||
| {id: '4', from: '2', to: '5'} | |||||
| ]); | |||||
| // create a graph | |||||
| var container = $('#graph').get(0); | |||||
| var data = { | |||||
| nodes: nodes, | |||||
| edges: edges | |||||
| }; | |||||
| var options = {}; | |||||
| graph = new vis.Graph(container, data, options); | |||||
| }); | |||||
| </script> | |||||
| // create a graph | |||||
| var container = $('#graph').get(0); | |||||
| var data = { | |||||
| nodes: nodes, | |||||
| edges: edges | |||||
| }; | |||||
| var options = {}; | |||||
| graph = new vis.Graph(container, data, options); | |||||
| }); | |||||
| </script> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <p> | <p> | ||||
| This example demonstrates dynamically adding, updating and removing nodes | |||||
| and edges using a DataSet. | |||||
| This example demonstrates dynamically adding, updating and removing nodes | |||||
| and edges using a DataSet. | |||||
| </p> | </p> | ||||
| <h1>Adjust</h1> | <h1>Adjust</h1> | ||||
| <table> | <table> | ||||
| <tr> | |||||
| <td> | |||||
| <h2>Node</h2> | |||||
| <table> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="node-id">Id</label></td> | |||||
| <td><input id="node-id" type="text" value="6"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="node-label">Label</label></td> | |||||
| <td><input id="node-label" type="text" value="Node 6"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td>Action</td> | |||||
| <td> | |||||
| <button id="node-add">Add</button> | |||||
| <button id="node-update">Update</button> | |||||
| <button id="node-remove">Remove</button> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | |||||
| </td> | |||||
| <td> | |||||
| <h2>Edge</h2> | |||||
| <table> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="edge-id">Id</label></td> | |||||
| <td><input id="edge-id" type="text" value="5"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="edge-from">From</label></td> | |||||
| <td><input id="edge-from" type="text" value="3"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="edge-to">To</label></td> | |||||
| <td><input id="edge-to" type="text" value="4"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td>Action</td> | |||||
| <td> | |||||
| <button id="edge-add">Add</button> | |||||
| <button id="edge-update">Update</button> | |||||
| <button id="edge-remove">Remove</button> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | |||||
| </td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td> | |||||
| <h2>Node</h2> | |||||
| <table> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="node-id">Id</label></td> | |||||
| <td><input id="node-id" type="text" value="6"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="node-label">Label</label></td> | |||||
| <td><input id="node-label" type="text" value="Node 6"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td>Action</td> | |||||
| <td> | |||||
| <button id="node-add">Add</button> | |||||
| <button id="node-update">Update</button> | |||||
| <button id="node-remove">Remove</button> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | |||||
| </td> | |||||
| <td> | |||||
| <h2>Edge</h2> | |||||
| <table> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="edge-id">Id</label></td> | |||||
| <td><input id="edge-id" type="text" value="5"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="edge-from">From</label></td> | |||||
| <td><input id="edge-from" type="text" value="3"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td><label for="edge-to">To</label></td> | |||||
| <td><input id="edge-to" type="text" value="4"></td> | |||||
| </tr> | |||||
| <tr> | |||||
| <td></td> | |||||
| <td>Action</td> | |||||
| <td> | |||||
| <button id="edge-add">Add</button> | |||||
| <button id="edge-update">Update</button> | |||||
| <button id="edge-remove">Remove</button> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | </table> | ||||
| <h1>View</h1> | <h1>View</h1> | ||||
| <table class="view"> | <table class="view"> | ||||
| <colgroup> | |||||
| <col width="25%"> | |||||
| <col width="25%"> | |||||
| <col width="50%"> | |||||
| </colgroup> | |||||
| <tr> | |||||
| <td> | |||||
| <h2>Nodes</h2> | |||||
| <pre id="nodes"></pre> | |||||
| </td> | |||||
| <colgroup> | |||||
| <col width="25%"> | |||||
| <col width="25%"> | |||||
| <col width="50%"> | |||||
| </colgroup> | |||||
| <tr> | |||||
| <td> | |||||
| <h2>Nodes</h2> | |||||
| <pre id="nodes"></pre> | |||||
| </td> | |||||
| <td> | |||||
| <h2>Edges</h2> | |||||
| <pre id="edges"></pre> | |||||
| </td> | |||||
| <td> | |||||
| <h2>Edges</h2> | |||||
| <pre id="edges"></pre> | |||||
| </td> | |||||
| <td> | |||||
| <h2>Graph</h2> | |||||
| <div id="graph"></div> | |||||
| </td> | |||||
| </tr> | |||||
| <td> | |||||
| <h2>Graph</h2> | |||||
| <div id="graph"></div> | |||||
| </td> | |||||
| </tr> | |||||
| </table> | </table> | ||||
| </body> | </body> | ||||
| @ -1,86 +1,86 @@ | |||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Graph | Graphviz Gallery</title> | |||||
| <title>Graph | Graphviz Gallery</title> | |||||
| <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> | |||||
| <script type="text/javascript" src="../../../vis.js"></script> | |||||
| <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> | |||||
| <style type="text/css"> | |||||
| p { | |||||
| width: 600px; | |||||
| } | |||||
| html, body, select { | |||||
| font: 11pt arial; | |||||
| } | |||||
| #mygraph { | |||||
| width: 100%; | |||||
| height: 600px; | |||||
| border: 1px solid lightgray; | |||||
| } | |||||
| </style> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <script> | <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>.' + | |||||
| 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>'); | '</p>'); | ||||
| } | |||||
| } | |||||
| </script> | </script> | ||||
| <p> | <p> | ||||
| The following examples are unmodified copies from the | |||||
| <a href="http://www.graphviz.org/Gallery.php" target="_blank">Graphviz Gallery</a>. | |||||
| The following examples are unmodified copies from the | |||||
| <a href="http://www.graphviz.org/Gallery.php" target="_blank">Graphviz Gallery</a>. | |||||
| </p> | </p> | ||||
| <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). | |||||
| 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> | ||||
| <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> | |||||
| <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> | </p> | ||||
| <div id="mygraph"></div> | <div id="mygraph"></div> | ||||
| <script type="text/javascript"> | <script type="text/javascript"> | ||||
| var container = document.getElementById('mygraph'); | |||||
| var url = document.getElementById('url'); | |||||
| var graph = new vis.Graph(container); | |||||
| var container = document.getElementById('mygraph'); | |||||
| var url = document.getElementById('url'); | |||||
| var graph = new vis.Graph(container); | |||||
| function loadData () { | |||||
| $.ajax({ | |||||
| type: "GET", | |||||
| url: url.value | |||||
| }).done(function(data) { | |||||
| graph.setOptions({ | |||||
| stabilize: false | |||||
| }); | |||||
| graph.setData( { | |||||
| dot: data | |||||
| }); | |||||
| function loadData () { | |||||
| $.ajax({ | |||||
| type: "GET", | |||||
| url: url.value | |||||
| }).done(function(data) { | |||||
| graph.setOptions({ | |||||
| stabilize: false | |||||
| }); | |||||
| graph.setData( { | |||||
| dot: data | |||||
| }); | |||||
| }); | }); | ||||
| } | |||||
| loadData(); | |||||
| } | |||||
| loadData(); | |||||
| </script> | </script> | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @ -1,31 +1,32 @@ | |||||
| <!DOCTYPE HTML> | <!DOCTYPE HTML> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Timeline | Basic demo</title> | |||||
| <title>Timeline | Basic demo</title> | |||||
| <style type="text/css"> | |||||
| body, html { | |||||
| font-family: sans-serif; | |||||
| } | |||||
| </style> | |||||
| <style type="text/css"> | |||||
| body, html { | |||||
| font-family: sans-serif; | |||||
| } | |||||
| </style> | |||||
| <script src="../../vis.js"></script> | |||||
| <script src="../../dist/vis.js"></script> | |||||
| <link href="../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <div id="visualization"></div> | <div id="visualization"></div> | ||||
| <script type="text/javascript"> | <script type="text/javascript"> | ||||
| var container = document.getElementById('visualization'); | |||||
| var items = [ | |||||
| {id: 1, content: 'item 1', start: '2013-04-20'}, | |||||
| {id: 2, content: 'item 2', start: '2013-04-14'}, | |||||
| {id: 3, content: 'item 3', start: '2013-04-18'}, | |||||
| {id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'}, | |||||
| {id: 5, content: 'item 5', start: '2013-04-25'}, | |||||
| {id: 6, content: 'item 6', start: '2013-04-27'} | |||||
| ]; | |||||
| var options = {}; | |||||
| var timeline = new vis.Timeline(container, items, options); | |||||
| var container = document.getElementById('visualization'); | |||||
| var items = [ | |||||
| {id: 1, content: 'item 1', start: '2013-04-20'}, | |||||
| {id: 2, content: 'item 2', start: '2013-04-14'}, | |||||
| {id: 3, content: 'item 3', start: '2013-04-18'}, | |||||
| {id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'}, | |||||
| {id: 5, content: 'item 5', start: '2013-04-25'}, | |||||
| {id: 6, content: 'item 6', start: '2013-04-27'} | |||||
| ]; | |||||
| var options = {}; | |||||
| var timeline = new vis.Timeline(container, items, options); | |||||
| </script> | </script> | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @ -1,60 +1,62 @@ | |||||
| <!DOCTYPE HTML> | <!DOCTYPE HTML> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Timeline | Dataset example</title> | |||||
| <style> | |||||
| body, html { | |||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| height: 100%; | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| } | |||||
| #visualization { | |||||
| box-sizing: border-box; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| </style> | |||||
| <!-- note: moment.js must be loaded before vis.js, else vis.js uses its embedded version of moment.js --> | |||||
| <script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.3.1/moment.min.js"></script> | |||||
| <script src="../../vis.js"></script> | |||||
| <title>Timeline | Dataset example</title> | |||||
| <style> | |||||
| body, html { | |||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| height: 100%; | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| } | |||||
| #visualization { | |||||
| box-sizing: border-box; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| </style> | |||||
| <!-- note: moment.js must be loaded before vis.js, else vis.js uses its embedded version of moment.js --> | |||||
| <script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.3.1/moment.min.js"></script> | |||||
| <script src="../../dist/vis.js"></script> | |||||
| <link href="../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <div id="visualization"></div> | <div id="visualization"></div> | ||||
| <script> | <script> | ||||
| var now = moment().minutes(0).seconds(0).milliseconds(0); | |||||
| // create a dataset with items | |||||
| var items = new vis.DataSet({ | |||||
| convert: { | |||||
| start: 'Date', | |||||
| end: 'Date' | |||||
| } | |||||
| }); | |||||
| items.add([ | |||||
| {id: 1, content: 'item 1<br>start', start: now.clone().add('days', 4)}, | |||||
| {id: 2, content: 'item 2', start: now.clone().add('days', -2)}, | |||||
| {id: 3, content: 'item 3', start: now.clone().add('days', 2)}, | |||||
| {id: 4, content: 'item 4', start: now.clone().add('days', 0), end: now.clone().add('days', 3).toDate()}, | |||||
| {id: 5, content: 'item 5', start: now.clone().add('days', 9), type:'point'}, | |||||
| {id: 6, content: 'item 6', start: now.clone().add('days', 11)} | |||||
| ]); | |||||
| var container = document.getElementById('visualization'); | |||||
| var options = { | |||||
| start: now.clone().add('days', -3), | |||||
| end: now.clone().add('days', 7), | |||||
| orientation: 'top', | |||||
| height: '100%' | |||||
| }; | |||||
| var timeline = new vis.Timeline(container, items, options); | |||||
| var now = moment().minutes(0).seconds(0).milliseconds(0); | |||||
| // create a dataset with items | |||||
| var items = new vis.DataSet({ | |||||
| convert: { | |||||
| start: 'Date', | |||||
| end: 'Date' | |||||
| } | |||||
| }); | |||||
| items.add([ | |||||
| {id: 1, content: 'item 1<br>start', start: now.clone().add('days', 4)}, | |||||
| {id: 2, content: 'item 2', start: now.clone().add('days', -2)}, | |||||
| {id: 3, content: 'item 3', start: now.clone().add('days', 2)}, | |||||
| {id: 4, content: 'item 4', start: now.clone().add('days', 0), end: now.clone().add('days', 3).toDate()}, | |||||
| {id: 5, content: 'item 5', start: now.clone().add('days', 9), type:'point'}, | |||||
| {id: 6, content: 'item 6', start: now.clone().add('days', 11)} | |||||
| ]); | |||||
| var container = document.getElementById('visualization'); | |||||
| var options = { | |||||
| start: now.clone().add('days', -3), | |||||
| end: now.clone().add('days', 7), | |||||
| orientation: 'top', | |||||
| height: '100%', | |||||
| showCurrentTime: true | |||||
| }; | |||||
| var timeline = new vis.Timeline(container, items, options); | |||||
| </script> | </script> | ||||
| </body> | </body> | ||||
| @ -1,69 +1,74 @@ | |||||
| <!DOCTYPE HTML> | <!DOCTYPE HTML> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Timeline | HTML data</title> | |||||
| <title>Timeline | HTML data</title> | |||||
| <style> | |||||
| body, html { | |||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| } | |||||
| span { | |||||
| color: red; | |||||
| } | |||||
| span.large { | |||||
| font-size: 200%; | |||||
| } | |||||
| </style> | |||||
| <style> | |||||
| body, html { | |||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| } | |||||
| span { | |||||
| color: red; | |||||
| } | |||||
| span.large { | |||||
| font-size: 200%; | |||||
| } | |||||
| </style> | |||||
| <script src="../../dist/vis.js"></script> | |||||
| <link href="../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| <script src="../../vis.js"></script> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <p> | <p> | ||||
| Load HTML contents in the Timeline | |||||
| Load HTML contents in the Timeline | |||||
| </p> | </p> | ||||
| <div id="visualization"></div> | <div id="visualization"></div> | ||||
| <script> | <script> | ||||
| // create a couple of HTML items in various ways | |||||
| // create a couple of HTML items in various ways | |||||
| var item1 = document.createElement('div'); | |||||
| item1.appendChild(document.createTextNode('item 1')); | |||||
| var item1 = document.createElement('div'); | |||||
| item1.appendChild(document.createTextNode('item 1')); | |||||
| var item2 = document.createElement('div'); | |||||
| item2.innerHTML = '<span>item 2</span>'; | |||||
| var item2 = document.createElement('div'); | |||||
| item2.innerHTML = '<span>item 2</span>'; | |||||
| var item3 = document.createElement('div'); | |||||
| var span3 = document.createElement('span'); | |||||
| span3.className = 'large'; | |||||
| span3.appendChild(document.createTextNode('item 3')); | |||||
| item3.appendChild(span3); | |||||
| var item3 = document.createElement('div'); | |||||
| var span3 = document.createElement('span'); | |||||
| span3.className = 'large'; | |||||
| span3.appendChild(document.createTextNode('item 3')); | |||||
| item3.appendChild(span3); | |||||
| var item4 = 'item <span class="large">4</span>'; | |||||
| var item4 = 'item <span class="large">4</span>'; | |||||
| var item5 = document.createElement('div'); | |||||
| item5.appendChild(document.createTextNode('item 5')); | |||||
| item5.appendChild(document.createElement('br')); | |||||
| var img5 = document.createElement('img'); | |||||
| img5.src = 'img/attachment-icon.png'; | |||||
| img5.style.width = '48px'; | |||||
| img5.style.height = '48px'; | |||||
| item5.appendChild(img5); | |||||
| var item5 = document.createElement('div'); | |||||
| item5.appendChild(document.createTextNode('item 5')); | |||||
| item5.appendChild(document.createElement('br')); | |||||
| var img5 = document.createElement('img'); | |||||
| img5.src = 'img/attachment-icon.png'; | |||||
| img5.style.width = '48px'; | |||||
| img5.style.height = '48px'; | |||||
| item5.appendChild(img5); | |||||
| var item6 = 'item6<br><img src="img/comments-icon.png" style="width: 48px; height: 48px;">'; | |||||
| var item6 = 'item6<br><img src="img/comments-icon.png" style="width: 48px; height: 48px;">'; | |||||
| var item7 = 'item7<br><a href="http://visjs.org" target="_blank">click here</a>'; | |||||
| // create data and a Timeline | |||||
| var container = document.getElementById('visualization'); | |||||
| var items = [ | |||||
| {id: 1, content: item1, start: '2013-04-20'}, | |||||
| {id: 2, content: item2, start: '2013-04-14'}, | |||||
| {id: 3, content: item3, start: '2013-04-18'}, | |||||
| {id: 4, content: item4, start: '2013-04-16', end: '2013-04-19'}, | |||||
| {id: 5, content: item5, start: '2013-04-25'}, | |||||
| {id: 6, content: item6, start: '2013-04-27'} | |||||
| ]; | |||||
| var options = {}; | |||||
| var timeline = new vis.Timeline(container, items, options); | |||||
| // create data and a Timeline | |||||
| var container = document.getElementById('visualization'); | |||||
| var items = [ | |||||
| {id: 1, content: item1, start: '2013-04-20'}, | |||||
| {id: 2, content: item2, start: '2013-04-14'}, | |||||
| {id: 3, content: item3, start: '2013-04-18'}, | |||||
| {id: 4, content: item4, start: '2013-04-16', end: '2013-04-19'}, | |||||
| {id: 5, content: item5, start: '2013-04-25'}, | |||||
| {id: 6, content: item6, start: '2013-04-27'}, | |||||
| {id: 7, content: item7, start: '2013-04-21'} | |||||
| ]; | |||||
| var options = {}; | |||||
| var timeline = new vis.Timeline(container, items, options); | |||||
| </script> | </script> | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @ -1,71 +1,72 @@ | |||||
| <!DOCTYPE HTML> | <!DOCTYPE HTML> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Timeline | Group example</title> | |||||
| <title>Timeline | Group example</title> | |||||
| <style> | |||||
| body, html { | |||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| } | |||||
| <style> | |||||
| body, html { | |||||
| font-family: arial, sans-serif; | |||||
| font-size: 11pt; | |||||
| } | |||||
| #visualization { | |||||
| box-sizing: border-box; | |||||
| width: 100%; | |||||
| height: 300px; | |||||
| } | |||||
| </style> | |||||
| #visualization { | |||||
| box-sizing: border-box; | |||||
| width: 100%; | |||||
| height: 300px; | |||||
| } | |||||
| </style> | |||||
| <!-- note: moment.js must be loaded before vis.js, else vis.js uses its embedded version of moment.js --> | |||||
| <script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.3.1/moment.min.js"></script> | |||||
| <!-- note: moment.js must be loaded before vis.js, else vis.js uses its embedded version of moment.js --> | |||||
| <script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.3.1/moment.min.js"></script> | |||||
| <script src="../../vis.js"></script> | |||||
| <script src="../../dist/vis.js"></script> | |||||
| <link href="../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <p> | <p> | ||||
| This example demonstrate using groups. Note that a DataSet is used for both | |||||
| items and groups, allowing to dynamically add, update or remove both items | |||||
| and groups via the DataSet. | |||||
| This example demonstrate using groups. Note that a DataSet is used for both | |||||
| items and groups, allowing to dynamically add, update or remove both items | |||||
| and groups via the DataSet. | |||||
| </p> | </p> | ||||
| <div id="visualization"></div> | <div id="visualization"></div> | ||||
| <script> | <script> | ||||
| var now = moment().minutes(0).seconds(0).milliseconds(0); | |||||
| var groupCount = 3; | |||||
| var itemCount = 20; | |||||
| var now = moment().minutes(0).seconds(0).milliseconds(0); | |||||
| var groupCount = 3; | |||||
| var itemCount = 20; | |||||
| // create a data set with groups | |||||
| var names = ['John', 'Alston', 'Lee', 'Grant']; | |||||
| var groups = new vis.DataSet(); | |||||
| for (var g = 0; g < groupCount; g++) { | |||||
| groups.add({id: g, content: names[g]}); | |||||
| } | |||||
| // create a data set with groups | |||||
| var names = ['John', 'Alston', 'Lee', 'Grant']; | |||||
| var groups = new vis.DataSet(); | |||||
| for (var g = 0; g < groupCount; g++) { | |||||
| groups.add({id: g, content: names[g]}); | |||||
| } | |||||
| // create a dataset with items | |||||
| var items = new vis.DataSet(); | |||||
| for (var i = 0; i < itemCount; i++) { | |||||
| var start = now.clone().add('hours', Math.random() * 200); | |||||
| var group = Math.floor(Math.random() * groupCount); | |||||
| items.add({ | |||||
| id: i, | |||||
| group: group, | |||||
| content: 'item ' + i + | |||||
| ' <span style="color:#97B0F8;">(' + names[group] + ')</span>', | |||||
| start: start, | |||||
| type: 'box' | |||||
| }); | |||||
| } | |||||
| // create a dataset with items | |||||
| var items = new vis.DataSet(); | |||||
| for (var i = 0; i < itemCount; i++) { | |||||
| var start = now.clone().add('hours', Math.random() * 200); | |||||
| var group = Math.floor(Math.random() * groupCount); | |||||
| items.add({ | |||||
| id: i, | |||||
| group: group, | |||||
| content: 'item ' + i + | |||||
| ' <span style="color:#97B0F8;">(' + names[group] + ')</span>', | |||||
| start: start, | |||||
| type: 'box' | |||||
| }); | |||||
| } | |||||
| // create visualization | |||||
| var container = document.getElementById('visualization'); | |||||
| var options = { | |||||
| groupsOrder: 'content' | |||||
| }; | |||||
| // create visualization | |||||
| var container = document.getElementById('visualization'); | |||||
| var options = { | |||||
| groupOrder: 'content' | |||||
| }; | |||||
| var timeline = new vis.Timeline(container); | |||||
| timeline.setOptions(options); | |||||
| timeline.setGroups(groups); | |||||
| timeline.setItems(items); | |||||
| var timeline = new vis.Timeline(container); | |||||
| timeline.setOptions(options); | |||||
| timeline.setGroups(groups); | |||||
| timeline.setItems(items); | |||||
| </script> | </script> | ||||
| </body> | </body> | ||||
| @ -1,11 +1,13 @@ | |||||
| <!DOCTYPE HTML> | <!DOCTYPE HTML> | ||||
| <html> | <html> | ||||
| <head> | <head> | ||||
| <title>Timeline requirejs demo</title> | |||||
| <title>Timeline requirejs demo</title> | |||||
| <script data-main="scripts/main" src="scripts/require.js"></script> | |||||
| <script data-main="scripts/main" src="scripts/require.js"></script> | |||||
| <link href="../../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||||
| </head> | </head> | ||||
| <body> | <body> | ||||
| <div id="visualization"></div> | |||||
| <div id="visualization"></div> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @ -1,19 +1,19 @@ | |||||
| require.config({ | require.config({ | ||||
| paths: { | |||||
| vis: '../../../../vis' | |||||
| } | |||||
| paths: { | |||||
| vis: '../../../../dist/vis' | |||||
| } | |||||
| }); | }); | ||||
| require(['vis'], function (vis) { | require(['vis'], function (vis) { | ||||
| var container = document.getElementById('visualization'); | |||||
| var data = [ | |||||
| {id: 1, content: 'item 1', start: '2013-04-20'}, | |||||
| {id: 2, content: 'item 2', start: '2013-04-14'}, | |||||
| {id: 3, content: 'item 3', start: '2013-04-18'}, | |||||
| {id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'}, | |||||
| {id: 5, content: 'item 5', start: '2013-04-25'}, | |||||
| {id: 6, content: 'item 6', start: '2013-04-27'} | |||||
| ]; | |||||
| var options = {}; | |||||
| var timeline = new vis.Timeline(container, data, options); | |||||
| var container = document.getElementById('visualization'); | |||||
| var data = [ | |||||
| {id: 1, content: 'item 1', start: '2013-04-20'}, | |||||
| {id: 2, content: 'item 2', start: '2013-04-14'}, | |||||
| {id: 3, content: 'item 3', start: '2013-04-18'}, | |||||
| {id: 4, content: 'item 4', start: '2013-04-16', end: '2013-04-19'}, | |||||
| {id: 5, content: 'item 5', start: '2013-04-25'}, | |||||
| {id: 6, content: 'item 6', start: '2013-04-27'} | |||||
| ]; | |||||
| var options = {}; | |||||
| var timeline = new vis.Timeline(container, data, options); | |||||
| }); | }); | ||||