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.
 
 
 
 
 

120 lines
4.4 KiB

<html>
<head>
<title>Timeline demo</title>
<style type="text/css">
body {font: 10pt arial;}
</style>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="../timeline.js"></script>
<link rel="stylesheet" type="text/css" href="../timeline.css">
<script type="text/javascript">
google.load("visualization", "1");
// Set callback to run when API is loaded
google.setOnLoadCallback(drawVisualization);
var vis1;
var vis2;
function createTimeline1() {
// Create and populate a data table.
var data1 = new google.visualization.DataTable();
data1.addColumn('datetime', 'start');
data1.addColumn('datetime', 'end');
data1.addColumn('string', 'content');
data1.addRows([
[new Date(2010,7,23), , 'Conversation<br>' +
'<img src="img/comments-icon.png" style="width:32px; height:32px;">'],
[new Date(2010,7,23,23,0,0), , 'Mail from boss<br>' +
'<img src="img/mail-icon.png" style="width:32px; height:32px;">'],
[new Date(2010,7,24,16,0,0), , 'Report'],
[new Date(2010,7,26), new Date(2010,8,2), 'Traject A'],
[new Date(2010,7,28), , 'Memo<br>' +
'<img src="img/notes-edit-icon.png" style="width:48px; height:48px;">'],
[new Date(2010,7,29), , 'Phone call<br>' +
'<img src="img/Hardware-Mobile-Phone-icon.png" style="width:32px; height:32px;">'],
[new Date(2010,7,31), new Date(2010,8,3), 'Traject B'],
[new Date(2010,8,1,12,0,0), , 'Report<br>' +
'<img src="img/attachment-icon.png" style="width:32px; height:32px;">']
]);
// specify options
options1 = {width: "100%",
height: "300px",
layout: "box"
};
// Instantiate our timeline object.
vis1 = new links.Timeline(document.getElementById('timeline1'), options1);
google.visualization.events.addListener(vis1, 'rangechange', onrangechange1);
// Draw our timeline with the created data and options
vis1.draw(data1);
}
function createTimeline2() {
// Create and populate a data table.
var data2 = new google.visualization.DataTable();
data2.addColumn('datetime', 'start');
data2.addColumn('datetime', 'end');
data2.addColumn('string', 'content');
data2.addRows([
[new Date(2010,7,23), new Date(2010,7,30), 'Traject C'],
[new Date(2010,7,27), new Date(2010,7,31), 'Traject D']
]);
// specify options
var options2 = {
width: "100%",
height: "300px"
};
// Instantiate our timeline object.
vis2 = new links.Timeline(document.getElementById('timeline2'), options2);
google.visualization.events.addListener(vis2, 'rangechange', onrangechange2);
// Draw our timeline with the created data and options
vis2.draw(data2);
onrangechange1(); // to set the range equal initially
}
// Called when the Visualization API is loaded.
function drawVisualization() {
createTimeline1();
createTimeline2();
}
function onrangechange1() {
var range = vis1.getVisibleChartRange();
vis2.setVisibleChartRange(range.start, range.end);
}
function onrangechange2() {
var range = vis2.getVisibleChartRange();
vis1.setVisibleChartRange(range.start, range.end);
}
</script>
</head>
<body>
<p>When moving one timeline, the other moves along.</p>
<div id="timeline1"></div>
<br>
<div id="timeline2"></div>
<!-- Information about where the used icons come from -->
<p style="color:gray; font-size:10px; font-style:italic;">
Icons by <a href="http://dryicons.com" target="_blank" title="Aesthetica 2 Icons by DryIcons" style="color:gray;" >DryIcons</a>
and <a href="http://www.tpdkdesign.net" target="_blank" title="Refresh Cl Icons by TpdkDesign.net" style="color:gray;" >TpdkDesign.net</a>
</p>
</body>
</html>