[BUGFIX] Filter links by node + perfomance using dict/map
This commit is contained in:
parent
fb857717fd
commit
d6b84eba22
@ -12,26 +12,8 @@ define(function () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var filteredIds = new Set();
|
n.links = data.links.filter(function (d) {
|
||||||
|
return filter(d.source) && filter(d.target);
|
||||||
n.graph = {};
|
|
||||||
n.graph.nodes = data.graph.nodes.filter(function (d) {
|
|
||||||
var r;
|
|
||||||
if (d.node) {
|
|
||||||
r = filter(d.node);
|
|
||||||
} else {
|
|
||||||
r = filter({});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (r) {
|
|
||||||
filteredIds.add(d.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
return r;
|
|
||||||
});
|
|
||||||
|
|
||||||
n.graph.links = data.graph.links.filter(function (d) {
|
|
||||||
return filteredIds.has(d.source.id) && filteredIds.has(d.target.id);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return n;
|
return n;
|
||||||
|
@ -229,9 +229,9 @@ define(['sorttable', 'snabbdom', 'd3-interpolate', 'moment', 'helper'],
|
|||||||
}
|
}
|
||||||
|
|
||||||
function renderNeighbourRow(n) {
|
function renderNeighbourRow(n) {
|
||||||
var icons = [];
|
var icons = '';
|
||||||
if (helper.hasLocation(n.node)) {
|
if (helper.hasLocation(n.node)) {
|
||||||
icons.push(V.h('span', { props: { className: 'ion-location' } }));
|
icons = V.h('span', { props: { className: 'ion-location' } });
|
||||||
}
|
}
|
||||||
|
|
||||||
var td1 = V.h('td', icons);
|
var td1 = V.h('td', icons);
|
||||||
|
13
lib/main.js
13
lib/main.js
@ -32,13 +32,8 @@ define(['moment', 'utils/router', 'leaflet', 'gui', 'helper', 'utils/language'],
|
|||||||
});
|
});
|
||||||
|
|
||||||
links.forEach(function (d) {
|
links.forEach(function (d) {
|
||||||
d.source = nodes.find(function (a) {
|
d.source = nodeDict[d.source];
|
||||||
return a.node_id === d.source;
|
d.target = nodeDict[d.target];
|
||||||
});
|
|
||||||
|
|
||||||
d.target = nodes.find(function (a) {
|
|
||||||
return a.node_id === d.target;
|
|
||||||
});
|
|
||||||
|
|
||||||
d.id = [d.source.node_id, d.target.node_id].join('-');
|
d.id = [d.source.node_id, d.target.node_id].join('-');
|
||||||
d.source.neighbours.push({ node: d.target, link: d });
|
d.source.neighbours.push({ node: d.target, link: d });
|
||||||
@ -68,10 +63,6 @@ define(['moment', 'utils/router', 'leaflet', 'gui', 'helper', 'utils/language'],
|
|||||||
lost: lostnodes
|
lost: lostnodes
|
||||||
},
|
},
|
||||||
links: links,
|
links: links,
|
||||||
graph: {
|
|
||||||
links: [],
|
|
||||||
nodes: []
|
|
||||||
},
|
|
||||||
nodeDict: nodeDict
|
nodeDict: nodeDict
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user