1
0
dwelling-home/web/assets/js/mindflow_admin.js

54 lines
2.2 KiB
JavaScript

function get_field(e, el) {
return e.form.elements[el].value
}
function edit_post(e) {
e.preventDefault();
let data = new URLSearchParams();
data.append("category", get_field(e.target, "category"))
data.append("new-category", get_field(e.target, "new-category"))
data.append("old-category", get_field(e.target, "old-category"))
data.append("title", get_field(e.target, "title"))
data.append("body", get_field(e.target, "body"))
fetch(`/api/mindflow/${get_field(e.target, "post-id")}`, {method: "PATCH", body: data})
.catch(e => console.log(e))
.then(() => window.location = "/mindflow/admin");
}
for (const edit_post_button of document.getElementsByName("edit-post"))
edit_post_button.addEventListener("click", edit_post);
function delete_post(e) {
e.preventDefault();
fetch(`/api/mindflow/${get_field(e.target, "post-id")}`, {method:"DELETE"})
.catch(e => console.log(e))
.then(() => window.location = "/mindflow/admin");
}
for (const delete_post_button of document.getElementsByName("delete-post"))
delete_post_button.addEventListener("click", delete_post);
document.getElementById("manage-categories").elements["add"].addEventListener("click", ev => {
ev.preventDefault();
let data = new URLSearchParams();
data.append("name", get_field(ev.target, "name"));
fetch(`/api/mindflow/category`, {method: "POST", body: data})
.catch(e => console.log(e))
.then(() => window.location = "/mindflow/admin");
});
document.getElementById("manage-categories").elements["edit"].addEventListener("click", ev => {
ev.preventDefault();
let data = new URLSearchParams();
data.append("name", get_field(ev.target, "name"));
fetch(`/api/mindflow/category/${get_field(ev.target, "category")}`, {method: "PATCH", body: data})
.catch(e => console.log(e))
.then(() => window.location = "/mindflow/admin");
});
document.getElementById("manage-categories").elements["delete"].addEventListener("click", ev => {
ev.preventDefault();
fetch(`/api/mindflow/category/${get_field(ev.target, "category")}`, {method: "DELETE"})
.catch(e => console.log(e))
.then(() => window.location = "/mindflow/admin");
});