ソースを参照

Don't show vpn-links

Michael Schwarz 9 年 前
コミット
8c5e84b2cb
3 ファイル変更56 行追加51 行削除
  1. 5 4
      lib/forcegraph.js
  2. 42 40
      lib/infobox/node.js
  3. 9 7
      lib/linklist.js

+ 5 - 4
lib/forcegraph.js

@@ -239,10 +239,11 @@ define(["d3"], function (d3) {
     }
 
     function visibleLinks(d) {
-      return (d.source.x > screenRect.left && d.source.x < screenRect.right &&
-              d.source.y > screenRect.top && d.source.y < screenRect.bottom) ||
-             (d.target.x > screenRect.left && d.target.x < screenRect.right &&
-              d.target.y > screenRect.top && d.target.y < screenRect.bottom)
+      if (!d.o.vpn)
+        return (d.source.x > screenRect.left && d.source.x < screenRect.right &&
+                d.source.y > screenRect.top && d.source.y < screenRect.bottom) ||
+               (d.target.x > screenRect.left && d.target.x < screenRect.right &&
+                d.target.y > screenRect.top && d.target.y < screenRect.bottom)
     }
 
     function visibleNodes(d) {

+ 42 - 40
lib/infobox/node.js

@@ -208,46 +208,48 @@ define(["moment", "numeral", "tablesort", "tablesort.numeric"],
       var tbody = document.createElement("tbody")
 
       d.neighbours.forEach( function (d) {
-        var tr = document.createElement("tr")
-
-        var td1 = document.createElement("td")
-        var a1 = document.createElement("a")
-        a1.classList.add("hostname")
-        a1.textContent = d.node.nodeinfo.hostname
-        a1.href = "#"
-        a1.onclick = router.node(d.node)
-        td1.appendChild(a1)
-
-        if (d.link.vpn)
-          td1.appendChild(document.createTextNode(" (VPN)"))
-
-        if (has_location(d.node)) {
-          var span = document.createElement("span")
-          span.classList.add("icon")
-          span.classList.add("ion-location")
-          td1.appendChild(span)
-        }
-
-        tr.appendChild(td1)
-
-        var td2 = document.createElement("td")
-        var a2 = document.createElement("a")
-        a2.href = "#"
-        a2.textContent = showTq(d.link)
-        a2.onclick = router.link(d.link)
-        td2.appendChild(a2)
-        tr.appendChild(td2)
-
-        var td3 = document.createElement("td")
-        var a3 = document.createElement("a")
-        a3.href = "#"
-        a3.textContent = showDistance(d.link)
-        a3.onclick = router.link(d.link)
-        td3.appendChild(a3)
-        td3.setAttribute("data-sort", d.link.distance !== undefined ? -d.link.distance : 1)
-        tr.appendChild(td3)
-
-        tbody.appendChild(tr)
+        if (!d.link.vpn) {
+          var tr = document.createElement("tr")
+
+          var td1 = document.createElement("td")
+          var a1 = document.createElement("a")
+          a1.classList.add("hostname")
+          a1.textContent = d.node.nodeinfo.hostname
+          a1.href = "#"
+          a1.onclick = router.node(d.node)
+          td1.appendChild(a1)
+
+          if (d.link.vpn)
+            td1.appendChild(document.createTextNode(" (VPN)"))
+
+          if (has_location(d.node)) {
+            var span = document.createElement("span")
+            span.classList.add("icon")
+            span.classList.add("ion-location")
+            td1.appendChild(span)
+          }
+
+          tr.appendChild(td1)
+
+          var td2 = document.createElement("td")
+          var a2 = document.createElement("a")
+          a2.href = "#"
+          a2.textContent = showTq(d.link)
+          a2.onclick = router.link(d.link)
+          td2.appendChild(a2)
+          tr.appendChild(td2)
+
+          var td3 = document.createElement("td")
+          var a3 = document.createElement("a")
+          a3.href = "#"
+          a3.textContent = showDistance(d.link)
+          a3.onclick = router.link(d.link)
+          td3.appendChild(a3)
+          td3.setAttribute("data-sort", d.link.distance !== undefined ? -d.link.distance : 1)
+          tr.appendChild(td3)
+
+          tbody.appendChild(tr)
+	}
       })
 
       table.appendChild(tbody)

+ 9 - 7
lib/linklist.js

@@ -25,16 +25,18 @@ define(["sorttable", "virtual-dom"], function (SortTable, V) {
     var table = new SortTable(headings, 2, renderRow)
 
     function renderRow(d) {
-      var td1Content = [V.h("a", {href: "#", onclick: router.link(d)}, linkName(d))]
+      if (!d.vpn) {
+        var td1Content = [V.h("a", {href: "#", onclick: router.link(d)}, linkName(d))]
 
-      if (d.vpn)
-        td1Content.push(" (VPN)")
+        if (d.vpn)
+          td1Content.push(" (VPN)")
 
-      var td1 = V.h("td", td1Content)
-      var td2 = V.h("td", {style: {color: linkScale(d.tq).hex()}}, showTq(d))
-      var td3 = V.h("td", showDistance(d))
+        var td1 = V.h("td", td1Content)
+        var td2 = V.h("td", {style: {color: linkScale(d.tq).hex()}}, showTq(d))
+        var td3 = V.h("td", showDistance(d))
 
-      return V.h("tr", [td1, td2, td3])
+        return V.h("tr", [td1, td2, td3])
+      }
     }
 
     this.render = function (d)  {