Click here to Skip to main content
15,881,938 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
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 it says `org_nodes.update is not a function`

Snippet taken from source of this example

JavaScript
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);
    }



Please help, I am providing a plunker link here what is it that I am missing here? Using angular-visjs
Posted
Updated 23-Jul-17 21:06pm

1 solution

Make your nodes & edges as vis.DataSet objects.
var org_nodes = new vis.DataSet([your_nodes]);
var edges = new vis.DataSet([your_edges]);

I tried on your plunker and it worked.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900