commit de7ce9f1c508709775e29e942aa5cd77e12de15c
parent 7eacb6e44a2db713f32171429e90eb4606b7a812
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date: Thu, 17 Oct 2024 15:55:21 -0700
Add back mode selector
The View mode could be nice I think, although the selector is pretty
ugly in my user agent.
- Rename modes (None is now View, Precise is now Edit)
- Remove select mode toggle
- Just use editor.mode instead of a separate State.selectMode
Diffstat:
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/files/floorplans/floorplan/main.js b/files/floorplans/floorplan/main.js
@@ -8,7 +8,7 @@ import * as geometry from "./geometry.js"
import * as backend from "./backend.js"
import * as api from "/lib/api.js"
-const defaultMode = "Precise"
+const defaultMode = "Edit"
const messageTimeout = 4000
const buttons = {
@@ -25,12 +25,13 @@ const panBit = 1
const zoomBit = 2
const modes = {
- None: {
+ View: {
handlers: {
- contextmenu: preventDefaultHandler
+ contextmenu: preventDefaultHandler,
+ keydown: keyHandler
}
},
- Precise: {
+ Edit: {
points: true,
handlers: {
contextmenu: preventDefaultHandler,
@@ -63,7 +64,6 @@ let State = {
pointOp: 'Create',
snapAngle: true,
snapPoints: true,
- selectMode: false,
lastClick: null
}
@@ -206,6 +206,17 @@ function run(editor) {
editor.fitToView()
}}
})))
+ toolbar.append(item(
+ selector(editor.modes, function(mode) {
+ if (mode === "View") {
+ editor.draw.unselect()
+ escape()
+ }
+ editor.useMode(mode)
+ },
+ { current: editor.mode, text: "Mode:" }
+ )
+ ))
toolbar.append(undoRedo)
toolbar.append(item(addFurn))
toolbar.append(item(checkToggle("Angle snap", {
@@ -220,20 +231,9 @@ function run(editor) {
on: function() { State.snapPoints = true },
value: State.snapPoints
})))
- toolbar.append(item(checkToggle("Select mode", {
- title: "Enter selection mode",
- off: function() { editor.useMode(defaultMode); State.selectMode = false },
- on: function() { editor.useMode("Select"); State.selectMode = true },
- value: State.selectMode
- })))
if (debug) {
toolbar.append(item(
- selector(editor.modes, function(mode) { editor.useMode(mode) },
- { current: editor.mode, text: "Modes:" }
- )
- ))
- toolbar.append(item(
selector(editor.units.systems, function(system) { editor.useUnits(system) },
{ current: editor.unitSystem, text: "Units:" }
)
@@ -556,7 +556,7 @@ function selectionHandler(event, editor) {
}
if (sel != null) {
- if (!State.selectMode) {
+ if (!editor.mode === "Select") {
sel.select()
} else {
let selection = addSelection(editor, sel, true)
@@ -567,7 +567,7 @@ function selectionHandler(event, editor) {
}
}
} else {
- if (!State.selectMode) {
+ if (!editor.mode === "Select") {
editor.draw.select()
}
escape()