'use client'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; import { Label } from '@/components/ui/label'; import { Input } from '@/components/ui/input'; import { Textarea } from '@/components/ui/textarea'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Switch } from '@/components/ui/switch'; import { Badge } from '@/components/ui/badge'; const INPUT_TYPE_OPTIONS = [ { value: 'textbox', label: '텍스트 입력' }, { value: 'number', label: '숫자 입력' }, { value: 'dropdown', label: '드롭다운' }, { value: 'checkbox', label: '체크박스' }, { value: 'date', label: '날짜' }, { value: 'textarea', label: '긴 텍스트' }, ]; interface MasterFieldDialogProps { isMasterFieldDialogOpen: boolean; setIsMasterFieldDialogOpen: (open: boolean) => void; editingMasterFieldId: number | null; setEditingMasterFieldId: (id: number | null) => void; newMasterFieldName: string; setNewMasterFieldName: (name: string) => void; newMasterFieldKey: string; setNewMasterFieldKey: (key: string) => void; newMasterFieldInputType: 'textbox' | 'number' | 'dropdown' | 'checkbox' | 'date' | 'textarea'; setNewMasterFieldInputType: (type: any) => void; newMasterFieldRequired: boolean; setNewMasterFieldRequired: (required: boolean) => void; newMasterFieldCategory: string; setNewMasterFieldCategory: (category: string) => void; newMasterFieldDescription: string; setNewMasterFieldDescription: (description: string) => void; newMasterFieldOptions: string; setNewMasterFieldOptions: (options: string) => void; newMasterFieldAttributeType: 'custom' | 'unit' | 'material' | 'surface'; setNewMasterFieldAttributeType: (type: 'custom' | 'unit' | 'material' | 'surface') => void; newMasterFieldMultiColumn: boolean; setNewMasterFieldMultiColumn: (multi: boolean) => void; newMasterFieldColumnCount: number; setNewMasterFieldColumnCount: (count: number) => void; newMasterFieldColumnNames: string[]; setNewMasterFieldColumnNames: (names: string[]) => void; handleUpdateMasterField: () => void; handleAddMasterField: () => void; } export function MasterFieldDialog({ isMasterFieldDialogOpen, setIsMasterFieldDialogOpen, editingMasterFieldId, setEditingMasterFieldId, newMasterFieldName, setNewMasterFieldName, newMasterFieldKey, setNewMasterFieldKey, newMasterFieldInputType, setNewMasterFieldInputType, newMasterFieldRequired, setNewMasterFieldRequired, newMasterFieldCategory, setNewMasterFieldCategory, newMasterFieldDescription, setNewMasterFieldDescription, newMasterFieldOptions, setNewMasterFieldOptions, newMasterFieldAttributeType, setNewMasterFieldAttributeType, newMasterFieldMultiColumn, setNewMasterFieldMultiColumn, newMasterFieldColumnCount, setNewMasterFieldColumnCount, newMasterFieldColumnNames, setNewMasterFieldColumnNames, handleUpdateMasterField, handleAddMasterField, }: MasterFieldDialogProps) { return ( { setIsMasterFieldDialogOpen(open); if (!open) { setEditingMasterFieldId(null); setNewMasterFieldName(''); setNewMasterFieldKey(''); setNewMasterFieldInputType('textbox'); setNewMasterFieldRequired(false); setNewMasterFieldCategory('공통'); setNewMasterFieldDescription(''); setNewMasterFieldOptions(''); setNewMasterFieldAttributeType('custom'); setNewMasterFieldMultiColumn(false); setNewMasterFieldColumnCount(2); setNewMasterFieldColumnNames(['컬럼1', '컬럼2']); } }}> {editingMasterFieldId ? '마스터 항목 수정' : '마스터 항목 추가'} 여러 섹션에서 재사용할 수 있는 항목 템플릿을 생성합니다
setNewMasterFieldName(e.target.value)} placeholder="예: 품목명" />
setNewMasterFieldKey(e.target.value)} placeholder="예: itemName" />