Skip to content

Commit 3f49c92

Browse files
committed
refactor EditResource: remove unused resetSchema mutation and clean up code
1 parent c171d9d commit 3f49c92

File tree

1 file changed

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

1 file changed

+29
-67
lines changed

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

Lines changed: 29 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,19 @@ import {
1313
Checkbox,
1414
Divider,
1515
DropZone,
16-
Icon,
17-
Spinner,
1816
Text,
1917
TextField,
2018
toast,
2119
} from 'opub-ui';
2220

2321
import { GraphQL } from '@/lib/api';
24-
import { Icons } from '@/components/icons';
2522
import { Loading } from '@/components/loading';
2623
import PdfPreview from '../../../../../../../../(user)/components/PdfPreview';
2724
import { useDatasetEditStatus } from '../../context';
2825
import { TListItem } from '../page-layout';
2926
import PreviewData from './PreviewData';
3027
import {
3128
createResourceFilesDoc,
32-
resetSchema,
3329
updateResourceDoc,
3430
updateSchema,
3531
} from './query';
@@ -88,10 +84,14 @@ const resourceDetails: any = graphql(`
8884
`);
8985

9086
export const EditResource = ({ refetch, allResources }: EditProps) => {
91-
const params = useParams<{ entityType: string; entitySlug: string; id: string }>();
87+
const params = useParams<{
88+
entityType: string;
89+
entitySlug: string;
90+
id: string;
91+
}>();
9292

9393
const [resourceId, setResourceId] = useQueryState<any>('id', parseAsString);
94-
const [schema, setSchema] = React.useState([]);
94+
const [schema, setSchema] = React.useState<any>([]);
9595

9696
const resourceDetailsQuery = useQuery<any>(
9797
[`fetch_resource_details_${resourceId}`],
@@ -107,25 +107,7 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
107107
enabled: !!resourceId,
108108
}
109109
);
110-
const schemaMutation = useMutation(
111-
(data: { resourceId: string }) =>
112-
GraphQL(
113-
resetSchema,
114-
{
115-
[params.entityType]: params.entitySlug,
116-
},
117-
data
118-
),
119-
{
120-
onSuccess: (data: any) => {
121-
setSchema(data.resetFileResourceSchema.schema);
122-
refetch();
123-
},
124-
onError: (err: any) => {
125-
toast(err);
126-
},
127-
}
128-
);
110+
129111
const updateResourceMutation = useMutation(
130112
(data: {
131113
fileResourceInput: UpdateFileResourceInput;
@@ -146,11 +128,7 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
146128
onClick: () => {},
147129
},
148130
});
149-
if (variables.isResetSchema) {
150-
schemaMutation.mutate({
151-
resourceId: resourceId,
152-
});
153-
}
131+
154132
resourceDetailsQuery.refetch();
155133
},
156134
onError: (err: any) => {
@@ -235,9 +213,9 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
235213
columns: [],
236214
});
237215

238-
useEffect(() => {
239-
resourceDetailsQuery.refetch();
240-
}, []);
216+
// useEffect(() => {
217+
// resourceDetailsQuery.refetch();
218+
// }, []);
241219

242220
React.useEffect(() => {
243221
const ResourceData = resourceDetailsQuery.data?.resourceById;
@@ -252,13 +230,16 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
252230
rows: ResourceData?.previewData?.rows,
253231
columns: ResourceData?.previewData?.columns,
254232
});
255-
setSchema(ResourceData?.schema);
256-
if (ResourceData?.schema?.length === 0) {
257-
schemaMutation.mutate({
258-
resourceId: resourceId,
259-
});
233+
}, [resourceDetailsQuery.data]);
234+
235+
236+
useEffect(() => {
237+
const schemaData = resourceDetailsQuery.data?.resourceById?.schema;
238+
if (schemaData && Array.isArray(schemaData)) {
239+
setSchema(schemaData);
260240
}
261241
}, [resourceDetailsQuery.data]);
242+
262243

263244
const handleResourceChange = (e: any) => {
264245
setResourceId(e, { shallow: false });
@@ -302,16 +283,7 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
302283
{
303284
onSuccess: () => {
304285
// Automatically trigger schema mutation after file upload
305-
schemaMutation.mutate(
306-
{
307-
resourceId: resourceId,
308-
},
309-
{
310-
onSuccess: () => {
311-
toast('Schema updated successfully');
312-
},
313-
}
314-
);
286+
315287
resourceDetailsQuery.refetch();
316288
},
317289
}
@@ -543,7 +515,7 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
543515

544516
{resourceFormat !== 'pdf' && resourceFormat !== 'zip' && (
545517
<div className="my-8">
546-
<div className="flex flex-wrap justify-between">
518+
{/* <div className="flex flex-wrap justify-between">
547519
<Text>Fields in the Resource</Text>
548520
<Button
549521
size="medium"
@@ -560,28 +532,18 @@ export const EditResource = ({ refetch, allResources }: EditProps) => {
560532
<Icon source={Icons.info} color="interactive" />
561533
</div>
562534
</Button>
563-
</div>
535+
</div> */}
564536
<Text variant="headingXs" as="span" fontWeight="regular">
565537
The Field settings apply to the Resource on a master level and
566538
can not be changed in Access Models.
567539
</Text>
568-
{schemaMutation.isLoading ? (
569-
<div className=" mt-8 flex justify-center">
570-
<Spinner size={30} />
571-
</div>
572-
) : resourceId && schema?.length > 0 ? (
573-
<ResourceSchema
574-
setSchema={setSchema}
575-
data={schema}
576-
mutate={updateSchemaMutation.mutate}
577-
resourceId={resourceId}
578-
/>
579-
) : (
580-
<div className="my-8 flex justify-center">
581-
{' '}
582-
Click on Reset Format{' '}
583-
</div>
584-
)}
540+
541+
<ResourceSchema
542+
setSchema={setSchema}
543+
data={schema}
544+
mutate={updateSchemaMutation.mutate}
545+
resourceId={resourceId}
546+
/>
585547
</div>
586548
)}
587549
</div>

0 commit comments

Comments
 (0)