https://github.com/writetome51/loaded-page
A TypeScript/Javascript class intended to be used with a separate Paginator class. It loads a page (array) of data into memory
https://github.com/writetome51/loaded-page
batch javascript load page pagination typescript
Last synced: 4 months ago
JSON representation
A TypeScript/Javascript class intended to be used with a separate Paginator class. It loads a page (array) of data into memory
- Host: GitHub
- URL: https://github.com/writetome51/loaded-page
- Owner: writetome51
- License: mit
- Created: 2019-05-09T08:48:55.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-03-13T20:21:56.000Z (almost 5 years ago)
- Last Synced: 2025-02-16T18:46:03.923Z (11 months ago)
- Topics: batch, javascript, load, page, pagination, typescript
- Language: TypeScript
- Homepage:
- Size: 83 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LoadedPage
A TypeScript/Javascript class intended to help a separate Paginator
paginate data that can't all be stored in memory at once.
## Instantiation
```ts
// Use this factory function:
getInstance_LoadedPage(
params: {
dataSource: {
// If `isLastLoad` is true, it must only return the remaining items in the dataset and
// ignore `itemsPerLoad`.
getLoad: (
loadNumber: number, itemsPerLoad: number, isLastLoad: boolean
) => Promise;
};
pageInfo: {
setItemsPerPage: (num) => void;
getItemsPerPage: () => number;
getTotalPages: () => number;
};
loadInfo: {
getCurrentLoadNumber: () => number;
setCurrentLoadNumber: (num) => void;
getItemsPerLoad: () => number;
currentLoadIsLast: () => boolean;
getPagesPerLoad: () => number;
};
}
): LoadedPage
```
## Methods
view methods
```ts
set(pageNumber): Promise
// After calling this, get the page's contents by calling this.get().
reset(pageNumber): Promise
// Even if 'pageNumber' is already the loaded page, the
// data containing that page is reloaded from the source.
get(): any[]
// returns the page contents.
getNumber(): number
// returns page number.
```
## Installation
`npm i @writetome51/loaded-page`
## Loading
```js
import { LoadedPage, getInstance_LoadedPage } from '@writetome51/loaded-page';
```
## License
[MIT](https://choosealicense.com/licenses/mit/)