diff --git a/tools/web_monitor/app.py b/tools/web_monitor/app.py index a83e7d89..3cf512c0 100644 --- a/tools/web_monitor/app.py +++ b/tools/web_monitor/app.py @@ -51,9 +51,9 @@ async def websocket_scan(websocket: WebSocket): for miner in all_miners: send_miners.append({"ip": str(miner["ip"]), "model": miner["model"]}) await websocket.send_json(send_miners) - await websocket.send_text("Done") except WebSocketDisconnect: + print("Websocket disconnected.") pass diff --git a/tools/web_monitor/templates/scan.html b/tools/web_monitor/templates/scan.html index 617776d0..dc1ac58c 100644 --- a/tools/web_monitor/templates/scan.html +++ b/tools/web_monitor/templates/scan.html @@ -4,8 +4,8 @@
Subnet - - + +
@@ -19,7 +19,7 @@ IP Model - + 0 Miners @@ -51,45 +51,53 @@ var ws = new WebSocket("ws://localhost:80/scan/ws"); ws.onmessage = function(event) { if (event.data == "Done") { + document.getElementById("scanButton").innerHTML = "Scan" + document.getElementById("scanButton").disabled = false document.getElementById("selectAllCheckbox").disabled = false document.getElementById("scanStatus").innerHTML = document.getElementById('minerTable').rows.length + " Miners" } else { - document.getElementById("selectAllCheckbox").disabled = true - document.getElementById("scanStatus").innerHTML = "Scanning..." + var miner_data = JSON.parse(event.data) + var miners = document.getElementById('minerTable') + miners.innerHTML = "" + miner_data.forEach(function(miner) { + console.log(miner) + var tr = document.createElement('tr') + + var checkbox_td = document.createElement('td') + checkbox_td.innerHTML = '' + checkbox_td.className = "active" + + var ip_td = document.createElement('td') + ip_td.innerHTML = miner["ip"] + + var model_td = document.createElement('td') + model_td.innerHTML = miner["model"] + + var empty_td = document.createElement('td') + + tr.append(checkbox_td) + tr.append(ip_td) + tr.append(model_td) + tr.append(empty_td) + + miners.append(tr) + }); }; - var miner_data = JSON.parse(event.data) - var miners = document.getElementById('minerTable') - miners.innerHTML = "" - miner_data.forEach(function(miner) { - console.log(miner) - var tr = document.createElement('tr') - - var checkbox_td = document.createElement('td') - checkbox_td.innerHTML = '' - checkbox_td.className = "active" - - var ip_td = document.createElement('td') - ip_td.innerHTML = miner["ip"] - - var model_td = document.createElement('td') - model_td.innerHTML = miner["model"] - - var empty_td = document.createElement('td') - - tr.append(checkbox_td) - tr.append(ip_td) - tr.append(model_td) - tr.append(empty_td) - - miners.append(tr) - }); }; function sendMessage(event) { var input = document.getElementById("messageText") + var miners = document.getElementById('minerTable') + miners.innerHTML = "" document.getElementById("scanStatus").innerHTML = "Scanning..." - ws.send(input.value) - input.value = '' - event.preventDefault() + document.getElementById("scanButton").innerHTML = "Scanning..." + document.getElementById("scanButton").disabled = true + document.getElementById("selectAllCheckbox").disabled = true + if (input.value != "") { + ws.send(input.value) + event.preventDefault() + } else { + ws.send("192.168.1.0/24") + }; }