Graphics Reference
In-Depth Information
// highlight node, links and linked nodes when
hovering over a node
nodeLayer.on(
'mouseover'
,
function
(event) {
if
(focusNodes.add(event.data.id)) {
var
changedNodes =
[highlightedNodes.add(event.data.id)];
var
changedLinks= [];
var
links =
event.data.linksIn.concat(event.data.linksOut);
// Add to the highlight set.
aperture.util.forEach(links,
function
(link) {
changedNodes.push(highlightedNodes.add(link.other));
changedLinks.push(highlightedLinks.add(link.id));
},
this
);
// redraw changed then bring the
highlighted nodes to front.
nodeLayer.all().where(
'id'
, changedNodes)
.and(linkLayer.all().where(
'id'
,
changedLinks))
.redraw()
.toFront([
'labeled'
,
'highlight'
,
'focus'
]);
}
});
// clear when leaving the node
nodeLayer.on(
'mouseout'
,
function
(event) {
if
(focusNodes.clear()) {
nodeLayer.all().where(
'id'
,
highlightedNodes.clear())
.and(linkLayer.all().where(
'id'
,
highlightedLinks.clear()))
.redraw()