@@ -94,17 +94,29 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
9494 const [ schema , setSchema ] = React . useState < any > ( [ ] ) ;
9595
9696 const resourceDetailsQuery = useQuery < any > (
97- [ `fetch_resource_details_${ resourceId } ` ] ,
98- ( ) =>
99- GraphQL (
97+ // Use a stable key when resourceId is empty/invalid
98+ resourceId && resourceId . trim ( )
99+ ? [ `fetch_resource_details_${ resourceId } ` ]
100+ : [ 'fetch_resource_details_disabled' ] ,
101+ ( ) => {
102+ if ( ! resourceId || ! resourceId . trim ( ) ) {
103+ // Return a rejected promise or throw an error to prevent execution
104+ return Promise . reject ( new Error ( 'No resource ID provided' ) ) ;
105+ }
106+ return GraphQL (
100107 resourceDetails ,
101108 {
102109 [ params . entityType ] : params . entitySlug ,
103110 } ,
104111 { resourceId : resourceId }
105- ) ,
112+ ) ;
113+ } ,
106114 {
107- enabled : ! ! resourceId ,
115+ enabled : ! ! ( resourceId && resourceId . trim ( ) ) ,
116+ // Prevent retries when there's no resourceId
117+ retry : false ,
118+ // Don't refetch when resourceId is empty
119+ refetchOnWindowFocus : ! ! ( resourceId && resourceId . trim ( ) ) ,
108120 }
109121 ) ;
110122
@@ -213,9 +225,9 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
213225 columns : [ ] ,
214226 } ) ;
215227
216- // useEffect(() => {
217- // resourceDetailsQuery.refetch();
218- // }, []);
228+ useEffect ( ( ) => {
229+ resourceDetailsQuery . refetch ( ) ;
230+ } , [ ] ) ;
219231
220232 React . useEffect ( ( ) => {
221233 const ResourceData = resourceDetailsQuery . data ?. resourceById ;
0 commit comments