-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
76 lines (68 loc) · 2.56 KB
/
app.js
File metadata and controls
76 lines (68 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
let numberOfAnswers;
$(document).ready(function () {
jQuery.support.cors = true;
function getNumberOfAnswers() {
return $.ajax({
url: 'http://51.143.154.149:8080/answers',
type: 'GET',
// datatype: 'in',
success: function (data, textStatus, jqXHR) {
numberOfAnswers = data;
extracted();
},
error: function () {
alert('Failed!');
},
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PATCH, PUT, DELETE, OPTIONS",
"Access-Control-Allow-Headers": "Origin, Content-Type, X-Auth-Token"
}
});
}
function extracted() {
$.ajax({
url: 'http://51.143.154.149:8080/code-group',
type: 'GET',
datatype: 'json',
success: function (data, textStatus, jqXHR) {
for (const codeGroup of data) {
$('#user-cards').append(createCard(codeGroup, numberOfAnswers));
}
},
error: function () {
alert('Failed!');
},
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PATCH, PUT, DELETE, OPTIONS",
"Access-Control-Allow-Headers": "Origin, Content-Type, X-Auth-Token"
}
});
}
getNumberOfAnswers();
setTimeout("location.reload();", 60000);
});
function createCard(codeGroup, numberOfAnswers) {
let allTheUsers = "";
for(const user of codeGroup.users){
allTheUsers += `<div data-letters="${user.forename.charAt(0).toUpperCase()}${user.surname.charAt(0).toUpperCase()}"></div>`
}
console.log(codeGroup.score.length);
console.log(numberOfAnswers);
let percentageComplete = numberOfAnswers === 0 ? 0 : Math.round((codeGroup.score.length/numberOfAnswers)*100);
return `
<div class="card" style="width: 18rem; margin: 10px;" id="${codeGroup.id}">
<section style="display: flex;">
${allTheUsers}
</section>
<div class="card-body">
<h5 class="card-title">${codeGroup.teamName}</h5>
<div style="width:50%;height:50%;margin:auto;font-size:xx-large;color:green;text-align:center;">${codeGroup.score.length}/${numberOfAnswers}</div>
</div>
<div class="card-footer">
<small class="text-muted">Last updated 1 mins ago</small>
</div>
</div>`
console.log(percentageComplete);
}