[TASK] Reduce complexity
This commit is contained in:
parent
8e1026788f
commit
d3079b3222
@ -7,7 +7,6 @@ define([], function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
var container = document.createElement(tag);
|
var container = document.createElement(tag);
|
||||||
|
|
||||||
self.add = function add(d) {
|
self.add = function add(d) {
|
||||||
|
55
lib/main.js
55
lib/main.js
@ -84,53 +84,46 @@ define(['polyglot', 'moment', 'router', 'leaflet', 'gui', 'helper', 'language'],
|
|||||||
return d.target !== undefined;
|
return d.target !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
links.forEach(function (d) {
|
|
||||||
var unknown = (d.source.node === undefined);
|
|
||||||
var ids;
|
|
||||||
if (unknown) {
|
|
||||||
ids = [d.source.id.replace(/:/g, ''), d.target.node.nodeinfo.node_id];
|
|
||||||
} else {
|
|
||||||
ids = [d.source.node.nodeinfo.node_id, d.target.node.nodeinfo.node_id];
|
|
||||||
}
|
|
||||||
d.id = ids.join('-');
|
|
||||||
|
|
||||||
if (unknown || !d.source.node.nodeinfo.location || !d.target.node.nodeinfo.location ||
|
|
||||||
isNaN(d.source.node.nodeinfo.location.latitude) ||
|
|
||||||
isNaN(d.source.node.nodeinfo.location.longitude) ||
|
|
||||||
isNaN(d.target.node.nodeinfo.location.latitude) ||
|
|
||||||
isNaN(d.target.node.nodeinfo.location.longitude)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
d.latlngs = [];
|
|
||||||
d.latlngs.push(L.latLng(d.source.node.nodeinfo.location.latitude, d.source.node.nodeinfo.location.longitude));
|
|
||||||
d.latlngs.push(L.latLng(d.target.node.nodeinfo.location.latitude, d.target.node.nodeinfo.location.longitude));
|
|
||||||
|
|
||||||
d.distance = d.latlngs[0].distanceTo(d.latlngs[1]);
|
|
||||||
});
|
|
||||||
|
|
||||||
nodes.forEach(function (d) {
|
nodes.forEach(function (d) {
|
||||||
d.neighbours = [];
|
d.neighbours = [];
|
||||||
});
|
});
|
||||||
|
|
||||||
links.forEach(function (d) {
|
links.forEach(function (d) {
|
||||||
if (d.target.node.flags.gateway === true || (d.source.node !== undefined && d.source.node.flags.gateway === true)) {
|
var unknown = (d.source.node === undefined);
|
||||||
|
var ids;
|
||||||
|
|
||||||
|
if (unknown) {
|
||||||
|
d.target.node.neighbours.push({ id: d.source.id, link: d, incoming: true });
|
||||||
|
ids = [d.source.id.replace(/:/g, ''), d.target.node.nodeinfo.node_id];
|
||||||
|
} else {
|
||||||
|
if (d.target.node.flags.gateway === true || d.source.node.flags.gateway === true) {
|
||||||
d.type = 'fastd';
|
d.type = 'fastd';
|
||||||
} else {
|
} else {
|
||||||
d.type = 'N/A';
|
d.type = 'N/A';
|
||||||
}
|
}
|
||||||
var unknown = (d.source.node === undefined);
|
|
||||||
if (unknown) {
|
ids = [d.source.node.nodeinfo.node_id, d.target.node.nodeinfo.node_id];
|
||||||
d.target.node.neighbours.push({ id: d.source.id, link: d, incoming: true });
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
d.source.node.neighbours.push({ node: d.target.node, link: d, incoming: false });
|
d.source.node.neighbours.push({ node: d.target.node, link: d, incoming: false });
|
||||||
d.target.node.neighbours.push({ node: d.source.node, link: d, incoming: true });
|
d.target.node.neighbours.push({ node: d.source.node, link: d, incoming: true });
|
||||||
if (d.type !== 'fastd' && d.type !== 'L2TP') {
|
if (d.type !== 'fastd' && d.type !== 'L2TP') {
|
||||||
d.source.node.meshlinks = d.source.node.meshlinks ? d.source.node.meshlinks + 1 : 1;
|
d.source.node.meshlinks = d.source.node.meshlinks ? d.source.node.meshlinks + 1 : 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
d.id = ids.join('-');
|
||||||
|
|
||||||
|
try {
|
||||||
|
d.latlngs = [];
|
||||||
|
d.latlngs.push(L.latLng(d.source.node.nodeinfo.location.latitude, d.source.node.nodeinfo.location.longitude));
|
||||||
|
d.latlngs.push(L.latLng(d.target.node.nodeinfo.location.latitude, d.target.node.nodeinfo.location.longitude));
|
||||||
|
|
||||||
|
d.distance = d.latlngs[0].distanceTo(d.latlngs[1]);
|
||||||
|
} catch (e) {
|
||||||
|
// ignore exception
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
links.sort(function (a, b) {
|
links.sort(function (a, b) {
|
||||||
return b.tq - a.tq;
|
return b.tq - a.tq;
|
||||||
});
|
});
|
||||||
|
21
lib/map.js
21
lib/map.js
@ -368,20 +368,14 @@ define(['map/clientlayer', 'map/labelslayer',
|
|||||||
var m;
|
var m;
|
||||||
|
|
||||||
if (highlight !== undefined) {
|
if (highlight !== undefined) {
|
||||||
if (highlight.type === 'node') {
|
if (highlight.type === 'node' && nodeDict[highlight.o.nodeinfo.node_id]) {
|
||||||
m = nodeDict[highlight.o.nodeinfo.node_id];
|
m = nodeDict[highlight.o.nodeinfo.node_id];
|
||||||
|
|
||||||
if (m) {
|
|
||||||
m.setStyle({ color: 'orange', weight: 20, fillOpacity: 1, opacity: 0.7, className: 'stroke-first' });
|
m.setStyle({ color: 'orange', weight: 20, fillOpacity: 1, opacity: 0.7, className: 'stroke-first' });
|
||||||
}
|
} else if (highlight.type === 'link' && linkDict[highlight.o.id]) {
|
||||||
} else if (highlight.type === 'link') {
|
|
||||||
m = linkDict[highlight.o.id];
|
m = linkDict[highlight.o.id];
|
||||||
|
|
||||||
if (m) {
|
|
||||||
m.setStyle({ weight: 4, opacity: 1, dashArray: '5, 10' });
|
m.setStyle({ weight: 4, opacity: 1, dashArray: '5, 10' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!nopanzoom) {
|
if (!nopanzoom) {
|
||||||
if (m) {
|
if (m) {
|
||||||
@ -395,12 +389,11 @@ define(['map/clientlayer', 'map/labelslayer',
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mapRTree(d) {
|
function mapRTree(d) {
|
||||||
var o = { minX: d.nodeinfo.location.latitude, minY: d.nodeinfo.location.longitude,
|
return {
|
||||||
maxX: d.nodeinfo.location.latitude, maxY: d.nodeinfo.location.longitude };
|
minX: d.nodeinfo.location.latitude, minY: d.nodeinfo.location.longitude,
|
||||||
|
maxX: d.nodeinfo.location.latitude, maxY: d.nodeinfo.location.longitude,
|
||||||
o.node = d;
|
node: d
|
||||||
|
};
|
||||||
return o;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.setData = function setData(data) {
|
self.setData = function setData(data) {
|
||||||
|
@ -31,8 +31,6 @@ define(['leaflet', 'helper'],
|
|||||||
}
|
}
|
||||||
|
|
||||||
var ctx = canvas.getContext('2d');
|
var ctx = canvas.getContext('2d');
|
||||||
|
|
||||||
|
|
||||||
var startDistance = 12;
|
var startDistance = 12;
|
||||||
|
|
||||||
ctx.beginPath();
|
ctx.beginPath();
|
||||||
|
@ -22,11 +22,7 @@ define(['leaflet', 'rbush', 'helper'],
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mapRTree(d) {
|
function mapRTree(d) {
|
||||||
var o = { minX: d.position.lat, minY: d.position.lng, maxX: d.position.lat, maxY: d.position.lng };
|
return { minX: d.position.lat, minY: d.position.lng, maxX: d.position.lat, maxY: d.position.lng, label: d };
|
||||||
|
|
||||||
o.label = d;
|
|
||||||
|
|
||||||
return o;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function prepareLabel(fillStyle, fontSize, offset, stroke) {
|
function prepareLabel(fillStyle, fontSize, offset, stroke) {
|
||||||
|
@ -63,21 +63,6 @@ define(['helper'], function (helper) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function gotoLocation(d) {
|
|
||||||
if (!d) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
targets.forEach(function (t) {
|
|
||||||
if (!t.gotoLocation) {
|
|
||||||
console.warn('has no gotoLocation', t);
|
|
||||||
}
|
|
||||||
t.gotoLocation(d);
|
|
||||||
});
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadState(s, update) {
|
function loadState(s, update) {
|
||||||
if (!s) {
|
if (!s) {
|
||||||
return false;
|
return false;
|
||||||
@ -202,7 +187,20 @@ define(['helper'], function (helper) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
self.gotoLocation = gotoLocation;
|
self.gotoLocation = function gotoLocation(d) {
|
||||||
|
if (!d) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
targets.forEach(function (t) {
|
||||||
|
if (!t.gotoLocation) {
|
||||||
|
console.warn('has no gotoLocation', t);
|
||||||
|
}
|
||||||
|
t.gotoLocation(d);
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
self.reset = function reset() {
|
self.reset = function reset() {
|
||||||
resetView();
|
resetView();
|
||||||
|
Loading…
Reference in New Issue
Block a user