Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6ba7a79

Browse files
authored
Update index.js
1 parent a9f55d1 commit 6ba7a79

File tree

1 file changed

+3
-124
lines changed

1 file changed

+3
-124
lines changed

homework/index.js

Lines changed: 3 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -29,140 +29,19 @@
2929
});
3030
return elem;
3131
}
32-
//header
3332

34-
function createAnRepoList(array) {
35-
createAndAppend('header', root, { class: 'header' });
36-
let header = document.getElementsByClassName('header')[0];
37-
createAndAppend('p', header, { text: 'HYF Repositories' });
38-
createAndAppend('select', header, { class: 'repo-selector', id: 'RepoList' });
39-
let listRoot = document.getElementById('RepoList');
40-
for (let i = 0; i < array.length; i++) {
41-
createAndAppend('option', listRoot, { text: array[i].name, value: i });
42-
}
43-
}
44-
45-
function selectInfo(arr) {
46-
const root = document.getElementById('root');
47-
createAndAppend('div', root, { class: 'header', id: 'header' });
48-
let header = document.getElementsByClassName('header')[0];
49-
createAndAppend('h1', header, { text: 'HYF Repositories' });
50-
createAndAppend('select', header, { class: 'repo-selector', id: 'RepoList' });
51-
const listRoot = document.getElementById('RepoList');
52-
53-
for (let i = 0; i < arr.length; i++) {
54-
createAndAppend('option', listRoot, { text: arr[i].name, value: i });
55-
}
56-
}
57-
//left
58-
function createRepo(element) {
59-
const container = document.querySelector('#container');
60-
//creating table for repository overwiew
61-
let table = createAndAppend('table', container, {
62-
id: 'RepositoryOverview',
63-
class: 'leftDiv whiteFrame',
64-
});
65-
let repoRow = createAndAppend('tr', table);
66-
//creating row for repository and link
67-
createAndAppend('td', repoRow, { text: 'Repository:', style: 'font-weight:bold' });
68-
let repoLink = createAndAppend('td', repoRow);
69-
createAndAppend('a', repoLink, {
70-
href: element.html_url,
71-
text: element.name,
72-
target: '_blank',
73-
});
74-
//creating row for repo description
75-
let descriptionRow = createAndAppend('tr', table);
76-
createAndAppend('td', descriptionRow, { text: 'Description:', style: 'font-weight:bold' });
77-
createAndAppend('td', descriptionRow, { text: element.description });
78-
//creating row for forks
79-
let forkRow = createAndAppend('tr', table);
80-
createAndAppend('td', forkRow, { text: 'Fork:', style: 'font-weight:bold' });
81-
createAndAppend('td', forkRow, { text: element.forks_count });
82-
// creating 'last time updated' row
83-
let updatedRow = createAndAppend('tr', table);
84-
createAndAppend('td', updatedRow, { text: 'Updated:', style: 'font-weight:bold' });
85-
let date = new Date(element.updated_at);
86-
date = date.toUTCString();
87-
createAndAppend('td', updatedRow, { text: date });
88-
//const repolist = getElementByClassName('left-div');
89-
}
90-
//right
91-
92-
function createContributor(element) {
93-
fetchJSON(element.contributors_url, (err, data) => {
94-
const root = document.getElementById('container');
95-
if (err) {
96-
createAndAppend('div', root, { text: err.message, class: 'alert-error' });
97-
} else {
98-
let contributors = createAndAppend('div', root, {
99-
id: 'contributors',
100-
class: 'rightDiv whiteFrame',
101-
});
102-
createAndAppend('p', contributors, { class: 'contributorsHeader', text: 'Contributors' });
103-
104-
let ul = createAndAppend('ul', contributors, { class: 'contributorsList' });
105-
for (let i = 0; i < data.length; i++) {
106-
let li = createAndAppend('li', ul, { class: 'contributorItem' });
107-
let img = createAndAppend('img', li, {
108-
src: data[i].avatar_url,
109-
class: 'contributorsAvatar',
110-
height: 48,
111-
});
112-
let login = createAndAppend('a', li, {
113-
text: data[i].login,
114-
href: data[i].html_url,
115-
target: '_blank',
116-
class: 'contributorName',
117-
});
118-
let badge = createAndAppend('div', li, {
119-
text: data[i].contributions,
120-
class: 'contributorBadge',
121-
});
122-
}
123-
}
124-
});
125-
}
126-
127-
//main for run program
12833
function main(url) {
12934
fetchJSON(url, (err, data) => {
13035
const root = document.getElementById('root');
13136
if (err) {
13237
createAndAppend('div', root, { text: err.message, class: 'alert-error' });
13338
} else {
134-
data.sort(function(item1, item2) {
135-
if (item1.name.toUpperCase() < item2.name.toUpperCase()) return -1;
136-
if (item1.name > item2.name) return 1;
137-
return 0;
138-
});
139-
140-
//Show Header
141-
selectInfo(data);
142-
//Create and show Container left-right
143-
createAndAppend('div', root, { id: 'container', class: 'container' });
144-
//left-side
145-
createRepo(data[0]);
146-
//right-side
147-
createContributor(data[0]);
148-
149-
//change value if select repo in drop down
150-
151-
document.getElementById('RepoList').onchange = function() {
152-
let selectedItem = this.options[this.selectedIndex].value;
153-
let table = document.getElementById('RepositoryOverview');
154-
table.parentNode.removeChild(table);
155-
let contributors = document.getElementById('contributors');
156-
contributors.parentNode.removeChild(contributors);
157-
158-
createRepo(data[selectedItem]);
159-
createContributor(data[selectedItem]);
160-
};
39+
createAndAppend('pre', root, { text: JSON.stringify(data, null, 2) });
16140
}
16241
});
16342
}
16443

165-
const HYF_REPOS_URL = 'https://api.github.com/orgs/HackYourFuture/repos?per_page=100';
44+
const REPOS_URL = 'https://api.github.com/orgs/foocoding/repos?per_page=100';
16645

167-
window.onload = () => main(HYF_REPOS_URL);
46+
window.onload = () => main(REPOS_URL);
16847
}

0 commit comments

Comments
 (0)