2025-02-02 22:43:52 +01:00
|
|
|
function showDeletePopup(id, name) {
|
|
|
|
let popup = document.getElementById("delete-popup")
|
|
|
|
popup.dataset.id = id
|
|
|
|
popup.querySelectorAll(".elmt-name").forEach(elmt => {
|
|
|
|
elmt.innerText = name
|
|
|
|
})
|
|
|
|
popup.classList.add("show")
|
|
|
|
}
|
|
|
|
|
|
|
|
function deleteElement(id) {
|
|
|
|
let url = window.location.href
|
|
|
|
if (!url.endsWith("/")) {
|
|
|
|
url += "/"
|
|
|
|
}
|
|
|
|
url += `${id}/`
|
|
|
|
req(url, {
|
|
|
|
method: "DELETE"
|
|
|
|
}).then(res => {
|
|
|
|
return res.json()
|
|
|
|
}).then(res => {
|
|
|
|
if (res.status === "success") {
|
|
|
|
window.location.reload()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
let onBeforeDelete = null
|
|
|
|
|
2025-02-02 15:33:11 +01:00
|
|
|
window.addEventListener("load", () => {
|
2025-02-02 21:48:12 +01:00
|
|
|
document.querySelector("button.new").addEventListener("click", () => {
|
|
|
|
window.location.href = "new/"
|
|
|
|
})
|
|
|
|
|
2025-02-02 15:33:11 +01:00
|
|
|
document.querySelectorAll(".list li").forEach(row => {
|
|
|
|
let id = row.dataset.id
|
2025-02-02 23:01:17 +01:00
|
|
|
row.querySelector("button.edit")?.addEventListener("click", () => {
|
2025-02-02 15:33:11 +01:00
|
|
|
window.location.href = `${id}/`
|
|
|
|
})
|
2025-02-02 22:43:52 +01:00
|
|
|
|
|
|
|
row.querySelector("button.delete")?.addEventListener("click", async () => {
|
|
|
|
if (onBeforeDelete) {
|
|
|
|
await onBeforeDelete(row)
|
|
|
|
}
|
|
|
|
showDeletePopup(id, row.dataset.name)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
let deletePopup = document.getElementById("delete-popup")
|
|
|
|
deletePopup.querySelector(".actions .cancel").addEventListener("click", () => {
|
|
|
|
deletePopup.classList.remove("show")
|
|
|
|
})
|
|
|
|
deletePopup.querySelector(".actions .delete").addEventListener("click", () => {
|
|
|
|
deleteElement(deletePopup.dataset.id)
|
2025-02-02 15:33:11 +01:00
|
|
|
})
|
|
|
|
})
|