- function generateHtmlRow(repoData)
- {
- var html = "<tr class=\"table_row\">";
- html+="<td><a href='" + repoData.url + "'>" + repoData.name + "</a></td>";
- html+="<td>" + repoData.forks + "</td>";
- html+="<td>" + repoData.language + "</td>";
- html +="</tr>";
- return html;
- }
-
-
- var repos = [];
-
- function fetchAllRepositories(orgName, page)
- {
- return new Promise(function(resolve, reject)
- {
- queryAPIByOrg(API_REPOSITORIES + "?page=" + page, orgName,
- function(data)
- {
- repos.push(...data);
-
- if (data.length === 30)
- {
- fetchAllRepositories(orgName, page + 1).then(function ()
- {
- resolve();
- })
- }
- else {
- resolve();
- }
- },
- function(error)
- {
- //console.log("Unable to load table data");
- });
- });
- }
-
-
- function createOrgTable(orgName, tableContainer)
- {
- var html = "";
-
-
- fetchAllRepositories(orgName, 1).then(function()
- {
- for(var i=0; i < repos.length; i++)
- {
- html += generateHtmlRow(repos[i]);
- }
-
- $("#" + tableContainer).html(html);
-
- setTimeout(function() {
- $('#dataTable').DataTable();
- }, 1500);
- }).catch(function(error)
- {
- //console.log("Unable to create table");
- });
- }
|