Skip to content

Commit 3bbdcb2

Browse files
committed
fix(component): Ensure table doesnt attempt to load page one again
ref:
1 parent b14a553 commit 3bbdcb2

File tree

2 files changed

+40
-57
lines changed

2 files changed

+40
-57
lines changed

src/components/Table.jsx

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

src/layout/List.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const List = () => {
2121
content_heading={content_heading}
2222
content_header_icon={content_header_icon}
2323
/>
24-
{ metadata &&
24+
{ metadata && page_data &&
2525
<section>
2626
<div className="content">
2727
<Table

0 commit comments

Comments
 (0)