Skip to content

Commit 0b527d9

Browse files
committed
fix: improve resource details query handling for empty/invalid resourceId
1 parent 28bb625 commit 0b527d9

File tree

1 file changed

+20
-8
lines changed
  • app/[locale]/dashboard/[entityType]/[entitySlug]/dataset/[id]/edit/resources/components

1 file changed

+20
-8
lines changed

app/[locale]/dashboard/[entityType]/[entitySlug]/dataset/[id]/edit/resources/components/EditResource.tsx

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)