www.spaceplanner.app

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

commit b65f3d0eee765000421795ed0639b423392c49ec
parent cac8cc24ee7417123ed44393f30da8de54cb1cc7
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date:   Mon, 14 Oct 2024 11:44:24 -0700

Combine all key handlers into one

Diffstat:
Mfiles/floorplans/floorplan/main.js | 46+++++++++++++++++++---------------------------
1 file changed, 19 insertions(+), 27 deletions(-)

diff --git a/files/floorplans/floorplan/main.js b/files/floorplans/floorplan/main.js @@ -36,7 +36,7 @@ const modes = { pointerdown: [selectionHandler, precisePointHandler, precisePointMapHandler, furnitureHandler], pointermove: [precisePointHandler, furnitureHandler], pointerup: [precisePointHandler, precisePointMapHandler, furnitureHandler], - keydown: [controlKeyHandler, zoomKeysHandler, undoRedoHandler], + keydown: [keyHandler], dblclick: [precisePointMapHandler, furnitureHandler], select: selectHandler } @@ -434,22 +434,29 @@ function selectionHandler(event, editor) { escape() } -function controlKeyHandler(ev, editor) { - if (ev.type === "keydown" && ev.key === "Escape") { +function keyHandler(ev, editor) { + if (ev.key === "Escape") { escape() - } -} - -function zoomKeysHandler(event, editor) { - if (event.key === "+") { + } else if (ev.key === "+") { editor.draw.zoom(editor.draw.zoom() * 1.25) - } else if (event.key === "-" || event.key === "_") { + editor.updateGrid() + } else if (ev.key === "-" || ev.key === "_") { editor.draw.zoom(editor.draw.zoom() / 1.25) + editor.updateGrid() } else { - return + if (!event.ctrlKey) { + return + } + if (event.key === "z") { + editor.undo() + } else if (event.key === "y") { + editor.redo() + } else { + return + } } - editor.updateGrid() - handled(event) + + handled(ev) } function radioMenu(editor, key, values, initial, options) { @@ -517,21 +524,6 @@ function radioInputs(key, values, initial) { return radios } -// keydown -function undoRedoHandler(event, editor) { - if (!event.ctrlKey) { - return - } - if (event.key === "z") { - editor.undo() - } else if (event.key === "y") { - editor.redo() - } else { - return - } - handled(event) -} - // pointerdown, pointermove, pointerup function precisePointHandler(event, editor, state) { const init = function() {