Softwareprojektmanagement/src/main/webapp/js/week_overview.js

100 lines
2.4 KiB
JavaScript

/**
* render week overview analysis result as chart.
*
* @author Johannes Theiner
* @version 0.1
* @since 1.0
*/
let week_result;
let week_overview = new Chart($("#overview_chart"), {
type: 'line',
data: {
labels: [],
datasets: [{
label: "Kundenanzahl",
yAxisID: 'y-axis-1',
data: [],
fill: true,
backgroundColor: 'rgba(113, 114, 231, 1)',
lineTension: 0
}, {
label: "Einnahmen in €",
yAxisID: 'y-axis-2',
data: [],
fill: true,
backgroundColor: 'rgba(244, 67, 54, 1)',
lineTension: 0
}]
},
options: {
responsive: true,
title: {
display: false
},
legend: {
display: false
},
tooltips: {
mode: 'index',
intersect: false
},
hover: {
mode: 'nearest',
intersect: true
},
elements: {
point: {
radius: 0
}
},
scales: {
xAxes: [{
display: true,
gridLines: {
display: false
}
}],
yAxes: [
{
display: true,
position: 'right',
id: 'y-axis-1',
scaleLabel: {
display: true,
labelString: 'Kundenanzahl'
}
},
{
display: true,
id: 'y-axis-2',
scaleLabel: {
display: true,
labelString: 'Einnahmen in €'
}
}
]
}
}
});
function updateWeekOverviewChart(id) {
if (typeof id !== 'undefined') {
request('week_overview', id).then(function (data) {
week_result = data;
updateWeekOverview();
});
} else request('week_overview').then(function (data) {
week_result = data;
updateWeekOverview();
});
}
function updateWeekOverview() {
week_overview.data.labels = week_result.labels;
week_overview.data.datasets[0].data = week_result.count;
week_overview.data.datasets[1].data = week_result.revenue;
week_overview.update();
loading.modal('close');
}