Merge pull request #19 from TouchInstinct/feature/pagination-store

added PaginationStore
This commit is contained in:
Cakenumber1 2022-07-21 11:21:45 +03:00 committed by GitHub
commit 46e02adc7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,37 @@
import { action, observable } from 'mobx'
export interface PaginationResponse<T> {
items: T[]
itemsCount: number
pagesCount: number
}
class PaginationStore {
@observable
page: number = 1
@observable
pageSize: number = 30
@observable
filter: string = ''
@action
changePage = (page: number = 1, pageSize: number = 30) => {
this.page = page
this.pageSize = pageSize
}
@action
search = (filter: string) => {
this.filter = filter
this.page = 1
}
@action
reset = () => {
this.page = 1
this.pageSize = 30
this.filter = ''
}
}
export default PaginationStore