-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscripts.js
More file actions
153 lines (134 loc) · 4.35 KB
/
scripts.js
File metadata and controls
153 lines (134 loc) · 4.35 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
const baseUrl = "http://localhost:2200/api/players";
// Add player screen:
const addPlayerCode = `
<h2>Add new player:</h2>
<hr />
<form action="index.html" method="post" onsubmit="postPlayer(event)">
<p>
<label for="firstname">Player First Name:</label>
<input type="text" name="firstname" id="firstname" />
</p>
<p>
<label for="lastname">Player Last Name:</label>
<input type="text" name="lastname" id="lastname" />
</p>
<p>
<label for="rookieyear">Rookie Year:</label>
<input type="text" name="rookieyear" id="rookieyear" />
</p>
<p>
<input type="submit" value="Create" />
</p>
</form>
`;
function toggleWindow(window) {
switch(window){
case 'players':
fetchResults();
turnOnDiv();
break;
case 'addplayer':
addPlayer();
turnOnDiv();
break;
default:
console.log("default");
}
}
function fetchResults(){
fetch(baseUrl)
.then(function(result){
return result.json();
})
.then(function(json){
viewPlayers(json);
});
}
function viewPlayers(json){
// SET UP
var players = json;
let table = document.createElement('table');
let tableRow = document.createElement('tr');
let screen = document.getElementById('screen');
clearOldData(screen);
// PERFORM
screen.innerHTML += `
<h2>Current Players:</h2><hr/><br>
<table id="playertable">
<tr>
<th>
Player Name:
</th>
<th>
Rookie Year:
</th>
<th>
Options:
</th>
</tr>
`;
players.forEach( item => {
let screen = document.getElementById('screen');
let playerTable = document.getElementById('playertable');
let tableRow = document.createElement('tr');
let tableDataPlayerName = document.createElement('td');
let tableDataRookieYear = document.createElement('td');
let tableDataOptions = document.createElement('td');
tableDataPlayerName.innerHTML = item.firstName + " " + item.lastName;
tableDataRookieYear.innerHTML = item.rookieYear;
tableDataOptions.innerHTML = `
<a href="#">View | </a>
<a href="#">Edit | </a>
<a href="#">Delete</a>
`;
// let p = document.createElement('p');
// p.innerHTML += item.firstName + " " + item.lastName + "<br>";
// let playersDiv = document.getElementById('screen');
// playersDiv.appendChild(p);
playerTable.appendChild(tableRow);
tableRow.appendChild(tableDataPlayerName);
tableRow.appendChild(tableDataRookieYear);
tableRow.appendChild(tableDataOptions);
});
}
function turnOnDiv(){
document.getElementById('screen').style.display = "block";
}
function clearOldData(screen){
while(screen.firstChild){
screen.removeChild(screen.firstChild);
}
}
function addPlayer(){
let screen = document.getElementById('screen');
clearOldData(screen);
screen.innerHTML += addPlayerCode;
}
function postPlayer(event){
event.preventDefault();
let player = {
'firstname':`${document.getElementById('firstname').value}`,
'lastname':`${document.getElementById('lastname').value}`,
'rookieyear':`${document.getElementById('rookieyear').value}`
}
fetch(baseUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(player)
})
.then(res => res.json()
)
.then(data => response(data))
}
function response(info){
document.getElementById('screen').innerHTML = addPlayerCode + `
<h3>Successfully created new player</h3>
<p>
<strong>Player name:</strong><br />
${info.firstName + " " + info.lastName}
</p>
<p><strong>Rookie year:</strong> ${info.rookieYear}</strong></p>
`
}