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:
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)