Ensure paginate option is respected in DataFetch models
This commit is contained in:
parent
ee2a3515e8
commit
8bebf8db01
|
@ -110,7 +110,7 @@ export default class DataFetch {
|
|||
* Fetches a fresh set of data from the server, resetting pagination
|
||||
*/
|
||||
async getInitialData() {
|
||||
const { datasource, filter, sortColumn } = this.options
|
||||
const { datasource, filter, sortColumn, paginate } = this.options
|
||||
const tableId = datasource?.tableId
|
||||
|
||||
// Ensure table ID exists
|
||||
|
@ -124,7 +124,7 @@ export default class DataFetch {
|
|||
this.featureStore.set({
|
||||
supportsSearch: !!features?.supportsSearch,
|
||||
supportsSort: !!features?.supportsSort,
|
||||
supportsPagination: !!features?.supportsPagination,
|
||||
supportsPagination: paginate && !!features?.supportsPagination,
|
||||
})
|
||||
|
||||
// Fetch and enrich schema
|
||||
|
@ -168,7 +168,7 @@ export default class DataFetch {
|
|||
pageNumber: 0,
|
||||
rows: page.rows,
|
||||
info: page.info,
|
||||
cursors: page.hasNextPage ? [null, page.cursor] : [null],
|
||||
cursors: paginate && page.hasNextPage ? [null, page.cursor] : [null],
|
||||
}))
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ export default class QueryFetch extends DataFetch {
|
|||
}
|
||||
|
||||
async getData() {
|
||||
const { datasource, limit } = this.options
|
||||
const { datasource, limit, paginate } = this.options
|
||||
const { supportsPagination } = get(this.featureStore)
|
||||
const { cursor, definition } = get(this.store)
|
||||
const { type } = definition.fields.pagination
|
||||
|
@ -35,7 +35,7 @@ export default class QueryFetch extends DataFetch {
|
|||
|
||||
// Add pagination to query if supported
|
||||
let queryPayload = { queryId: datasource?._id, parameters }
|
||||
if (supportsPagination) {
|
||||
if (paginate && supportsPagination) {
|
||||
const requestCursor = type === "page" ? parseInt(cursor || 1) : cursor
|
||||
queryPayload.pagination = { page: requestCursor, limit }
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ export default class QueryFetch extends DataFetch {
|
|||
// Derive pagination info from response
|
||||
let nextCursor = null
|
||||
let hasNextPage = false
|
||||
if (supportsPagination) {
|
||||
if (paginate && supportsPagination) {
|
||||
if (type === "page") {
|
||||
// For "page number" pagination, increment the existing page number
|
||||
nextCursor = queryPayload.pagination.page + 1
|
||||
|
|
Loading…
Reference in New Issue