Wait until table schema loads before searching to avoid initial double search

This commit is contained in:
Andrew Kingston 2021-05-13 13:11:45 +01:00
parent f54096447d
commit b578522bcd
1 changed files with 18 additions and 9 deletions

View File

@ -17,6 +17,7 @@
// Loading flag for the initial load
let loaded = false
let schemaLoaded = false
// Provider state
let rows = []
@ -31,16 +32,23 @@
$: hasPrevPage = pageNumber > 0
$: getSchema(dataSource)
$: sortType = getSortType(schema, sortColumn)
$: fetchData(
dataSource,
query,
limit,
sortColumn,
sortOrder,
sortType,
paginate
)
$: {
// Wait until schema loads before loading data, so that we can determine
// the correct sort type first time
if (schemaLoaded) {
fetchData(
dataSource,
query,
limit,
sortColumn,
sortOrder,
sortType,
paginate
)
}
}
$: {
// Sort and limit rows in memory when we aren't searching internal tables
if (internalTable) {
rows = allRows
} else {
@ -195,6 +203,7 @@
}
})
schema = fixedSchema
schemaLoaded = true
}
const nextPage = async () => {