| @ -0,0 +1,88 @@ | |||
| <!DOCTYPE HTML> | |||
| <html> | |||
| <head> | |||
| <title>Timeline | navigation menu</title> | |||
| <style type="text/css"> | |||
| body, html, input { | |||
| font-family: sans-serif; | |||
| font-size: 12pt; | |||
| } | |||
| #visualization { | |||
| position: relative; | |||
| } | |||
| .menu { | |||
| position: absolute; | |||
| top: 0; | |||
| right: 0; | |||
| margin: 10px; | |||
| z-index: 9999; | |||
| } | |||
| </style> | |||
| <script src="../../dist/vis.js"></script> | |||
| <link href="../../dist/vis.css" rel="stylesheet" type="text/css" /> | |||
| </head> | |||
| <body> | |||
| <div id="visualization"> | |||
| <div class="menu"> | |||
| <input type="button" id="zoomIn" value="Zoom in"/> | |||
| <input type="button" id="zoomOut" value="Zoom out"/> | |||
| <input type="button" id="moveLeft" value="Move left"/> | |||
| <input type="button" id="moveRight" value="Move right"/> | |||
| </div> | |||
| </div> | |||
| <script type="text/javascript"> | |||
| // create a timeline with some data | |||
| var container = document.getElementById('visualization'); | |||
| var items = [ | |||
| {id: 1, content: 'item 1', start: '2014-04-20'}, | |||
| {id: 2, content: 'item 2', start: '2014-04-14'}, | |||
| {id: 3, content: 'item 3', start: '2014-04-18'}, | |||
| {id: 4, content: 'item 4', start: '2014-04-16', end: '2014-04-19'}, | |||
| {id: 5, content: 'item 5', start: '2014-04-25'}, | |||
| {id: 6, content: 'item 6', start: '2014-04-27', type: 'point'} | |||
| ]; | |||
| var options = {}; | |||
| var timeline = new vis.Timeline(container, items, options); | |||
| /** | |||
| * Move the timeline a given percentage to left or right | |||
| * @param {Number} percentage For exampe 0.1 or -0.1 | |||
| */ | |||
| function move (percentage) { | |||
| var range = timeline.getWindow(); | |||
| var interval = range.end - range.start; | |||
| timeline.setWindow({ | |||
| start: range.start.valueOf() - interval * percentage, | |||
| end: range.end.valueOf() - interval * percentage | |||
| }); | |||
| } | |||
| /** | |||
| * Zoom the timeline a given percentage in or out | |||
| * @param {Number} percentage For exampe 0.1 (zoom out) or -0.1 (zoom in) | |||
| */ | |||
| function zoom (percentage) { | |||
| var range = timeline.getWindow(); | |||
| var interval = range.end - range.start; | |||
| timeline.setWindow({ | |||
| start: range.start.valueOf() - interval * percentage, | |||
| end: range.end.valueOf() + interval * percentage | |||
| }); | |||
| } | |||
| // attach events to the navigation buttons | |||
| document.getElementById('zoomIn').onclick = function () { zoom(-0.2); }; | |||
| document.getElementById('zoomOut').onclick = function () { zoom( 0.2); }; | |||
| document.getElementById('moveLeft').onclick = function () { move( 0.2); }; | |||
| document.getElementById('moveRight').onclick = function () { move(-0.2); }; | |||
| </script> | |||
| </body> | |||
| </html> | |||