function loadActors() {
const urlParams = new URLSearchParams(window.location.search);
const netID = urlParams.get("netID");
if (netID) {
document.getElementById("filter-input").value = netID;
processFilter();
} else {
fetch("/actors/getAll")
.then((response) => response.json())
.then((data) => {
const tableBody = document.getElementById("actor-table-body");
tableBody.innerHTML = "";
data.forEach((actor) => {
const row = document.createElement("tr");
row.innerHTML = `
|
${actor.firstName} ${actor.lastName} |
${actor.yearsActingExperience} |
${actor.skinTone} |
${actor.piercings} |
${actor.hairColor} |
${actor.previousInjuries} |
${actor.specialNotes} |
${actor.height} |
${actor.ringSize} |
${actor.shoeSize} |
${actor.headCirc} |
${actor.neckBase} |
${actor.chest} |
${actor.waist} |
${actor.highHip} |
${actor.lowHip} |
${actor.armseyeToArmseyeFront} |
${actor.neckToWaistFront} |
${actor.armseyeToArmseyeBack} |
${actor.neckToWaistBack} |
${actor.centerBackToWrist} |
${actor.outsleeveToWrist} |
${actor.outseamBelowKnee} |
${actor.outseamToAnkle} |
${actor.outseamToFloor} |
${actor.otherNotes} |
`;
tableBody.appendChild(row);
});
})
.catch((error) => console.error("Error fetching actor data:", error));
}
}
function processFilter() {
const filterValue = document.getElementById("filter-input").value;
fetch(`/actors/filterBy?value=${filterValue}`)
.then((res) => res.json())
.then((data) => {
const tableBody = document.getElementById(`actor-table-body`);
tableBody.innerHTML = "";
data.forEach((actor) => {
const row = document.createElement("tr");
row.innerHTML = `
${actor.netID}
|
${actor.yearsActingExperience} |
${actor.skinTone} |
${actor.piercings} |
${actor.hairColor} |
${actor.previousInjuries} |
${actor.specialNotes} |
${actor.height} |
${actor.ringSize} |
${actor.shoeSize} |
${actor.headCirc} |
${actor.neckBase} |
${actor.chest} |
${actor.waist} |
${actor.highHip} |
${actor.lowHip} |
${actor.armseyeToArmseyeFront} |
${actor.neckToWaistFront} |
${actor.armseyeToArmseyeBack} |
${actor.neckToWaistBack} |
${actor.centerBackToWrist} |
${actor.outsleeveToWrist} |
${actor.outseamBelowKnee} |
${actor.outseamToAnkle} |
${actor.outseamToFloor} |
${actor.otherNotes} |
`;
tableBody.appendChild(row);
});
});
}
function appendIfNotEmpty(formData, key, elementId) {
const val = document.getElementById(elementId).value;
if (val !== "") formData.append(key, val);
}
async function addActor() {
const formData = new URLSearchParams();
appendIfNotEmpty(formData, "netID", "netIDInput");
appendIfNotEmpty(formData, "skinTone", "skinTone");
appendIfNotEmpty(formData, "piercings", "piercings");
appendIfNotEmpty(formData, "hairColor", "hairColor");
appendIfNotEmpty(formData, "previousInjuries", "previousInjuries");
appendIfNotEmpty(formData, "specialNotes", "specialNotes");
appendIfNotEmpty(formData, "height", "height");
appendIfNotEmpty(formData, "ringSize", "ringSize");
appendIfNotEmpty(formData, "shoeSize", "shoeSize");
appendIfNotEmpty(formData, "headCirc", "headCirc");
appendIfNotEmpty(formData, "neckBase", "neckBase");
appendIfNotEmpty(formData, "chest", "chest");
appendIfNotEmpty(formData, "waist", "waist");
appendIfNotEmpty(formData, "highHip", "highHip");
appendIfNotEmpty(formData, "lowHip", "lowHip");
appendIfNotEmpty(formData, "armseyeToArmseyeFront", "armseyeToArmseyeFront");
appendIfNotEmpty(formData, "neckToWaistFront", "neckToWaistFront");
appendIfNotEmpty(formData, "armseyeToArmseyeBack", "armseyeToArmseyeBack");
appendIfNotEmpty(formData, "neckToWaistBack", "neckToWaistBack");
appendIfNotEmpty(formData, "centerBackToWrist", "centerBackToWrist");
appendIfNotEmpty(formData, "outsleeveToWrist", "outsleeveToWrist");
appendIfNotEmpty(formData, "outseamBelowKnee", "outseamBelowKnee");
appendIfNotEmpty(formData, "outseamToAnkle", "outseamToAnkle");
appendIfNotEmpty(formData, "outseamToFloor", "outseamToFloor");
appendIfNotEmpty(formData, "otherNotes", "otherNotes");
const response = await fetch("/actors/add", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: formData.toString(),
});
const text = await response.text();
if (response.ok) {
alert(text); // "Actor added successfully"
document.getElementById("add-actor-form").reset();
window.location.href = "/actors/loadpage";
} else {
alert("Error adding actor: " + text); // now you’ll see the actual error
}
if (response.ok) {
alert("Actor added successfully!");
document.getElementById("add-actor-form").reset();
window.location.href = "/actors/loadpage";
} else {
alert("Error adding actor.");
}
}
async function editActor(netID) {
const formData = new URLSearchParams();
// Integer field
const years = document.getElementById("yearsActingExperience").value.trim();
formData.append(
"yearsActingExperience",
years === "" ? null : parseInt(years)
);
// String fields
formData.append("skinTone", document.getElementById("skinTone").value);
formData.append("piercings", document.getElementById("piercings").value);
formData.append("hairColor", document.getElementById("hairColor").value);
formData.append(
"previousInjuries",
document.getElementById("previousInjuries").value
);
formData.append(
"specialNotes",
document.getElementById("specialNotes").value
);
formData.append("height", document.getElementById("height").value);
formData.append("ringSize", document.getElementById("ringSize").value);
formData.append("shoeSize", document.getElementById("shoeSize").value);
formData.append("headCirc", headCirc);
console.log(typeof headCirc + "balls");
formData.append("neckBase", neckBase);
formData.append("chest", chest);
formData.append("waist", waist);
formData.append("highHip", highHip);
formData.append("lowHip", lowHip);
formData.append("armseyeToArmseyeFront", armseyeToArmseyeFront);
formData.append("neckToWaistFront", neckToWaistFront);
formData.append("armseyeToArmseyeBack", armseyeToArmseyeBack);
formData.append("neckToWaistBack", neckToWaistBack);
formData.append("centerBackToWrist", centerBackToWrist);
formData.append("outsleeveToWrist", outsleeveToWrist);
formData.append("outseamBelowKnee", outseamBelowKnee);
formData.append("outseamToAnkle", outseamToAnkle);
formData.append("outseamToFloor", outseamToFloor);
formData.append("otherNotes", document.getElementById("otherNotes").value);
const response = await fetch(
`/actors/edit?netID=${encodeURIComponent(netID)}`,
{
method: "POST",
body: formData,
}
);
if (response.ok) {
alert("Actor edited successfully!");
window.location.href = "/actors/loadpage";
} else {
const text = await response.text();
alert("Error editing actor: " + text);
}
}
function handleNetIDDropdownActor(selectedValue, netID) {
if (!selectedValue) {
return;
}
if (selectedValue === "edit") {
window.location.href = `/actor/editPage?netID=${netID}`;
}
}