diff options
Diffstat (limited to 'www/lib/vis/examples/timeline/other/groupsPerformance.html')
| -rw-r--r-- | www/lib/vis/examples/timeline/other/groupsPerformance.html | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/www/lib/vis/examples/timeline/other/groupsPerformance.html b/www/lib/vis/examples/timeline/other/groupsPerformance.html new file mode 100644 index 00000000..1b16af30 --- /dev/null +++ b/www/lib/vis/examples/timeline/other/groupsPerformance.html @@ -0,0 +1,110 @@ +<html> +<head> + <title>Timeline | A lot of grouped data</title> + + <script src="../../../dist/vis.js"></script> + <link href="../../../dist/vis-timeline-graph2d.min.css" rel="stylesheet" type="text/css" /> + + <style type="text/css"> + body { + color: #4D4D4D; + font: 10pt arial; + } + </style> + <script src="../../googleAnalytics.js"></script> +</head> + +<body onresize="/*timeline.checkResize();*/"> +<h1>Timeline grouping performance</h1> + +<p> + Choose a number of items: + <a href="?count=100">100</a>, + <a href="?count=1000">1000</a>, + <a href="?count=10000">10000</a>, + <a href="?count=100000">100000</a> +<p> +<p> + Current number of items: <span id='count'>100</span> +</p> + +<div id="mytimeline"></div> + +<script> + /** + * Get URL parameter + * http://www.netlobo.com/url_query_string_javascript.html + */ + function gup( name ) { + name = name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]"); + var regexS = "[\\?&]"+name+"=([^&#]*)"; + var regex = new RegExp( regexS ); + var results = regex.exec( window.location.href ); + if( results == null ) + return ""; + else + return results[1]; + } + + // get selected item count from url parameter + var count = (Number(gup('count')) || 1000); + + // create groups + var groups = new vis.DataSet([ + {id: 1, content: 'Truck 1'}, + {id: 2, content: 'Truck 2'}, + {id: 3, content: 'Truck 3'}, + {id: 4, content: 'Truck 4'} + ]); + + // create items + var items = new vis.DataSet(); + + var order = 1; + var truck = 1; + for (var j = 0; j < 4; j++) { + var date = new Date(); + for (var i = 0; i < count/4; i++) { + date.setHours(date.getHours() + 4 * (Math.random() < 0.2)); + var start = new Date(date); + + date.setHours(date.getHours() + 2 + Math.floor(Math.random()*4)); + var end = new Date(date); + + items.add({ + id: order, + group: truck, + start: start, + end: end, + content: 'Order ' + order + }); + + order++; + } + truck++; + } + + // specify options + var options = { + stack: false, + start: new Date(), + end: new Date(1000*60*60*24 + (new Date()).valueOf()), + editable: true, + margin: { + item: 10, // minimal margin between items + axis: 5 // minimal margin between items and the axis + }, + orientation: 'top' + }; + + // create a Timeline + var container = document.getElementById('mytimeline'); + timeline = new vis.Timeline(container, null, options); + timeline.setGroups(groups); + timeline.setItems(items); + + document.getElementById('count').innerHTML = count; +</script> + +</body> +</html> |
