Files
notifications-admin/app/assets/javascripts/sampleChartDashboard.js

68 lines
1.8 KiB
JavaScript
Raw Normal View History

2024-05-15 11:39:03 -07:00
(function (window) {
2024-06-06 01:10:09 -07:00
function initializeChartAndSocket() {
var ctx = document.getElementById('myChart');
if (!ctx) {
return;
}
2024-06-06 01:10:09 -07:00
var myBarChart = new Chart(ctx.getContext('2d'), {
type: 'bar',
data: {
labels: [],
datasets: [
{
2024-06-19 10:03:12 -07:00
label: 'Delivered',
2024-06-06 01:10:09 -07:00
data: [],
backgroundColor: '#0076d6',
stack: 'Stack 0'
},
]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
2024-05-15 11:39:03 -07:00
}
2024-06-06 01:10:09 -07:00
});
var socket = io();
socket.on('connect', function() {
2024-06-19 10:03:12 -07:00
socket.emit('fetch_daily_stats_by_user');
2024-06-06 01:10:09 -07:00
});
2024-06-19 10:03:12 -07:00
socket.on('daily_stats_by_user_update', function(data) {
2024-06-17 17:46:43 -07:00
// console.log('Data received:', data);
2024-06-06 01:10:09 -07:00
var labels = [];
2024-06-19 10:03:12 -07:00
var deliveredData = [];
2024-06-06 01:10:09 -07:00
for (var date in data) {
labels.push(date);
2024-06-19 10:03:12 -07:00
deliveredData.push(data[date].sms.delivered);
2024-06-06 01:10:09 -07:00
}
myBarChart.data.labels = labels;
2024-06-19 10:03:12 -07:00
myBarChart.data.datasets[0].data = deliveredData;
2024-06-06 01:10:09 -07:00
myBarChart.update();
});
socket.on('error', function(data) {
2024-06-17 17:46:43 -07:00
// console.log('Error:', data);
2024-06-06 01:10:09 -07:00
});
var sevenDaysButton = document.getElementById('sevenDaysButton');
if (sevenDaysButton) {
sevenDaysButton.addEventListener('click', function() {
2024-06-19 10:03:12 -07:00
socket.emit('fetch_daily_stats_by_user');
2024-06-17 17:46:43 -07:00
// console.log('clicked');
2024-06-06 01:10:09 -07:00
});
2024-05-15 11:39:03 -07:00
}
2024-06-06 01:10:09 -07:00
}
document.addEventListener('DOMContentLoaded', initializeChartAndSocket);
2024-05-15 11:39:03 -07:00
})(window);