tupali/gantt.php

174 lines
4.8 KiB
PHP

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Highcharts Gantt Example</title>
<style type="text/css">
#container {
max-width: 800px;
margin: 1em auto;
}
</style>
</head>
<body>
<script src="./librerias/gantt/code/highcharts-gantt.js"></script>
<script src="./librerias/gantt/code/modules/exporting.js"></script>
<div id="container"></div>
<script type="text/javascript">
var today = new Date(),
day = 1000 * 60 * 60 * 24,
// Utility functions
dateFormat = Highcharts.dateFormat,
defined = Highcharts.defined,
isObject = Highcharts.isObject,
reduce = Highcharts.reduce;
Highcharts.ganttChart('container', {
series: [{
name: 'Offices',
data: [
{
"id": "8e647b88953955a0526144a01296188c",
"name": "Proyectos"
},
{
"id": "aa228450be56fb1943f2eb40bb687d98",
"name": "Kepe",
"start": 1588309200,
"end": 1593493200,
"restante": "38 d\u00edas, 4 horas, 25 minutos, 27 segundos",
"parent": "8e647b88953955a0526144a01296188c",
"parent_nombre": "Proyectos"
},
{
"id": "a9881b5e7c205f3e5dbba8ba6a40ed19",
"name": "Recolección de requerimientos",
"start": 1590123600,
"end": 1590901200,
"restante": "8 d\u00edas, 4 horas, 25 minutos, 27 segundos",
"parent": "aa228450be56fb1943f2eb40bb687d98",
"parent_nombre": "Kepe"
},
{
"id": "22b3e978f3d4d4cc89e9f0cb195a144d",
"name": "Montaje de servicios"
},
{
"id": "4fbde6339780a402349ddc0d307c7b86",
"name": "Gestor de usuarios y tareas",
"start": 1590937800,
"end": null,
"restante": "-1590194073 segundos",
"parent": "22b3e978f3d4d4cc89e9f0cb195a144d",
"parent_nombre": "Montaje de servicios"
},
{
"id": "03fe81aa14f23f47b952b6f1d36637b5",
"name": "Otra tarea",
"start": 1590037200,
"end": 1590642000,
"restante": "5 d\u00edas, 4 horas, 25 minutos, 27 segundos",
"parent": "4fbde6339780a402349ddc0d307c7b86",
"parent_nombre": "Gestor de usuarios y tareas"
},
{
"id": "8ae8e207a2a997ed7ec93d3457f6f32e",
"name": "Socialización con los coordinadores",
"start": 1588309200,
"end": 1590901200,
"restante": "8 d\u00edas, 4 horas, 25 minutos, 27 segundos",
"parent": "4fbde6339780a402349ddc0d307c7b86",
"parent_nombre": "Gestor de usuarios y tareas"
},
{
"id": "1b068f6ce2f85897a2f163e1fd1078bc",
"name": "Coordinación y administración"
},
{
"id": "b5281d5b30cb046b081a039f7e383d6d",
"name": "Convenio universidad del Quindio",
"start": 1588309200,
"end": 1590901200,
"restante": "8 d\u00edas, 4 horas, 25 minutos, 27 segundos",
"parent": "1b068f6ce2f85897a2f163e1fd1078bc",
"parent_nombre": "Coordinación y administración"
},
{
"id": "cf499f210d28afdb86c4e83456fbf605",
"name": "buscar contacto",
"start": 1590123600,
"end": 1590728400,
"restante": "6 d\u00edas, 4 horas, 25 minutos, 27 segundos",
"parent": "b5281d5b30cb046b081a039f7e383d6d",
"parent_nombre": "Convenio universidad del Quindio"
}
]
}],
tooltip: {
pointFormatter: function () {
var point = this,
format = '%e. %b',
options = point.options,
completed = options.completed,
amount = isObject(completed) ? completed.amount : completed,
status = ((amount || 0) * 100) + '%',
lines;
lines = [{
value: point.name,
style: 'font-weight: bold;'
}, {
title: 'Start',
value: dateFormat(format, point.start)
}, {
visible: !options.milestone,
title: 'End',
value: dateFormat(format, point.end)
}, {
title: 'Completed',
value: status
}, {
title: 'Owner',
value: options.owner || 'unassigned'
}];
return reduce(lines, function (str, line) {
var s = '',
style = (
defined(line.style) ? line.style : 'font-size: 0.8em;'
);
if (line.visible !== false) {
s = (
'<span style="' + style + '">' +
(defined(line.title) ? line.title + ': ' : '') +
(defined(line.value) ? line.value : '') +
'</span><br/>'
);
}
return str + s;
}, '');
}
},
title: {
text: ''
},
xAxis: {
currentDateIndicator: true,
min: today - 3 * day,
max: today + 18 * day
}
});
</script>
</body>
</html>