summaryrefslogtreecommitdiff
path: root/lib/docu-list-rule/document-class/table
diff options
context:
space:
mode:
Diffstat (limited to 'lib/docu-list-rule/document-class/table')
-rw-r--r--lib/docu-list-rule/document-class/table/document-class-add-dialog.tsx21
-rw-r--r--lib/docu-list-rule/document-class/table/document-class-table-columns.tsx43
2 files changed, 32 insertions, 32 deletions
diff --git a/lib/docu-list-rule/document-class/table/document-class-add-dialog.tsx b/lib/docu-list-rule/document-class/table/document-class-add-dialog.tsx
index e2cfc39e..6e8ac686 100644
--- a/lib/docu-list-rule/document-class/table/document-class-add-dialog.tsx
+++ b/lib/docu-list-rule/document-class/table/document-class-add-dialog.tsx
@@ -32,7 +32,10 @@ import { createDocumentClassCodeGroup } from "@/lib/docu-list-rule/document-clas
import { useParams } from "next/navigation"
const createDocumentClassSchema = z.object({
- value: z.string().min(1, "Value는 필수입니다."),
+ value: z.string()
+ .min(1, "Value는 필수입니다.")
+ .max(1, "Value는 1자리만 입력 가능합니다. (예: A, B, 0, 1)")
+ .regex(/^[A-Z0-9]$/, "대문자 알파벳 또는 숫자 1자리만 입력 가능합니다. (예: A, B, 0, 1)"),
description: z.string().optional(),
})
@@ -117,8 +120,17 @@ export function DocumentClassAddDialog({
<FormItem>
<FormLabel>Value *</FormLabel>
<FormControl>
- <Input {...field} placeholder="예: A Class" />
+ <Input
+ {...field}
+ placeholder="예: A"
+ maxLength={1}
+ className="uppercase"
+ onChange={(e) => field.onChange(e.target.value.toUpperCase())}
+ />
</FormControl>
+ <div className="text-xs text-muted-foreground mt-1">
+ 💡 대문자 알파벳 또는 숫자 1자리 (A, B, 0, 1 등) - API DOC_CLASS로 전송됩니다
+ </div>
<FormMessage />
</FormItem>
)}
@@ -131,8 +143,11 @@ export function DocumentClassAddDialog({
<FormItem>
<FormLabel>Description</FormLabel>
<FormControl>
- <Input {...field} placeholder="예: A Class Description (선택사항)" />
+ <Input {...field} placeholder="예: General Documents (선택사항)" />
</FormControl>
+ <div className="text-xs text-muted-foreground mt-1">
+ 선택사항: Document Class에 대한 추가 설명
+ </div>
<FormMessage />
</FormItem>
)}
diff --git a/lib/docu-list-rule/document-class/table/document-class-table-columns.tsx b/lib/docu-list-rule/document-class/table/document-class-table-columns.tsx
index 8c391def..9d8d91e0 100644
--- a/lib/docu-list-rule/document-class/table/document-class-table-columns.tsx
+++ b/lib/docu-list-rule/document-class/table/document-class-table-columns.tsx
@@ -107,43 +107,28 @@ export function getColumns({ setRowAction, onDetail }: GetColumnsProps): ColumnD
// ----------------------------------------------------------------
const dataColumns: ColumnDef<typeof documentClasses.$inferSelect>[] = [
{
- accessorKey: "code",
- enableResizing: true,
- header: ({ column }) => (
- <DataTableColumnHeaderSimple column={column} title="코드" />
- ),
- meta: {
- excelHeader: "코드",
- type: "text",
- },
- cell: ({ row }) => row.getValue("code") ?? "",
- minSize: 80
- },
- {
accessorKey: "value",
enableResizing: true,
header: ({ column }) => (
- <DataTableColumnHeaderSimple column={column} title="값" />
+ <DataTableColumnHeaderSimple column={column} title="클래스" />
),
meta: {
- excelHeader: "값",
+ excelHeader: "클래스",
type: "text",
},
- cell: ({ row }) => row.getValue("value") ?? "",
- minSize: 80
- },
- {
- accessorKey: "description",
- enableResizing: true,
- header: ({ column }) => (
- <DataTableColumnHeaderSimple column={column} title="설명" />
- ),
- meta: {
- excelHeader: "설명",
- type: "text",
+ cell: ({ row }) => {
+ const value = row.getValue("value") as string
+ const description = row.getValue("description") as string
+ return (
+ <div className="flex items-center gap-2">
+ <span className="font-mono font-bold text-lg">{value}</span>
+ {description && (
+ <span className="text-muted-foreground text-sm">- {description}</span>
+ )}
+ </div>
+ )
},
- cell: ({ row }) => row.getValue("description") ?? "",
- minSize: 80
+ minSize: 250
},
{