diff --git a/plugins/mindstudio-insight-plugins/ModelVis/app/src/features/Search/SearchModal.tsx b/plugins/mindstudio-insight-plugins/ModelVis/app/src/features/Search/SearchModal.tsx
index d467c79789cca9a36b2c9177508b74157d891faf..47355cc565816c6046704e145d38e835bd8039c9 100644
--- a/plugins/mindstudio-insight-plugins/ModelVis/app/src/features/Search/SearchModal.tsx
+++ b/plugins/mindstudio-insight-plugins/ModelVis/app/src/features/Search/SearchModal.tsx
@@ -30,7 +30,12 @@ import {
useEffect,
useState
} from "react"
-import { searchResultAtom, searchVisibleAtom, zoomAtom } from "stores"
+import {
+ modelPathAtom,
+ searchResultAtom,
+ searchVisibleAtom,
+ zoomAtom,
+} from "stores"
import { workerHighlight, workerSearch } from "worker-apis"
type NodeProps = {
@@ -51,10 +56,10 @@ const NodeCandidate = ({ node, startAnimation }: NodeProps) => {
}
return
-
+
{id}
{opType}
@@ -64,6 +69,7 @@ const NodeCandidate = ({ node, startAnimation }: NodeProps) => {
export const SearchModal = () => {
const [query, setQuery] = useState("")
+ const path = useAtomValue(modelPathAtom)
const deferredQuery = useDeferredValue(query)
const nodes = useAtomValue(searchResultAtom)
@@ -78,53 +84,57 @@ export const SearchModal = () => {
const startAnimation = useAnimatedTranslate()
const handleChange = (ev: ChangeEvent
) =>
- setQuery(ev.target.value.toLowerCase())
+ setQuery(ev.target.value.toLowerCase())
useEffect(() => {
if (!deferredQuery) return
workerSearch(deferredQuery)
}, [deferredQuery])
+ useEffect(() => {
+ setQuery("")
+ }, [path])
+
if (!visible) return <>>
return
+ className={joinCls(
+ "-translate-y-1/2 absolute top-1/2 left-3 h-4.5 w-4.5",
+ "stroke-current opacity-50 lg:left-4.5 lg:h-5 lg:w-5"
+ )} />
{deferredQuery && (
-
- {nodes?.map(node => (
-
- ))}
-
+
+ {nodes?.map(node => (
+
+ ))}
+
)}