From ffb8e2e99e1d0c105b1c545ff7ab4d3149ec6c48 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Mon, 1 Dec 2025 15:22:38 +0900 Subject: (김준회) 서버측 where, order by 절 지원을 위한 v2 임시작업 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client-table-v2/client-table-view-options.tsx | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 components/client-table-v2/client-table-view-options.tsx (limited to 'components/client-table-v2/client-table-view-options.tsx') diff --git a/components/client-table-v2/client-table-view-options.tsx b/components/client-table-v2/client-table-view-options.tsx new file mode 100644 index 00000000..3b659fcd --- /dev/null +++ b/components/client-table-v2/client-table-view-options.tsx @@ -0,0 +1,67 @@ +"use client" + +import { DropdownMenuTrigger } from "@radix-ui/react-dropdown-menu" +import { MixerHorizontalIcon } from "@radix-ui/react-icons" +import { Table } from "@tanstack/react-table" + +import { Button } from "@/components/ui/button" +import { + DropdownMenu, + DropdownMenuCheckboxItem, + DropdownMenuContent, + DropdownMenuLabel, + DropdownMenuSeparator, +} from "@/components/ui/dropdown-menu" + +interface ClientTableViewOptionsProps { + table: Table +} + +export function ClientTableViewOptions({ + table, +}: ClientTableViewOptionsProps) { + return ( + + + + + + Toggle columns + + {table + .getAllLeafColumns() + .filter( + (column) => + typeof column.accessorFn !== "undefined" && column.getCanHide() + ) + .map((column) => { + const header = column.columnDef.header + let label = column.id + if (typeof header === "string") { + label = header + } + + return ( + column.toggleVisibility(!!value)} + onSelect={(e) => e.preventDefault()} // default action close the select menu. + > + {label} + + ) + })} + + + ) +} + -- cgit v1.2.3