"use client" import * as React from "react" import { type Table } from "@tanstack/react-table" import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight, } from "lucide-react" import { Button } from "@/components/ui/button" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" interface DataTablePaginationProps { table: Table pageSizeOptions?: Array } export function DataTablePagination({ table, pageSizeOptions = [10, 20, 30, 40, 50, "All"], }: DataTablePaginationProps) { // 현재 테이블 pageSize const currentPageSize = table.getState().pagination.pageSize // "All"을 1,000,000으로 처리할 것이므로, // 만약 현재 pageSize가 1,000,000이면 화면상 "All"로 표시 const selectValue = currentPageSize === 1_000_000 ? "All" : String(currentPageSize) return (
{table.getFilteredSelectedRowModel().rows.length} of{" "} {table.getFilteredRowModel().rows.length} row(s) selected. Total: {table.getRowCount()} records
{/* Rows per page Select */}

Rows per page

{/* 현재 페이지 / 전체 페이지 */}
Page {table.getState().pagination.pageIndex + 1} of{" "} {table.getPageCount()}
{/* 페이지 이동 버튼 */}
) }