diff --git a/apps/roam/src/components/FuzzySelectInput.tsx b/apps/roam/src/components/FuzzySelectInput.tsx index 16acdca1a..76d771bf8 100644 --- a/apps/roam/src/components/FuzzySelectInput.tsx +++ b/apps/roam/src/components/FuzzySelectInput.tsx @@ -62,7 +62,6 @@ const FuzzySelectInput = ({ setQuery(item.text); setValue(item); setIsOpen(false); - requestAnimationFrame(() => inputRef.current?.focus()); } }, [mode, initialUid, setValue, onLockedChange], diff --git a/apps/roam/src/components/ModifyNodeDialog.tsx b/apps/roam/src/components/ModifyNodeDialog.tsx index ebd84e473..ef44564c8 100644 --- a/apps/roam/src/components/ModifyNodeDialog.tsx +++ b/apps/roam/src/components/ModifyNodeDialog.tsx @@ -102,6 +102,7 @@ const ModifyNodeDialog = ({ const contentRequestIdRef = useRef(0); const referencedNodeRequestIdRef = useRef(0); const [error, setError] = useState(""); + const confirmButtonRef = useRef(null); const discourseNodes = useMemo(() => { const allNodes = getDiscourseNodes(); @@ -229,11 +230,17 @@ const ModifyNodeDialog = ({ const setValue = useCallback((r: Result) => { setContent(r); - }, []); + if (r.uid && r.uid !== initialValue.uid) { + confirmButtonRef.current?.focus(); + } + }, [initialValue.uid]); const setReferencedNodeValueCallback = useCallback((r: Result) => { setReferencedNodeValue(r); - }, []); + if (r.uid && r.uid !== initialReferencedNode?.uid) { + confirmButtonRef.current?.focus(); + } + }, [initialReferencedNode?.uid]); const onCancelClick = useCallback(() => { onClose(); @@ -491,6 +498,7 @@ const ModifyNodeDialog = ({ onClose={onClose} canEscapeKeyClose autoFocus={false} + enforceFocus={false} className={"roamjs-canvas-dialog"} >
void onSubmit()} disabled={loading || !content.text.trim()} className="flex-shrink-0" + elementRef={confirmButtonRef} />