123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <%#
- 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>
|