modified: frontend/src/pages/DatabaseSchema.tsx
modified: frontend/src/pages/DatabaseSchema.tsx
This commit is contained in:
@@ -376,9 +376,19 @@ export default function DatabaseSchema() {
|
|||||||
const [nodes, setNodes, onNodesChange] = useNodesState<Node>([]);
|
const [nodes, setNodes, onNodesChange] = useNodesState<Node>([]);
|
||||||
const [edges, setEdges, onEdgesChange] = useEdgesState<Edge>([]);
|
const [edges, setEdges, onEdgesChange] = useEdgesState<Edge>([]);
|
||||||
|
|
||||||
|
// Reset and rebuild when filtered schema changes
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
// Clear first to avoid stale edges
|
||||||
|
setNodes([]);
|
||||||
|
setEdges([]);
|
||||||
|
|
||||||
|
// Then set new layout after a tick
|
||||||
|
if (layoutedNodes.length > 0) {
|
||||||
|
requestAnimationFrame(() => {
|
||||||
setNodes(layoutedNodes);
|
setNodes(layoutedNodes);
|
||||||
setEdges(layoutedEdges);
|
setEdges(layoutedEdges);
|
||||||
|
});
|
||||||
|
}
|
||||||
}, [layoutedNodes, layoutedEdges, setNodes, setEdges]);
|
}, [layoutedNodes, layoutedEdges, setNodes, setEdges]);
|
||||||
|
|
||||||
const getSearchIcon = (type: SearchResult['type']) => {
|
const getSearchIcon = (type: SearchResult['type']) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user