|
1 | 1 | //page js |
2 | 2 | var loc = false, locip; |
3 | 3 | var noNewSegs = false; |
4 | | -var isOn = false, nlA = false, isLv = false, isInfo = false, syncSend = false, syncTglRecv = true, isRgbw = false; |
| 4 | +var isOn = false, nlA = false, isLv = false, isInfo = false, isNodes = false, syncSend = false, syncTglRecv = true, isRgbw = false; |
5 | 5 | var whites = [0,0,0]; |
6 | 6 | var expanded = [false]; |
7 | 7 | var powered = [true]; |
@@ -443,6 +443,35 @@ function populatePresets(fromls) |
443 | 443 | populateQL(); |
444 | 444 | } |
445 | 445 |
|
| 446 | +function populateNodes(i) |
| 447 | +{ |
| 448 | + var cn=""; |
| 449 | + var urows=""; |
| 450 | + if (i.nodes) { |
| 451 | + i.nodes.sort((a,b) => (a.name).localeCompare(b.name)); |
| 452 | + for (var x=0;x<i.nodes.length;x++) { |
| 453 | + var o = i.nodes[x]; |
| 454 | + if (o.name) { |
| 455 | + var url = `<button class="btn btna-icon tab" onclick="location.assign('http://${o.ip}');">${o.name}</button>`; |
| 456 | + urows += inforow(url,o.type); |
| 457 | + } |
| 458 | + } |
| 459 | + if (i.nodes.length>0) { |
| 460 | + var botButtons = d.querySelectorAll('.bot button'); |
| 461 | + for (btn of botButtons) { |
| 462 | + btn.style.width = '20%'; |
| 463 | + } |
| 464 | + d.getElementById('btnNodes').style.display = "inline"; |
| 465 | + } else |
| 466 | + d.getElementById('btnNodes').style.display = "none"; |
| 467 | + } |
| 468 | + cn += `<table class="infot"> |
| 469 | +${urows} |
| 470 | +${inforow("Current node:",i.name)} |
| 471 | +</table>`; |
| 472 | + d.getElementById('kn').innerHTML = cn; |
| 473 | +} |
| 474 | + |
446 | 475 | function populateInfo(i) |
447 | 476 | { |
448 | 477 | var cn=""; |
@@ -775,6 +804,7 @@ function requestJson(command, rinfo = true, verbose = true) { |
775 | 804 | s = json.state; |
776 | 805 | displayRover(info, s); |
777 | 806 | } |
| 807 | + populateNodes(info); |
778 | 808 | isOn = s.on; |
779 | 809 | d.getElementById('sliderBri').value= s.bri; |
780 | 810 | nlA = s.nl.on; |
@@ -884,6 +914,13 @@ function toggleInfo() { |
884 | 914 | d.getElementById('buttonI').className = (isInfo) ? "active":""; |
885 | 915 | } |
886 | 916 |
|
| 917 | +function toggleNodes() { |
| 918 | + isNodes = !isNodes; |
| 919 | + if (isNodes) populateNodes(lastinfo); |
| 920 | + d.getElementById('nodes').style.transform = (isNodes) ? "translateY(0px)":"translateY(100%)"; |
| 921 | + d.getElementById('buttonNo').className = (isNodes) ? "active":""; |
| 922 | +} |
| 923 | + |
887 | 924 | function makeSeg() { |
888 | 925 | var ns = 0; |
889 | 926 | if (lowestUnused > 0) { |
|
0 commit comments