/** * Add's all the members of the organization into the graphs * node objects * * @param orgname * @param page * @returns {Promise} */ function addOrgUsers(orgname, page) { return new Promise(function(resolve, reject) { queryAPIByOrg(API_ORG_MEMBERS + "?page=" + page, orgname, function(data) { for(var i = 0;i < data.length; i++) { addPersonToGraph(data[i]); } if(data.length === 30) { addOrgUsers(orgname, page + 1).then(function() { resolve(); }); } else { total = 2*(data.length + (page * 30)); resolve(); } }, function(error) { console.log(error); resolve(); }) }) } /** * Creates a graph * @param username * @param containerName * @param graphsTitle */ function createOrgRepoGraph(orgname, containerName, graphsTitle) { progressID = graphsTitle; nodes = []; edges = []; addOrgUsers(orgname, 1).then(function() { createConnections().then( () => { var container = document.getElementById(containerName); var data = { nodes: nodes, edges: edges }; var network = new vis.Network(container, data, options); network.on("click", function (params) { params.event = "[original event]"; if(Number(this.getNodeAt(params.pointer.DOM)) !== NaN) { bringUpProfileView(Number(this.getNodeAt(params.pointer.DOM))); } }); $("#graphLoading").html(""); }); }).catch(function(error) { alert("Invalid Organization"); }); }