www.spaceplanner.app

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

commit 78c09d29b52de7ace44420d76a86e64bdcf93acd
parent d988c1e0c1e97494d9a55334b020bb7e0d6c7a25
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date:   Sun, 13 Oct 2024 18:43:00 -0700

Only update furniture with valid inputs in furniture menu

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

diff --git a/files/floorplans/floorplan/main.js b/files/floorplans/floorplan/main.js @@ -981,7 +981,7 @@ function furnitureMenuX(editor, pointOrID) { items[keys.width].input.value = userLength(editor, v.width) params.depth = v.depth items[keys.depth].input.value = userLength(editor, v.depth) - editor.addMappedFurniture(params, id) + tryUpdate() } const newVariety = function(init) { let vars = editor.furniture_types[items[keys.type].input.value].varieties @@ -1051,6 +1051,19 @@ function furnitureMenuX(editor, pointOrID) { } } } + const tryUpdate = function() { + let err = menu.querySelector(".error") + if (err) { + err.remove() + } + for (let i in items) { + // If invalid, don't even try + if (!items[i].input.validity.valid) { + return + } + } + editor.addMappedFurniture(params, id) + } let menu = makeMenu(items) items[keys.type].input.value = params.type @@ -1087,11 +1100,7 @@ function furnitureMenuX(editor, pointOrID) { newStyle() } } - let err = menu.querySelector(".error") - if (err) { - err.remove() - } - editor.addMappedFurniture(params, id) + tryUpdate() } catch(err) { etc.error(err, menu)