veldoffice-js

2.0.25 • Public • Published

VO.em.query()

Paging

  • (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; })()

20241115-170537-wbOHiN

// 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);
    });

Readme

Keywords

none

Package Sidebar

Install

npm i veldoffice-js

Weekly Downloads

4

Version

2.0.25

License

ISC

Unpacked Size

904 kB

Total Files

38

Last publish

Collaborators

  • relluf