Initial frontend
parent
0f3d921d96
commit
d55d1d1abe
|
@ -2,11 +2,21 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel=stylesheet href=style.css />
|
||||
<title>Test Main Page</title>
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script>
|
||||
<title>Learn Request Queue</title>
|
||||
<script src="main.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Test Main Page</h1>
|
||||
<h1>Learn Request Queue</h1>
|
||||
<div id="requests"></div><br>
|
||||
Count:
|
||||
<select id="count" value="10" onchange="updateTable()">
|
||||
<option>5</option>
|
||||
<option selected="selected">10</option>
|
||||
<option>25</option>
|
||||
<option>50</option>
|
||||
<option>100</option>
|
||||
</select>
|
||||
<input type="checkbox" id="allRequests" onchange="updateTable()">View requests in any state</input>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
var requestsDiv = document.getElementById("requests");
|
||||
|
||||
function getRequests(count,allRequests) {
|
||||
var reqUrl;
|
||||
if (allRequests) {
|
||||
reqUrl = "/api/getAllRequests";
|
||||
} else {
|
||||
reqUrl = "/api/getRequests";
|
||||
}
|
||||
reqUrl += `?count=${count}`;
|
||||
fetch(reqUrl)
|
||||
.then(response => response.json())
|
||||
.then(requests => buildTable(requests,allRequests));
|
||||
}
|
||||
|
||||
function buildTable(requests,allRequests) {
|
||||
var requestsDivHTML = '<table><tr><th class="request-url">URL</th><th class="request-requester">Requester</th><th class="request-score">Score</th>';
|
||||
if (allRequests) requestsDivHTML += `<th class="request-state">State</td></tr>`;
|
||||
requestsDivHTML += "</tr>";
|
||||
for (request of requests) {
|
||||
requestsDivHTML += `<tr><td class="request-url"><a href="${request.url}">${request.url}</a></td>\
|
||||
<td class="request-requester">${request.requester}</td>\
|
||||
<td class="request-score">${request.score}</td>`;
|
||||
if (allRequests) requestsDivHTML += `<td class="request-state">${request.state}</td></tr>`;
|
||||
requestsDivHTML += "</tr>";
|
||||
}
|
||||
requestsDivHTML += "</table>";
|
||||
requestsDiv.innerHTML = requestsDivHTML;
|
||||
}
|
||||
|
||||
function updateTable() {
|
||||
var count = document.getElementById("count").value;
|
||||
var allRequests = document.getElementById("allRequests").checked;
|
||||
getRequests(count,allRequests);
|
||||
}
|
||||
|
||||
updateTable();
|
|
@ -3,3 +3,21 @@ body {
|
|||
text-align: center;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
#requests {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#requests table, th, td {
|
||||
border: 2px solid black;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
#requests th, td {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#requests .request-score {
|
||||
text-align: right;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue