2015-03-25 10:21:09 +00:00
|
|
|
|
define(function () {
|
2016-03-08 19:01:38 +00:00
|
|
|
|
function showStatImg(o, source, target) {
|
2016-05-22 11:23:43 +00:00
|
|
|
|
var subst = {};
|
|
|
|
|
subst["{SOURCE}"] = source;
|
|
|
|
|
subst["{TARGET}"] = target;
|
|
|
|
|
return showStat(o, subst);
|
2016-03-08 19:01:38 +00:00
|
|
|
|
}
|
|
|
|
|
|
2015-03-25 18:45:21 +00:00
|
|
|
|
return function (config, el, router, d) {
|
2016-05-22 11:23:43 +00:00
|
|
|
|
var unknown = !(d.source.node);
|
|
|
|
|
var h2 = document.createElement("h2");
|
|
|
|
|
var a1 = document.createElement("a");
|
2016-02-27 13:43:27 +00:00
|
|
|
|
if (!unknown) {
|
2016-05-22 11:23:43 +00:00
|
|
|
|
a1.href = "#";
|
|
|
|
|
a1.onclick = router.node(d.source.node);
|
2016-02-27 13:43:27 +00:00
|
|
|
|
}
|
2016-05-22 11:23:43 +00:00
|
|
|
|
a1.textContent = unknown ? d.source.id : d.source.node.nodeinfo.hostname;
|
|
|
|
|
h2.appendChild(a1);
|
|
|
|
|
h2.appendChild(document.createTextNode(" → "));
|
|
|
|
|
var a2 = document.createElement("a");
|
|
|
|
|
a2.href = "#";
|
|
|
|
|
a2.onclick = router.node(d.target.node);
|
|
|
|
|
a2.textContent = d.target.node.nodeinfo.hostname;
|
|
|
|
|
h2.appendChild(a2);
|
|
|
|
|
el.appendChild(h2);
|
2015-03-25 10:21:09 +00:00
|
|
|
|
|
2016-05-22 11:23:43 +00:00
|
|
|
|
var attributes = document.createElement("table");
|
|
|
|
|
attributes.classList.add("attributes");
|
2015-03-25 10:21:09 +00:00
|
|
|
|
|
2016-05-22 11:23:43 +00:00
|
|
|
|
attributeEntry(attributes, "TQ", showTq(d));
|
|
|
|
|
attributeEntry(attributes, "Entfernung", showDistance(d));
|
|
|
|
|
attributeEntry(attributes, "Typ", d.type);
|
|
|
|
|
var hw1 = unknown ? null : dictGet(d.source.node.nodeinfo, ["hardware", "model"]);
|
|
|
|
|
var hw2 = dictGet(d.target.node.nodeinfo, ["hardware", "model"]);
|
|
|
|
|
attributeEntry(attributes, "Hardware", (hw1 != null ? hw1 : "unbekannt") + " – " + (hw2 != null ? hw2 : "unbekannt"));
|
|
|
|
|
el.appendChild(attributes);
|
2016-03-08 19:01:38 +00:00
|
|
|
|
|
|
|
|
|
if (config.linkInfos) {
|
2016-05-22 11:23:43 +00:00
|
|
|
|
var source = d.source.node_id;
|
|
|
|
|
var target = d.target.node_id;
|
2016-05-22 12:51:30 +00:00
|
|
|
|
config.linkInfos.forEach(function (linkInfo) {
|
2016-05-22 11:23:43 +00:00
|
|
|
|
var h4 = document.createElement("h4");
|
|
|
|
|
h4.textContent = linkInfo.name;
|
|
|
|
|
el.appendChild(h4);
|
|
|
|
|
el.appendChild(showStatImg(linkInfo, source, target));
|
|
|
|
|
});
|
2016-03-08 19:01:38 +00:00
|
|
|
|
}
|
2016-05-22 11:23:43 +00:00
|
|
|
|
};
|
|
|
|
|
});
|