<!DOCTYPE HTML>
<html>
<head>
  <title>Timeline | a lot of data</title>

  <style>
    body, html {
      font-family: arial, sans-serif;
      font-size: 11pt;
    }
  </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.8.4/moment.min.js"></script>

  <script src="../../dist/vis.js"></script>
  <link href="../../dist/vis.css" rel="stylesheet" type="text/css" />
<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>
<h1>
  Test with a lot of data
</h1>
<p>
    <label for="count">Number of items</label>
    <input id="count" value="10000">
    <input id="draw" type="button" value="draw">
</p>
<div id="visualization"></div>

<script>
  // create a dataset with items
  var now = moment().minutes(0).seconds(0).milliseconds(0);
  var items = new vis.DataSet({
    type: {start: 'ISODate', end: 'ISODate' }
  });

  // create data
  function createData() {
    var count = parseInt(document.getElementById('count').value) || 100;
    var newData = [];
      var start = now;
    for (var i = 0; i < count; i++) {
      newData.push({id: i, content: 'item ' + i, start: start + 24*3600*1000 * i}); // much much faster than now.clone add days
    }
    items.clear();
    items.add(newData);
  }
  createData();

  document.getElementById('draw').onclick = createData;

  var container = document.getElementById('visualization');
  var options = {
    editable: true,
    start: now.clone().add(-3, 'days'),
    end: now.clone().add(11, 'days'),
    zoomMin: 1000 * 60 * 60 * 24,          // a day
    zoomMax: 1000 * 60 * 60 * 24 * 30 * 3  // three months
  };

  var timeline = new vis.Timeline(container, items, options);
</script>
</body>
</html>