google.charts.load("current", { packages: ['corechart'] }); google.charts.setOnLoadCallback(drawChart); function drawChart() { function fetchDataAndDrawChart() { // Fetch data from Django view fetch('/read_tx_bytes') .then(response => response.json()) .then(data => { // Check device ID var deviceId = localStorage.getItem('deviceId'); if (deviceId === 'xAq9W1PO5rmAuuQ' || deviceId === 'wzI0R1JqWqV0Lyi') { // Create data array from the response const chartData = [["Density", "Element", { role: "style" }]]; data.switch_data.forEach((value, index) => { chartData.push([`${index + 1}`, parseInt(value), "#1EC79A"]); }); // Create DataTable from the data array const dataTable = google.visualization.arrayToDataTable(chartData); var view = new google.visualization.DataView(dataTable); view.setColumns([0, 1, 2]); var options = { title: "SWITCH", bar: { groupWidth: "95%" }, legend: { position: "none" }, backgroundColor: '#0c212b', tooltip: { trigger: 'none' } }; var chart = new google.visualization.ColumnChart(document.getElementById("SwitchChart")); chart.draw(view, options); } else { // If device ID doesn't match, draw chart with all values set to 0 const chartData = [["Density", "Element", { role: "style" }]]; for (let i = 1; i <= data.switch_data.length; i++) { chartData.push([`${i}`, 0, "#1EC79A"]); } const dataTable = google.visualization.arrayToDataTable(chartData); var view = new google.visualization.DataView(dataTable); view.setColumns([0, 1, 2]); var options = { title: "SWITCH", bar: { groupWidth: "95%" }, legend: { position: "none" }, backgroundColor: '#0c212b', tooltip: { trigger: 'none' } }; var chart = new google.visualization.ColumnChart(document.getElementById("SwitchChart")); chart.draw(view, options); } }) .catch(error => console.error('Error fetching data:', error)); } // Call the function once to draw the initial chart fetchDataAndDrawChart(); // Update chart every 5 seconds setInterval(fetchDataAndDrawChart, 25000); $(document).on('click', function() { fetchDataAndDrawChart(); }); } // google.charts.load("current", { packages: ['corechart'] }); // google.charts.setOnLoadCallback(drawChart); // function drawChart() { // // Fetch data from Django view // fetch('/read_tx_bytes') // .then(response => response.json()) // .then(data => { // // Create data array from the response // const chartData = [["Density", "Element", { role: "style" }]]; // data.switch_data.forEach((value, index) => { // chartData.push([`${index + 1}`, parseInt(value), "#1EC79A"]); // }); // // Create DataTable from the data array // const dataTable = google.visualization.arrayToDataTable(chartData); // var view = new google.visualization.DataView(dataTable); // view.setColumns([0, 1, 2]); // var options = { // title: "SWITCH", // bar: { groupWidth: "95%" }, // legend: { position: "none" }, // backgroundColor: '#0c212b', // tooltip: { trigger: 'none' } // }; // var chart = new google.visualization.ColumnChart(document.getElementById("SwitchChart")); // chart.draw(view, options); // }) // .catch(error => console.error('Error fetching data:', error)); // }