Skip to content

Commit ebccb97

Browse files
committed
fixed a bug with not handling null fields properly
1 parent 2d7bf72 commit ebccb97

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

app/javascript/components/resources/ResourceList.jsx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,14 @@ export default function ResourceList() {
1010
const navigate = useNavigate();
1111
const [filteredResources, setFilteredResources] = useState([]);
1212
const [pageState, setPageState] = useState({ identifier: '', status: 'Any', pageNumber: 1, per_page: 50 });
13-
const [lastPage, setLastPage] = useState(false);
13+
const [lastPage, setLastPage] = useState(true);
1414

15-
useEffect(() => {
15+
useEffect(() => {
1616
let fetch_url ='/api/v1/resources?'
1717
if (pageState.identifier) {fetch_url += `identifier=${pageState.identifier}&`;}
1818
if (pageState.status) {fetch_url += `status=${pageState.status}&`;}
1919
fetch_url += `page=${pageState.pageNumber ? pageState.pageNumber : 1}&`;
2020
fetch_url += `per_page=${pageState.per_page}`;
21-
console.log(fetch_url);
2221
(async () => {
2322
const response = await fetch(fetch_url);
2423
const data = await response.json();
@@ -77,29 +76,29 @@ export default function ResourceList() {
7776

7877
if (
7978
(queryIdentifier != pageState.identifier) ||
80-
(queryStatus != pageState.status) ||
81-
(parseInt(queryPage) != pageState.pageNumber) ||
82-
(queryPerPage != pageState.per_page)
79+
(queryStatus && queryStatus != pageState.status) ||
80+
(queryPage && parseInt(queryPage) != pageState.pageNumber) ||
81+
(queryPerPage && queryPerPage != pageState.per_page)
8382
) {
8483

8584
if (queryIdentifier != pageState.identifier) {
8685
// console.log("changing identifier from " + pageState.identifier + " to " + queryIdentifier);
8786
// setFilteredResources(resources.filter((resource) => resource.identifier === queryIdentifier));
8887
newPageState.identifier = queryIdentifier;
8988
}
90-
if (queryStatus != pageState.status) {
89+
if (queryStatus && queryStatus != pageState.status) {
9190
// console.log("changing status from " + pageState.status + " to " + queryStatus);
9291
// setFilteredResources(filteredResources.filter((resource) => resource.status === queryStatus));
9392
newPageState.status = queryStatus;
9493
}
95-
if (queryPage != pageState.pageNumber) {
94+
if (queryPage && queryPage != pageState.pageNumber) {
9695
// console.log("changing page number from " + pageState.pageNumber + " to " + queryPage);
9796
newPageState.pageNumber = queryPage;
9897
} else if (newPageState.identifier != pageState.identifier || newPageState.status != pageState.status) {
9998
// Move to page 1 if a filter param was updated and the page isn't specified
10099
newPageState.pageNumber = 1;
101100
}
102-
if (queryPerPage != pageState.per_page) {
101+
if (queryPerPage && queryPerPage != pageState.per_page) {
103102
newPageState.per_page = queryPerPage;
104103
}
105104
setPageState(newPageState);

0 commit comments

Comments
 (0)