diff --git a/frontend/lib/registry/components/modal-repeater-table/ModalRepeaterTableConfigPanel.tsx b/frontend/lib/registry/components/modal-repeater-table/ModalRepeaterTableConfigPanel.tsx index a8068c92..348ae045 100644 --- a/frontend/lib/registry/components/modal-repeater-table/ModalRepeaterTableConfigPanel.tsx +++ b/frontend/lib/registry/components/modal-repeater-table/ModalRepeaterTableConfigPanel.tsx @@ -15,7 +15,8 @@ import { cn } from "@/lib/utils"; interface ModalRepeaterTableConfigPanelProps { config: Partial; - onConfigChange: (config: Partial) => void; + onChange: (config: Partial) => void; + onConfigChange?: (config: Partial) => void; // 하위 호환성 } // 소스 컬럼 선택기 (동적 테이블별 컬럼 로드) @@ -124,8 +125,11 @@ function ReferenceColumnSelector({ export function ModalRepeaterTableConfigPanel({ config, + onChange, onConfigChange, }: ModalRepeaterTableConfigPanelProps) { + // 하위 호환성: onConfigChange가 있으면 사용, 없으면 onChange 사용 + const handleConfigChange = onConfigChange || onChange; // 초기 설정 정리: 계산 규칙과 컬럼 설정 동기화 const cleanupInitialConfig = (initialConfig: Partial): Partial => { // 계산 규칙이 없으면 모든 컬럼의 calculated 속성 제거 @@ -241,7 +245,7 @@ export function ModalRepeaterTableConfigPanel({ const updateConfig = (updates: Partial) => { const newConfig = { ...localConfig, ...updates }; setLocalConfig(newConfig); - onConfigChange(newConfig); + handleConfigChange(newConfig); }; const addSourceColumn = () => { diff --git a/frontend/lib/registry/components/text-input/TextInputComponent.tsx b/frontend/lib/registry/components/text-input/TextInputComponent.tsx index ffbd7cac..8c545fe0 100644 --- a/frontend/lib/registry/components/text-input/TextInputComponent.tsx +++ b/frontend/lib/registry/components/text-input/TextInputComponent.tsx @@ -717,7 +717,7 @@ export const TextInputComponent: React.FC = ({ } disabled={componentConfig.disabled || false} required={componentConfig.required || false} - readOnly={componentConfig.readonly || (testAutoGeneration.enabled && testAutoGeneration.type !== "none")} + readOnly={componentConfig.readonly || false} className={cn( "box-border h-full w-full max-w-full rounded-md border px-3 py-2 text-sm shadow-sm transition-all duration-200 outline-none", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",