kasownik-plot/js/plot.js

66 lines
1.5 KiB
JavaScript

window.onload = function() {
var required = [], paid = [];
var today = new Date(),
year = 1900 + today.getYear(),
month = today.getMonth();
for(i = 0; i < 12; ++i) {
var xhr = new XMLHttpRequest();
xhr.open("GET", 'https://kasownik.hackerspace.pl/api/month/' + year + '/' + month, false);
xhr.send();
var res = JSON.parse(xhr.response),
date = new Date();
date.setYear(year);
date.setMonth(month);
required.unshift({ x: date.getTime() / 1000, y: res.required });
paid.unshift({ x: date.getTime() / 1000, y: res.paid });
month -= 1;
if(month == 0) {
month = 12;
year -= 1;
}
}
console.log(required, paid);
var palette = new Rickshaw.Color.Palette( { scheme: 'colorwheel' } );
var graph = new Rickshaw.Graph({
element: document.getElementById("plot"),
width: 800,
height: 600,
renderer: 'line',
stroke: true,
series: [
{
color: palette.color(),
data: required,
name: 'Required',
},
{
color: palette.color(),
data: paid,
name: 'Paid',
}
]
});
graph.render();
var yAxis = new Rickshaw.Graph.Axis.Y({
graph: graph,
});
yAxis.render();
var xAxis = new Rickshaw.Graph.Axis.Time({
graph: graph,
});
xAxis.render();
var legend = new Rickshaw.Graph.Legend({
element: document.getElementById("legend"),
graph: graph,
});
var hoverDetail = new Rickshaw.Graph.HoverDetail( {
graph: graph,
xFormatter: function(x) {
var date = new Date(x * 1000);
return (1900 + date.getYear()) + '/' + date.getMonth();
}
});
}