Skip to content

Commit 5553964

Browse files
committed
Moved nodes from Info to separate tab.
1 parent dd433d8 commit 5553964

File tree

4 files changed

+2120
-2056
lines changed

4 files changed

+2120
-2056
lines changed

wled00/data/index.css

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,10 @@ button {
203203
background-color: var(--c-tb);
204204
}
205205

206+
#btnNodes {
207+
display: none;
208+
}
209+
206210
.tab button {
207211
background-color: transparent;
208212
float: left;
@@ -366,7 +370,7 @@ button {
366370
z-index: 3;
367371
}
368372

369-
#rover {
373+
#rover, #nodes {
370374
z-index: 2;
371375
}
372376

@@ -394,7 +398,7 @@ button {
394398
display: inline-block;
395399
}
396400

397-
#kv {
401+
#kv, #kn {
398402
max-width: 490px;
399403
display: inline-block;
400404
}
@@ -931,7 +935,7 @@ input[type=number]::-webkit-outer-spin-button {
931935
}
932936

933937
@media all and (max-width: 1249px) {
934-
#buttonPcm {
938+
#buttonPcm, #buttonNo {
935939
display: none;
936940
}
937941
}

wled00/data/index.htm

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
<button id="buttonI" onclick="toggleInfo()"><i class="icons">&#xe34b;</i><p class="tab-label">Info</p></button>
2727
<button onclick="window.location.href = '/settings';"><i class="icons">&#xe0a2;</i><p class="tab-label">Config</p></button>
2828
<button id="buttonPcm" onclick="togglePcMode(true)"><i class="icons">&#xe23d;</i><p class="tab-label">PC Mode</p></button>
29-
</div>
29+
<button id="buttonNo" onclick="toggleNodes()"><i class="icons">&#xe22d;</i><p class="tab-label">Nodes</p></button>
30+
</div>
3031
<div id="briwrap">
3132
<p class="hd">Brightness</p>
3233
<div class="il">
@@ -165,6 +166,7 @@
165166
<button class="tablinks" onclick="openTab(1)"><i class="icons">&#xe23d;</i><p class="tab-label">Effects</p></button>
166167
<button class="tablinks" onclick="openTab(2)"><i class="icons">&#xe34b;</i><p class="tab-label">Segments</p></button>
167168
<button class="tablinks" onclick="openTab(3)"><i class="icons">&#xe04c;</i><p class="tab-label">Favorites</p></button>
169+
<button id="btnNodes" class="tablinks" onclick="toggleNodes()"><i class="icons">&#xe22d;</i><p class="tab-label">Nodes</p></button>
168170
</div>
169171

170172
<div id="connind"></div>
@@ -181,7 +183,11 @@
181183
<button class="btn infobtn" id="resetbtn" onclick="cnfReset()">Reboot WLED</button><br>
182184
<span class="h">Made with <span id="heart">&#10084;&#xFE0E;</span> by Aircoookie and the WLED community</span>
183185
</div>
184-
186+
<div id="nodes" class="modal">
187+
<div id="kn">Loading...</div><br>
188+
<button class="btn infobtn" onclick="requestJson(null)">Refresh</button>
189+
<button class="btn infobtn" onclick="toggleNodes()">Close</button><br>
190+
</div>
185191
<div id="rover" class="modal">
186192
<i class="icons huge">&#xe410;</i><br>
187193
<div id="lv">?</div><br><br>

wled00/data/index.js

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//page js
22
var loc = false, locip;
33
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;
55
var whites = [0,0,0];
66
var expanded = [false];
77
var powered = [true];
@@ -443,6 +443,35 @@ function populatePresets(fromls)
443443
populateQL();
444444
}
445445

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+
446475
function populateInfo(i)
447476
{
448477
var cn="";
@@ -775,6 +804,7 @@ function requestJson(command, rinfo = true, verbose = true) {
775804
s = json.state;
776805
displayRover(info, s);
777806
}
807+
populateNodes(info);
778808
isOn = s.on;
779809
d.getElementById('sliderBri').value= s.bri;
780810
nlA = s.nl.on;
@@ -884,6 +914,13 @@ function toggleInfo() {
884914
d.getElementById('buttonI').className = (isInfo) ? "active":"";
885915
}
886916

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+
887924
function makeSeg() {
888925
var ns = 0;
889926
if (lowestUnused > 0) {

0 commit comments

Comments
 (0)