diff --git a/html/app.js b/html/app.js
index 5c9c6c33..4f70b668 100644
--- a/html/app.js
+++ b/html/app.js
@@ -353,7 +353,7 @@ function i18nApply(){
}
var S={
- ports:[],n:0,physToLog:[],logToPhys:[],sfpSlot:[],info:{},
+ ports:[],n:0,physToLog:[],logToPhys:[],sfpSlot:[],info:{},detail:null,
dirty:false,prev:null,prevT:0,rates:[],mtu:[],
};
var LINKS=["Down","10M","100M","1000M","500M","10G","2.5G","5G"];
@@ -476,13 +476,14 @@ function toast(msg,cls){
setTimeout(function(){el.remove()},3800);
}
function modal(title,bodyEl,buttons){
+ S.detail=null;
$("mtitle").textContent=title;
var b=$("mbody");b.innerHTML="";b.appendChild(bodyEl);
var f=$("mfoot");f.innerHTML="";
(buttons||[]).forEach(function(bt){f.appendChild(bt)});
$("mback").classList.add("show");
}
-function closeModal(){$("mback").classList.remove("show")}
+function closeModal(){S.detail=null;$("mback").classList.remove("show")}
$("mx").addEventListener("click",closeModal);
$("mback").addEventListener("click",function(e){if(e.target===this)closeModal()});
function confirmModal(title,detail,onok){
@@ -606,8 +607,9 @@ function updateStrip(){
el.classList.toggle("up",!!up);
if(up)el.style.setProperty("--pc","var("+(LINKC[p.link]||"--s1000")+")");
lb.textContent=!p.enabled?t("c_off"):(p.link>0?LINKS[p.link]:t("c_down"));
- el.title=(p.name?p.name+" ":"")+(p.isSFP?"SFP":"RJ45");
+ el.title=portRows(p).map(function(r){return r[0]+": "+r[1]}).join("\n");
});
+ if(S.detail!=null){var b=$("mbody");b.innerHTML="";b.appendChild(detailTable(S.ports[S.detail]));}
}
function pU16(v){return parseInt(v,16)&0xffff}
@@ -628,9 +630,7 @@ function calRx(val,cal){
+v.getFloat32(8)*Math.pow(val,2)+v.getFloat32(12)*val+v.getFloat32(16);
}
function dBm(mw){return 10*Math.log10(mw)}
-function portDetail(i){
- var p=S.ports[i];
- if(!p)return;
+function portRows(p){
var rows=[[t("c_port"),String(p.portNum)],[t("c_type"),p.isSFP?"SFP":"RJ45"]];
if(p.name)rows.push([t("c_name"),p.name]);
rows.push([t("p_state"),!p.enabled?t("p_disabled"):(p.link>0?t("p_up")+" "+LINKS[p.link]:t("c_down"))]);
@@ -662,11 +662,19 @@ function portDetail(i){
var on=names.filter(function(_,b){return bits&(1<