Update status view because of ubus value rename Signed-off-by: Florian Eckert <fe@dev.tdt.de>
99 lines
2.4 KiB
HTML
99 lines
2.4 KiB
HTML
<%#
|
|
Copyright 2014 Aedan Renner <chipdankly@gmail.com>
|
|
Copyright 2018 Florian Eckert <fe@dev.tdt.de>
|
|
Licensed to the public under the GNU General Public License v2.
|
|
-%>
|
|
|
|
<script type="text/javascript">//<![CDATA[
|
|
|
|
function secondsToString(time) {
|
|
var seconds = parseInt(time, 10);
|
|
|
|
var hrs = Math.floor(seconds / 3600);
|
|
seconds -= hrs*3600;
|
|
var mnts = Math.floor(seconds / 60);
|
|
seconds -= mnts*60;
|
|
return String.format("%sh:%sm:%ss", hrs, mnts, seconds);
|
|
}
|
|
|
|
XHR.poll(-1, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "interface_status")%>', null,
|
|
function(x, status)
|
|
{
|
|
var statusDiv = document.getElementById('mwan_status_text');
|
|
if (status.interfaces)
|
|
{
|
|
var statusview = '';
|
|
for ( var iface in status.interfaces)
|
|
{
|
|
var state = '';
|
|
var css = '';
|
|
var time = '';
|
|
switch (status.interfaces[iface].status)
|
|
{
|
|
case 'online':
|
|
state = '<%:Online%>';
|
|
time = String.format(
|
|
'<div><strong>Uptime: </strong>%s</div>',
|
|
secondsToString(status.interfaces[iface].online)
|
|
);
|
|
css = 'success';
|
|
break;
|
|
case 'offline':
|
|
state = '<%:Offline%>';
|
|
time = String.format(
|
|
'<div><strong>Downtime: </strong>%s</div>',
|
|
secondsToString(status.interfaces[iface].offline)
|
|
);
|
|
css = 'danger';
|
|
break;
|
|
default:
|
|
state = '<%:Disabled%>';
|
|
css = 'warning';
|
|
break;
|
|
}
|
|
statusview += String.format(
|
|
'<div class="alert-message %s">',
|
|
css
|
|
);
|
|
statusview += String.format(
|
|
'<div><strong>Interface: </strong>%s</div>',
|
|
iface
|
|
);
|
|
statusview += String.format(
|
|
'<div><strong>Status: </strong>%s</div>',
|
|
state
|
|
);
|
|
if (time)
|
|
{
|
|
statusview += time;
|
|
}
|
|
statusview += '</div>'
|
|
}
|
|
statusDiv.innerHTML = statusview;
|
|
}
|
|
else
|
|
{
|
|
statusDiv.innerHTML = '<strong><%:No MWAN interfaces found%></strong>';
|
|
}
|
|
}
|
|
);
|
|
//]]></script>
|
|
|
|
<style type="text/css">
|
|
#mwan_status_text > div {
|
|
display: inline-block;
|
|
margin: 1rem;
|
|
padding: 1rem;
|
|
width: 10rem;
|
|
float: left;
|
|
line-height: 125%;
|
|
}
|
|
</style>
|
|
|
|
<fieldset id="interface_field" class="cbi-section">
|
|
<legend><%:MWAN Interfaces%></legend>
|
|
<div id="mwan_status_text">
|
|
<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" />
|
|
<%:Collecting data...%>
|
|
</div>
|
|
</fieldset>
|