3635577f6c7fc788c680fe0be5fd42b2cb066f96
[project/luci.git] / modules / admin-full / luasrc / view / admin_network / lease_status.htm
1 <script type="text/javascript">//<![CDATA[
2 var stxhr = new XHR();
3 var update_status = function() {
4 stxhr.get('<%=luci.dispatcher.build_url("admin", "network", "dhcplease_status")%>', null,
5 function(x, st)
6 {
7 var tb = document.getElementById('lease_status_table');
8 if (st && tb)
9 {
10 /* clear all rows */
11 while( tb.rows.length > 1 )
12 tb.deleteRow(1);
13
14 for( var i = 0; i < st.length; i++ )
15 {
16 var timestr;
17
18 if (st[i].expires <= 0)
19 {
20 timestr = '<em><%:expired%></em>';
21 }
22 else
23 {
24 var d = 0;
25 var h = 0;
26 var m = 0;
27 var s = st[i].expires;
28
29 if (s > 60) {
30 m = Math.floor(s / 60);
31 s = (s % 60);
32 }
33
34 if (m > 60) {
35 h = Math.floor(m / 60);
36 m = (m % 60);
37 }
38
39 if (h > 24) {
40 d = Math.floor(h / 24);
41 h = (h % 24);
42 }
43
44 timestr = (d > 0)
45 ? String.format('%dd %dh %dm %ds', d, h, m, s)
46 : String.format('%dh %dm %ds', h, m, s);
47 }
48
49 var tr = tb.insertRow(-1);
50 tr.className = 'cbi-section-table-row cbi-rowstyle-' + ((i % 2) + 1);
51
52 tr.insertCell(-1).innerHTML = st[i].hostname ? st[i].hostname : '?';
53 tr.insertCell(-1).innerHTML = st[i].ipaddr;
54 tr.insertCell(-1).innerHTML = st[i].macaddr;
55 tr.insertCell(-1).innerHTML = timestr;
56 }
57
58 if( tb.rows.length == 1 )
59 {
60 var tr = tb.insertRow(-1);
61 tr.className = 'cbi-section-table-row';
62
63 var td = tr.insertCell(-1);
64 td.colSpan = 4;
65 td.innerHTML = '<em><br /><%:There are no active leases.%></em>';
66 }
67 }
68
69 window.setTimeout(update_status, 5000);
70 }
71 )
72 };
73
74 update_status();
75 //]]></script>
76
77 <fieldset class="cbi-section">
78 <legend><%:Active Leases%></legend>
79 <table class="cbi-section-table" id="lease_status_table">
80 <tr class="cbi-section-table-titles">
81 <th class="cbi-section-table-cell"><%:Hostname%></th>
82 <th class="cbi-section-table-cell"><%:IPv4-Address%></th>
83 <th class="cbi-section-table-cell"><%:MAC-Address%></th>
84 <th class="cbi-section-table-cell"><%:Leasetime remaining%></th>
85 </tr>
86 <tr class="cbi-section-table-row">
87 <td colspan="4"><em><br /><%:Collecting data...%></em></td>
88 </tr>
89 </table>
90 </fieldset>