www.spaceplanner.app

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

commit db80033711b80826914b35835746446904521ea3
parent 2f38c999d72ba621a1c9e4ad4fc1c3f3fb6044b1
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date:   Fri,  4 Oct 2024 11:19:18 -0700

Update floorplans to use the new PUT endpoint

Diffstat:
Mfiles/floorplans/main.js | 21++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/files/floorplans/main.js b/files/floorplans/main.js @@ -62,26 +62,29 @@ function commit_editable_floorplan_func(element, data) { return function () { let patches = [] let fields = Array.from(element.querySelectorAll("header > input")) + let updated = false + let newdata = {} for (let i in fields) { let name = floorplan_info_name(fields[i].getAttribute("class")) let value = fields[i].value + if (value.length === 0) { + value = null + } + console.debug(fields[i], name, value) - if (value === data[name]) { - continue; - } else if (value) { - patches.push({ op: "add", path: name, value: value }) - } else if (!value) { - patches.push({ op: "remove", path: name }) + newdata[name] = value; + if (newdata[name] !== data[name]) { + updated = true } } - if (patches.length == 0) { - console.debug("No changes, skipping PATCH") + if (!updated) { + console.debug("No changes, skipping") update_display() return } - return api.fetch("PATCH", `floorplans/:user/${etc.url_literal(data.name)}`, patches) + return api.fetch("PUT", `floorplans/:user/${etc.url_literal(data.name)}`, newdata) .then(function(rdata) { for (let i in rdata) { data[i] = rdata[i]