2025-11-12 10:13:24 -05:00
|
|
|
import { postData, verifyLogin } from "./client.js";
|
2025-11-18 21:16:35 -05:00
|
|
|
import { formatSalary } from "./utils.js";
|
2025-11-12 10:13:24 -05:00
|
|
|
|
|
|
|
|
const searchForm = document.getElementById("searchForm");
|
|
|
|
|
|
|
|
|
|
const token = window.localStorage.getItem("token");
|
|
|
|
|
|
2025-11-17 18:56:31 -05:00
|
|
|
const tableHeader = document.getElementById("header");
|
2025-11-12 10:13:24 -05:00
|
|
|
const tableBody = document.getElementById("results");
|
|
|
|
|
const table = document.getElementById("table");
|
2025-11-17 18:56:31 -05:00
|
|
|
const nomatch = document.getElementById("nomatch");
|
2025-11-12 10:13:24 -05:00
|
|
|
|
|
|
|
|
updateTableVisibility();
|
|
|
|
|
|
|
|
|
|
if (searchForm)searchForm.onsubmit = async e => {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
if (!verifyLogin()) return;
|
|
|
|
|
|
2025-11-18 21:16:35 -05:00
|
|
|
let resultObject = await postData("/getPlayers", {
|
2025-11-17 18:56:31 -05:00
|
|
|
player: document.getElementById("query").value
|
2025-11-12 10:13:24 -05:00
|
|
|
}, token);
|
|
|
|
|
|
2025-11-17 18:56:31 -05:00
|
|
|
if (resultObject.matches.length === 0) {
|
|
|
|
|
nomatch.style.display = "";
|
|
|
|
|
table.style.display = "none";
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
nomatch.style.display = "none"
|
|
|
|
|
table.style.display = "";
|
|
|
|
|
tableHeader.innerHTML = "";
|
|
|
|
|
const headerRow = document.createElement("tr")
|
|
|
|
|
Object.keys(resultObject.matches[0]).forEach(attribute => {
|
|
|
|
|
headerRow.innerHTML += `<td>${attribute}</td>`;
|
|
|
|
|
})
|
|
|
|
|
tableHeader.appendChild(headerRow);
|
|
|
|
|
|
2025-11-12 10:13:24 -05:00
|
|
|
tableBody.innerHTML = "";
|
2025-11-17 18:56:31 -05:00
|
|
|
resultObject.matches.forEach(player => {
|
|
|
|
|
const row = document.createElement("tr");
|
2025-11-12 10:13:24 -05:00
|
|
|
|
2025-11-17 18:56:31 -05:00
|
|
|
//for (attribute in player) {
|
|
|
|
|
// row.innerHTML += `<td>${player}</td>l`;
|
|
|
|
|
//}
|
2025-11-12 10:13:24 -05:00
|
|
|
row.innerHTML = `
|
2025-11-17 18:56:31 -05:00
|
|
|
<td>${player.player_id}</td>
|
2025-11-18 21:16:35 -05:00
|
|
|
<td><a href="/player/${player.player_id}">${player.player_name}</a></td>
|
2025-11-17 18:56:31 -05:00
|
|
|
<td>${formatSalary(player.salary)}</td>
|
|
|
|
|
<td>${player.team_name}</td>
|
|
|
|
|
<td>${player.position}</td>
|
2025-11-12 10:13:24 -05:00
|
|
|
`;
|
|
|
|
|
tableBody.appendChild(row);
|
|
|
|
|
});
|
|
|
|
|
updateTableVisibility();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function updateTableVisibility() {
|
|
|
|
|
if (!tableBody) return;
|
|
|
|
|
|
|
|
|
|
const rows = tableBody.querySelectorAll("tr");
|
|
|
|
|
if (rows == null) return;
|
|
|
|
|
if (rows.length != 0) {
|
|
|
|
|
table.style.display = "";
|
|
|
|
|
} else {
|
|
|
|
|
table.style.display = "none";
|
|
|
|
|
}
|
|
|
|
|
}
|