mirror of
https://github.com/rustmailer/bichon.git
synced 2026-08-03 07:48:34 +02:00
feat: Saving user's page size choices #171
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -29,7 +29,7 @@ export function useSearchMessages() {
|
||||
// const queryClient = useQueryClient();
|
||||
const [filter, _setFilter] = useState<Record<string, any>>({});
|
||||
const [page, setPage] = useState(1);
|
||||
const [pageSize, setPageSize] = useState(30);
|
||||
const [pageSize, setPageSize] = useState(Number(localStorage.getItem('bichon_search_page_size')) || 30);
|
||||
const [sortBy, setSortBy] = useState<"DATE" | "SIZE">("DATE");
|
||||
const [sortOrder, setSortOrder] = useState<"desc" | "asc">("desc");
|
||||
|
||||
@@ -38,6 +38,12 @@ export function useSearchMessages() {
|
||||
setPage(1);
|
||||
}, []);
|
||||
|
||||
|
||||
const setSearchPageSize = (value: number) => {
|
||||
localStorage.setItem('bichon_search_page_size', value.toString());
|
||||
setPageSize(value);
|
||||
}
|
||||
|
||||
const onSubmit = (cleaned: Record<string, any>) => {
|
||||
if ('has_attachment' in cleaned && cleaned.has_attachment === false) {
|
||||
delete cleaned.has_attachment;
|
||||
@@ -84,7 +90,7 @@ export function useSearchMessages() {
|
||||
total: data?.total_items ?? 0,
|
||||
totalPages: data?.total_pages ?? 1,
|
||||
pageSize: data?.page_size ?? pageSize,
|
||||
setPageSize,
|
||||
setSearchPageSize,
|
||||
sortBy,
|
||||
setSortBy,
|
||||
sortOrder,
|
||||
|
||||
Reference in New Issue
Block a user