91 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
| <head>
 | |
|   <title>Timeline | Update data on event</title>
 | |
| 
 | |
|   <style type="text/css">
 | |
|     body {
 | |
|       font: 11pt verdana;
 | |
|     }
 | |
| 
 | |
|     .vis.timeline .item.past {
 | |
|       filter: alpha(opacity=50);
 | |
|       opacity: 0.5;
 | |
|     }
 | |
|   </style>
 | |
| 
 | |
|   <script src="../../../dist/vis.js"></script>
 | |
|   <link href="../../../dist/vis.css" rel="stylesheet" type="text/css" />
 | |
|   <script src="../../googleAnalytics.js"></script>
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
| <p style="width: 600px;">
 | |
|   When the custom time bar is shown, the user can drag this bar to a specific
 | |
|   time. The Timeline sends an event that the custom time is changed, after
 | |
|   which the contents of the timeline can be changed according to the specified
 | |
|   time in past or future.
 | |
| </p>
 | |
| 
 | |
| <div id="customTime"> </div>
 | |
| <p></p>
 | |
| 
 | |
| <div id="mytimeline"></div>
 | |
| 
 | |
| 
 | |
| <script>
 | |
|   // create a data set
 | |
|   var data = new vis.DataSet([
 | |
|     {
 | |
|       id: 1,
 | |
|       start: new Date((new Date()).getTime() - 60 * 1000),
 | |
|       end: new Date(),
 | |
|       content: 'Dynamic event'
 | |
|     }
 | |
|   ]);
 | |
| 
 | |
|   // specify options
 | |
|   var options = {
 | |
|     showCurrentTime: true
 | |
|   };
 | |
| 
 | |
|   // create a timeline
 | |
|   var container = document.getElementById('mytimeline');
 | |
|   timeline = new vis.Timeline(container, data, options);
 | |
| 
 | |
|   timeline.addCustomTime(new Date());
 | |
| 
 | |
|   // add event listener
 | |
|   timeline.on('timechange', function (event) {
 | |
|     document.getElementById("customTime").innerHTML = "Custom Time: " + event.time;
 | |
| 
 | |
|     var item = data.get(1);
 | |
|     if (event.time > item.start) {
 | |
|       item.end = new Date(event.time);
 | |
|       var now = new Date();
 | |
|       if (event.time < now) {
 | |
|         item.content = "Dynamic event (past)";
 | |
|         item.className = 'past';
 | |
|       }
 | |
|       else if (event.time > now) {
 | |
|         item.content = "Dynamic event (future)";
 | |
|         item.className = 'future';
 | |
|       }
 | |
|       else  {
 | |
|         item.content = "Dynamic event (now)";
 | |
|         item.className = 'now';
 | |
|       }
 | |
| 
 | |
|       data.update(item);
 | |
|     }
 | |
|   });
 | |
| 
 | |
|   // set a custom range from -2 minute to +3 minutes current time
 | |
|   var start = new Date((new Date()).getTime() - 2 * 60 * 1000);
 | |
|   var end   = new Date((new Date()).getTime() + 3 * 60 * 1000);
 | |
|   timeline.setWindow(start, end, {animation: false});
 | |
| 
 | |
| </script>
 | |
| 
 | |
| </body>
 | |
| </html>
 |