From: Jo-Philipp Wich Date: Wed, 20 Jan 2016 15:59:31 +0000 (+0100) Subject: luci-mod-admin-full: show more information in assoc list (#540) X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=258836441babd7939b7e13a4abd19502b922928d luci-mod-admin-full: show more information in assoc list (#540) Signed-off-by: Jo-Philipp Wich --- diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm index 62188e45e..0429f4871 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm @@ -97,6 +97,11 @@ luci.http.write_json(rv) return + elseif luci.http.formvalue("hosts") == "1" then + luci.http.prepare_content("application/json") + luci.http.write_json(luci.sys.net.host_hints()) + + return end -%> @@ -121,12 +126,21 @@ ); } - var wifidevs = <%=luci.http.write_json(netdevs)%>; - var arptable = <%=luci.http.write_json(arpcache)%>; + var npoll = 1; + var hosts = <%=luci.http.write_json(luci.sys.net.host_hints())%>; + + function updateHosts() { + XHR.get('<%=REQUEST_URI%>', { hosts: 1 }, function(x, data) { + hosts = data; + }); + } XHR.poll(5, '<%=REQUEST_URI%>', { status: 1 }, function(x, info) { + if (!(npoll++ % 5)) + updateHosts(); + var si = document.getElementById('wan4_i'); var ss = document.getElementById('wan4_s'); var ifc = info.wan; @@ -416,7 +430,9 @@ tx_mcs: net.assoclist[bssid].tx_mcs, tx_40mhz: net.assoclist[bssid].tx_40mhz, link: net.link, - name: net.name + name: net.name, + ifname: net.ifname, + radio: dev.name }); } } @@ -461,30 +477,43 @@ icon = "<%=resource%>/icons/signal-75-100.png"; tr.insertCell(-1).innerHTML = String.format( - '', - icon, assoclist[i].signal, assoclist[i].noise + ' %h', + assoclist[i].radio, assoclist[i].ifname ); - tr.insertCell(-1).innerHTML = assoclist[i].bssid; - tr.insertCell(-1).innerHTML = String.format( '%s', assoclist[i].link, '%h'.format(assoclist[i].name).nobr() ); - tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[i].signal).nobr(); - tr.insertCell(-1).innerHTML = String.format('%d <%:dBm%>', assoclist[i].noise).nobr(); + tr.insertCell(-1).innerHTML = assoclist[i].bssid; + + var host = hosts[assoclist[i].bssid]; + if (host) + tr.insertCell(-1).innerHTML = String.format( + '
%s
', + ((host.name && (host.ipv4 || host.ipv6)) + ? '%h (%s)'.format(host.name, host.ipv4 || host.ipv6) + : '%h'.format(host.name || host.ipv4 || host.ipv6)).nobr() + ); + else + tr.insertCell(-1).innerHTML = '?'; + + tr.insertCell(-1).innerHTML = String.format( + ' %d / %d <%:dBm%>', + assoclist[i].signal, assoclist[i].noise, assoclist[i].signal - assoclist[i].noise, + icon, + assoclist[i].signal, assoclist[i].noise + ); - tr.insertCell(-1).innerHTML = (assoclist[i].rx_mcs > -1) + tr.insertCell(-1).innerHTML = ((assoclist[i].rx_mcs > -1) ? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[i].rx_rate / 1000, assoclist[i].rx_mcs, assoclist[i].rx_40mhz ? 40 : 20).nobr() : String.format('%.1f <%:Mbit/s%>', assoclist[i].rx_rate / 1000).nobr() - ; - - tr.insertCell(-1).innerHTML = (assoclist[i].tx_mcs > -1) + ).nobr() + '
' + ((assoclist[i].tx_mcs > -1) ? String.format('%.1f <%:Mbit/s%>, MCS %d, %d<%:MHz%>', assoclist[i].tx_rate / 1000, assoclist[i].tx_mcs, assoclist[i].tx_40mhz ? 40 : 20).nobr() : String.format('%.1f <%:Mbit/s%>', assoclist[i].tx_rate / 1000).nobr() - ; + ).nobr(); } if (ac.rows.length == 1) @@ -674,18 +703,17 @@
<%:Associated Stations%> - +
- - - - - + + + + - +
 <%:MAC-Address%> <%:Network%><%:Signal%><%:Noise%><%:RX Rate%><%:TX Rate%><%:MAC-Address%><%:Host%><%:Signal%> / <%:Noise%><%:RX Rate%> / <%:TX Rate%>

<%:Collecting data...%>

<%:Collecting data...%>