diff --git a/helper.js b/helper.js
index 7450d79..a4d29fa 100644
--- a/helper.js
+++ b/helper.js
@@ -112,12 +112,6 @@ function showTq(d) {
return numeral(1/d.tq).format("0%")
}
-function linkId(d) {
- var ids = [d.source.node.nodeinfo.node_id, d.target.node.nodeinfo.node_id]
-
- return ids.sort().join("-")
-}
-
/* Infobox stuff (XXX: move to module) */
function attributeEntry(el, label, value) {
diff --git a/lib/forcegraph.js b/lib/forcegraph.js
index 4e621cf..c6d8b03 100644
--- a/lib/forcegraph.js
+++ b/lib/forcegraph.js
@@ -162,7 +162,7 @@ define(["d3"], function (d3) {
link = vis.select("g.links")
.selectAll("g.link")
- .data(links, linkId)
+ .data(links, function (d) { return d.id })
var linkEnter = link.enter().append("g")
.attr("class", "link")
@@ -183,18 +183,14 @@ define(["d3"], function (d3) {
link.each( function (d) {
if (d.source.node && d.target.node)
- linksDict[linkId(d)] = d
+ linksDict[d.id] = d
})
nodes = data.graph.nodes
node = vis.select("g.nodes")
.selectAll(".node")
- .data(nodes,
- function(d) {
- return d.id
- }
- )
+ .data(nodes, function(d) { return d.id })
var nodeEnter = node.enter().append("circle")
.attr("r", 8)
@@ -266,7 +262,7 @@ define(["d3"], function (d3) {
return e === d && d !== undefined
})
- var l = linksDict[linkId(d)]
+ var l = linksDict[d.id]
if (l) {
var x = d3.extent([l.source, l.target], function (d) { return d.x })
diff --git a/lib/main.js b/lib/main.js
index d9a2121..83411e4 100644
--- a/lib/main.js
+++ b/lib/main.js
@@ -44,6 +44,9 @@ function (config, moment, Router, L, GUI, numeral) {
})
links.forEach( function (d) {
+ var ids = [d.source.node.nodeinfo.node_id, d.target.node.nodeinfo.node_id]
+ d.id = ids.sort().join("-")
+
if (!("location" in d.source.node.nodeinfo && "location" in d.target.node.nodeinfo))
return
diff --git a/lib/map.js b/lib/map.js
index 69b9f1a..25feaef 100644
--- a/lib/map.js
+++ b/lib/map.js
@@ -40,7 +40,7 @@ define(["d3", "leaflet", "moment", "leaflet.label"], function (d3, L, moment) {
line.bindLabel(d.source.node.nodeinfo.hostname + " – " + d.target.node.nodeinfo.hostname + "
" + showDistance(d) + " / " + showTq(d) + "")
line.on("click", router.link(d))
- dict[linkId(d)] = line
+ dict[d.id] = line
return line
})
@@ -178,7 +178,7 @@ define(["d3", "leaflet", "moment", "leaflet.label"], function (d3, L, moment) {
self.gotoLink = function (d) {
resetMarkerStyles(nodeDict, linkDict)
- var m = goto(linkDict, linkId(d))
+ var m = goto(linkDict, d.id)
if (m)
m.setStyle({ weight: 7, opacity: 1, dashArray: "10, 10" })
diff --git a/lib/router.js b/lib/router.js
index 01a7472..95c5072 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -13,7 +13,7 @@ define(function () {
s += "n:" + encodeURIComponent(d.node.nodeinfo.node_id)
if ("link" in d)
- s += "l:" + encodeURIComponent(linkId(d.link))
+ s += "l:" + encodeURIComponent(d.link.id)
}
window.history.pushState(s, undefined, s)
@@ -133,7 +133,7 @@ define(function () {
})
data.graph.links.forEach( function (d) {
- objects.links[linkId(d)] = d
+ objects.links[d.id] = d
})
}
diff --git a/package.json b/package.json
index ef2558f..9a662d7 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,6 @@
"getJSON": false,
"has_location": false,
"limit": false,
- "linkId": false,
"localStorageTest": false,
"offline": false,
"one": false,