121 wiersze
4.0 KiB
JavaScript
121 wiersze
4.0 KiB
JavaScript
/**/
|
|
function scanWifi() {
|
|
let scanBtn = document.getElementById('scan_wifi_btn');
|
|
let wifiListContainer = document.getElementById("wifi_list");
|
|
wifiListContainer.innerHTML = 'Scanning...';
|
|
scanBtn.disabled = true;
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
scanBtn.disabled = false;
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
wifiListContainer.innerHTML = this.responseText;
|
|
const networks_found_list = document.querySelector('#networks_found_list');
|
|
|
|
networks_found_list.addEventListener('change', event => {
|
|
document.getElementById('wifi_ssid').value = networks_found_list.value;
|
|
});
|
|
}
|
|
};
|
|
xhttp.open("GET", "/scan_wifi", true);
|
|
xhttp.send();
|
|
}
|
|
|
|
window.onload = function () {
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
const response = JSON.parse(this.responseText);
|
|
for (const [key, value] of Object.entries(response)) {
|
|
let element = document.getElementById(key);
|
|
if (element){
|
|
if (element.type && element.type == "checkbox"){
|
|
element.checked = value;
|
|
} else {
|
|
element.value = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
xhttp.open("GET", "/cfg", true);
|
|
xhttp.send();
|
|
var xhttpFramesList = new XMLHttpRequest();
|
|
xhttpFramesList.onreadystatechange = function() {
|
|
if (this.readyState == 4 && this.status == 200) {
|
|
const response = JSON.parse(this.responseText);
|
|
let tbody = document.getElementById('receivedFrames');
|
|
tbody.innerHTML = '';
|
|
for (const frameInfo of response['received']) {
|
|
let tr = document.createElement('tr');
|
|
let td_t = document.createElement('td');
|
|
td_t.innerHTML = frameInfo['time'];
|
|
tr.appendChild(td_t);
|
|
let td_p = document.createElement('td');
|
|
td_p.innerHTML = frameInfo['packet'];
|
|
tr.appendChild(td_p);
|
|
let td_r = document.createElement('td');
|
|
td_r.innerHTML = frameInfo['rssi'];
|
|
tr.appendChild(td_r);
|
|
let td_s = document.createElement('td');
|
|
td_s.innerHTML = frameInfo['snr'];
|
|
tr.appendChild(td_s);
|
|
tbody.appendChild(tr);
|
|
}
|
|
}
|
|
};
|
|
xhttpFramesList.open("GET", "/received_list", true);
|
|
xhttpFramesList.send();
|
|
};
|
|
|
|
function onFileChange(obj){
|
|
var fileName = obj.value.split('\\');
|
|
document.getElementById('file-input').innerHTML = fileName[fileName.length-1];
|
|
};
|
|
|
|
function updateFileUpload(event) {
|
|
event.preventDefault();
|
|
const file_input = document.getElementById("file-input");
|
|
const file_progress = document.getElementById("file-progress");
|
|
const data = new FormData(event.target);
|
|
const xhr = new XMLHttpRequest();
|
|
file_progress.classList.add("show");
|
|
file_progress.value = 0;
|
|
|
|
xhr.upload.onload = () => {
|
|
window.location.reload();
|
|
};
|
|
|
|
// listen for `upload.error` event
|
|
xhr.upload.onerror = () => {
|
|
alert("Error!");
|
|
}
|
|
|
|
// listen for `upload.abort` event
|
|
xhr.upload.onabort = () => {
|
|
console.error('Upload cancelled.');
|
|
}
|
|
|
|
xhr.upload.onprogress = (event) => {
|
|
// event.loaded returns how many bytes are downloaded
|
|
// event.total returns the total number of bytes
|
|
// event.total is only available if server sends `Content-Length` header
|
|
console.log(`Uploaded ${event.loaded} of ${event.total} bytes`);
|
|
let progress = 100 * (event.loaded / event.total);
|
|
if (progress == 100){
|
|
file_input.innerHTML = "Upgrade in progress. Please wait until page reloads!";
|
|
file_progress.removeAttribute('value');
|
|
} else {
|
|
file_input.innerHTML = "Uploaded: " + Math.round(progress) +"%";
|
|
file_progress.value = progress;
|
|
}
|
|
}
|
|
|
|
xhr.open('POST', '/update');
|
|
|
|
xhr.send(data);
|
|
}
|
|
|
|
function confirmAction(actionName) {
|
|
return window.confirm('Are you sure you want to ' + actionName + '?');
|
|
}
|