From 2a6763cfe1ef6f34ac4cf2acfd099e2bbfc5b24e Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sat, 8 Oct 2022 14:16:20 +0200 Subject: [PATCH] refactor(nodes): prevent crash when checking if input dom node --- packages/vue-flow/src/composables/useKeyPress.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/vue-flow/src/composables/useKeyPress.ts b/packages/vue-flow/src/composables/useKeyPress.ts index 7968562c..346201d0 100644 --- a/packages/vue-flow/src/composables/useKeyPress.ts +++ b/packages/vue-flow/src/composables/useKeyPress.ts @@ -1,16 +1,14 @@ import type { Ref } from 'vue' import type { KeyFilter, MaybeRef } from '@vueuse/core' -import { isBoolean } from '@vueuse/core' +import { isBoolean, isFunction } from '@vueuse/core' import useWindow from './useWindow' function isInputDOMNode(event: KeyboardEvent): boolean { const target = event.target as HTMLElement + const hasAttribute = isFunction(target.hasAttribute) ? target.hasAttribute('contenteditable') : false + const closest = isFunction(target.closest) ? target.closest('.nokey') : null - return ( - ['INPUT', 'SELECT', 'TEXTAREA'].includes(target?.nodeName) || - target?.hasAttribute('contenteditable') || - !!target?.closest('.nokey') - ) + return ['INPUT', 'SELECT', 'TEXTAREA'].includes(target?.nodeName) || hasAttribute || !!closest } export default (keyFilter: MaybeRef, onChange?: (keyPressed: boolean) => void): Ref => {