100 lines
2.4 KiB
JavaScript
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');
|
|
} |