improved formatting on scan page and made the scan a bit more robust

This commit is contained in:
UpstreamData
2022-02-28 14:10:43 -07:00
parent 81911ba549
commit 584de40983
2 changed files with 43 additions and 35 deletions

View File

@@ -51,9 +51,9 @@ async def websocket_scan(websocket: WebSocket):
for miner in all_miners: for miner in all_miners:
send_miners.append({"ip": str(miner["ip"]), "model": miner["model"]}) send_miners.append({"ip": str(miner["ip"]), "model": miner["model"]})
await websocket.send_json(send_miners) await websocket.send_json(send_miners)
await websocket.send_text("Done") await websocket.send_text("Done")
except WebSocketDisconnect: except WebSocketDisconnect:
print("Websocket disconnected.")
pass pass

View File

@@ -4,8 +4,8 @@
<form action="" onsubmit="sendMessage(event)"> <form action="" onsubmit="sendMessage(event)">
<div class="input-group mb-3"> <div class="input-group mb-3">
<span class="input-group-text" id="scan-ip">Subnet</span> <span class="input-group-text" id="scan-ip">Subnet</span>
<input type="text" class="form-control" id="messageText" placeholder="192.168.1.1/24" aria-describedby="scan-ip"> <input type="text" class="form-control" id="messageText" placeholder="192.168.1.0/24" aria-describedby="scan-ip">
<button class="btn btn-primary" onclick="sendMessage()" type="button">Scan</button> <button class="btn btn-primary" onclick="sendMessage()" type="button" id="scanButton">Scan</button>
</div> </div>
</form> </form>
</div> </div>
@@ -19,7 +19,7 @@
</th> </th>
<th>IP</th> <th>IP</th>
<th>Model</th> <th>Model</th>
<th id="scanStatus" class="col-2"></th> <th id="scanStatus" class="col-2">0 Miners</th>
</tr> </tr>
</thead> </thead>
<tbody id="minerTable"> <tbody id="minerTable">
@@ -51,12 +51,11 @@
var ws = new WebSocket("ws://localhost:80/scan/ws"); var ws = new WebSocket("ws://localhost:80/scan/ws");
ws.onmessage = function(event) { ws.onmessage = function(event) {
if (event.data == "Done") { if (event.data == "Done") {
document.getElementById("scanButton").innerHTML = "Scan"
document.getElementById("scanButton").disabled = false
document.getElementById("selectAllCheckbox").disabled = false document.getElementById("selectAllCheckbox").disabled = false
document.getElementById("scanStatus").innerHTML = document.getElementById('minerTable').rows.length + " Miners" document.getElementById("scanStatus").innerHTML = document.getElementById('minerTable').rows.length + " Miners"
} else { } else {
document.getElementById("selectAllCheckbox").disabled = true
document.getElementById("scanStatus").innerHTML = "Scanning..."
};
var miner_data = JSON.parse(event.data) var miner_data = JSON.parse(event.data)
var miners = document.getElementById('minerTable') var miners = document.getElementById('minerTable')
miners.innerHTML = "" miners.innerHTML = ""
@@ -84,12 +83,21 @@
miners.append(tr) miners.append(tr)
}); });
}; };
};
function sendMessage(event) { function sendMessage(event) {
var input = document.getElementById("messageText") var input = document.getElementById("messageText")
var miners = document.getElementById('minerTable')
miners.innerHTML = ""
document.getElementById("scanStatus").innerHTML = "Scanning..." document.getElementById("scanStatus").innerHTML = "Scanning..."
document.getElementById("scanButton").innerHTML = "Scanning..."
document.getElementById("scanButton").disabled = true
document.getElementById("selectAllCheckbox").disabled = true
if (input.value != "") {
ws.send(input.value) ws.send(input.value)
input.value = ''
event.preventDefault() event.preventDefault()
} else {
ws.send("192.168.1.0/24")
};
} }
</script> </script>