document.addEventListener("DOMContentLoaded", () =>
{
fetch("getOwners.php").then(res => res.json().then(json =>
{
if(json.message === "ok")
{
let body = "";
for (const owner of json.owners)
{
body += ``;
}
body += ``;
document.querySelector("#owner").innerHTML = body;
}
}));
fetch("getVehicles.php").then(res => res.json().then(json =>
{
if (json.message === "ok")
{
let body = "";
for (const owner of json.vehicles)
{
body += ``;
}
body += ``;
document.querySelector("#vehicle").innerHTML = body;
}
}));
fetch("getOffences.php").then(res => res.json().then(json =>
{
if (json.message === "ok")
{
let body = "";
for (const owner of json.offences)
{
body += ``;
}
body += ``;
document.querySelector("#offence").innerHTML = body;
}
}));
fetch("getReports.php").then(res => res.json().then(json =>
{
if (json.message === "ok")
{
document.querySelector("#reportsResults thead tr").innerHTML = "";
document.querySelector("#reportsResults tbody").innerHTML = "";
for (const key of Object.keys(json.data[0]))
{
let header = key.substring(key.indexOf("_") + 1)
header = header.charAt(0).toUpperCase() + header.slice(1);
document.querySelector("#reportsResults thead tr").innerHTML += `
${header} | `;
}
let body = "";
for (const row of json.data)
{
body += "";
for (const key of Object.keys(row))
{
body += `${(row[key] === "null" || row[key] === null) ? "N/A" : row[key]} | `;
}
body += "
";
}
document.querySelector("#reportsResults tbody").innerHTML = body;
}
}));
});
document.querySelector("#owner").addEventListener("change", e =>
{
let inputs = document.querySelectorAll("#addOwner input");
if (e.target.value === "new")
{
document.querySelector("#addOwner").classList.add("shown");
for (const input of inputs)
{
input.setAttribute("required", "");
}
}
else
{
document.querySelector("#addOwner").classList.remove("shown");
for (const input of inputs)
{
input.removeAttribute("required");
}
}
});
document.querySelector("#vehicle").addEventListener("change", e =>
{
let inputs = document.querySelectorAll("#addVehicle input");
if (e.target.value === "new")
{
document.querySelector("#addVehicle").classList.add("shown");
for (const input of inputs)
{
input.setAttribute("required", "");
}
}
else
{
document.querySelector("#addVehicle").classList.remove("shown");
for (const input of inputs)
{
input.removeAttribute("required");
}
}
});
document.querySelector("#reports").addEventListener("click", e =>
{
e.preventDefault();
let formData = new FormData();
formData.append("incidentReport", document.querySelector("#incidentReport").value);
formData.append("incidentDate", document.querySelector("#incidentDate").value);
if (document.querySelector("#owner").value === "new")
{
formData.append("name", document.querySelector("#name").value);
formData.append("address", document.querySelector("#address").value);
formData.append("licence", document.querySelector("#licence").value);
}
else
{
formData.append("peopleID", document.querySelector("#owner").value);
}
if (document.querySelector("#vehicle").value === "new")
{
formData.append("type", document.querySelector("#type").value);
formData.append("colour", document.querySelector("#colour").value);
formData.append("plateNumber", document.querySelector("#plateNum").value);
}
else
{
formData.append("vehicleID", document.querySelector("#vehicle").value);
}
formData.append("offenceID", document.querySelector("#offence").value);
fetch("newReport.php",{
method: "POST",
body: formData
}).then(res => res.json().then(json =>
{
if (json.message === "ok")
{
window.location.reload();
}
else
{
alert("Error adding report");
}
}));
});