From ae7a14f3f2570d90ef85e36c4fdd914eae8fa89c Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Thu, 6 Jun 2024 01:10:09 -0700 Subject: [PATCH] fixed js chart referenced --- app/assets/javascripts/chartDashboard.js | 104 ++++++++++--------- app/templates/views/dashboard/dashboard.html | 3 +- 2 files changed, 58 insertions(+), 49 deletions(-) diff --git a/app/assets/javascripts/chartDashboard.js b/app/assets/javascripts/chartDashboard.js index e73f655f9..d191abef1 100644 --- a/app/assets/javascripts/chartDashboard.js +++ b/app/assets/javascripts/chartDashboard.js @@ -1,56 +1,66 @@ (function (window) { - // Initialize flask-socketio - var socket = io(); - var serviceId = chart.getAttribute('data-service-id'); - socket.on('connect', function() { - socket.emit('fetch_daily_stats', serviceId); - }); - - socket.on('daily_stats_update', function(data) { - var labels = []; - var deliveredData = []; - - for (var date in data) { - labels.push(date); - deliveredData.push(data[date].sms.delivered); + function initializeChartAndSocket() { + var ctx = document.getElementById('myChart'); + if (!ctx) { + return; } - myBarChart.data.labels = labels; - myBarChart.data.datasets[0].data = deliveredData; - myBarChart.update(); - }); - - socket.on('error', function(data) { - console.log('Error:', data); - }); - - sevenDaysButton.addEventListener('click', function() { - socket.emit('fetch_daily_stats', serviceId); - }); - - // Initialize Chart.js bar chart - var ctx = document.getElementById('myChart').getContext('2d'); - var myBarChart = new Chart(ctx, { - type: 'bar', - data: { - labels: [], - datasets: [ - { - label: 'Delivered', - data: [], - backgroundColor: '#0076d6', - stack: 'Stack 0' - }, - ] - }, - options: { - scales: { - y: { - beginAtZero: true + var myBarChart = new Chart(ctx.getContext('2d'), { + type: 'bar', + data: { + labels: [], + datasets: [ + { + label: 'Delivered', + data: [], + backgroundColor: '#0076d6', + stack: 'Stack 0' + }, + ] + }, + options: { + scales: { + y: { + beginAtZero: true + } } } + }); + + var socket = io(); + var serviceId = ctx.getAttribute('data-service-id'); + + socket.on('connect', function() { + socket.emit('fetch_daily_stats', serviceId); + }); + + socket.on('daily_stats_update', function(data) { + var labels = []; + var deliveredData = []; + + for (var date in data) { + labels.push(date); + deliveredData.push(data[date].sms.delivered); + } + + myBarChart.data.labels = labels; + myBarChart.data.datasets[0].data = deliveredData; + myBarChart.update(); + }); + + socket.on('error', function(data) { + console.log('Error:', data); + }); + + var sevenDaysButton = document.getElementById('sevenDaysButton'); + if (sevenDaysButton) { + sevenDaysButton.addEventListener('click', function() { + socket.emit('fetch_daily_stats', serviceId); + }); } - }); + } + + document.addEventListener('DOMContentLoaded', initializeChartAndSocket); })(window); diff --git a/app/templates/views/dashboard/dashboard.html b/app/templates/views/dashboard/dashboard.html index a776ce83c..7b04f9baf 100644 --- a/app/templates/views/dashboard/dashboard.html +++ b/app/templates/views/dashboard/dashboard.html @@ -23,8 +23,7 @@ - -
+ {{ ajax_block(partials, updates_url, 'inbox') }} {{ ajax_block(partials, updates_url, 'totals') }}