From 19b078cf0240ff137ad265ce86186775f451ff3a Mon Sep 17 00:00:00 2001 From: DDD1542 Date: Thu, 12 Mar 2026 04:04:47 +0900 Subject: [PATCH] [agent-pipeline] pipe-20260311185722-je7c round-2 --- .../V2RepeatContainerConfigPanel.tsx | 89 +++++++++++++++++++ .../V2SectionPaperConfigPanel.tsx | 20 +++++ 2 files changed, 109 insertions(+) diff --git a/frontend/components/v2/config-panels/V2RepeatContainerConfigPanel.tsx b/frontend/components/v2/config-panels/V2RepeatContainerConfigPanel.tsx index d1e64897..d5d75f5e 100644 --- a/frontend/components/v2/config-panels/V2RepeatContainerConfigPanel.tsx +++ b/frontend/components/v2/config-panels/V2RepeatContainerConfigPanel.tsx @@ -321,6 +321,26 @@ export const V2RepeatContainerConfigPanel: React.FC + +
+ 최소 너비 + onChange({ itemMinWidth: e.target.value || undefined })} + placeholder="auto" + className="h-7 w-[100px] text-xs" + /> +
+ +
+ 최대 너비 + onChange({ itemMaxWidth: e.target.value || undefined })} + placeholder="auto" + className="h-7 w-[100px] text-xs" + /> +
{/* ─── 3단계: 반복 표시 필드 (슬롯) ─── */} @@ -474,6 +494,20 @@ export const V2RepeatContainerConfigPanel: React.FC + {/* 제목 템플릿 (titleColumn 미사용 시 대체) */} +
+ 제목 템플릿 (레거시) + onChange({ itemTitleTemplate: e.target.value })} + placeholder="{field_name} - {field_code}" + className="h-7 text-xs" + /> +

+ 제목 컬럼 미선택 시 사용. 중괄호로 필드 참조 +

+
+ {/* 제목 스타일 */}
제목 스타일 @@ -749,6 +783,61 @@ export const V2RepeatContainerConfigPanel: React.FC
+ + {/* 데이터 필터링 */} +
+
+

필터 필드

+

formData에서 필터 값을 가져올 키

+
+ onChange({ filterField: e.target.value || undefined })} + placeholder="미사용" + className="h-7 w-[120px] text-xs" + /> +
+ + {config.filterField && ( +
+
+

필터 컬럼

+

테이블에서 필터링할 컬럼

+
+ onChange({ filterColumn: e.target.value || undefined })} + placeholder="컬럼명" + className="h-7 w-[120px] text-xs" + /> +
+ )} + + {/* 그룹핑 */} +
+
+

그룹핑 사용

+

특정 필드로 아이템을 그룹화해요

+
+ onChange({ useGrouping: checked })} + /> +
+ + {config.useGrouping && ( +
+
+ 그룹핑 기준 필드 + onChange({ groupByField: e.target.value || undefined })} + placeholder="필드명" + className="h-7 w-[120px] text-xs" + /> +
+
+ )} diff --git a/frontend/components/v2/config-panels/V2SectionPaperConfigPanel.tsx b/frontend/components/v2/config-panels/V2SectionPaperConfigPanel.tsx index 509d7508..1d549bca 100644 --- a/frontend/components/v2/config-panels/V2SectionPaperConfigPanel.tsx +++ b/frontend/components/v2/config-panels/V2SectionPaperConfigPanel.tsx @@ -7,6 +7,7 @@ import React, { useState } from "react"; import { Input } from "@/components/ui/input"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Switch } from "@/components/ui/switch"; import { Collapsible, @@ -243,6 +244,25 @@ export const V2SectionPaperConfigPanel: React.FC< } /> + + {/* 테두리 스타일 */} + {config.showBorder && ( +
+ 테두리 스타일 + +
+ )}