<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Timeline | Groups ordering</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-timeline-graph2d.min.css" rel="stylesheet" type="text/css" />
|
|
<script src="../../googleAnalytics.js"></script>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
This example demonstrates 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>
|