modules/admin-full: more javascript fixes
[project/luci.git] / modules / admin-full / luasrc / view / admin_network / lease_status.htm
index 9555d14..519b63e 100644 (file)
@@ -1,17 +1,18 @@
-<script type="text/javascript"><![CDATA[
+<script type="text/javascript">//<![CDATA[
        var stxhr = new XHR();
+
        (function() {
+               var func = arguments.callee;
+
                stxhr.get('<%=luci.dispatcher.build_url("admin", "network", "dhcplease_status")%>', null,
-                       function(x)
+                       function(x, st)
                        {
-                               var st = x.responseText ? eval('(' + x.responseText + ')') : null;
                                var tb = document.getElementById('lease_status_table');
-
                                if (st && tb)
                                {
                                        /* clear all rows */
                                        while( tb.rows.length > 1 )
-                                               tb.rows[1].parentNode.removeChild(tb.rows[1]);
+                                               tb.deleteRow(1);
 
                                        for( var i = 0; i < st.length; i++ )
                                        {
                                                }
                                                else
                                                {
-                                                       var d = 0;
-                                                       var h = 0;
-                                                       var m = 0;
-                                                       var s = st[i].expires;
-
-                                                       if (s > 60) {
-                                                               m = Math.floor(s / 60);
-                                                               s = (s % 60);
-                                                       }
-
-                                                       if (m > 60) {
-                                                               h = Math.floor(m / 60);
-                                                               m = (m % 60);
-                                                       }
-
-                                                       if (h > 24) {
-                                                               d = Math.floor(h / 24);
-                                                               h = (h % 24);
-                                                       }
-
-                                                       timestr = (d > 0)
-                                                               ? String.format('%dd %dh %dm %ds', d, h, m, s)
-                                                               : String.format('%dh %dm %ds', h, m, s);
+                                                       timestr = String.format('%t', st[i].expires);
                                                }
 
-                                               var tr = document.createElement('tr');
+                                               var tr = tb.insertRow(-1);
                                                        tr.className = 'cbi-section-table-row cbi-rowstyle-' + ((i % 2) + 1);
 
-                                               tr.innerHTML = String.format(
-                                                       '<td class="cbi-section-table-cell">%s</td>' +
-                                                       '<td class="cbi-section-table-cell">%s</td>' +
-                                                       '<td class="cbi-section-table-cell">%s</td>' +
-                                                       '<td class="cbi-section-table-cell">%s</td>',
-                                                               st[i].hostname ? st[i].hostname : '?',
-                                                               st[i].ipaddr,
-                                                               st[i].macaddr,
-                                                               timestr
-                                               );
-
-                                               tb.rows[0].parentNode.appendChild(tr);
+                                               tr.insertCell(-1).innerHTML = st[i].hostname ? st[i].hostname : '?';
+                                               tr.insertCell(-1).innerHTML = st[i].ipaddr;
+                                               tr.insertCell(-1).innerHTML = st[i].macaddr;
+                                               tr.insertCell(-1).innerHTML = timestr;
                                        }
 
                                        if( tb.rows.length == 1 )
                                        {
-                                               var tr = document.createElement('tr');
+                                               var tr = tb.insertRow(-1);
                                                        tr.className = 'cbi-section-table-row';
-                                                       tr.innerHTML = '<td colspan="5"><em><br /><%:There are no active leases.%></em></td>';
 
-                                               tb.rows[0].parentNode.appendChild(tr);
+                                               var td = tr.insertCell(-1);
+                                                       td.colSpan = 4;
+                                                       td.innerHTML = '<em><br /><%:There are no active leases.%></em>';
                                        }
                                }
+
+                               window.setTimeout(func, 5000);
                        }
                )
-
-               window.setTimeout(arguments.callee, 5000);
        })();
-]]></script>
+//]]></script>
 
 <fieldset class="cbi-section">
        <legend><%:Active Leases%></legend>
@@ -91,7 +63,7 @@
                        <th class="cbi-section-table-cell"><%:Leasetime remaining%></th>
                </tr>
                <tr class="cbi-section-table-row">
-                       <td colspan="5"><em><br /><%:Collecting data...%></em></td>
+                       <td colspan="4"><em><br /><%:Collecting data...%></em></td>
                </tr>
        </table>
 </fieldset>