84 lines
2.6 KiB
JavaScript
84 lines
2.6 KiB
JavaScript
var ctx = document.getElementById('barChart').getContext('2d');
|
|
|
|
var initialData = {
|
|
labels: ['unknown', 'Not revealed', 'REEvil', 'WannaCry', 'Maze', 'Clop', 'Conti', 'Darkside'],
|
|
datasets: [{
|
|
label: 'Data',
|
|
data: [2, 2, 2, 2, 2, 2, 2, 2],
|
|
backgroundColor: [
|
|
'rgba(255, 165, 0, 0.5)', // orange
|
|
'rgba(255, 0, 0, 0.5)', // red
|
|
'rgba(255, 192, 203, 0.5)', // pink
|
|
'rgba(0, 0, 255, 0.5)', // blue
|
|
'rgba(0, 255, 255, 0.5)', // aqua
|
|
'rgba(238, 130, 238, 0.5)', // violet
|
|
'rgba(192, 192, 192, 0.5)', // silver
|
|
'rgba(0, 0, 0, 0.5)' // black
|
|
],
|
|
borderColor: [
|
|
'rgba(255, 165, 0, 1)', // orange
|
|
'rgba(255, 0, 0, 1)', // red
|
|
'rgba(255, 192, 203, 1)', // pink
|
|
'rgba(0, 0, 255, 1)', // blue
|
|
'rgba(0, 255, 255, 1)', // aqua
|
|
'rgba(238, 130, 238, 1)', // violet
|
|
'rgba(192, 192, 192, 1)', // silver
|
|
'rgba(0, 0, 0, 1)' // black
|
|
],
|
|
borderWidth: 1
|
|
}]
|
|
};
|
|
|
|
var options = {
|
|
scales: {
|
|
y: {
|
|
beginAtZero: false,
|
|
min: 1,
|
|
max: 100,
|
|
stepSize: 10
|
|
}
|
|
}
|
|
};
|
|
|
|
var myBarChart = new Chart(ctx, {
|
|
type: 'bar',
|
|
data: initialData,
|
|
options: options
|
|
});
|
|
|
|
function updateChartData(newData) {
|
|
myBarChart.data.datasets[0].data = newData;
|
|
myBarChart.update();
|
|
}
|
|
|
|
function fetchDataAndUpdateChart() {
|
|
var deviceId = localStorage.getItem('deviceId');
|
|
var logDataEndpoint;
|
|
if (deviceId === 'xAq9W1PO5rmAuuQ') {
|
|
logDataEndpoint = '/log-data/';
|
|
} else if (deviceId === 'wzI0R1JqWqV0Lyi') {
|
|
logDataEndpoint = '/log-data1/';
|
|
} else {
|
|
// Device ID doesn't match, set all values to 2 and clear old data
|
|
updateChartData([2, 2, 2, 2, 2, 2, 2, 2]);
|
|
$('#detect-log').empty(); // Clear old data
|
|
return;
|
|
}
|
|
|
|
$.get(logDataEndpoint, function (logData) {
|
|
if (logData.trim() !== '') {
|
|
$('#detect-log').html(logData);
|
|
$('#change-button').show();
|
|
updateChartData([5, 100, 2, 2, 2, 2, 2, 2]);
|
|
} else {
|
|
$('#detect-log').html('No threat detected');
|
|
$('#change-button').hide();
|
|
var output = document.getElementById("output");
|
|
output.style.display = "none";
|
|
updateChartData([2, 2, 2, 2, 2, 2, 2, 2]);
|
|
}
|
|
});
|
|
}
|
|
|
|
setInterval(fetchDataAndUpdateChart, 1000);
|