feat: Saving user's page size choices #171

This commit is contained in:
rustmailer
2026-03-11 12:40:20 +08:00
parent 8f331080bf
commit 396383aa97
14 changed files with 55 additions and 7 deletions
@@ -71,6 +71,7 @@ export function DataTablePagination<TData>({
<Select
value={`${table.getState().pagination.pageSize}`}
onValueChange={(value) => {
localStorage.setItem('bichon_accounts_page_size', value);
table.setPageSize(Number(value))
}}
>
@@ -78,7 +79,7 @@ export function DataTablePagination<TData>({
<SelectValue placeholder={table.getState().pagination.pageSize} />
</SelectTrigger>
<SelectContent side='top'>
{[10, 20, 30, 40, 50].map((pageSize) => (
{[10, 20, 30, 40, 50, 100, 150].map((pageSize) => (
<SelectItem key={pageSize} value={`${pageSize}`}>
{pageSize}
</SelectItem>
@@ -75,6 +75,12 @@ export function AccountTable({ columns, data }: DataTableProps) {
rowSelection,
columnFilters,
},
initialState: {
pagination: {
pageIndex: 0,
pageSize: Number(localStorage.getItem('bichon_accounts_page_size')) || 10
}
},
enableRowSelection: true,
onRowSelectionChange: setRowSelection,
onSortingChange: setSorting,
@@ -71,6 +71,7 @@ export function DataTablePagination<TData>({
<Select
value={`${table.getState().pagination.pageSize}`}
onValueChange={(value) => {
localStorage.setItem('bichon_oauth2_page_size', value);
table.setPageSize(Number(value))
}}
>
@@ -74,6 +74,12 @@ export function Oauth2Table({ columns, data }: DataTableProps) {
rowSelection,
columnFilters,
},
initialState: {
pagination: {
pageIndex: 0,
pageSize: Number(localStorage.getItem('bichon_oauth2_page_size')) || 10
}
},
enableRowSelection: true,
onRowSelectionChange: setRowSelection,
onSortingChange: setSorting,
+2 -2
View File
@@ -51,7 +51,7 @@ export default function Search() {
page,
pageSize,
setPage,
setPageSize,
setSearchPageSize,
setSortBy,
setSortOrder,
filter,
@@ -60,7 +60,7 @@ export default function Search() {
const handleSetPageSize = (pageSize: number) => {
setPage(1);
setPageSize(pageSize)
setSearchPageSize(pageSize)
}
const handleTagToggle = (tag: string) => {
@@ -71,6 +71,7 @@ export function DataTablePagination<TData>({
<Select
value={`${table.getState().pagination.pageSize}`}
onValueChange={(value) => {
localStorage.setItem('bichon_proxy_page_size', value);
table.setPageSize(Number(value))
}}
>
@@ -76,6 +76,12 @@ export function ProxyTable({ columns, data }: DataTableProps) {
rowSelection,
columnFilters,
},
initialState: {
pagination: {
pageIndex: 0,
pageSize: Number(localStorage.getItem('bichon_proxy_page_size')) || 10
}
},
enableRowSelection: true,
onRowSelectionChange: setRowSelection,
onSortingChange: setSorting,
@@ -72,6 +72,7 @@ export function DataTablePagination<TData>({
<Select
value={`${table.getState().pagination.pageSize}`}
onValueChange={(value) => {
localStorage.setItem('bichon_apitoken_page_size', value);
table.setPageSize(Number(value))
}}
>
@@ -75,6 +75,12 @@ export function ApiTokensTable({ columns, data }: DataTableProps) {
rowSelection,
columnFilters,
},
initialState: {
pagination: {
pageIndex: 0,
pageSize: Number(localStorage.getItem('bichon_apitoken_page_size')) || 10
}
},
enableRowSelection: true,
onRowSelectionChange: setRowSelection,
onSortingChange: setSorting,
@@ -71,6 +71,7 @@ export function DataTablePagination<TData>({
<Select
value={`${table.getState().pagination.pageSize}`}
onValueChange={(value) => {
localStorage.setItem('bichon_roles_page_size', value);
table.setPageSize(Number(value))
}}
>
@@ -78,7 +79,7 @@ export function DataTablePagination<TData>({
<SelectValue placeholder={table.getState().pagination.pageSize} />
</SelectTrigger>
<SelectContent side='top'>
{[10, 20, 30, 40, 50].map((pageSize) => (
{[10, 20, 30, 40, 50, 100].map((pageSize) => (
<SelectItem key={pageSize} value={`${pageSize}`}>
{pageSize}
</SelectItem>
@@ -75,6 +75,12 @@ export function RolesTable({ columns, data }: DataTableProps) {
rowSelection,
columnFilters,
},
initialState: {
pagination: {
pageIndex: 0,
pageSize: Number(localStorage.getItem('bichon_roles_page_size')) || 10
}
},
enableRowSelection: true,
onRowSelectionChange: setRowSelection,
onSortingChange: setSorting,
@@ -69,6 +69,7 @@ export function DataTablePagination<TData>({
<Select
value={`${table.getState().pagination.pageSize}`}
onValueChange={(value) => {
localStorage.setItem('bichon_users_page_size', value);
table.setPageSize(Number(value))
}}
>
@@ -76,7 +77,7 @@ export function DataTablePagination<TData>({
<SelectValue placeholder={table.getState().pagination.pageSize} />
</SelectTrigger>
<SelectContent side='top'>
{[10, 20, 30, 40, 50].map((pageSize) => (
{[10, 20, 30, 40, 50, 100].map((pageSize) => (
<SelectItem key={pageSize} value={`${pageSize}`}>
{pageSize}
</SelectItem>
@@ -75,6 +75,12 @@ export function UsersTable({ columns, data }: DataTableProps) {
rowSelection,
columnFilters,
},
initialState: {
pagination: {
pageIndex: 0,
pageSize: Number(localStorage.getItem('bichon_users_page_size')) || 10
}
},
enableRowSelection: true,
onRowSelectionChange: setRowSelection,
onSortingChange: setSorting,