"use client"; import type { CklstArtcl } from "@/entities/cklst"; import { Button, Input, Label, RadioGroup, RadioGroupItem, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, TableCell, TableRow, } from "@common/components"; import { canAddChildRow, formatRvwCnLvNo, formatTreeBranchPrefix, } from "../model/build-rvw-display-rows"; import type { CklstRvwRow } from "../model/cklst-rvw-row-types"; interface CklstRvwRowProps { row: CklstRvwRow; depth: number; artclOptions: CklstArtcl[]; onChange: (patch: Partial) => void; onAddChild: () => void; onDelete: () => void; } function CklstRvwRowComponent({ row, depth, artclOptions, onChange, onAddChild, onDelete, }: CklstRvwRowProps) { const levelLabel = formatRvwCnLvNo(row.rvwCnLvNo); const branchPrefix = formatTreeBranchPrefix(depth); return (
{branchPrefix ? ( {branchPrefix} ) : null}
onChange({ rvwCn: e.target.value, isDirty: true })} placeholder="주요 검토내용" title="주요 검토내용" /> onChange({ useYn: v as "Y" | "N", isDirty: true })} aria-label="사용 여부" className="flex justify-center gap-4" >
onChange({ bchckUseYn: v as "Y" | "N", isDirty: true })} aria-label="체크 사용" className="flex justify-center gap-4" >
onChange({ sortSeq: e.target.value ? Number(e.target.value) : undefined, isDirty: true, }) } className="w-20" /> {levelLabel}
); } export { CklstRvwRowComponent };