https://dev.kronoz.win/r/marzneshin.git
| 1 |
578311c |
Mrdn |
2y ago |
import { useState } from "react"; |
| 2 |
8b82d79 |
Mardin |
1y ago |
import { useLocalStorage } from "@uidotdev/usehooks"; |
| 3 |
578311c |
Mrdn |
2y ago |
|
| 4 |
8b82d79 |
Mardin |
1y ago |
export function usePagination({ entityKey}: { entityKey: string }) { |
| 5 |
8b82d79 |
Mardin |
1y ago |
const [rowPerPageLocal] = useLocalStorage<number>(`marzneshin-table-row-per-page-${entityKey}`, 10); |
| 6 |
578311c |
Mrdn |
2y ago |
const [pagination, setPagination] = useState({ |
| 7 |
8b82d79 |
Mardin |
1y ago |
pageSize: rowPerPageLocal, |
| 8 |
578311c |
Mrdn |
2y ago |
pageIndex: 1, |
| 9 |
578311c |
Mrdn |
2y ago |
}); |
| 10 |
578311c |
Mrdn |
2y ago |
const { pageSize, pageIndex } = pagination; |
| 11 |
578311c |
Mrdn |
2y ago |
|
| 12 |
578311c |
Mrdn |
2y ago |
return { |
| 13 |
578311c |
Mrdn |
2y ago |
pageSize, |
| 14 |
578311c |
Mrdn |
2y ago |
pageIndex, |
| 15 |
578311c |
Mrdn |
2y ago |
onPaginationChange: setPagination, |
| 16 |
578311c |
Mrdn |
2y ago |
pagination, |
| 17 |
578311c |
Mrdn |
2y ago |
skip: pageSize * pageIndex, |
| 18 |
578311c |
Mrdn |
2y ago |
}; |
| 19 |
578311c |
Mrdn |
2y ago |
} |