mirror of
https://github.com/seriousm4x/UpSnap.git
synced 2026-03-31 06:24:06 -04:00
52 lines
1.9 KiB
JavaScript
52 lines
1.9 KiB
JavaScript
document.getElementById("scan-button").addEventListener("click", scan)
|
|
|
|
async function scan() {
|
|
const table = document.getElementById("scan-table").getElementsByTagName('tbody')[0];
|
|
table.innerHTML = "";
|
|
const tableContainer = document.getElementById("scan-table-container");
|
|
tableContainer.classList.add("is-hidden");
|
|
document.getElementById("scan-button").classList.add("is-loading");
|
|
|
|
const response = await fetch("/scan");
|
|
const data = await response.json();
|
|
|
|
if (data.devices.length == 0) {
|
|
document.getElementById("scan-button").classList.remove("is-loading");
|
|
return;
|
|
}
|
|
|
|
for (let index = 0; index < data.devices.length; index++) {
|
|
const device = data.devices[index];
|
|
var row = table.insertRow();
|
|
var td1 = row.insertCell();
|
|
var td2 = row.insertCell();
|
|
var td3 = row.insertCell();
|
|
var td4 = row.insertCell();
|
|
if (device.name == "") {
|
|
var deviceName = "Unknown";
|
|
} else {
|
|
var deviceName = device.name;
|
|
}
|
|
td1.appendChild(document.createTextNode(deviceName));
|
|
td2.appendChild(document.createTextNode(device.ip));
|
|
td3.appendChild(document.createTextNode(device.mac));
|
|
var button = document.createElement("button");
|
|
button.classList.add("button", "is-primary", "is-small");
|
|
button.innerText = "Add";
|
|
button.addEventListener("click", function (event) {
|
|
add_device(JSON.stringify(device));
|
|
event.target.disabled = true;
|
|
});
|
|
td4.appendChild(button);
|
|
}
|
|
document.getElementById("scan-button").classList.remove("is-loading");
|
|
tableContainer.classList.remove("is-hidden");
|
|
}
|
|
|
|
function add_device(data) {
|
|
var xhr = new XMLHttpRequest();
|
|
var url = "/add-device/";
|
|
xhr.open("POST", url, true);
|
|
xhr.setRequestHeader("Content-Type", "application/json");
|
|
xhr.send(data);
|
|
} |