Fix generatePageNavigation for total count of records
This commit is contained in:
parent
13ddb6025e
commit
b469df74ac
@ -268,6 +268,22 @@ func generatePageNavigation(ctx context.Context, iter dal.Iterator, mod *types.M
|
|||||||
// Sorting
|
// Sorting
|
||||||
out.Sort = dal.IteratorSorting(iter)
|
out.Sort = dal.IteratorSorting(iter)
|
||||||
|
|
||||||
|
// No need to generate prev/next cursor
|
||||||
|
// if limit is not defined and set is empty
|
||||||
|
if p.Limit > 0 && len(set) > 0 {
|
||||||
|
// PrevPage
|
||||||
|
out.PrevPage, err = dal.PreLoadCursor(ctx, iter, 1, true, first)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// NextPage
|
||||||
|
out.NextPage, err = dal.PreLoadCursor(ctx, iter, 1, false, last)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if p.IncTotal || p.IncPageNavigation {
|
if p.IncTotal || p.IncPageNavigation {
|
||||||
// For the first page nav
|
// For the first page nav
|
||||||
err = generatePage(last)
|
err = generatePage(last)
|
||||||
@ -296,6 +312,7 @@ func generatePageNavigation(ctx context.Context, iter dal.Iterator, mod *types.M
|
|||||||
|
|
||||||
interLoop++
|
interLoop++
|
||||||
total++
|
total++
|
||||||
|
last = rec
|
||||||
return generatePage(rec)
|
return generatePage(rec)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -308,22 +325,6 @@ func generatePageNavigation(ctx context.Context, iter dal.Iterator, mod *types.M
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// No need to generate prev/next cursor
|
|
||||||
// if limit is not defined and set is empty
|
|
||||||
if p.Limit > 0 && len(set) > 0 {
|
|
||||||
// PrevPage
|
|
||||||
out.PrevPage, err = dal.PreLoadCursor(ctx, iter, 1, true, first)
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// NextPage
|
|
||||||
out.NextPage, err = dal.PreLoadCursor(ctx, iter, 1, false, last)
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Total
|
// Total
|
||||||
if p.IncTotal {
|
if p.IncTotal {
|
||||||
out.Total = total
|
out.Total = total
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user