From 270b97eec9ad865af039eb2c470d467dc8033717 Mon Sep 17 00:00:00 2001 From: dohyeons Date: Tue, 16 Dec 2025 10:29:23 +0900 Subject: [PATCH] =?UTF-8?q?RepeaterInput=20=ED=95=AD=EB=AA=A9=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=EA=B0=9C=EC=84=A0=20=EB=B0=8F=20=EC=9A=B0=EC=B8=A1?= =?UTF-8?q?=20=ED=8C=A8=EB=84=90=20=EB=A6=AC=EB=A0=8C=EB=8D=94=EB=A7=81=20?= =?UTF-8?q?=EC=B5=9C=EC=A0=81=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/screen-embedding/EmbeddedScreen.tsx | 14 +++++++++++--- frontend/components/webtypes/RepeaterInput.tsx | 10 ++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/frontend/components/screen-embedding/EmbeddedScreen.tsx b/frontend/components/screen-embedding/EmbeddedScreen.tsx index 17cd240f..b0d39d22 100644 --- a/frontend/components/screen-embedding/EmbeddedScreen.tsx +++ b/frontend/components/screen-embedding/EmbeddedScreen.tsx @@ -48,6 +48,10 @@ export const EmbeddedScreen = forwardRef(""); + // 🆕 사용자 정보 가져오기 (저장 액션에 필요) const { userId, userName, companyCode } = useAuth(); @@ -93,9 +97,6 @@ export const EmbeddedScreen = forwardRef { // 우측 화면인 경우에만 적용 @@ -108,6 +109,13 @@ export const EmbeddedScreen = forwardRef comp.columnName).map((comp) => comp.columnName as string); diff --git a/frontend/components/webtypes/RepeaterInput.tsx b/frontend/components/webtypes/RepeaterInput.tsx index 1595036b..6118e073 100644 --- a/frontend/components/webtypes/RepeaterInput.tsx +++ b/frontend/components/webtypes/RepeaterInput.tsx @@ -182,10 +182,8 @@ export const RepeaterInput: React.FC = ({ // 항목 제거 const handleRemoveItem = (index: number) => { - // 🆕 minItems가 0이면 모든 항목 삭제 가능, 그 외에는 minItems 이하로 줄일 수 없음 - if (minItems > 0 && items.length <= minItems) { - return; - } + // 🆕 항목이 1개 이하일 때도 삭제 가능 (빈 상태 허용) + // minItems 체크 제거 - 모든 항목 삭제 허용 // 🆕 삭제되는 항목의 ID 저장 (DB에서 삭제할 때 필요) const removedItem = items[index]; @@ -811,7 +809,7 @@ export const RepeaterInput: React.FC = ({ {/* 삭제 버튼 */} - {!readonly && !disabled && (minItems === 0 || items.length > minItems) && ( + {!readonly && !disabled && (