fix(core): pass selectionKeyCode ref to useKeyPress
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -51,60 +51,64 @@ export default (keyFilter: MaybeComputedRef<KeyFilter | null>, onChange?: (keyPr
|
|||||||
onChange?.(isPressed.value)
|
onChange?.(isPressed.value)
|
||||||
})
|
})
|
||||||
|
|
||||||
watchEffect(() => {
|
watch(
|
||||||
let unrefKeyFilter = resolveUnref(keyFilter)
|
() => resolveUnref(keyFilter),
|
||||||
|
(unrefKeyFilter) => {
|
||||||
|
if (window && typeof window.addEventListener !== 'undefined') {
|
||||||
|
useEventListener(window, 'blur', () => {
|
||||||
|
isPressed.value = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if (window && typeof window.addEventListener !== 'undefined') {
|
if (isBoolean(unrefKeyFilter)) {
|
||||||
useEventListener(window, 'blur', () => {
|
isPressed.value = unrefKeyFilter
|
||||||
isPressed.value = false
|
return
|
||||||
})
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (isBoolean(unrefKeyFilter)) {
|
if (Array.isArray(unrefKeyFilter)) {
|
||||||
isPressed.value = unrefKeyFilter
|
unrefKeyFilter = createKeyPredicate(unrefKeyFilter, pressedKeys.value)
|
||||||
return
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (Array.isArray(unrefKeyFilter)) {
|
if (unrefKeyFilter) {
|
||||||
unrefKeyFilter = createKeyPredicate(unrefKeyFilter, pressedKeys.value)
|
onKeyStroke(
|
||||||
}
|
unrefKeyFilter,
|
||||||
|
(e) => {
|
||||||
|
modifierPressed.value = wasModifierPressed(e)
|
||||||
|
|
||||||
if (unrefKeyFilter) {
|
|
||||||
onKeyStroke(
|
|
||||||
unrefKeyFilter,
|
|
||||||
(e) => {
|
|
||||||
modifierPressed.value = wasModifierPressed(e)
|
|
||||||
|
|
||||||
if (!modifierPressed.value && isInputDOMNode(e)) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
e.preventDefault()
|
|
||||||
|
|
||||||
isPressed.value = true
|
|
||||||
},
|
|
||||||
{ eventName: 'keydown' },
|
|
||||||
)
|
|
||||||
|
|
||||||
onKeyStroke(
|
|
||||||
unrefKeyFilter,
|
|
||||||
(e) => {
|
|
||||||
if (isPressed.value) {
|
|
||||||
if (!modifierPressed.value && isInputDOMNode(e)) {
|
if (!modifierPressed.value && isInputDOMNode(e)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
modifierPressed.value = false
|
e.preventDefault()
|
||||||
|
|
||||||
pressedKeys.value.clear()
|
isPressed.value = true
|
||||||
|
},
|
||||||
|
{ eventName: 'keydown' },
|
||||||
|
)
|
||||||
|
|
||||||
isPressed.value = false
|
onKeyStroke(
|
||||||
}
|
unrefKeyFilter,
|
||||||
},
|
(e) => {
|
||||||
{ eventName: 'keyup' },
|
if (isPressed.value) {
|
||||||
)
|
if (!modifierPressed.value && isInputDOMNode(e)) {
|
||||||
}
|
return
|
||||||
})
|
}
|
||||||
|
|
||||||
|
modifierPressed.value = false
|
||||||
|
|
||||||
|
pressedKeys.value.clear()
|
||||||
|
|
||||||
|
isPressed.value = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ eventName: 'keyup' },
|
||||||
|
)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
return isPressed
|
return isPressed
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ onMounted(() => {
|
|||||||
viewportRef: viewportElement,
|
viewportRef: viewportElement,
|
||||||
})
|
})
|
||||||
|
|
||||||
useKeyPress(selectionKeyCode, (keyPress) => {
|
useKeyPress($$(selectionKeyCode), (keyPress) => {
|
||||||
selectionKeyPressed = keyPress
|
selectionKeyPressed = keyPress
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user