From 0f146b6b7a6a4017123e2ae66ece7fb1988a9158 Mon Sep 17 00:00:00 2001 From: Nikolaev Mikhail Date: Thu, 21 Jul 2022 11:18:54 +0300 Subject: [PATCH] added PaginationStore --- pagination/PaginationStore.ts | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 pagination/PaginationStore.ts diff --git a/pagination/PaginationStore.ts b/pagination/PaginationStore.ts new file mode 100644 index 0000000..eae75df --- /dev/null +++ b/pagination/PaginationStore.ts @@ -0,0 +1,37 @@ +import { action, observable } from 'mobx' + +export interface PaginationResponse { + 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