(async function(e, a, c) { results = [], data; do { data = await VO.em.query(e, a, js.mi({ raw: true, page: [page++, pagesize] }, c); results.push(...data); } while (data.length === pagesize); return results; })()

// Define the pager
const pager = {
cache: {},
load: function (pageNumber) {
// Check cache first
if (this.cache[pageNumber]) {
console.log(`Page ${pageNumber} found in cache`);
return Promise.resolve(this.cache[pageNumber]);
}
console.log(`Fetching page ${pageNumber} from server...`);
return Promise.resolve({ _id: pageNumber, data: null }); // Simulate server fetch
},
save: function (pageData) {
console.log(`Caching page ${pageData._id}`);
this.cache[pageData._id] = pageData; // Store in cache
return Promise.resolve(pageData);
}
};
// Set up query criteria
const criteria = {
page: [1, 10, pager], // Fetch page 1, 10 results per page
where: 'status = "active"',
orderBy: [{ path: 'naam', type: 'asc' }]
};
// Execute query
VO.em.query('Onderzoek', ['naam', 'status', 'projectcode'], criteria)
.then(results => {
console.log('Page 1 results:', results);
})
.catch(error => {
console.error('Error during query:', error);
});