I have a requirement to hide or unhide some nodes and edges depending on some data. I can achieve it by traversing through visjs's data but that will trigger stabilization everytime one hides or unhides (this overwrite existing data).
I found this example which adds, updates and removes a node by directly changing nodes
value by using add
, update
& remove
functions. This dynamically does these operations without stabilizing, but when I try the same thing in AngularJS I encounter the following error
org_nodes.update is not a function
Snippet taken from source of this example
function addNode() {
var newId = (Math.random() * 1e7).toString(32);
nodes.add({id:newId, label:"I'm new!"});
nodeIds.push(newId);
}
function changeNode1() {
var newColor = '#' + Math.floor((Math.random() * 255 * 255 * 255)).toString(16);
nodes.update([{id:1, color:{background:newColor}}]);
}
function removeRandomNode() {
var randomNodeId = nodeIds[Math.floor(Math.random() * nodeIds.length)];
nodes.remove({id:randomNodeId});
var index = nodeIds.indexOf(randomNodeId);
nodeIds.splice(index,1);
}
Check out my plunker which demonstrates this. What is it that I am missing here? Note - I am using angular-visjs