From 82b5b5a8d28f56c95709a998248e4e4c721c8c0f Mon Sep 17 00:00:00 2001
From: corvusmo <corvusmo@users.noreply.github.com>
Date: Wed, 27 Apr 2016 08:40:13 +0200
Subject: [PATCH] gluon-status-page: refactor creation of table rows and cells
 (#738)

---
 .../src/js/lib/gui/neighbours.js              | 24 +++++++------------
 .../src/js/lib/gui/statistics.js              |  9 +++----
 2 files changed, 11 insertions(+), 22 deletions(-)

diff --git a/package/gluon-status-page/src/js/lib/gui/neighbours.js b/package/gluon-status-page/src/js/lib/gui/neighbours.js
index ff782506e..569336670 100644
--- a/package/gluon-status-page/src/js/lib/gui/neighbours.js
+++ b/package/gluon-status-page/src/js/lib/gui/neighbours.js
@@ -31,20 +31,13 @@ function (Helper, SignalGraph, Signal) {
   }
 
   function TableEntry(parent, nodeInfo, color, stream, mgmtBus, signal) {
-    var el = document.createElement("tr")
-    parent.appendChild(el)
-
-    var tdHostname = document.createElement("td")
-    var tdTQ = document.createElement("td")
-    var tdSignal = document.createElement("td")
-    var tdDistance = document.createElement("td")
-    var tdInactive = document.createElement("td")
+    var el = parent.insertRow()
 
-    el.appendChild(tdHostname)
-    el.appendChild(tdTQ)
-    el.appendChild(tdSignal)
-    el.appendChild(tdDistance)
-    el.appendChild(tdInactive)
+    var tdHostname = el.insertCell()
+    var tdTQ = el.insertCell()
+    var tdSignal = el.insertCell()
+    var tdDistance = el.insertCell()
+    var tdInactive = el.insertCell()
 
     var marker = document.createElement("span")
     marker.textContent = "⬤ "
@@ -69,7 +62,7 @@ function (Helper, SignalGraph, Signal) {
 
     el.destroy = function () {
       unsubscribe()
-      parent.removeChild(el)
+      parent.tBodies[0].removeChild(el)
     }
 
     return el
@@ -135,8 +128,7 @@ function (Helper, SignalGraph, Signal) {
     el.appendChild(h)
 
     var table = document.createElement("table")
-    var tr = document.createElement("tr")
-    table.appendChild(tr)
+    var tr = table.insertRow()
     table.classList.add("datatable")
 
     var th = document.createElement("th")
diff --git a/package/gluon-status-page/src/js/lib/gui/statistics.js b/package/gluon-status-page/src/js/lib/gui/statistics.js
index 59a7c5605..244a2e960 100644
--- a/package/gluon-status-page/src/js/lib/gui/statistics.js
+++ b/package/gluon-status-page/src/js/lib/gui/statistics.js
@@ -49,10 +49,11 @@ define(["lib/helper"], function (Helper) {
   }
 
   function mkTrafficRow(table, children, label, stream, selector) {
-    var tr = document.createElement("tr")
+    var tr = table.insertRow()
     var th = document.createElement("th")
-    var td = document.createElement("td")
     th.textContent = label
+    tr.appendChild(th)
+    var td = tr.insertCell()
 
     var traffic = stream.slidingWindow(2, 2)
     var pkts = streamNode(traffic.map(deltaUptime(selector + ".packets")).map(prettyPackets))
@@ -65,10 +66,6 @@ define(["lib/helper"], function (Helper) {
     td.appendChild(document.createElement("br"))
     td.appendChild(bytes)
 
-    tr.appendChild(th)
-    tr.appendChild(td)
-    table.appendChild(tr)
-
     children.push(pkts)
     children.push(bw)
     children.push(bytes)
-- 
GitLab