luci/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm
pmelange 7387553a04 luci-app-olsr: make cosmetic changes.
modify the status tables so that then headers and columns align, values
left justified.

Additionally, add the openwrt style interface name to the interfaces table,
change huge  ETX numbers to 'infinate', and add the german translation for
'Selected'.

Signed-off-by: pmelange <isprotejesvalkata@gmail.com>
2018-12-06 20:57:35 +01:00

169 lines
6.4 KiB
HTML

<%#
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
Licensed to the public under the Apache License 2.0.
-%>
<%
local olsrtools = require "luci.tools.olsr"
local i = 1
if luci.http.formvalue("status") == "1" then
local rv = {}
for k, link in ipairs(links) do
link.linkCost = tonumber(link.linkCost) or 0
if link.linkCost == 4194304 then
link.linkCost = 0
end
local color = olsrtools.etx_color(link.linkCost)
local snr_color = olsrtools.snr_color(link.snr)
defaultgw_color = ""
if link.defaultgw == 1 then
defaultgw_color = "#ffff99"
end
rv[#rv+1] = {
rip = link.remoteIP,
hn = link.hostname,
lip = link.localIP,
ifn = link.interface,
lq = string.format("%.3f", link.linkQuality),
nlq = string.format("%.3f",link.neighborLinkQuality),
cost = string.format("%.3f", link.linkCost),
snr = link.snr,
signal = link.signal,
noise = link.noise,
color = color,
snr_color = snr_color,
dfgcolor = defaultgw_color,
proto = link.proto
}
end
luci.http.prepare_content("application/json")
luci.http.write_json(rv)
return
end
%>
<%+header%>
<script type="text/javascript">//<![CDATA[
XHR.poll(10 , '<%=REQUEST_URI%>', { status: 1 },
function(x, info)
{
var nt = document.getElementById('olsr_neigh_table');
if (nt)
{
var s = '';
for (var idx = 0; idx < info.length; idx++)
{
var neigh = info[idx];
if (neigh.proto == '6') {
s += String.format(
'<div class="tr cbi-section-table-row cbi-rowstyle-'+(1 + (idx % 2))+' proto-%s">' +
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left"><a href="http://[%s]/cgi-bin-status.html">%s</a></div>',
neigh.proto, neigh.dfgcolor, neigh.rip, neigh.rip
);
} else {
s += String.format(
'<div class="tr cbi-section-table-row cbi-rowstyle-'+(1 + (idx % 2))+' proto-%s">' +
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left"><a href="http://%s/cgi-bin-status.html">%s</a></div>',
neigh.proto, neigh.dfgcolor, neigh.rip, neigh.rip
);
}
if (neigh.hn) {
s += String.format(
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left"><a href="http://%s/cgi-bin-status.html">%s</a></div>',
neigh.dfgcolor, neigh.hn, neigh.hn
);
} else {
s += String.format(
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left">?</div>',
neigh.dfgcolor
);
}
s += String.format(
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left">%s</div>' +
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left">%s</div>' +
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left">%s</div>' +
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left">%s</div>' +
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left">%s</div>' +
'<div class="td cbi-section-table-cell" style="background-color:%s; text-align: left" title="Signal: %s Noise: %s">%s</div>' +
'</div>',
neigh.dfgcolor, neigh.ifn, neigh.dfgcolor, neigh.lip, neigh.dfgcolor, neigh.lq, neigh.dfgcolor, neigh.nlq, neigh.color, neigh.cost, neigh.snr_color, neigh.signal, neigh.noise, neigh.snr || '?'
);
}
nt.innerHTML = s;
}
}
);
//]]></script>
<h2 name="content"><%:OLSR connections%></h2>
<div id="togglebuttons"></div>
<fieldset class="cbi-section">
<legend><%:Overview of currently established OLSR connections%></legend>
<div class="table cbi-section-table">
<div class="tr cbi-section-table-cell">
<div class="th cbi-section-table-cell"><%:Neighbour IP%></div>
<div class="th cbi-section-table-cell"><%:Hostname%></div>
<div class="th cbi-section-table-cell"><%:Interface%></div>
<div class="th cbi-section-table-cell"><%:Local interface IP%></div>
<div class="th cbi-section-table-cell">LQ</div>
<div class="th cbi-section-table-cell">NLQ</div>
<div class="th cbi-section-table-cell">ETX</div>
<div class="th cbi-section-table-cell">SNR</div>
</div>
<% local i = 1
for k, link in ipairs(links) do
link.linkCost = tonumber(link.linkCost) or 0
if link.linkCost == 4194304 then
link.linkCost = 0
end
color = olsrtools.etx_color(link.linkCost)
snr_color = olsrtools.snr_color(link.snr)
if link.snr == 0 then
link.snr = '?'
end
defaultgw_color = ""
if link.defaultgw == 1 then
defaultgw_color = "#ffff99"
end
%>
<div class="tr cbi-section-table-row cbi-rowstyle-<%=i%> proto-<%=link.proto%>">
<% if link.proto == "6" then %>
<div class="td cbi-section-table-cell" style="background-color:<%=defaultgw_color%>; text-align: left"><a href="http://[<%=link.remoteIP%>]/cgi-bin-status.html"><%=link.remoteIP%></a></div>
<% else %>
<div class="td cbi-section-table-cell" style="background-color:<%=defaultgw_color%>; text-align: left"><a href="http://<%=link.remoteIP%>/cgi-bin-status.html"><%=link.remoteIP%></a></div>
<% end %>
<div class="td cbi-section-table-cell" style="background-color:<%=defaultgw_color%>; text-align: left"><a href="http://<%=link.hostname%>/cgi-bin-status.html"><%=link.hostname%></a></div>
<div class="td cbi-section-table-cell" style="background-color:<%=defaultgw_color%>; text-align: left"><%=link.interface%></div>
<div class="td cbi-section-table-cell" style="background-color:<%=defaultgw_color%>; text-align: left"><%=link.localIP%></div>
<div class="td cbi-section-table-cell" style="background-color:<%=defaultgw_color%>; text-align: left"><%=string.format("%.3f", link.linkQuality)%></div>
<div class="td cbi-section-table-cell" style="background-color:<%=defaultgw_color%>; text-align: left"><%=string.format("%.3f", link.neighborLinkQuality)%></div>
<div class="td cbi-section-table-cell" style="background-color:<%=color%>; text-align: left"><%=string.format("%.3f", link.linkCost)%></div>
<div class="td cbi-section-table-cell" style="background-color:<%=snr_color%>; text-align: left" title="Signal: <%=link.signal%> Noise: <%=link.noise%>"><%=link.snr%></div>
</div>
<%
i = ((i % 2) + 1)
end %>
</div>
<br />
<%+status-olsr/legend%>
</fieldset>
<%+status-olsr/common_js%>
<%+footer%>