mirror of https://github.com/vector-im/riot-web
Tweak spotlight roving behaviour to reset when changing query (#7656)
parent
b77d31bb4f
commit
51446378e3
|
@ -21,6 +21,7 @@ import React, {
|
||||||
useCallback,
|
useCallback,
|
||||||
useContext,
|
useContext,
|
||||||
useEffect,
|
useEffect,
|
||||||
|
useLayoutEffect,
|
||||||
useMemo,
|
useMemo,
|
||||||
useState,
|
useState,
|
||||||
} from "react";
|
} from "react";
|
||||||
|
@ -183,6 +184,16 @@ const SpotlightDialog: React.FC<IProps> = ({ initialText = "", onFinished }) =>
|
||||||
});
|
});
|
||||||
}, [cli, query]);
|
}, [cli, query]);
|
||||||
|
|
||||||
|
// Reset the selection back to the first item whenever the query changes
|
||||||
|
useLayoutEffect(() => {
|
||||||
|
rovingContext.dispatch({
|
||||||
|
type: Type.SetFocus,
|
||||||
|
payload: {
|
||||||
|
ref: rovingContext.state.refs[0],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}, [query]); // eslint-disable-line react-hooks/exhaustive-deps
|
||||||
|
|
||||||
const activeSpace = SpaceStore.instance.activeSpaceRoom;
|
const activeSpace = SpaceStore.instance.activeSpaceRoom;
|
||||||
const [spaceResults, spaceResultsLoading] = useSpaceResults(activeSpace, query);
|
const [spaceResults, spaceResultsLoading] = useSpaceResults(activeSpace, query);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue