Fix total count in show page (#6462)

Fixes #6405 

We need to take into account both the totalCount of **before cursor**
results and **after cursor** results.
This commit is contained in:
Prateek Jain
2024-07-30 22:46:36 +05:30
committed by GitHub
parent 70f9df7dc4
commit ee4f1da956

View File

@ -60,7 +60,8 @@ export const useRecordShowPagePagination = (
const cursorFromRequest = currentRecordsPageInfo?.endCursor;
const [totalCount, setTotalCount] = useState<number>(0);
const [totalCountBefore, setTotalCountBefore] = useState<number>(0);
const [totalCountAfter, setTotalCountAfter] = useState<number>(0);
const { loading: loadingRecordBefore, records: recordsBefore } =
useFindManyRecords({
@ -78,7 +79,7 @@ export const useRecordShowPagePagination = (
objectNameSingular,
recordGqlFields,
onCompleted: (_, pagination) => {
setTotalCount(pagination?.totalCount ?? 0);
setTotalCountBefore(pagination?.totalCount ?? 0);
},
});
@ -98,7 +99,7 @@ export const useRecordShowPagePagination = (
objectNameSingular,
recordGqlFields,
onCompleted: (_, pagination) => {
setTotalCount(pagination?.totalCount ?? 0);
setTotalCountAfter(pagination?.totalCount ?? 0);
},
});
@ -147,6 +148,8 @@ export const useRecordShowPagePagination = (
const objectLabel = capitalize(objectMetadataItem.namePlural);
const totalCount = Math.max(1, totalCountBefore, totalCountAfter);
const viewNameWithCount = rankFoundInFiew
? `${rankInView + 1} of ${totalCount} in ${objectLabel}`
: `${objectLabel} (${totalCount})`;