"use client"; import React from "react"; import { ListWidgetConfig } from "../../types"; import { Card } from "@/components/ui/card"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Checkbox } from "@/components/ui/checkbox"; import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; import { Input } from "@/components/ui/input"; interface ListTableOptionsProps { config: ListWidgetConfig; onChange: (updates: Partial) => void; } /** * 리스트 테이블 옵션 설정 컴포넌트 * - 페이지 크기, 검색, 정렬 등 설정 */ export function ListTableOptions({ config, onChange }: ListTableOptionsProps) { return (

테이블 옵션

테이블 동작과 스타일을 설정하세요

{/* 뷰 모드 */}
onChange({ viewMode: value })} >
{/* 컬럼 모드 */}
onChange({ columnMode: value })} >
{/* 카드 뷰 컬럼 수 */} {config.viewMode === "card" && (
onChange({ cardColumns: parseInt(e.target.value) || 3 })} className="w-full" />

한 줄에 표시할 카드 개수 (1-6)

)} {/* 페이지 크기 */}
{/* 기능 활성화 */}
onChange({ enablePagination: checked as boolean })} />
{/* 스타일 */}
{config.viewMode === "table" && ( <>
onChange({ showHeader: checked as boolean })} />
onChange({ stripedRows: checked as boolean })} />
)}
onChange({ compactMode: checked as boolean })} />
); }