meshviewer/lib/infobox/link.js

54 lines
1.9 KiB
JavaScript
Raw Permalink Normal View History

define(['helper'], function (helper) {
'use strict';
2016-05-27 21:59:01 +00:00
2017-02-01 21:04:04 +00:00
function showStatImg(o, d, time) {
var subst = {};
2017-02-01 21:04:04 +00:00
subst['{SOURCE_ID}'] = d.source.node_id;
subst['{SOURCE_NAME}'] = d.source.node.nodeinfo.hostname.replace(/[^a-z0-9\-]/ig, '_');
2017-02-01 21:04:04 +00:00
subst['{TARGET_ID}'] = d.target.node_id;
subst['{TARGET_NAME}'] = d.target.node.nodeinfo.hostname.replace(/[^a-z0-9\-]/ig, '_');
subst['{TIME}'] = time;
2017-01-28 14:33:13 +00:00
subst['{LOCALE}'] = _.locale();
2016-05-26 16:37:24 +00:00
return helper.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) {
var h2 = document.createElement('h2');
var a1 = document.createElement('a');
a1.href = router.generateLink({ node: d.source.node_id });
a1.textContent = d.source.node.nodeinfo.hostname;
h2.appendChild(a1);
2017-03-18 13:36:11 +00:00
var arrow = document.createElement('span');
arrow.classList.add('ion-arrow-right-c');
h2.appendChild(arrow);
var a2 = document.createElement('a');
2017-03-05 11:29:21 +00:00
a2.href = router.generateLink({ node: d.target.node_id });
a2.textContent = d.target.node.nodeinfo.hostname;
h2.appendChild(a2);
el.appendChild(h2);
2015-03-25 10:21:09 +00:00
var attributes = document.createElement('table');
attributes.classList.add('attributes');
2015-03-25 10:21:09 +00:00
2017-01-28 14:33:13 +00:00
helper.attributeEntry(attributes, 'node.tq', helper.showTq(d));
helper.attributeEntry(attributes, 'node.distance', helper.showDistance(d));
var hw1 = helper.dictGet(d.source.node.nodeinfo, ['hardware', 'model']);
var hw2 = helper.dictGet(d.target.node.nodeinfo, ['hardware', 'model']);
helper.attributeEntry(attributes, 'node.hardware', hw1 + ' ' + hw2);
2017-01-28 14:33:13 +00:00
el.appendChild(attributes);
2016-03-08 19:01:38 +00:00
if (config.linkInfos) {
var time = d.target.node.lastseen.format('DDMMYYYYHmmss');
config.linkInfos.forEach(function (linkInfo) {
var h4 = document.createElement('h4');
h4.textContent = linkInfo.name;
el.appendChild(h4);
2017-02-01 21:04:04 +00:00
el.appendChild(showStatImg(linkInfo, d, time));
});
2016-03-08 19:01:38 +00:00
}
};
});