|  | <!DOCTYPE HTML> | 
						
						
							|  | <html> | 
						
						
							|  | <head> | 
						
						
							|  |   <title>Timeline | Order groups</title> | 
						
						
							|  | 
 | 
						
						
							|  |   <style> | 
						
						
							|  |     body, html { | 
						
						
							|  |       font-family: arial, sans-serif; | 
						
						
							|  |       font-size: 11pt; | 
						
						
							|  |     } | 
						
						
							|  | 
 | 
						
						
							|  |     #visualization { | 
						
						
							|  |       box-sizing: border-box; | 
						
						
							|  |       width: 100%; | 
						
						
							|  |       height: 300px; | 
						
						
							|  |     } | 
						
						
							|  |   </style> | 
						
						
							|  | 
 | 
						
						
							|  |   <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> | 
						
						
							|  | <p> | 
						
						
							|  |   This example demonstrate custom ordering of groups. | 
						
						
							|  | </p> | 
						
						
							|  | <div id="visualization"></div> | 
						
						
							|  | 
 | 
						
						
							|  | <script> | 
						
						
							|  |   var groups = new vis.DataSet([ | 
						
						
							|  |     {id: 0, content: 'First', value: 1}, | 
						
						
							|  |     {id: 1, content: 'Third', value: 3}, | 
						
						
							|  |     {id: 2, content: 'Second', value: 2} | 
						
						
							|  |   ]); | 
						
						
							|  | 
 | 
						
						
							|  |   // create a dataset with items | 
						
						
							|  |   // note that months are zero-based in the JavaScript Date object, so month 3 is April | 
						
						
							|  |   var items = new vis.DataSet([ | 
						
						
							|  |     {id: 0, group: 0, content: 'item 0', start: new Date(2014, 3, 17), end: new Date(2014, 3, 21)}, | 
						
						
							|  |     {id: 1, group: 0, content: 'item 1', start: new Date(2014, 3, 19), end: new Date(2014, 3, 20)}, | 
						
						
							|  |     {id: 2, group: 1, content: 'item 2', start: new Date(2014, 3, 16), end: new Date(2014, 3, 24)}, | 
						
						
							|  |     {id: 3, group: 1, content: 'item 3', start: new Date(2014, 3, 23), end: new Date(2014, 3, 24)}, | 
						
						
							|  |     {id: 4, group: 1, content: 'item 4', start: new Date(2014, 3, 22), end: new Date(2014, 3, 26)}, | 
						
						
							|  |     {id: 5, group: 2, content: 'item 5', start: new Date(2014, 3, 24), end: new Date(2014, 3, 27)} | 
						
						
							|  |   ]); | 
						
						
							|  | 
 | 
						
						
							|  |   // create visualization | 
						
						
							|  |   var container = document.getElementById('visualization'); | 
						
						
							|  |   var options = { | 
						
						
							|  |     // option groupOrder can be a property name or a sort function | 
						
						
							|  |     // the sort function must compare two groups and return a value | 
						
						
							|  |     //     > 0 when a > b | 
						
						
							|  |     //     < 0 when a < b | 
						
						
							|  |     //       0 when a == b | 
						
						
							|  |     groupOrder: function (a, b) { | 
						
						
							|  |       return a.value - b.value; | 
						
						
							|  |     }, | 
						
						
							|  |     editable: true | 
						
						
							|  |   }; | 
						
						
							|  | 
 | 
						
						
							|  |   var timeline = new vis.Timeline(container); | 
						
						
							|  |   timeline.setOptions(options); | 
						
						
							|  |   timeline.setGroups(groups); | 
						
						
							|  |   timeline.setItems(items); | 
						
						
							|  | 
 | 
						
						
							|  | </script> | 
						
						
							|  | </body> | 
						
						
							|  | </html> |