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