vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
3.2 KiB

  1. <html>
  2. <head>
  3. <title>Timeline | A lot of grouped data</title>
  4. <script src="../../../docs/js/jquery.min.js"></script>
  5. <script src="../../../dist/vis.js"></script>
  6. <link href="../../../dist/vis-timeline-graph2d.min.css" rel="stylesheet" type="text/css" />
  7. <style type="text/css">
  8. body {
  9. color: #4D4D4D;
  10. font: 10pt arial;
  11. }
  12. </style>
  13. <script src="../../googleAnalytics.js"></script>
  14. </head>
  15. <body onresize="/*timeline.checkResize();*/">
  16. <h1>Timeline vertical visibility</h1>
  17. <button onclick="showVisibleItems()">Show current visible items</button>
  18. <div>
  19. <h2>visible items:</h2>
  20. <h3 id="visibleItemsContainer"></h3>
  21. </div>
  22. <div id="mytimeline"></div>
  23. <br>
  24. <script>
  25. function showVisibleItems() {
  26. var a = timeline.getVisibleItems();
  27. console.log(a);
  28. document.getElementById("visibleItemsContainer").innerHTML = ""
  29. document.getElementById("visibleItemsContainer").innerHTML += a;
  30. };
  31. // get selected item count from url parameter
  32. var count = 1000;
  33. // create groups
  34. var groups = new vis.DataSet([
  35. {id: 1, content: 'Truck&nbsp;1'},
  36. {id: 2, content: 'Truck&nbsp;2'},
  37. {id: 3, content: 'Truck&nbsp;3'},
  38. {id: 4, content: 'Truck&nbsp;4'},
  39. {id: 5, content: 'Truck&nbsp;5'},
  40. {id: 6, content: 'Truck&nbsp;6'},
  41. {id: 7, content: 'Truck&nbsp;7'},
  42. {id: 8, content: 'Truck&nbsp;8'},
  43. {id: 9, content: 'Truck&nbsp;9'},
  44. {id: 10, content: 'Truck&nbsp;10'},
  45. {id: 11, content: 'Truck&nbsp;11'},
  46. {id: 12, content: 'Truck&nbsp;12'},
  47. {id: 13, content: 'Truck&nbsp;13'},
  48. {id: 14, content: 'Truck&nbsp;14'},
  49. {id: 15, content: 'Truck&nbsp;15'},
  50. {id: 16, content: 'Truck&nbsp;16'},
  51. {id: 17, content: 'Truck&nbsp;17'},
  52. {id: 18, content: 'Truck&nbsp;18'},
  53. {id: 19, content: 'Truck&nbsp;19'},
  54. {id: 20, content: 'Truck&nbsp;20'},
  55. {id: 21, content: 'Truck&nbsp;21'},
  56. {id: 22, content: 'Truck&nbsp;22'},
  57. {id: 23, content: 'Truck&nbsp;23'},
  58. {id: 24, content: 'Truck&nbsp;24'},
  59. {id: 25, content: 'Truck&nbsp;25'},
  60. ]);
  61. // create items
  62. var items = new vis.DataSet();
  63. var types = [ 'box', 'point', 'range', 'background']
  64. var order = 1;
  65. var truck = 1;
  66. for (var j = 0; j < 25; j++) {
  67. var date = new Date();
  68. for (var i = 0; i < count/25; i++) {
  69. date.setHours(date.getHours() + 4 * (Math.random() < 0.2));
  70. var start = new Date(date);
  71. date.setHours(date.getHours() + 2 + Math.floor(Math.random()*4));
  72. var end = new Date(date);
  73. var type = types[Math.floor(4 * Math.random())]
  74. items.add({
  75. id: order,
  76. group: truck,
  77. start: start,
  78. end: end,
  79. type: type,
  80. content: 'Order ' + order
  81. });
  82. order++;
  83. }
  84. truck++;
  85. }
  86. // specify options
  87. var options = {
  88. stack: true,
  89. maxHeight: 400,
  90. start: new Date(),
  91. end: new Date(1000*60*60*24 + (new Date()).valueOf()),
  92. editable: true,
  93. margin: {
  94. item: 10, // minimal margin between items
  95. axis: 5 // minimal margin between items and the axis
  96. },
  97. orientation: 'top'
  98. };
  99. // create a Timeline
  100. var container = document.getElementById('mytimeline');
  101. timeline = new vis.Timeline(container, null, options);
  102. timeline.setGroups(groups);
  103. timeline.setItems(items);
  104. </script>
  105. </body>
  106. </html>