modules/admin-full: IE fixes
[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>