From 31a499c9cdde1194a9895148b1b7f85435d716d2 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Tue, 23 Apr 2024 02:10:15 +0800 Subject: [PATCH] adjustment: added clearTimeout --- .../InfisicalSecretInput/InfisicalSecretInput.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx b/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx index be24b1cf1..9f1a92a2b 100644 --- a/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx +++ b/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx @@ -112,10 +112,11 @@ export const InfisicalSecretInput = forwardRef( function setCaretPos(caretPos: number) { if (childRef?.current) { childRef.current.focus(); - setTimeout(() => { + const timeout = setTimeout(() => { if (!childRef?.current) return; childRef.current.selectionStart = caretPos; childRef.current.selectionEnd = caretPos; + clearTimeout(timeout); }, 200); } } @@ -157,8 +158,9 @@ export const InfisicalSecretInput = forwardRef( setCaretPos(currCaretPos); if (event.currentTarget) { - setTimeout(() => { + const timeout = setTimeout(() => { referencePopup(newValue, currCaretPos); + clearTimeout(timeout); }, 200); return; @@ -243,11 +245,12 @@ export const InfisicalSecretInput = forwardRef( // TODO: there should be a better way to do onChange?.({ target: { value: newValue } } as any); setShowReferencePopup(type !== "secret"); - setTimeout(() => { + const timeout = setTimeout(() => { setIsSecretFocused.on(); if (type !== "secret") setReferenceKey(replaceReference); const caretPos = start.length + replaceReference.length + offset; setCaretPos(caretPos); + clearTimeout(timeout); }, 100); } @@ -311,8 +314,9 @@ export const InfisicalSecretInput = forwardRef( handleOpenChange={(isOpen) => handleReferenceOpenChange(isOpen)} onSelect={(refValue) => handleReferenceSelect(refValue)} onEscapeKeyDown={() => { - setTimeout(() => { + const timeout = setTimeout(() => { setCaretPos(lastCaretPos); + clearTimeout(timeout); }, 200); }} /> @@ -321,4 +325,4 @@ export const InfisicalSecretInput = forwardRef( } ); -InfisicalSecretInput.displayName = "SecretInput"; +InfisicalSecretInput.displayName = "InfisicalSecretInput";