Changes for v22.0.0.OS
This commit is contained in:
74
web/bower_components/vis/examples/timeline/groups/groups.html
vendored
Normal file
74
web/bower_components/vis/examples/timeline/groups/groups.html
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Timeline | Group example</title>
|
||||
|
||||
<style>
|
||||
body, html {
|
||||
font-family: arial, sans-serif;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
#visualization {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- note: moment.js must be loaded before vis.js, else vis.js uses its embedded version of moment.js -->
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
|
||||
|
||||
<script src="../../../dist/vis.js"></script>
|
||||
<link href="../../../dist/vis-timeline-graph2d.min.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
This example demonstrate using groups. Note that a DataSet is used for both
|
||||
items and groups, allowing to dynamically add, update or remove both items
|
||||
and groups via the DataSet.
|
||||
</p>
|
||||
<div id="visualization"></div>
|
||||
|
||||
<script>
|
||||
var now = moment().minutes(0).seconds(0).milliseconds(0);
|
||||
var groupCount = 3;
|
||||
var itemCount = 20;
|
||||
|
||||
// create a data set with groups
|
||||
var names = ['John', 'Alston', 'Lee', 'Grant'];
|
||||
var groups = new vis.DataSet();
|
||||
for (var g = 0; g < groupCount; g++) {
|
||||
groups.add({id: g, content: names[g]});
|
||||
}
|
||||
|
||||
// create a dataset with items
|
||||
var items = new vis.DataSet();
|
||||
for (var i = 0; i < itemCount; i++) {
|
||||
var start = now.clone().add(Math.random() * 200, 'hours');
|
||||
var group = Math.floor(Math.random() * groupCount);
|
||||
items.add({
|
||||
id: i,
|
||||
group: group,
|
||||
content: 'item ' + i +
|
||||
' <span style="color:#97B0F8;">(' + names[group] + ')</span>',
|
||||
start: start,
|
||||
type: 'box'
|
||||
});
|
||||
}
|
||||
|
||||
// create visualization
|
||||
var container = document.getElementById('visualization');
|
||||
var options = {
|
||||
groupOrder: 'content' // groupOrder can be a property name or a sorting function
|
||||
};
|
||||
|
||||
var timeline = new vis.Timeline(container);
|
||||
timeline.setOptions(options);
|
||||
timeline.setGroups(groups);
|
||||
timeline.setItems(items);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
338
web/bower_components/vis/examples/timeline/groups/groupsEditable.html
vendored
Normal file
338
web/bower_components/vis/examples/timeline/groups/groupsEditable.html
vendored
Normal file
@@ -0,0 +1,338 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Timeline | Editable Groups</title>
|
||||
|
||||
<style>
|
||||
body, html {
|
||||
font-family: arial, sans-serif;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
#visualization {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.vis-item.openwheel { background-color: #B0E2FF; }
|
||||
.vis-item.rally { background-color: #EAEAEA; }
|
||||
.vis-item.motorcycle { background-color: #FA8072; }
|
||||
.vis-item.touringcar { background-color: #B4EEB4; }
|
||||
.vis-item.endurance { background-color: #FFFFCC; }
|
||||
</style>
|
||||
|
||||
<script src="../../../dist/vis.js"></script>
|
||||
<link href="../../../dist/vis-timeline-graph2d.min.css" rel="stylesheet" type="text/css" />
|
||||
<!-- -->
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
This example demonstrates editable groups (reordering and hiding).
|
||||
<button onclick="showAllGroups()">Restore Hidden</button>
|
||||
</p>
|
||||
<div id="visualization"></div>
|
||||
|
||||
<script>
|
||||
// http://motocal.com/
|
||||
var groups = new vis.DataSet([
|
||||
{"content": "Formula E", "id": "Formula E", "value": 1, className:'openwheel'},
|
||||
{"content": "WRC", "id": "WRC", "value": 2, className:'rally'},
|
||||
{"content": "MotoGP", "id": "MotoGP", "value": 3, className:'motorcycle'},
|
||||
{"content": "V8SC", "id": "V8SC", "value": 4, className:'touringcars'},
|
||||
{"content": "WTCC", "id": "WTCC", "value": 5, className:'touringcars'},
|
||||
{"content": "F1", "id": "F1", "value": 6, className:'openwheel'},
|
||||
{"content": "SBK", "id": "SBK", "value": 7, className:'motorcycle'},
|
||||
{"content": "IndyCar", "id": "IndyCar", "value": 8, className:'openwheel'},
|
||||
{"content": "MotoAmerica", "id": "MotoAmerica", "value": 9, className:'motorcycle'},
|
||||
{"content": "SGP", "id": "SGP", "value": 10, className:'rally'},
|
||||
{"content": "EWC", "id": "EWC", "value": 11, className:'endurance'},
|
||||
{"content": "BSB", "id": "BSB", "value": 12, className:'motorcycle'},
|
||||
{"content": "DTM", "id": "DTM", "value": 13, className:'touringcars'},
|
||||
{"content": "BTCC", "id": "BTCC", "value": 14, className:'touringcars'},
|
||||
{"content": "WorldRX", "id": "WorldRX", "value": 15, className:'rally'},
|
||||
{"content": "WSR", "id": "WSR", "value": 16, className:'openwheel'},
|
||||
{"content": "Roads", "id": "Roads", "value": 17, className:'motorcycle'},
|
||||
{"content": "WEC", "id": "WEC", "value": 18, className:'endurance'},
|
||||
{"content": "GP2", "id": "GP2", "value": 19, className:'openwheel'}
|
||||
]);
|
||||
|
||||
// function to make all groups visible again
|
||||
function showAllGroups(){
|
||||
groups.forEach(function(group){
|
||||
groups.update({id: group.id, visible: true});
|
||||
})
|
||||
};
|
||||
|
||||
// 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([
|
||||
{start: new Date(2015, 0, 10), end: new Date(2015, 0, 11), group:"Formula E", className:"openwheel", content:"Argentina",id:"531@motocal.net"},
|
||||
{start: new Date(2015, 0, 22), end: new Date(2015, 0, 26), group:"WRC", className:"rally", content:"Rallye Monte-Carlo",id:"591@motocal.net"},
|
||||
{start: new Date(2015, 1, 4), end: new Date(2015, 1, 8), group:"MotoGP", className:"motorcycle", content:"Sepang MotoGP Test 1",id:"578@motocal.net"},
|
||||
{start: new Date(2015, 1, 12), end: new Date(2015, 1, 16), group:"WRC", className:"rally", content:"Rally Sweden",id:"592@motocal.net"},
|
||||
{start: new Date(2015, 1, 20), end: new Date(2015, 1, 23), group:"SBK", className:"motorcycle", content:"Australia",id:"616@motocal.net"},
|
||||
{start: new Date(2015, 1, 23), end: new Date(2015, 1, 27), group:"MotoGP", className:"motorcycle", content:"Sepang MotoGP Test 2",id:"579@motocal.net"},
|
||||
{start: new Date(2015, 1, 26), end: new Date(2015, 2, 2), group:"V8SC", className:"touringcar", content:"Clipsal 500 Adelaide",id:"659@motocal.net"},
|
||||
{start: new Date(2015, 2, 5), end: new Date(2015, 2, 9), group:"WRC", className:"rally", content:"Rally Guanajuato Mexico",id:"593@motocal.net"},
|
||||
{start: new Date(2015, 2, 6), end: new Date(2015, 2, 9), group:"WTCC", className:"touringcar", content:"Argentina",id:"717@motocal.net"},
|
||||
{start: new Date(2015, 2, 12), end: new Date(2015, 2, 16), group:"V8SC", className:"touringcar", content:"Australian Grand Prix",id:"660@motocal.net"},
|
||||
{start: new Date(2015, 2, 13), end: new Date(2015, 2, 16), group:"F1", className:"openwheel", content:"Australia",id:"630@motocal.net"},
|
||||
{start: new Date(2015, 2, 14), end: new Date(2015, 2, 15), group:"Formula E", className:"openwheel", content:"Miami, USA",id:"534@motocal.net"},
|
||||
{start: new Date(2015, 2, 14), end: new Date(2015, 2, 17), group:"MotoGP", className:"motorcycle", content:"Qatar MotoGP Test",id:"577@motocal.net"},
|
||||
{start: new Date(2015, 2, 20), end: new Date(2015, 2, 23), group:"SBK", className:"motorcycle", content:"Thailand",id:"617@motocal.net"},
|
||||
{start: new Date(2015, 2, 27), end: new Date(2015, 2, 30), group:"F1", className:"openwheel", content:"Malaysia",id:"631@motocal.net"},
|
||||
{start: new Date(2015, 2, 27), end: new Date(2015, 2, 30), group:"V8SC", className:"touringcar", content:"Tasmania SuperSprint",id:"661@motocal.net"},
|
||||
{start: new Date(2015, 2, 27), end: new Date(2015, 2, 30), group:"IndyCar", className:"openwheel", content:"Grand Prix of St. Petersburg",id:"752@motocal.net"},
|
||||
{start: new Date(2015, 3, 4), end: new Date(2015, 3, 7), group:"BSB", className:"motorcycle", content:"Round 1",id:"604@motocal.net"},
|
||||
{start: new Date(2015, 3, 4), end: new Date(2015, 3, 6), group:"BTCC", className:"touringcar", content:"Rounds 1, 2 & 3",id:"581@motocal.net"},
|
||||
{start: new Date(2015, 3, 4), end: new Date(2015, 3, 5), group:"Formula E", className:"openwheel", content:"Long Beach, USA",id:"535@motocal.net"},
|
||||
{start: new Date(2015, 3, 10), end: new Date(2015, 3, 13), group:"IndyCar", className:"openwheel", content:"Indy Grand Prix of Louisiana",id:"753@motocal.net"},
|
||||
{start: new Date(2015, 3, 10), end: new Date(2015, 3, 13), group:"MotoAmerica", className:"motorcycle", content:"COTA",id:"705@motocal.net"},
|
||||
{start: new Date(2015, 3, 10), end: new Date(2015, 3, 13), group:"SBK", className:"motorcycle", content:"Aragon",id:"618@motocal.net"},
|
||||
{start: new Date(2015, 3, 10), end: new Date(2015, 3, 13), group:"MotoGP", className:"motorcycle", content:"Americas",id:"540@motocal.net"},
|
||||
{start: new Date(2015, 3, 10), end: new Date(2015, 3, 13), group:"F1", className:"openwheel", content:"China",id:"632@motocal.net"},
|
||||
{start: new Date(2015, 3, 12), end: new Date(2015, 3, 13), group:"WEC", className:"endurance", content:"6 Hours of Silverstone",id:"674@motocal.net"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 20), group:"BSB", className:"motorcycle", content:"Round 2",id:"605@motocal.net"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 20), group:"F1", className:"openwheel", content:"Bahrain",id:"633@motocal.net"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 20), group:"IndyCar", className:"openwheel", content:"Grand Prix of Long Beach",id:"754@motocal.net"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 20), group:"MotoAmerica", className:"motorcycle", content:"Road Atlanta",id:"706@motocal.net"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 20), group:"SBK", className:"motorcycle", content:"Netherlands",id:"619@motocal.net"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 20), group:"WTCC", className:"touringcar", content:"Morocco",id:"718@motocal.net"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 20), group:"MotoGP", className:"motorcycle", content:"Argentina",id:"559@motocal.net"},
|
||||
{start: new Date(2015, 3, 18), end: new Date(2015, 3, 19), group:"SGP", className:"rally", content:"Warsaw",id:"729@motocal.net"},
|
||||
{start: new Date(2015, 3, 18), end: new Date(2015, 3, 20), group:"EWC", className:"endurance", content:"24 Heures Moto Le Mans",id:"701@motocal.net"},
|
||||
{start: new Date(2015, 3, 18), end: new Date(2015, 3, 20), group:"BTCC", className:"touringcar", content:"Rounds 4, 5 & 6",id:"582@motocal.net"},
|
||||
{start: new Date(2015, 3, 23), end: new Date(2015, 3, 27), group:"WRC", className:"rally", content:"Rally Argentina",id:"595@motocal.net"},
|
||||
{start: new Date(2015, 3, 24), end: new Date(2015, 3, 27), group:"WorldRX", className:"rally", content:"Portugal",id:"686@motocal.net"},
|
||||
{start: new Date(2015, 3, 24), end: new Date(2015, 3, 27), group:"IndyCar", className:"openwheel", content:"Indy Grand Prix of Alabama",id:"755@motocal.net"},
|
||||
{start: new Date(2015, 3, 25), end: new Date(2015, 3, 27), group:"WSR", className:"openwheel", content:"Spain",id:"742@motocal.net"},
|
||||
{start: new Date(2015, 4, 1), end: new Date(2015, 4, 4), group:"MotoGP", className:"motorcycle", content:"Spain",id:"542@motocal.net"},
|
||||
{start: new Date(2015, 4, 1), end: new Date(2015, 4, 4), group:"WorldRX", className:"rally", content:"Hockenheim",id:"768@motocal.net"},
|
||||
{start: new Date(2015, 4, 1), end: new Date(2015, 4, 4), group:"DTM", className:"touringcar", content:"Hockenheim",id:"650@motocal.net"},
|
||||
{start: new Date(2015, 4, 1), end: new Date(2015, 4, 4), group:"WTCC", className:"touringcar", content:"Hungary",id:"719@motocal.net"},
|
||||
{start: new Date(2015, 4, 1), end: new Date(2015, 4, 4), group:"V8SC", className:"touringcar", content:"Perth SuperSprint",id:"662@motocal.net"},
|
||||
{start: new Date(2015, 4, 2), end: new Date(2015, 4, 5), group:"BSB", className:"motorcycle", content:"Round 3",id:"606@motocal.net"},
|
||||
{start: new Date(2015, 4, 2), end: new Date(2015, 4, 3), group:"WEC", className:"endurance", content:"6 Hours of Spa-Francorchamps",id:"675@motocal.net"},
|
||||
{start: new Date(2015, 4, 7), end: new Date(2015, 4, 10), group:"IndyCar", className:"openwheel", content:"Grand Prix of Indianapolis",id:"756@motocal.net"},
|
||||
{start: new Date(2015, 4, 8), end: new Date(2015, 4, 11), group:"F1", className:"openwheel", content:"Spain",id:"634@motocal.net"},
|
||||
{start: new Date(2015, 4, 8), end: new Date(2015, 4, 11), group:"SBK", className:"motorcycle", content:"Italy",id:"620@motocal.net"},
|
||||
{start: new Date(2015, 4, 9), end: new Date(2015, 4, 10), group:"Formula E", className:"openwheel", content:"Monaco",id:"536@motocal.net"},
|
||||
{start: new Date(2015, 4, 9), end: new Date(2015, 4, 11), group:"BTCC", className:"touringcar", content:"Rounds 7, 8 & 9",id:"583@motocal.net"},
|
||||
{start: new Date(2015, 4, 10), end: new Date(2015, 4, 17), group:"Roads", className:"motorcycle", content:"North West 200",id:"682@motocal.net"},
|
||||
{start: new Date(2015, 4, 15), end: new Date(2015, 4, 17), group:"WTCC", className:"touringcar", content:"Germany",id:"720@motocal.net"},
|
||||
{start: new Date(2015, 4, 15), end: new Date(2015, 4, 18), group:"WorldRX", className:"rally", content:"Belgium",id:"687@motocal.net"},
|
||||
{start: new Date(2015, 4, 15), end: new Date(2015, 4, 18), group:"V8SC", className:"touringcar", content:"Winton SuperSprint",id:"663@motocal.net"},
|
||||
{start: new Date(2015, 4, 15), end: new Date(2015, 4, 18), group:"MotoGP", className:"motorcycle", content:"France",id:"543@motocal.net"},
|
||||
{start: new Date(2015, 4, 15), end: new Date(2015, 4, 18), group:"MotoAmerica", className:"motorcycle", content:"VIR",id:"707@motocal.net"},
|
||||
{start: new Date(2015, 4, 16), end: new Date(2015, 4, 17), group:"SGP", className:"rally", content:"Tampere",id:"730@motocal.net"},
|
||||
{start: new Date(2015, 4, 21), end: new Date(2015, 4, 25), group:"WRC", className:"rally", content:"Rally de Portugal",id:"594@motocal.net"},
|
||||
{start: new Date(2015, 4, 21), end: new Date(2015, 4, 25), group:"F1", className:"openwheel", content:"Monaco",id:"635@motocal.net"},
|
||||
{start: new Date(2015, 4, 22), end: new Date(2015, 4, 25), group:"WorldRX", className:"rally", content:"Great Britain",id:"688@motocal.net"},
|
||||
{start: new Date(2015, 4, 22), end: new Date(2015, 4, 25), group:"SBK", className:"motorcycle", content:"UK",id:"621@motocal.net"},
|
||||
{start: new Date(2015, 4, 22), end: new Date(2015, 4, 25), group:"IndyCar", className:"openwheel", content:"Indianapolis 500",id:"757@motocal.net"},
|
||||
{start: new Date(2015, 4, 23), end: new Date(2015, 4, 24), group:"SGP", className:"rally", content:"Prague",id:"731@motocal.net"},
|
||||
{start: new Date(2015, 4, 23), end: new Date(2015, 4, 24), group:"Formula E", className:"openwheel", content:"Germany",id:"537@motocal.net"},
|
||||
{start: new Date(2015, 4, 24), end: new Date(2015, 4, 25), group:"WSR", className:"openwheel", content:"Monaco",id:"743@motocal.net"},
|
||||
{start: new Date(2015, 4, 29), end: new Date(2015, 5, 1), group:"MotoAmerica", className:"motorcycle", content:"Road America",id:"708@motocal.net"},
|
||||
{start: new Date(2015, 4, 29), end: new Date(2015, 5, 1), group:"IndyCar", className:"openwheel", content:"Dual in Detroit",id:"758@motocal.net"},
|
||||
{start: new Date(2015, 4, 29), end: new Date(2015, 5, 1), group:"MotoGP", className:"motorcycle", content:"Italy",id:"562@motocal.net"},
|
||||
{start: new Date(2015, 4, 29), end: new Date(2015, 5, 1), group:"DTM", className:"touringcar", content:"Lausitzring",id:"651@motocal.net"},
|
||||
{start: new Date(2015, 4, 30), end: new Date(2015, 5, 13), group:"Roads", className:"motorcycle", content:"Isle of Man TT",id:"683@motocal.net"},
|
||||
{start: new Date(2015, 4, 30), end: new Date(2015, 5, 1), group:"WSR", className:"openwheel", content:"Belgium",id:"745@motocal.net"},
|
||||
{start: new Date(2015, 5, 4), end: new Date(2015, 5, 7), group:"IndyCar", className:"openwheel", content:"Firestone 600",id:"759@motocal.net"},
|
||||
{start: new Date(2015, 5, 5), end: new Date(2015, 5, 8), group:"SBK", className:"motorcycle", content:"Portugal",id:"622@motocal.net"},
|
||||
{start: new Date(2015, 5, 5), end: new Date(2015, 5, 8), group:"F1", className:"openwheel", content:"Canada",id:"636@motocal.net"},
|
||||
{start: new Date(2015, 5, 5), end: new Date(2015, 5, 8), group:"WTCC", className:"touringcar", content:"Russia",id:"721@motocal.net"},
|
||||
{start: new Date(2015, 5, 6), end: new Date(2015, 5, 7), group:"Formula E", className:"openwheel", content:"Russia",id:"716@motocal.net"},
|
||||
{start: new Date(2015, 5, 6), end: new Date(2015, 5, 8), group:"BTCC", className:"touringcar", content:"Rounds 10, 11 & 12",id:"584@motocal.net"},
|
||||
{start: new Date(2015, 5, 11), end: new Date(2015, 5, 15), group:"WRC", className:"rally", content:"Rally d'Italia Sardegna",id:"596@motocal.net"},
|
||||
{start: new Date(2015, 5, 12), end: new Date(2015, 5, 15), group:"MotoGP", className:"motorcycle", content:"Catalunya",id:"545@motocal.net"},
|
||||
{start: new Date(2015, 5, 12), end: new Date(2015, 5, 15), group:"IndyCar", className:"openwheel", content:"Indy Toronto",id:"760@motocal.net"},
|
||||
{start: new Date(2015, 5, 12), end: new Date(2015, 5, 15), group:"MotoAmerica", className:"motorcycle", content:"Barber",id:"709@motocal.net"},
|
||||
{start: new Date(2015, 5, 13), end: new Date(2015, 5, 15), group:"WSR", className:"openwheel", content:"Hungary",id:"746@motocal.net"},
|
||||
{start: new Date(2015, 5, 13), end: new Date(2015, 5, 15), group:"WEC", className:"endurance", content:"24 Heures du Mans",id:"676@motocal.net"},
|
||||
{start: new Date(2015, 5, 19), end: new Date(2015, 5, 22), group:"V8SC", className:"touringcar", content:"Skycity Triple Crown",id:"664@motocal.net"},
|
||||
{start: new Date(2015, 5, 19), end: new Date(2015, 5, 22), group:"WTCC", className:"touringcar", content:"Slovakia",id:"722@motocal.net"},
|
||||
{start: new Date(2015, 5, 19), end: new Date(2015, 5, 22), group:"SBK", className:"motorcycle", content:"Riviera di Rimini",id:"623@motocal.net"},
|
||||
{start: new Date(2015, 5, 19), end: new Date(2015, 5, 22), group:"BSB", className:"motorcycle", content:"Round 4",id:"607@motocal.net"},
|
||||
{start: new Date(2015, 5, 19), end: new Date(2015, 5, 22), group:"F1", className:"openwheel", content:"Austria",id:"637@motocal.net"},
|
||||
{start: new Date(2015, 5, 19), end: new Date(2015, 5, 22), group:"WorldRX", className:"rally", content:"Germany",id:"689@motocal.net"},
|
||||
{start: new Date(2015, 5, 25), end: new Date(2015, 5, 28), group:"MotoGP", className:"motorcycle", content:"Netherlands",id:"546@motocal.net"},
|
||||
{start: new Date(2015, 5, 25), end: new Date(2015, 5, 28), group:"IndyCar", className:"openwheel", content:"MAVTV 500",id:"761@motocal.net"},
|
||||
{start: new Date(2015, 5, 26), end: new Date(2015, 5, 29), group:"WTCC", className:"touringcar", content:"France",id:"723@motocal.net"},
|
||||
{start: new Date(2015, 5, 26), end: new Date(2015, 5, 29), group:"DTM", className:"touringcar", content:"Norisring",id:"652@motocal.net"},
|
||||
{start: new Date(2015, 5, 26), end: new Date(2015, 5, 29), group:"MotoAmerica", className:"motorcycle", content:"Miller",id:"710@motocal.net"},
|
||||
{start: new Date(2015, 5, 27), end: new Date(2015, 5, 29), group:"BTCC", className:"touringcar", content:"Rounds 13, 14 & 15",id:"585@motocal.net"},
|
||||
{start: new Date(2015, 5, 27), end: new Date(2015, 5, 29), group:"Formula E", className:"openwheel", content:"United Kingdom",id:"538@motocal.net"},
|
||||
{start: new Date(2015, 6, 2), end: new Date(2015, 6, 6), group:"WRC", className:"rally", content:"Rally Poland",id:"597@motocal.net"},
|
||||
{start: new Date(2015, 6, 3), end: new Date(2015, 6, 6), group:"F1", className:"openwheel", content:"Britain",id:"638@motocal.net"},
|
||||
{start: new Date(2015, 6, 3), end: new Date(2015, 6, 6), group:"WorldRX", className:"rally", content:"Sweden",id:"690@motocal.net"},
|
||||
{start: new Date(2015, 6, 3), end: new Date(2015, 6, 6), group:"BSB", className:"motorcycle", content:"Round 5",id:"608@motocal.net"},
|
||||
{start: new Date(2015, 6, 4), end: new Date(2015, 6, 5), group:"SGP", className:"rally", content:"Cardiff",id:"732@motocal.net"},
|
||||
{start: new Date(2015, 6, 6), end: new Date(2015, 6, 10), group:"Roads", className:"motorcycle", content:"Southern 100",id:"714@motocal.net"},
|
||||
{start: new Date(2015, 6, 10), end: new Date(2015, 6, 13), group:"MotoGP", className:"motorcycle", content:"Germany",id:"565@motocal.net"},
|
||||
{start: new Date(2015, 6, 10), end: new Date(2015, 6, 13), group:"DTM", className:"touringcar", content:"Zandvoort",id:"653@motocal.net"},
|
||||
{start: new Date(2015, 6, 10), end: new Date(2015, 6, 13), group:"IndyCar", className:"openwheel", content:"Wisconsin 250",id:"763@motocal.net"},
|
||||
{start: new Date(2015, 6, 10), end: new Date(2015, 6, 13), group:"V8SC", className:"touringcar", content:"Townsville 400",id:"665@motocal.net"},
|
||||
{start: new Date(2015, 6, 10), end: new Date(2015, 6, 13), group:"WTCC", className:"touringcar", content:"Portugal",id:"724@motocal.net"},
|
||||
{start: new Date(2015, 6, 11), end: new Date(2015, 6, 13), group:"WSR", className:"openwheel", content:"Austria",id:"747@motocal.net"},
|
||||
{start: new Date(2015, 6, 16), end: new Date(2015, 6, 19), group:"IndyCar", className:"openwheel", content:"Iowa Corn Indy 300",id:"764@motocal.net"},
|
||||
{start: new Date(2015, 6, 17), end: new Date(2015, 6, 20), group:"SBK", className:"motorcycle", content:"USA",id:"625@motocal.net"},
|
||||
{start: new Date(2015, 6, 17), end: new Date(2015, 6, 20), group:"BSB", className:"motorcycle", content:"Round 6",id:"609@motocal.net"},
|
||||
{start: new Date(2015, 6, 17), end: new Date(2015, 6, 20), group:"MotoAmerica", className:"motorcycle", content:"Mazda Raceway",id:"711@motocal.net"},
|
||||
{start: new Date(2015, 6, 18), end: new Date(2015, 6, 19), group:"SGP", className:"rally", content:"Daugavpils",id:"733@motocal.net"},
|
||||
{start: new Date(2015, 6, 24), end: new Date(2015, 6, 27), group:"F1", className:"openwheel", content:"Hungary",id:"640@motocal.net"},
|
||||
{start: new Date(2015, 6, 25), end: new Date(2015, 6, 26), group:"SGP", className:"rally", content:"Målilla",id:"734@motocal.net"},
|
||||
{start: new Date(2015, 6, 26), end: new Date(2015, 6, 27), group:"EWC", className:"endurance", content:"Suzuka 8 Hours",id:"702@motocal.net"},
|
||||
{start: new Date(2015, 6, 30), end: new Date(2015, 7, 3), group:"WRC", className:"rally", content:"Rally Finland",id:"598@motocal.net"},
|
||||
{start: new Date(2015, 6, 31), end: new Date(2015, 7, 3), group:"BSB", className:"motorcycle", content:"Round 7",id:"610@motocal.net"},
|
||||
{start: new Date(2015, 6, 31), end: new Date(2015, 7, 3), group:"V8SC", className:"touringcar", content:"Ipswich SuperSprint",id:"666@motocal.net"},
|
||||
{start: new Date(2015, 6, 31), end: new Date(2015, 7, 3), group:"DTM", className:"touringcar", content:"Spielberg",id:"654@motocal.net"},
|
||||
{start: new Date(2015, 6, 31), end: new Date(2015, 7, 3), group:"IndyCar", className:"openwheel", content:"Honda Indy 200",id:"765@motocal.net"},
|
||||
{start: new Date(2015, 6, 31), end: new Date(2015, 7, 3), group:"SBK", className:"motorcycle", content:"Malaysia",id:"626@motocal.net"},
|
||||
{start: new Date(2015, 7, 3), end: new Date(2015, 7, 9), group:"Roads", className:"motorcycle", content:"Ulster Grand Prix",id:"684@motocal.net"},
|
||||
{start: new Date(2015, 7, 7), end: new Date(2015, 7, 9), group:"WorldRX", className:"rally", content:"Canada",id:"691@motocal.net"},
|
||||
{start: new Date(2015, 7, 7), end: new Date(2015, 7, 10), group:"MotoAmerica", className:"motorcycle", content:"INDY",id:"712@motocal.net"},
|
||||
{start: new Date(2015, 7, 7), end: new Date(2015, 7, 10), group:"MotoGP", className:"motorcycle", content:"Indianapolis",id:"548@motocal.net"},
|
||||
{start: new Date(2015, 7, 8), end: new Date(2015, 7, 10), group:"BTCC", className:"touringcar", content:"Rounds 16, 17 & 18",id:"586@motocal.net"},
|
||||
{start: new Date(2015, 7, 8), end: new Date(2015, 7, 9), group:"SGP", className:"rally", content:"Horsens",id:"735@motocal.net"},
|
||||
{start: new Date(2015, 7, 10), end: new Date(2015, 7, 12), group:"Formula E", className:"openwheel", content:"Pre-season test 1",id:"769@motocal.net"},
|
||||
{start: new Date(2015, 7, 14), end: new Date(2015, 7, 17), group:"MotoGP", className:"motorcycle", content:"Czech Republic",id:"549@motocal.net"},
|
||||
{start: new Date(2015, 7, 17), end: new Date(2015, 7, 19), group:"Formula E", className:"openwheel", content:"Pre-season test 2",id:"770@motocal.net"},
|
||||
{start: new Date(2015, 7, 20), end: new Date(2015, 7, 24), group:"WRC", className:"rally", content:"Rallye Deutschland",id:"599@motocal.net"},
|
||||
{start: new Date(2015, 7, 21), end: new Date(2015, 7, 24), group:"IndyCar", className:"openwheel", content:"Pocono IndyCar 500",id:"766@motocal.net"},
|
||||
{start: new Date(2015, 7, 21), end: new Date(2015, 7, 24), group:"BSB", className:"motorcycle", content:"Round 8",id:"611@motocal.net"},
|
||||
{start: new Date(2015, 7, 21), end: new Date(2015, 7, 24), group:"WorldRX", className:"rally", content:"Norway",id:"692@motocal.net"},
|
||||
{start: new Date(2015, 7, 21), end: new Date(2015, 7, 24), group:"F1", className:"openwheel", content:"Belgium",id:"641@motocal.net"},
|
||||
{start: new Date(2015, 7, 21), end: new Date(2015, 7, 24), group:"V8SC", className:"touringcar", content:"Sydney Motorsport Park SuperSprint",id:"667@motocal.net"},
|
||||
{start: new Date(2015, 7, 22), end: new Date(2015, 7, 23), group:"EWC", className:"endurance", content:"Oschersleben 8 Hours",id:"703@motocal.net"},
|
||||
{start: new Date(2015, 7, 22), end: new Date(2015, 8, 5), group:"Roads", className:"motorcycle", content:"Classic TT & Manx GP",id:"715@motocal.net"},
|
||||
{start: new Date(2015, 7, 22), end: new Date(2015, 7, 24), group:"BTCC", className:"touringcar", content:"Rounds 19, 20 & 21",id:"587@motocal.net"},
|
||||
{start: new Date(2015, 7, 24), end: new Date(2015, 7, 26), group:"Formula E", className:"openwheel", content:"Pre-season test 3",id:"771@motocal.net"},
|
||||
{start: new Date(2015, 7, 28), end: new Date(2015, 7, 31), group:"DTM", className:"touringcar", content:"Moscow Raceway",id:"655@motocal.net"},
|
||||
{start: new Date(2015, 7, 28), end: new Date(2015, 7, 31), group:"IndyCar", className:"openwheel", content:"Grand Prix of Sonoma",id:"767@motocal.net"},
|
||||
{start: new Date(2015, 7, 28), end: new Date(2015, 7, 31), group:"MotoGP", className:"motorcycle", content:"Great Britain",id:"568@motocal.net"},
|
||||
{start: new Date(2015, 7, 29), end: new Date(2015, 7, 30), group:"SGP", className:"rally", content:"Gorzów",id:"737@motocal.net"},
|
||||
{start: new Date(2015, 7, 30), end: new Date(2015, 7, 31), group:"WEC", className:"endurance", content:"6 Hours of Nürburgring",id:"677@motocal.net"},
|
||||
{start: new Date(2015, 8, 4), end: new Date(2015, 8, 7), group:"BSB", className:"motorcycle", content:"Round 9",id:"612@motocal.net"},
|
||||
{start: new Date(2015, 8, 4), end: new Date(2015, 8, 7), group:"WorldRX", className:"rally", content:"France",id:"693@motocal.net"},
|
||||
{start: new Date(2015, 8, 4), end: new Date(2015, 8, 7), group:"F1", className:"openwheel", content:"Italy",id:"642@motocal.net"},
|
||||
{start: new Date(2015, 8, 5), end: new Date(2015, 8, 7), group:"WSR", className:"openwheel", content:"United Kingdom",id:"748@motocal.net"},
|
||||
{start: new Date(2015, 8, 5), end: new Date(2015, 8, 7), group:"BTCC", className:"touringcar", content:"Rounds 22, 23 & 24",id:"588@motocal.net"},
|
||||
{start: new Date(2015, 8, 10), end: new Date(2015, 8, 14), group:"WRC", className:"rally", content:"Rally Australia",id:"600@motocal.net"},
|
||||
{start: new Date(2015, 8, 11), end: new Date(2015, 8, 14), group:"V8SC", className:"touringcar", content:"Sandown 500",id:"668@motocal.net"},
|
||||
{start: new Date(2015, 8, 11), end: new Date(2015, 8, 14), group:"MotoAmerica", className:"motorcycle", content:"New Jersey",id:"713@motocal.net"},
|
||||
{start: new Date(2015, 8, 11), end: new Date(2015, 8, 14), group:"MotoGP", className:"motorcycle", content:"San Marino",id:"551@motocal.net"},
|
||||
{start: new Date(2015, 8, 11), end: new Date(2015, 8, 14), group:"WTCC", className:"touringcar", content:"Japan",id:"725@motocal.net"},
|
||||
{start: new Date(2015, 8, 11), end: new Date(2015, 8, 14), group:"DTM", className:"touringcar", content:"Oschersleben",id:"656@motocal.net"},
|
||||
{start: new Date(2015, 8, 12), end: new Date(2015, 8, 14), group:"WSR", className:"openwheel", content:"Germany",id:"749@motocal.net"},
|
||||
{start: new Date(2015, 8, 12), end: new Date(2015, 8, 13), group:"SGP", className:"rally", content:"Krško",id:"738@motocal.net"},
|
||||
{start: new Date(2015, 8, 18), end: new Date(2015, 8, 21), group:"SBK", className:"motorcycle", content:"Spain",id:"627@motocal.net"},
|
||||
{start: new Date(2015, 8, 18), end: new Date(2015, 8, 21), group:"BSB", className:"motorcycle", content:"Round 10",id:"613@motocal.net"},
|
||||
{start: new Date(2015, 8, 18), end: new Date(2015, 8, 21), group:"F1", className:"openwheel", content:"Singapore",id:"643@motocal.net"},
|
||||
{start: new Date(2015, 8, 18), end: new Date(2015, 8, 21), group:"WorldRX", className:"rally", content:"Barcelona",id:"694@motocal.net"},
|
||||
{start: new Date(2015, 8, 19), end: new Date(2015, 8, 20), group:"WEC", className:"endurance", content:"6 Hours of Circuit of the Americas",id:"678@motocal.net"},
|
||||
{start: new Date(2015, 8, 19), end: new Date(2015, 8, 21), group:"EWC", className:"endurance", content:"Bol d’Or",id:"704@motocal.net"},
|
||||
{start: new Date(2015, 8, 25), end: new Date(2015, 8, 28), group:"MotoGP", className:"motorcycle", content:"Aragon",id:"570@motocal.net"},
|
||||
{start: new Date(2015, 8, 25), end: new Date(2015, 8, 28), group:"DTM", className:"touringcar", content:"Nürburgring",id:"657@motocal.net"},
|
||||
{start: new Date(2015, 8, 25), end: new Date(2015, 8, 28), group:"WTCC", className:"touringcar", content:"China",id:"726@motocal.net"},
|
||||
{start: new Date(2015, 8, 25), end: new Date(2015, 8, 28), group:"F1", className:"openwheel", content:"Japan",id:"644@motocal.net"},
|
||||
{start: new Date(2015, 8, 26), end: new Date(2015, 8, 28), group:"BTCC", className:"touringcar", content:"Rounds 25, 26 & 27",id:"589@motocal.net"},
|
||||
{start: new Date(2015, 8, 26), end: new Date(2015, 8, 27), group:"SGP", className:"rally", content:"Stockholm",id:"739@motocal.net"},
|
||||
{start: new Date(2015, 8, 26), end: new Date(2015, 8, 28), group:"WSR", className:"openwheel", content:"France",id:"750@motocal.net"},
|
||||
{start: new Date(2015, 9, 1), end: new Date(2015, 9, 5), group:"WRC", className:"rally", content:"Rallye de France",id:"601@motocal.net"},
|
||||
{start: new Date(2015, 9, 2), end: new Date(2015, 9, 5), group:"SBK", className:"motorcycle", content:"France",id:"628@motocal.net"},
|
||||
{start: new Date(2015, 9, 2), end: new Date(2015, 9, 5), group:"BSB", className:"motorcycle", content:"Round 11",id:"614@motocal.net"},
|
||||
{start: new Date(2015, 9, 2), end: new Date(2015, 9, 5), group:"WorldRX", className:"rally", content:"Turkey",id:"695@motocal.net"},
|
||||
{start: new Date(2015, 9, 3), end: new Date(2015, 9, 4), group:"SGP", className:"rally", content:"Toruń",id:"740@motocal.net"},
|
||||
{start: new Date(2015, 9, 8), end: new Date(2015, 9, 12), group:"V8SC", className:"touringcar", content:"Bathurst 1000",id:"669@motocal.net"},
|
||||
{start: new Date(2015, 9, 9), end: new Date(2015, 9, 12), group:"F1", className:"openwheel", content:"Russia",id:"645@motocal.net"},
|
||||
{start: new Date(2015, 9, 9), end: new Date(2015, 9, 12), group:"MotoGP", className:"motorcycle", content:"Japan",id:"553@motocal.net"},
|
||||
{start: new Date(2015, 9, 10), end: new Date(2015, 9, 12), group:"BTCC", className:"touringcar", content:"Rounds 28, 29 & 30",id:"590@motocal.net"},
|
||||
{start: new Date(2015, 9, 11), end: new Date(2015, 9, 12), group:"WEC", className:"endurance", content:"6 Hours of Fuji",id:"679@motocal.net"},
|
||||
{start: new Date(2015, 9, 16), end: new Date(2015, 9, 19), group:"WorldRX", className:"rally", content:"Italy",id:"696@motocal.net"},
|
||||
{start: new Date(2015, 9, 16), end: new Date(2015, 9, 19), group:"MotoGP", className:"motorcycle", content:"Australia",id:"572@motocal.net"},
|
||||
{start: new Date(2015, 9, 16), end: new Date(2015, 9, 19), group:"DTM", className:"touringcar", content:"Hockenheim",id:"658@motocal.net"},
|
||||
{start: new Date(2015, 9, 16), end: new Date(2015, 9, 19), group:"BSB", className:"motorcycle", content:"Round 12",id:"615@motocal.net"},
|
||||
{start: new Date(2015, 9, 16), end: new Date(2015, 9, 19), group:"SBK", className:"motorcycle", content:"Qatar",id:"629@motocal.net"},
|
||||
{start: new Date(2015, 9, 17), end: new Date(2015, 9, 19), group:"WSR", className:"openwheel", content:"Spain",id:"751@motocal.net"},
|
||||
{start: new Date(2015, 9, 22), end: new Date(2015, 9, 26), group:"WRC", className:"rally", content:"Rally de Espana",id:"602@motocal.net"},
|
||||
{start: new Date(2015, 9, 23), end: new Date(2015, 9, 26), group:"V8SC", className:"touringcar", content:"Gold Coast 600",id:"670@motocal.net"},
|
||||
{start: new Date(2015, 9, 23), end: new Date(2015, 9, 26), group:"MotoGP", className:"motorcycle", content:"Malaysia",id:"573@motocal.net"},
|
||||
{start: new Date(2015, 9, 23), end: new Date(2015, 9, 26), group:"F1", className:"openwheel", content:"United States",id:"646@motocal.net"},
|
||||
{start: new Date(2015, 9, 24), end: new Date(2015, 9, 25), group:"SGP", className:"rally", content:"Melbourne",id:"741@motocal.net"},
|
||||
{start: new Date(2015, 9, 30), end: new Date(2015, 10, 2), group:"F1", className:"openwheel", content:"Mexico",id:"647@motocal.net"},
|
||||
{start: new Date(2015, 9, 30), end: new Date(2015, 10, 2), group:"WTCC", className:"touringcar", content:"Thailand",id:"727@motocal.net"},
|
||||
{start: new Date(2015, 10, 1), end: new Date(2015, 10, 2), group:"WEC", className:"endurance", content:"6 Hours of Shanghai",id:"680@motocal.net"},
|
||||
{start: new Date(2015, 10, 6), end: new Date(2015, 10, 9), group:"MotoGP", className:"motorcycle", content:"Valencia",id:"556@motocal.net"},
|
||||
{start: new Date(2015, 10, 6), end: new Date(2015, 10, 9), group:"V8SC", className:"touringcar", content:"ITM 500 Auckland",id:"671@motocal.net"},
|
||||
{start: new Date(2015, 10, 12), end: new Date(2015, 10, 16), group:"WRC", className:"rally", content:"Wales Rally GB",id:"603@motocal.net"},
|
||||
{start: new Date(2015, 10, 13), end: new Date(2015, 10, 16), group:"F1", className:"openwheel", content:"Brazil",id:"648@motocal.net"},
|
||||
{start: new Date(2015, 10, 19), end: new Date(2015, 10, 23), group:"Roads", className:"motorcycle", content:"Macau Grand Prix",id:"685@motocal.net"},
|
||||
{start: new Date(2015, 10, 20), end: new Date(2015, 10, 23), group:"WTCC", className:"touringcar", content:"Qatar",id:"728@motocal.net"},
|
||||
{start: new Date(2015, 10, 20), end: new Date(2015, 10, 23), group:"V8SC", className:"touringcar", content:"Phillip Island SuperSprint",id:"672@motocal.net"},
|
||||
{start: new Date(2015, 10, 21), end: new Date(2015, 10, 22), group:"WEC", className:"endurance", content:"6 Hours of Bahrain",id:"681@motocal.net"},
|
||||
{start: new Date(2015, 10, 27), end: new Date(2015, 10, 30), group:"WorldRX", className:"rally", content:"Argentina",id:"700@motocal.net"},
|
||||
{start: new Date(2015, 10, 27), end: new Date(2015, 10, 30), group:"F1", className:"openwheel", content:"Abu Dhabi",id:"649@motocal.net"},
|
||||
{start: new Date(2015, 11, 4), end: new Date(2015, 11, 7), group:"V8SC", className:"touringcar", content:"Sydney 500",id:"673@motocal.net"},
|
||||
{start: new Date(2015, 2, 9), end: new Date(2015, 2, 11), group:"GP2", className:"openwheel", content:"Yas Marina Test",id:"1@gp2series.com"},
|
||||
{start: new Date(2015, 3, 1), end: new Date(2015, 3, 3), group:"GP2", className:"openwheel", content:"Sakhir Test",id:"2@gp2series.com"},
|
||||
{start: new Date(2015, 3, 17), end: new Date(2015, 3, 19), group:"GP2", className:"openwheel", content:"Sakhir, Bahrain",id:"3@gp2series.com"},
|
||||
{start: new Date(2015, 4, 8), end: new Date(2015, 4, 10), group:"GP2", className:"openwheel", content:"Barcelona, Spain",id:"4@gp2series.com"},
|
||||
{start: new Date(2015, 4, 21), end: new Date(2015, 4, 23), group:"GP2", className:"openwheel", content:"Monte Carlo, Monaco",id:"5@gp2series.com"},
|
||||
{start: new Date(2015, 5, 19), end: new Date(2015, 5, 21), group:"GP2", className:"openwheel", content:"Spielber, Austria",id:"6@gp2series.com"},
|
||||
{start: new Date(2015, 6, 3), end: new Date(2015, 6, 5), group:"GP2", className:"openwheel", content:"Silverstone, Great-Britain",id:"7@gp2series.com"},
|
||||
{start: new Date(2015, 6, 24), end: new Date(2015, 6, 26), group:"GP2", className:"openwheel", content:"Budapest, Hungary",id:"8@gp2series.com"},
|
||||
{start: new Date(2015, 7, 21), end: new Date(2015, 7, 23), group:"GP2", className:"openwheel", content:"Spa-Francorchamps, Belgium",id:"9@gp2series.com"},
|
||||
{start: new Date(2015, 8, 4), end: new Date(2015, 8, 6), group:"GP2", className:"openwheel", content:"Monza, Italy",id:"10@gp2series.com"},
|
||||
{start: new Date(2015, 9, 9), end: new Date(2015, 9, 11), group:"GP2", className:"openwheel", content:"Sochi, Russia",id:"11@gp2series.com"},
|
||||
{start: new Date(2015, 10, 27), end: new Date(2015, 10, 29), group:"GP2", className:"openwheel", content:"Yas Marina, UAE",id:"12@gp2series.com"},
|
||||
])
|
||||
|
||||
|
||||
// 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;
|
||||
},
|
||||
groupOrderSwap: function (a, b, groups) {
|
||||
var v = a.value;
|
||||
a.value = b.value;
|
||||
b.value = v;
|
||||
},
|
||||
groupTemplate: function(group){
|
||||
var container = document.createElement('div');
|
||||
var label = document.createElement('span');
|
||||
label.innerHTML = group.content + ' ';
|
||||
container.insertAdjacentElement('afterBegin',label);
|
||||
var hide = document.createElement('button');
|
||||
hide.innerHTML = 'hide';
|
||||
hide.style.fontSize = 'small';
|
||||
hide.addEventListener('click',function(){
|
||||
groups.update({id: group.id, visible: false});
|
||||
});
|
||||
container.insertAdjacentElement('beforeEnd',hide);
|
||||
return container;
|
||||
},
|
||||
orientation: 'both',
|
||||
editable: true,
|
||||
groupEditable: true,
|
||||
start: new Date(2015, 6, 1),
|
||||
end: new Date(2015, 10, 1)
|
||||
};
|
||||
|
||||
var timeline = new vis.Timeline(container);
|
||||
timeline.setOptions(options);
|
||||
timeline.setGroups(groups);
|
||||
timeline.setItems(items);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
68
web/bower_components/vis/examples/timeline/groups/groupsOrdering.html
vendored
Normal file
68
web/bower_components/vis/examples/timeline/groups/groupsOrdering.html
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
<!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" />
|
||||
|
||||
</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>
|
||||
113
web/bower_components/vis/examples/timeline/groups/nestedGroups.html
vendored
Normal file
113
web/bower_components/vis/examples/timeline/groups/nestedGroups.html
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Timeline | Nested Groups example</title>
|
||||
|
||||
<style>
|
||||
body, html {
|
||||
font-family: arial, sans-serif;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
#visualization {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- note: moment.js must be loaded before vis.js, else vis.js uses its embedded version of moment.js -->
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
|
||||
|
||||
<script src="../../../dist/vis.js"></script>
|
||||
<link href="../../../dist/vis.min.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
This example demonstrate using groups. Note that a DataSet is used for both
|
||||
items and groups, allowing to dynamically add, update or remove both items
|
||||
and groups via the DataSet.
|
||||
</p>
|
||||
<div id="visualization"></div>
|
||||
|
||||
<script>
|
||||
var now = moment().minutes(0).seconds(0).milliseconds(0);
|
||||
var itemCount = 60;
|
||||
|
||||
// create a data set with groups
|
||||
var groups = new vis.DataSet();
|
||||
|
||||
groups.add([
|
||||
{
|
||||
id: 1,
|
||||
content: "Lee",
|
||||
nestedGroups: [11,12,13]
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
content: "invisible group",
|
||||
visible: false
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
content: "John",
|
||||
nestedGroups: [14],
|
||||
showNested: false
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
content: "Alson"
|
||||
},
|
||||
|
||||
]);
|
||||
|
||||
groups.add([
|
||||
{
|
||||
id: 11,
|
||||
content: "cook",
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
content: "shop",
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
content: "clean house",
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
content: "wash dishes",
|
||||
}
|
||||
]);
|
||||
|
||||
// create a dataset with items
|
||||
var items = new vis.DataSet();
|
||||
var groupIds = groups.getIds();
|
||||
var types = [ 'box', 'point', 'range', 'background']
|
||||
for (var i = 0; i < itemCount; i++) {
|
||||
var start = now.clone().add(Math.random() * 200, 'hours');
|
||||
var end = start.clone().add(2, 'hours');
|
||||
var randomGroupId = groupIds[Math.floor(Math.random() * groupIds.length)];
|
||||
var type = types[Math.floor(4 * Math.random())]
|
||||
|
||||
items.add({
|
||||
id: i,
|
||||
group: randomGroupId,
|
||||
content: 'item ' + i,
|
||||
start: start,
|
||||
end: end,
|
||||
type: type
|
||||
});
|
||||
}
|
||||
|
||||
// create visualization
|
||||
var container = document.getElementById('visualization');
|
||||
var options = {
|
||||
groupOrder: 'content' // groupOrder can be a property name or a sorting function
|
||||
};
|
||||
|
||||
var timeline = new vis.Timeline(container, items, groups, options);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
161
web/bower_components/vis/examples/timeline/groups/subgroups.html
vendored
Normal file
161
web/bower_components/vis/examples/timeline/groups/subgroups.html
vendored
Normal file
@@ -0,0 +1,161 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Timeline | Subgroups</title>
|
||||
|
||||
<script src="../../../dist/vis.js"></script>
|
||||
<link href="../../../dist/vis.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<style>
|
||||
body, html {
|
||||
font-family: arial, sans-serif;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
.vis-item.vis-background.negative {
|
||||
background-color: rgba(255, 0, 0, 0.2);
|
||||
}
|
||||
.vis-item.vis-background.positive {
|
||||
background-color: rgba(105, 255, 98, 0.20);
|
||||
}
|
||||
.vis-item.vis-background.marker {
|
||||
border-left: 2px solid green;
|
||||
}
|
||||
|
||||
table {
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
td {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
code {
|
||||
padding: 2px 4px;
|
||||
font-size: 90%;
|
||||
color: #c7254e;
|
||||
background-color: #f9f2f4;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>This example shows the workings of the subgroups. Subgroups can be stacked on each other, and the items within each subgroup can be stacked.</p>
|
||||
<p>When stacking is on for the whole timeline, all items in the timeline will be stacked with respect to each other <em>unless</em> the <code>stackSubgroups</code> option is set to <code>true</code>
|
||||
and at least one subgroup has stacking enabled. In that case the subgroups will be stacked with respect to each other and the elements in each subgroup will be stacked based on the individual
|
||||
stacking settings for each subgroup.
|
||||
</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Status</th>
|
||||
<th>Toggle</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr >
|
||||
<td>Stacking</td>
|
||||
<td id="stackingStatus">false</td>
|
||||
<td><button onclick="toggleStacking()">Toggle</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>stackSubgroups</td>
|
||||
<td id="stackSubgroupsStatus">true</td>
|
||||
<td><button onclick="toggleStackSubgroups()">Toggle</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Stack Subgroup 0</td>
|
||||
<td id="stacksg_1">false</td>
|
||||
<td><button onclick="toggleSubgroupStack('sg_1')">Toggle</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Stack Subgroup 1</td>
|
||||
<td id="stacksg_2">false</td>
|
||||
<td><button onclick="toggleSubgroupStack('sg_2')">Toggle</button></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Stack Subgroup 2</td>
|
||||
<td id="stacksg_3">false</td>
|
||||
<td><button onclick="toggleSubgroupStack('sg_3')">Toggle</button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
<div id="visualization"></div>
|
||||
|
||||
<script>
|
||||
// create a dataset with items
|
||||
// we specify the type of the fields `start` and `end` here to be strings
|
||||
// containing an ISO date. The fields will be outputted as ISO dates
|
||||
// automatically getting data from the DataSet via items.get().
|
||||
var items = new vis.DataSet({
|
||||
type: { start: 'ISODate', end: 'ISODate' }
|
||||
});
|
||||
var groups = new vis.DataSet([{
|
||||
id: 'bar', content:'bar', subgroupOrder: function (a,b) {return a.subgroupOrder - b.subgroupOrder;}, subgroupStack: {'sg_1': false, 'sg_2': false, 'sg_3': false }
|
||||
},{
|
||||
id: 'foo', content:'foo', subgroupOrder: 'subgroupOrder' // this group has no subgroups but this would be the other method to do the sorting.
|
||||
}]);
|
||||
// add items to the DataSet
|
||||
items.add([
|
||||
{id: 'A',start: '2014-01-20', end: '2014-01-22', type: 'background', group:'foo'},
|
||||
{id: 'B',start: '2014-01-22', end: '2014-01-23', type: 'background', group:'foo', className: 'negative'},
|
||||
{id: 0, content: 'no subgroup', start: '2014-01-20', end: '2014-01-22',group:'foo'},
|
||||
|
||||
{id: 'SG_1_1',start: '2014-01-25', end: '2014-01-27', type: 'background', group:'bar', subgroup:'sg_1', subgroupOrder:0},
|
||||
{id: 'SG_1_2', start: '2014-01-26', end: '2014-01-27', type: 'background', className: 'positive',group:'bar', subgroup:'sg_1', subgroupOrder:0},
|
||||
{id: 1, content: 'subgroup0_1', start: '2014-01-23T12:00:00', end: '2014-01-26T12:00:00',group:'bar', subgroup:'sg_1', subgroupOrder:0},
|
||||
{id: 2, content: 'subgroup0_2', start: '2014-01-22T12:00:01', end: '2014-01-25T12:00:00',group:'bar', subgroup:'sg_1', subgroupOrder:0},
|
||||
|
||||
{id: 'SG_2_1', start: '2014-02-01', end: '2014-02-02', type: 'background', group:'bar', subgroup:'sg_2', subgroupOrder:1},
|
||||
{id: 'SG_2_2', start: '2014-02-2', end: '2014-02-03', type: 'background', className: 'negative',group:'bar', subgroup:'sg_2', subgroupOrder:1},
|
||||
{id: 3, content: 'subgroup1_1', start: '2014-01-27T02:00:00', end: '2014-01-29',group:'bar', subgroup:'sg_2', subgroupOrder:1},
|
||||
{id: 4, content: 'subgroup1_2', start: '2014-01-28', end: '2014-02-02',group:'bar', subgroup:'sg_2', subgroupOrder:1},
|
||||
|
||||
{id: 'SG_3_1',start: '2014-01-23', end: '2014-01-25', type: 'background', group:'bar', subgroup:'sg_3', subgroupOrder:2, content:"a"},
|
||||
{id: 'SG_3_2', start: '2014-01-26', end: '2014-01-28', type: 'background', className: 'positive',group:'bar', subgroup:'sg_3', subgroupOrder:2, content:"b"},
|
||||
{id: 5, content: 'subgroup2_1', start: '2014-01-23T12:00:00', end: '2014-01-26T12:00:00',group:'bar', subgroup:'sg_3', subgroupOrder:2},
|
||||
{id: 6, content: 'subgroup2_2', start: '2014-01-26T12:00:01', end: '2014-01-29T12:00:00',group:'bar', subgroup:'sg_3', subgroupOrder:2},
|
||||
|
||||
{id: 'background', start: '2014-01-29', end: '2014-01-30', type: 'background', className: 'negative',group:'bar'},
|
||||
{id: 'background_all', start: '2014-01-31', end: '2014-02-02', type: 'background', className: 'positive'},
|
||||
]);
|
||||
|
||||
var container = document.getElementById('visualization');
|
||||
var stackingStatus = document.getElementById('stackingStatus');
|
||||
var stackSubgroupsStatus = document.getElementById('stackSubgroupsStatus');
|
||||
var options = {
|
||||
// orientation:'top'
|
||||
start: '2014-01-10',
|
||||
end: '2014-02-10',
|
||||
editable: true,
|
||||
stack: false,
|
||||
stackSubgroups: true
|
||||
};
|
||||
|
||||
var timeline = new vis.Timeline(container, items, groups, options);
|
||||
|
||||
function toggleStacking() {
|
||||
options.stack = !options.stack;
|
||||
stackingStatus.innerHTML = options.stack.toString();
|
||||
timeline.setOptions(options);
|
||||
}
|
||||
|
||||
function toggleStackSubgroups() {
|
||||
options.stackSubgroups = !options.stackSubgroups;
|
||||
stackSubgroupsStatus.innerHTML = options.stackSubgroups.toString();
|
||||
timeline.setOptions(options);
|
||||
}
|
||||
|
||||
function toggleSubgroupStack(subgroup) {
|
||||
groups.get("bar").subgroupStack[subgroup] = !groups.get("bar").subgroupStack[subgroup];
|
||||
document.getElementById('stack' + subgroup).innerHTML = groups.get("bar").subgroupStack[subgroup].toString();
|
||||
timeline.setGroups(groups);
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
120
web/bower_components/vis/examples/timeline/groups/verticalItemsHide.html
vendored
Normal file
120
web/bower_components/vis/examples/timeline/groups/verticalItemsHide.html
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Timeline | A lot of grouped data</title>
|
||||
|
||||
<script src="../../../docs/js/jquery.min.js"></script>
|
||||
<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>
|
||||
|
||||
</head>
|
||||
|
||||
<body onresize="/*timeline.checkResize();*/">
|
||||
<h1>Timeline vertical visibility</h1>
|
||||
|
||||
|
||||
<button onclick="showVisibleItems()">Show current visible items</button>
|
||||
<div>
|
||||
<h2>visible items:</h2>
|
||||
<h3 id="visibleItemsContainer"></h3>
|
||||
</div>
|
||||
|
||||
<div id="mytimeline"></div>
|
||||
<br>
|
||||
|
||||
<script>
|
||||
function showVisibleItems() {
|
||||
var a = timeline.getVisibleItems();
|
||||
console.log(a);
|
||||
document.getElementById("visibleItemsContainer").innerHTML = ""
|
||||
document.getElementById("visibleItemsContainer").innerHTML += a;
|
||||
};
|
||||
|
||||
// get selected item count from url parameter
|
||||
var 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'},
|
||||
{id: 5, content: 'Truck 5'},
|
||||
{id: 6, content: 'Truck 6'},
|
||||
{id: 7, content: 'Truck 7'},
|
||||
{id: 8, content: 'Truck 8'},
|
||||
{id: 9, content: 'Truck 9'},
|
||||
{id: 10, content: 'Truck 10'},
|
||||
{id: 11, content: 'Truck 11'},
|
||||
{id: 12, content: 'Truck 12'},
|
||||
{id: 13, content: 'Truck 13'},
|
||||
{id: 14, content: 'Truck 14'},
|
||||
{id: 15, content: 'Truck 15'},
|
||||
{id: 16, content: 'Truck 16'},
|
||||
{id: 17, content: 'Truck 17'},
|
||||
{id: 18, content: 'Truck 18'},
|
||||
{id: 19, content: 'Truck 19'},
|
||||
{id: 20, content: 'Truck 20'},
|
||||
{id: 21, content: 'Truck 21'},
|
||||
{id: 22, content: 'Truck 22'},
|
||||
{id: 23, content: 'Truck 23'},
|
||||
{id: 24, content: 'Truck 24'},
|
||||
{id: 25, content: 'Truck 25'},
|
||||
|
||||
]);
|
||||
|
||||
// create items
|
||||
var items = new vis.DataSet();
|
||||
|
||||
var types = [ 'box', 'point', 'range', 'background']
|
||||
var order = 1;
|
||||
var truck = 1;
|
||||
for (var j = 0; j < 25; j++) {
|
||||
var date = new Date();
|
||||
for (var i = 0; i < count/25; 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);
|
||||
|
||||
var type = types[Math.floor(4 * Math.random())]
|
||||
|
||||
items.add({
|
||||
id: order,
|
||||
group: truck,
|
||||
start: start,
|
||||
end: end,
|
||||
type: type,
|
||||
content: 'Order ' + order
|
||||
});
|
||||
|
||||
order++;
|
||||
}
|
||||
truck++;
|
||||
}
|
||||
|
||||
// specify options
|
||||
var options = {
|
||||
stack: true,
|
||||
maxHeight: 400,
|
||||
start: new Date(),
|
||||
end: new Date(1000*60*60*24 + (new Date()).valueOf()),
|
||||
};
|
||||
|
||||
|
||||
// create a Timeline
|
||||
var container = document.getElementById('mytimeline');
|
||||
timeline = new vis.Timeline(container, null, options);
|
||||
timeline.setGroups(groups);
|
||||
timeline.setItems(items);
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user