@@ -29,15 +29,14 @@ const Table = ({
2929
3030 const API_SPLIT = String ( 'api/v2' )
3131
32- const [ loaded , setPageLoaded ] = useState ( false )
3332
34- const [ metadata , setMetaData ] = useState ( null ) ;
33+ const [ metadata , setMetaData ] = useState ( loader_metadata ) ;
3534
3635 const [ page_number_value , setPageNumberValue ] = useState ( 1 ) ;
3736
3837 const [ page , setPage ] = useState ( 0 ) ;
3938
40- const [ table_data , setTableData ] = useState ( null ) ;
39+ const [ table_data , setTableData ] = useState ( loader_data ) ;
4140
4241 let collapsable_fields = [ ]
4342
@@ -54,7 +53,6 @@ const Table = ({
5453
5554 useEffect ( ( ) => {
5655
57- setPageLoaded ( false )
5856 setMetaData ( loader_metadata )
5957 setTableData ( loader_data )
6058 setPageNumberValue ( 1 )
@@ -84,7 +82,6 @@ const Table = ({
8482 }
8583 }
8684
87- setPageLoaded ( true )
8885
8986 } , [
9087 // loader_metadata,
@@ -94,75 +91,65 @@ const Table = ({
9491
9592 useEffect ( ( ) => {
9693
97- setPageLoaded ( false )
98-
9994 let url = null
10095
101- if ( page !== 0 ) {
96+ if ( page !== 0 ) { // Only run when not initial page
10297
10398 url = data_url_path + '?page%5Bnumber%5D=' + String ( page ) ;
10499
105- } else {
106-
107- url = data_url_path ;
108-
109- }
110-
111- apiFetch ( url )
112- . then ( ( result ) => {
100+ apiFetch ( url )
101+ . then ( ( result ) => {
113102
114103
115- if ( result . status == 200 ) {
104+ if ( result . status == 200 ) {
116105
117- if ( result . api_metadata !== null ) {
106+ if ( result . api_metadata !== null ) {
118107
119- setMetaData ( result . api_metadata )
120-
121- }
122-
123- setTableData ( result . api_page_data )
108+ setMetaData ( result . api_metadata )
109+
110+ }
111+
112+ setTableData ( result . api_page_data )
124113
125- if ( Array ( result . api_metadata . table_fields ) . length < 2 ) {
114+ if ( Array ( result . api_metadata . table_fields ) . length < 2 ) {
126115
127- console . error ( "Missing Table Fields" )
116+ console . error ( "Missing Table Fields" )
128117
129- }
118+ }
130119
131- if ( SetContentHeaderIcon ) {
120+ if ( SetContentHeaderIcon ) {
132121
133- SetContentHeaderIcon (
134- < >
135- { result . api_metadata [ 'documentation' ] &&
136- < Link to = { result . api_metadata [ 'documentation' ] } target = "_new" >
137- < IconLoader
138- name = 'help'
139- />
140- </ Link >
141- }
142- </ >
143- )
144- }
122+ SetContentHeaderIcon (
123+ < >
124+ { result . api_metadata [ 'documentation' ] &&
125+ < Link to = { result . api_metadata [ 'documentation' ] } target = "_new" >
126+ < IconLoader
127+ name = 'help'
128+ />
129+ </ Link >
130+ }
131+ </ >
132+ )
133+ }
145134
146- if ( callback ) {
135+ if ( callback ) {
147136
148- callback ( result . api_metadata . name )
137+ callback ( result . api_metadata . name )
149138
150- }
139+ }
151140
152- if ( page !== 0 ) {
153-
154- setPageNumberValue ( page )
141+ if ( page !== 0 ) {
142+
143+ setPageNumberValue ( page )
155144
145+ }
156146 }
157-
158- setPageLoaded ( true )
159-
160- }
161-
162- } )
147+ } )
148+ }
163149
164150 } , [
165151 page ,
152+ loader_data ,
166153 ] ) ;
167154
168155
@@ -199,9 +186,7 @@ const Table = ({
199186
200187 return (
201188 < >
202- { loaded &&
203- < >
204- { metadata &&
189+ { ( metadata && table_data ) &&
205190 < div >
206191 { metadata . allowed_methods . includes ( 'POST' ) && ( < Link to = { String ( metadata . urls . self ) . split ( API_SPLIT ) [ 1 ] + "/add" } > < button className = "common-field form" > Add</ button > </ Link > ) }
207192 < table >
@@ -502,8 +487,6 @@ const Table = ({
502487 </ div >
503488 }
504489 </ >
505- }
506- </ >
507490 ) ;
508491}
509492
0 commit comments