diff --git a/web/assets/js/mindflow_admin.js b/web/assets/js/mindflow_admin.js index e69de29..9253ace 100644 --- a/web/assets/js/mindflow_admin.js +++ b/web/assets/js/mindflow_admin.js @@ -0,0 +1,27 @@ +function get_field(e, el) { + return e.form.elements[el].value +} + +function edit_post(e) { + 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) { + 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); \ No newline at end of file diff --git a/web/templates/mindflow_admin.pug b/web/templates/mindflow_admin.pug index b47fe7d..caccec8 100755 --- a/web/templates/mindflow_admin.pug +++ b/web/templates/mindflow_admin.pug @@ -37,10 +37,18 @@ block content a(href=`#${post.PostID()}`) h3= post.Category.Name + ": " + post.Title form.edit - input(type='hidden', name='post_id' value=post.ID) + select(name='category') + option(value='' selected='') -- Change to category -- + option(value='1') Update + option(value='2') Diary + option(value='0') New category + input(type='text', placeholder='New category name' name='new-category') + input(type='hidden', name='post-id' value=post.ID) + input(type='hidden', name='old-category' value=post.Category.ID) + input(type='text', placeholder='Title' name='title' value=post.Title required='') textarea(placeholder='Body post' name='body' required='')= post.Body - button(name='edit') Edit - button(name='delete') Delete + button(name='edit-post') Edit + button(name='delete-post') Delete footer time(datetime=util.ToClientTimezone(post.Date, r))= util.ToClientTimezone(post.Date, r).Format(time.RFC1123) else