blob: f6d2c0576e9fa09e4d48fe0a2921f1415cd061c6 (
plain) (
tree)
|
|
function btnAction(action, btn) {
var trDom = btn.parentElement.parentElement;
var trData = trDom.children;
var actionData = {
action: action,
id: trData[0].innerHTML,
approved: trData[1].firstElementChild.checked,
operatorCall: trData[2].firstElementChild.innerHTML,
qso: trData[3].firstElementChild.innerHTML,
fromTime: trData[4].firstElementChild.innerHTML,
toTime: trData[5].firstElementChild.innerHTML,
frequencies: trData[6].firstElementChild.innerHTML,
modes: trData[7].firstElementChild.innerHTML,
specialCall: trData[8].firstElementChild.innerHTML,
operatorName: trData[9].firstElementChild.innerHTML,
operatorEmail: trData[10].firstElementChild.innerHTML,
operatorPhone: trData[11].firstElementChild.innerHTML
}
if (actionData.action == 'delete')
if (confirm("Are you sure you want to delete reservation #" + actionData.id + " made by " + actionData.operatorCall + "?"))
trDom.remove();
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
try {
// JSON response to object
var response = JSON.parse(this.responseText);
console.log(response);
// Handle various actions
if (response.action == "update") {
document.getElementById("notice").innerHTML = "Record #" + actionData.id + " updated.";
} else if (response.action == "restore") {
trData[1].firstElementChild.checked = response.approved === "1";
trData[2].firstElementChild.innerHTML = response.operatorCall;
trData[3].firstElementChild.innerHTML = response.qso;
trData[4].firstElementChild.innerHTML = response.fromTime;
trData[5].firstElementChild.innerHTML = response.toTime;
trData[6].firstElementChild.innerHTML = response.frequencies;
trData[7].firstElementChild.innerHTML = response.modes;
trData[8].firstElementChild.innerHTML = response.specialCall;
trData[9].firstElementChild.innerHTML = response.operatorName;
trData[10].firstElementChild.innerHTML = response.operatorEmail;
trData[11].firstElementChild.innerHTML = response.operatorPhone;
document.getElementById("notice").innerHTML = "Record's #" + actionData.id + " data restored.";
} else if (response.action == "delete") {
document.getElementById("notice").innerHTML = "Record #" + actionData.id + " deleted.";
} else {
console.log("No action?");
console.log(this.responseText);
}
} catch {
console.log(this.responseText);
document.getElementById("notice").innerHTML = "Bad input data!";
}
}
};
xhttp.open("POST", "edit.php", true);
xhttp.send(JSON.stringify(actionData));
}
|