diff --git a/public/OrgRepoGraph.html b/public/OrgRepoGraph.html
index fee6086..ebc66f2 100644
--- a/public/OrgRepoGraph.html
+++ b/public/OrgRepoGraph.html
@@ -65,7 +65,7 @@
-
+
diff --git a/public/js/createOrgRepoGraph.js b/public/js/createOrgRepoGraph.js
index 107d51a..aac0b4f 100644
--- a/public/js/createOrgRepoGraph.js
+++ b/public/js/createOrgRepoGraph.js
@@ -43,47 +43,6 @@ function alreadyInGraph(userID)
}
-
-/**
- * Adds the followers/following of a person
- * to the graph
- *
- * @param username
- * @param apiPath
- * @returns {Promise
}
- */
-function addRepos(orgName, apiPath, page)
-{
- console.log(orgName + " page=" + page);
- updateProgress();
- return new Promise(function(resolve, reject) {
- queryAPIByOrg(apiPath + "?page=" + page, orgName, function(data) {
- console.log(data);
- console.log(data.length);
- var prom = [];
- for(var i = 0; i < data.length; i++) {
- if(!alreadyInGraph(data[i].id)) {
- prom.push(addRepoToGraph(data[i]));
- }
- }
- Promise.all(prom).then( () => {
- if(data.length === 30) {
- addRepos(orgName, apiPath, page+ 1).then(function() {
- resolve();
- })
- }
- else {
- resolve();
- }
- })
- },
- function(error) {
- reject(error);
- })
- });
-}
-
-
/**
* Greedy function which checks to see if a edge is in the graphs
*
@@ -173,11 +132,11 @@ function processUserConnections(user)
{
return new Promise(function(resolve, reject)
{
-
processConnections(user, API_FOLLOWING, 1).then(function()
{
processConnections(user, API_FOLLOWERS, 1).then(function()
{
+ updateProgress();
resolve();
})
})
@@ -213,26 +172,6 @@ function createConnections()
}
-var total = 1;
-var indexed = 0;
-var progressID;
-
-
-function updateProgress()
-{
- indexed++;
-
- var percent = parseInt((indexed/total)*100);
-
- $("#" + progressID).html("");
-
- console.log();
-}
-
-
-
function bringUpProfileView(id)
{
for(var i = 0; i < nodes.length; i++)
@@ -285,6 +224,7 @@ function addOrgUsers(orgname, page)
}
else
{
+ total = 2*(data.length + (page * 30));
resolve();
}
@@ -307,6 +247,23 @@ function bringUpProfileView(id)
}
}
+
+var total = 1;
+var indexed = 0;
+
+function updateProgress()
+{
+ indexed++;
+
+ var percent = parseInt((indexed/total)*100);
+
+ $("#graphLoading").html("");
+
+ console.log();
+}
+
/**
* Creates a graph
* @param username
@@ -322,7 +279,6 @@ function createOrgRepoGraph(orgname, containerName, graphsTitle)
addOrgUsers(orgname, 1).then(function()
{
- $("#" + progressID).html("");
createConnections().then( () => {
var container = document.getElementById(containerName);
@@ -331,13 +287,14 @@ function createOrgRepoGraph(orgname, containerName, graphsTitle)
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");
diff --git a/public/js/createOrgTable.js b/public/js/createOrgTable.js
index fd3085e..321818f 100644
--- a/public/js/createOrgTable.js
+++ b/public/js/createOrgTable.js
@@ -9,25 +9,52 @@ function generateHtmlRow(repoData)
}
-function createOrgTable(orgName, tableContainer)
+var repos = [];
+
+function fetchAllRepositories(orgName, page)
{
- var html = "";
+ return new Promise(function(resolve, reject)
+ {
+ queryAPIByOrg(API_REPOSITORIES + "?page=" + page, orgName,
+ function(data)
+ {
+ repos.push(...data);
- queryAPIByOrg(API_REPOSITORIES, orgName,
- function(data)
- {
- for(var i=0; i < data.length; i++)
+ if (data.length === 30)
+ {
+ fetchAllRepositories(orgName, page + 1).then(function ()
+ {
+ resolve();
+ })
+ }
+ else {
+ resolve();
+ }
+ },
+ function(error)
{
- html += generateHtmlRow(data[i]);
- }
+ //console.log("Unable to load table data");
+ });
+ });
+}
+
+
+function createOrgTable(orgName, tableContainer)
+{
+ var html = "";
- $("#" + tableContainer).html(html);
- $('#dataTable').DataTable();
- },
- function(error)
+ fetchAllRepositories(orgName, 1).then(function()
+ {
+ for(var i=0; i < repos.length; i++)
{
- console.log("Unable to load table data");
- });
+ html += generateHtmlRow(repos[i]);
+ }
+ $("#" + tableContainer).html(html);
+ $('#dataTable').DataTable();
+ }).catch(function(error)
+ {
+ //console.log("Unable to create table");
+ });
}
\ No newline at end of file
diff --git a/public/js/friendsGraph.js b/public/js/friendsGraph.js
index 6669834..32bcc63 100644
--- a/public/js/friendsGraph.js
+++ b/public/js/friendsGraph.js
@@ -66,14 +66,11 @@ function addPersonToGraph(profileData)
*/
function addFriends(username, apiPath, page)
{
- console.log(username + " page=" + page);
updateProgress();
return new Promise(function(resolve, reject)
{
queryAPIByUser(apiPath + "?page=" + page, username, function(data)
{
- console.log(data);
- console.log(data.length);
for(var i = 0; i < data.length; i++)
{
if(!alreadyInGraph(data[i].id))
@@ -111,7 +108,6 @@ function addFriends(username, apiPath, page)
*/
function edgeInGraph(id1, id2)
{
- console.log("edge check");
for(var i = 0;i < edges.length; i++)
{
if(edges[i].from === id1 && edges[i].to === id2)
@@ -151,7 +147,6 @@ function addConnection(person1, person2)
function processConnections(user, apiPoint, page)
{
- updateProgress();
return new Promise(function(resolve, reject)
{
queryAPIByUser(apiPoint + "?page=" + page, user.name,
@@ -196,6 +191,7 @@ function processUserConnections(user)
{
processConnections(user, API_FOLLOWERS, 1).then(function()
{
+ updateProgress();
resolve();
})
})
@@ -261,7 +257,7 @@ function addSelfToGraph(username)
{
queryAPIByUser("", username, function(data)
{
- total = (data.followers + data.following) * 2;
+ total = (data.followers + data.following);
addPersonToGraph(data);
resolve();
},
@@ -305,7 +301,6 @@ function createFriendsGraph(username, containerName, graphsTitle)
{
createConnections().then(function()
{
- console.log("cleared div");
$("#" + progressID).html("");
var container = document.getElementById(containerName);