Skip to content

Commit 6a2ca12

Browse files
committed
fix: improve measure mode
1 parent 46c644c commit 6a2ca12

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
- Added MCP server support to let agents/IDEs pull code, structure, and screenshots from your current Figma selection.
66
- The inspect panel can be resized horizontally by dragging either its left or right edge. (Suggested and implemented by @molinla at [#34](https://github.com/ecomfe/tempad-dev/pull/34))
7+
- Measure mode won't trigger node duplication anymore when dragging a node in design mode.
78

89
## 0.13.1
910

packages/extension/composables/key-lock.ts

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { useEventListener } from '@vueuse/core'
2+
13
import { options } from '@/ui/state'
24
import { getCanvas, setLockAltKey, setLockMetaKey } from '@/utils'
35

@@ -16,6 +18,14 @@ function resume() {
1618
setLockAltKey(options.value.measureOn)
1719
}
1820

21+
function pauseMeasure() {
22+
setLockAltKey(false)
23+
}
24+
25+
function resumeMeasure() {
26+
setLockAltKey(options.value.measureOn)
27+
}
28+
1929
let resuming: number | null = null
2030
function pauseMetaThenResume() {
2131
if (resuming != null) {
@@ -49,21 +59,13 @@ function keyup(e: KeyboardEvent) {
4959
export function useKeyLock() {
5060
const canvas = getCanvas()
5161

52-
onMounted(() => {
53-
canvas.addEventListener('mouseleave', pause)
54-
canvas.addEventListener('mouseenter', resume)
55-
canvas.addEventListener('wheel', pauseMetaThenResume)
56-
window.addEventListener('keydown', keydown)
57-
window.addEventListener('keyup', keyup)
58-
})
59-
60-
onUnmounted(() => {
61-
canvas.removeEventListener('mouseleave', pause)
62-
canvas.removeEventListener('mouseenter', resume)
63-
canvas.removeEventListener('wheel', pauseMetaThenResume)
64-
window.removeEventListener('keydown', keydown)
65-
window.removeEventListener('keyup', keyup)
66-
})
62+
useEventListener(canvas, 'mouseleave', pause)
63+
useEventListener(canvas, 'mouseenter', resume)
64+
useEventListener(canvas, 'pointerdown', pauseMeasure, { capture: true })
65+
useEventListener('pointerup', resumeMeasure, { capture: true })
66+
useEventListener(canvas, 'wheel', pauseMetaThenResume)
67+
useEventListener('keydown', keydown)
68+
useEventListener('keyup', keyup)
6769

6870
watch(
6971
() => options.value.deepSelectOn,

0 commit comments

Comments
 (0)