Visualisation and management of multiple timelines with jQuery
$(function () {
$('.static-timeline').multiTimeline({
allDraggable: false,
allResizeable: false,
mousewheelPan: false,
mousewheelZoom: false,
markerDateFormat: false, // Hide datemarkers
start: '2015-02-18',
end: '2015-03-01',
data: [
{
'title': 'Simple timeline',
'start': '2015-02-20',
'end': '2015-02-26'
},
{
'title': 'Another timeline',
'start': '2015-02-22',
'end': '2015-02-24'
}
]
});
})
$(function () {
$('.editable-timeline').multiTimeline({
start: '2015-02-01',
end: '2015-02-28',
data: [
{
'title': 'I have been here forever',
'end': '2015-02-13'
},
{
'title': 'I\'ll be here forever',
'start': '2015-02-14'
},
{
'title': 'I share a layer',
'start': '2015-02-15',
'end': '2015-02-18',
'layer': 0
},
{
'title': 'I am red and overlapping',
'start': '2015-02-17',
'end': '2015-02-22',
'color': '#f00',
'layer': 1,
'zIndex': 20
},
{
'title': 'I am pretty simple',
'start': '2015-02-10',
'end': '2015-02-12'
},
]
});
})
$(function () {
$('.weeknumbers-timeline').multiTimeline({
// display weeknumbers
xAxisUnit: 'weeks',
xAxisDateFormat: 'ww',
start: '2015-07-01',
end: '2015-07-31',
data: weeknumbersTimlineData
});
})
$(function () {
$('.phase-timeline').multiTimeline({
start: '2015-06-26',
end: '2015-07-31',
data: [{
'phases': [
{
'title': 'Phase one',
'start': '2015-07-01',
'end': '2015-07-05',
'color': ['#FFA000', '#AAA', '#E87B0C']
},
{
'title': 'Phase two',
'start': '2015-07-08',
'end': '2015-07-14',
'color': '#E8AC0C'
},
{
'title': 'Phase three',
'start': '2015-07-20',
'end': '2015-07-24',
},
{
'title': 'End',
'start': '2015-07-24',
'end': '2015-07-24',
}
]
}, {
'phases': [
{
'title': 'Phase one',
'start': '2015-07-04',
'end': '2015-07-08',
},
{
'title': 'Phase two',
'start': '2015-07-10',
'end': '2015-07-12',
},
{
'title': 'Phase three',
'start': '2015-07-12',
'end': '2015-07-12',
},
{
'title': 'End',
'start': '2015-07-22',
'end': '2015-07-22',
}
]
},
]
});
})
<button type="button" class="js-go-left">Go left</button>
<button type="button" class="js-go-right">Go right</button>
<button type="button" class="js-zoom-out">Zoom out</button>
<button type="button" class="js-zoom-in">Zoom in</button>
<input type="range" id="range" min="0" max="40" value="5" class="js-set-zoom"/>
<script>
$(function () {
var timeline = $('.controls-timeline').multiTimeline({
mousewheelZoom: false,
start: '2015-02-01',
end: '2015-02-28',
zoom: 4,
zoomOutControl: $('.js-zoom-out'),
zoomInControl: $('.js-zoom-in'),
goRightControl: $('.js-go-right'),
goLeftControl: $('.js-go-left'),
onZoomChange: function (newZoom) {
$('.js-set-zoom').val(newZoom);
},
onTimelineClick: function (event, data) {
alert('You clicked on a timeline: ' + data.title);
},
data: advancedTimelineData
});
$('.js-set-zoom').on('change', function () {
timeline.data('multiTimeline').setZoom(this.value);
});
})
</script>