From: Jo-Philipp Wich Date: Mon, 26 Sep 2011 00:24:34 +0000 (+0000) Subject: modules/admin-full: rework status javascript code to use XHR.poll() X-Git-Tag: 0.11.0~1694 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fd052a6e648c309daacf0d0186f632f466e437d0;p=oweals%2Fluci.git modules/admin-full: rework status javascript code to use XHR.poll() --- diff --git a/modules/admin-full/luasrc/view/admin_network/iface_overview.htm b/modules/admin-full/luasrc/view/admin_network/iface_overview.htm index 6a94c2dfe..8a91ca47e 100644 --- a/modules/admin-full/luasrc/view/admin_network/iface_overview.htm +++ b/modules/admin-full/luasrc/view/admin_network/iface_overview.htm @@ -44,8 +44,7 @@ $Id$ s.innerHTML = '<%:Waiting for router...%>'; } - var rcxhr = new XHR(); - rcxhr.get('<%=luci.dispatcher.build_url("admin", "network")%>/iface_' + (reconnect ? 'reconnect' : 'shutdown') + '/' + id, null, + XHR.get('<%=luci.dispatcher.build_url("admin", "network")%>/iface_' + (reconnect ? 'reconnect' : 'shutdown') + '/' + id, null, function(x) { if (s) @@ -67,117 +66,112 @@ $Id$ var wifidevs = <%=luci.http.write_json(netdevs)%>; var arptable = <%=luci.http.write_json(arpcache)%>; - (function() { - var func = arguments.callee; - iwxhr.get('<%=luci.dispatcher.build_url("admin", "network", "iface_status", table.concat(netlist, ","))%>', null, - function(x, ifcs) + XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "iface_status", table.concat(netlist, ","))%>', null, + function(x, ifcs) + { + if (ifcs) { - if (ifcs) + for (var idx = 0; idx < ifcs.length; idx++) { - for (var idx = 0; idx < ifcs.length; idx++) + var ifc = ifcs[idx]; + var html = ''; + + var s = document.getElementById(ifc.id + '-ifc-devices'); + if (s) { - var ifc = ifcs[idx]; - var html = ''; + var stat = String.format( + '', + ifc.type, + ifc.is_up ? '' : '_disabled' + ); - var s = document.getElementById(ifc.id + '-ifc-devices'); - if (s) + if (ifc.subdevices && ifc.subdevices.length) { - var stat = String.format( - '', - ifc.type, - ifc.is_up ? '' : '_disabled' - ); + stat += ' ('; - if (ifc.subdevices && ifc.subdevices.length) + for (var j = 0; j < ifc.subdevices.length; j++) { - stat += ' ('; - - for (var j = 0; j < ifc.subdevices.length; j++) - { - var sif = ifc.subdevices[j]; + var sif = ifc.subdevices[j]; + + stat += String.format( + '', + sif.type, + sif.is_up ? '' : '_disabled', + sif.name + ); + } - stat += String.format( - '', - sif.type, - sif.is_up ? '' : '_disabled', - sif.name - ); - } + stat += ')'; + } - stat += ')'; - } + stat += String.format( + '
%s', + ifc.name + ); - stat += String.format( - '
%s', - ifc.name - ); + s.innerHTML = stat; + } - s.innerHTML = stat; + var d = document.getElementById(ifc.id + '-ifc-description'); + if (d && ifc.ifname) + { + if (ifc.is_up) + { + html += String.format('<%:Uptime%>: %t
', ifc.uptime); } - var d = document.getElementById(ifc.id + '-ifc-description'); - if (d && ifc.ifname) + if (ifc.type != 'tunnel') { - if (ifc.is_up) - { - html += String.format('<%:Uptime%>: %t
', ifc.uptime); - } - - if (ifc.type != 'tunnel') - { - html += String.format('<%:MAC Address%>: %s
', ifc.macaddr); - } - - html += String.format( - '<%:RX%>: %.2mB (%d <%:Pkts.%>)
' + - '<%:TX%>: %.2mB (%d <%:Pkts.%>)
', - ifc.rx_bytes, ifc.rx_packets, - ifc.tx_bytes, ifc.tx_packets - ); + html += String.format('<%:MAC Address%>: %s
', ifc.macaddr); + } - if (ifc.ipaddrs && ifc.ipaddrs.length) - { - html += '<%:IPv4%>: '; + html += String.format( + '<%:RX%>: %.2mB (%d <%:Pkts.%>)
' + + '<%:TX%>: %.2mB (%d <%:Pkts.%>)
', + ifc.rx_bytes, ifc.rx_packets, + ifc.tx_bytes, ifc.tx_packets + ); - for (var i = 0; i < ifc.ipaddrs.length; i++) - html += String.format( - '%s%s/%d', - i ? ', ' : '', - ifc.ipaddrs[i].addr, - ifc.ipaddrs[i].prefix - ); + if (ifc.ipaddrs && ifc.ipaddrs.length) + { + html += '<%:IPv4%>: '; - html += '
'; - } + for (var i = 0; i < ifc.ipaddrs.length; i++) + html += String.format( + '%s%s/%d', + i ? ', ' : '', + ifc.ipaddrs[i].addr, + ifc.ipaddrs[i].prefix + ); - if (ifc.ip6addrs && ifc.ip6addrs.length) - { - html += '<%:IPv6%>: '; + html += '
'; + } - for (var i = 0; i < ifc.ip6addrs.length; i++) - html += String.format( - '%s%s/%d', - i ? ', ' : '', - ifc.ip6addrs[i].addr.toUpperCase(), - ifc.ip6addrs[i].prefix - ); + if (ifc.ip6addrs && ifc.ip6addrs.length) + { + html += '<%:IPv6%>: '; - html += '
'; - } + for (var i = 0; i < ifc.ip6addrs.length; i++) + html += String.format( + '%s%s/%d', + i ? ', ' : '', + ifc.ip6addrs[i].addr.toUpperCase(), + ifc.ip6addrs[i].prefix + ); - d.innerHTML = html; - } - else if (d) - { - d.innerHTML = '<%:Interface not present or not connected yet.%>'; + html += '
'; } + + d.innerHTML = html; + } + else if (d) + { + d.innerHTML = '<%:Interface not present or not connected yet.%>'; } } - - window.setTimeout(func, 5000); } - ) - })(); + } + ); //]]>