www.spaceplanner.app

Web client to the spaceplanner API
git clone git://jacobedwards.org/www.spaceplanner.app
Log | Files | Refs

commit 64d7caef5a5c63966f54d17dabdb1355550f4db4
parent 8b62d81ae43da6433c9b7b65ff89d4e4c69fe437
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date:   Mon,  5 Aug 2024 23:43:12 -0700

Add delete button to floorplans

There's also a dummy edit button, to be added later. The delete
button lacks confirmation at this point.

Diffstat:
Mfiles/floorplans/main.js | 36++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+), 0 deletions(-)

diff --git a/files/floorplans/main.js b/files/floorplans/main.js @@ -5,10 +5,46 @@ function init() { .then(show_floorplans) } +function edit_floorplan_func(item, floorplan) { + return function() { + set_error("Edit not implemented", item) + } +} + +function delete_floorplan_func(item, floorplan) { + return function() { + api_fetch("DELETE", "floorplans/" + floorplan.user + "/" + floorplan.name) + .then(function() { + item.parentElement.remove() + }) + .catch(function(err) { + set_error("Unable to delete floorplan: " + err, item) + }) + } +} + function create_floorplan(floorplan) { root = document.createElement("div") root.setAttribute("class", "floorplan") + aside = document.createElement("aside") + + button = document.createElement("button") + button.addEventListener("click", edit_floorplan_func(root, floorplan), false) + // ! instead of a pencil for now + button.appendChild(document.createTextNode("!")) + button.setAttribute("title", "Edit metadata") + aside.append(button) + + button = document.createElement("button") + button.addEventListener("click", delete_floorplan_func(root, floorplan), false) + // # instead of a trashcan for now + button.appendChild(document.createTextNode("#")) + button.setAttribute("title", "Delete floorplan") + aside.append(button) + + root.append(aside) + header = document.createElement("header") heading = document.createElement("h2") header.append(heading)