<html>
							 | 
						|
								<head>
							 | 
						|
								  <title>Timeline | A lot of grouped data</title>
							 | 
						|
								
							 | 
						|
								  <script src="../../../dist/vis.js"></script>
							 | 
						|
								  <link href="../../../dist/vis.css" rel="stylesheet" type="text/css" />
							 | 
						|
								
							 | 
						|
								  <style type="text/css">
							 | 
						|
								    body {
							 | 
						|
								      color: #4D4D4D;
							 | 
						|
								      font: 10pt arial;
							 | 
						|
								    }
							 | 
						|
								  </style>
							 | 
						|
								  <script src="../../googleAnalytics.js"></script>
							 | 
						|
								</head>
							 | 
						|
								
							 | 
						|
								<body onresize="/*timeline.checkResize();*/">
							 | 
						|
								<h1>Timeline grouping performance</h1>
							 | 
						|
								
							 | 
						|
								<p>
							 | 
						|
								  Choose a number of items:
							 | 
						|
								  <a href="?count=100">100</a>,
							 | 
						|
								  <a href="?count=1000">1000</a>,
							 | 
						|
								  <a href="?count=10000">10000</a>,
							 | 
						|
								  <a href="?count=100000">100000</a>
							 | 
						|
								<p>
							 | 
						|
								<p>
							 | 
						|
								  Current number of items: <span id='count'>100</span>
							 | 
						|
								</p>
							 | 
						|
								
							 | 
						|
								<div id="mytimeline"></div>
							 | 
						|
								
							 | 
						|
								<script>
							 | 
						|
								  /**
							 | 
						|
								   * Get URL parameter
							 | 
						|
								   * http://www.netlobo.com/url_query_string_javascript.html
							 | 
						|
								   */
							 | 
						|
								  function gup( name ) {
							 | 
						|
								    name = name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
							 | 
						|
								    var regexS = "[\\?&]"+name+"=([^&#]*)";
							 | 
						|
								    var regex = new RegExp( regexS );
							 | 
						|
								    var results = regex.exec( window.location.href );
							 | 
						|
								    if( results == null )
							 | 
						|
								      return "";
							 | 
						|
								    else
							 | 
						|
								      return results[1];
							 | 
						|
								  }
							 | 
						|
								
							 | 
						|
								  // get selected item count from url parameter
							 | 
						|
								  var count = (Number(gup('count')) || 1000);
							 | 
						|
								
							 | 
						|
								  // create groups
							 | 
						|
								  var groups = new vis.DataSet([
							 | 
						|
								    {id: 1, content: 'Truck 1'},
							 | 
						|
								    {id: 2, content: 'Truck 2'},
							 | 
						|
								    {id: 3, content: 'Truck 3'},
							 | 
						|
								    {id: 4, content: 'Truck 4'}
							 | 
						|
								  ]);
							 | 
						|
								
							 | 
						|
								  // create items
							 | 
						|
								  var items = new vis.DataSet();
							 | 
						|
								
							 | 
						|
								  var order = 1;
							 | 
						|
								  var truck = 1;
							 | 
						|
								  for (var j = 0; j < 4; j++) {
							 | 
						|
								    var date = new Date();
							 | 
						|
								    for (var i = 0; i < count/4; i++) {
							 | 
						|
								      date.setHours(date.getHours() +  4 * (Math.random() < 0.2));
							 | 
						|
								      var start = new Date(date);
							 | 
						|
								
							 | 
						|
								      date.setHours(date.getHours() + 2 + Math.floor(Math.random()*4));
							 | 
						|
								      var end = new Date(date);
							 | 
						|
								
							 | 
						|
								      items.add({
							 | 
						|
								        id: order,
							 | 
						|
								        group: truck,
							 | 
						|
								        start: start,
							 | 
						|
								        end: end,
							 | 
						|
								        content: 'Order ' + order
							 | 
						|
								      });
							 | 
						|
								
							 | 
						|
								      order++;
							 | 
						|
								    }
							 | 
						|
								    truck++;
							 | 
						|
								  }
							 | 
						|
								
							 | 
						|
								  // specify options
							 | 
						|
								  var options = {
							 | 
						|
								    stack: false,
							 | 
						|
								    start: new Date(),
							 | 
						|
								    end: new Date(1000*60*60*24 + (new Date()).valueOf()),
							 | 
						|
								    editable: true,
							 | 
						|
								    margin: {
							 | 
						|
								      item: 10, // minimal margin between items
							 | 
						|
								      axis: 5   // minimal margin between items and the axis
							 | 
						|
								    },
							 | 
						|
								    orientation: 'top'
							 | 
						|
								  };
							 | 
						|
								
							 | 
						|
								  // create a Timeline
							 | 
						|
								  var container = document.getElementById('mytimeline');
							 | 
						|
								  timeline = new vis.Timeline(container, null, options);
							 | 
						|
								  timeline.setGroups(groups);
							 | 
						|
								  timeline.setItems(items);
							 | 
						|
								
							 | 
						|
								  document.getElementById('count').innerHTML = count;
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								</body>
							 | 
						|
								</html>
							 |