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.

77 lines
1.7 KiB

  1. <html>
  2. <head>
  3. <title>Timeline | Horizontal Scroll Option</title>
  4. <script src="../../../dist/vis.js"></script>
  5. <link href="../../../dist/vis.css" rel="stylesheet" type="text/css" />
  6. <script src="../../googleAnalytics.js"></script>
  7. </head>
  8. <body>
  9. <h1>Timeline horizontal scroll option</h1>
  10. <div id="mytimeline"></div>
  11. <script>
  12. // create groups
  13. var numberOfGroups = 25;
  14. var groups = new vis.DataSet()
  15. for (var i = 0; i < numberOfGroups; i++) {
  16. groups.add({
  17. id: i,
  18. content: 'Truck&nbsp;' + i
  19. })
  20. }
  21. // create items
  22. var numberOfItems = 1000;
  23. var items = new vis.DataSet();
  24. var itemsPerGroup = Math.round(numberOfItems/numberOfGroups);
  25. for (var truck = 0; truck < numberOfGroups; truck++) {
  26. var date = new Date();
  27. for (var order = 0; order < itemsPerGroup; order++) {
  28. date.setHours(date.getHours() + 4 * (Math.random() < 0.2));
  29. var start = new Date(date);
  30. date.setHours(date.getHours() + 2 + Math.floor(Math.random()*4));
  31. var end = new Date(date);
  32. items.add({
  33. id: order + itemsPerGroup * truck,
  34. group: truck,
  35. start: start,
  36. end: end,
  37. content: 'Order ' + order
  38. });
  39. }
  40. }
  41. // specify options
  42. var options = {
  43. stack: true,
  44. horizontalScroll: true,
  45. zoomKey: 'ctrlKey',
  46. maxHeight: 400,
  47. start: new Date(),
  48. end: new Date(1000*60*60*24 + (new Date()).valueOf()),
  49. editable: true,
  50. margin: {
  51. item: 10, // minimal margin between items
  52. axis: 5 // minimal margin between items and the axis
  53. },
  54. orientation: 'top'
  55. };
  56. // create a Timeline
  57. var container = document.getElementById('mytimeline');
  58. timeline = new vis.Timeline(container, items, groups, options);
  59. </script>
  60. </body>
  61. </html>